aboutsummaryrefslogtreecommitdiff
path: root/whispers/packages
diff options
context:
space:
mode:
Diffstat (limited to 'whispers/packages')
-rw-r--r--whispers/packages/dict.scm260
-rw-r--r--whispers/packages/doc.scm80
-rw-r--r--whispers/packages/pdf.scm158
-rw-r--r--whispers/packages/sh.scm98
-rw-r--r--whispers/packages/whispers.scm119
5 files changed, 715 insertions, 0 deletions
diff --git a/whispers/packages/dict.scm b/whispers/packages/dict.scm
new file mode 100644
index 0000000..f80f912
--- /dev/null
+++ b/whispers/packages/dict.scm
@@ -0,0 +1,260 @@
+;;; Whispers --- Stealth VPN and ssh tunneler
+;;; Copyright © 2024 Runciter <runciter@whispers-vpn.org>
+;;;
+;;; This file is part of Whispers.
+;;;
+;;; Whispers is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; Whispers is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with Whispers. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (whispers packages dict)
+ #:use-module (guix)
+ #:use-module (guix build-system gnu)
+ #:use-module ((guix licenses) #:select (gpl2+
+ gpl3+
+ cc-by-sa3.0))
+ #:use-module (guix git-download)
+ #:use-module (guix git)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages gawk)
+ #:use-module (gnu packages bison)
+ #:use-module (gnu packages flex)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages speech)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages xml)
+ #:export ())
+
+(define-public libmaa-1.3.2
+ (package
+ (name "libmaa")
+ (version "1.3.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/dict/libmaa/"
+ "libmaa-"
+ version
+ "/libmaa-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1idi4c30pi79g5qfl7rr9s17krbjbg93bi8f2qrbsdlh78ga19ar"))))
+ (inputs (list libtool))
+ (arguments
+ (list #:make-flags
+ #~'("CFLAGS=-DHAVE_CONFIG_H -Wall -Wno-error -g -O2 $(VERCFLAGS) -I. -I${srcdir}")
+ #:test-target "test"))
+ (build-system gnu-build-system)
+ (synopsis "When Khepera rose up out of the watery abyss of Nu, he
+ created Maa as a foundation upon which to create everything else")
+ (description "The libmaa library provides many low-level
+data structures which are helpful for writing compilers, including hash
+tables, sets, lists, debugging support, and memory management. Although
+libmaa was designed and implemented as a foundation for the Khepara
+transformation system, the data structures are generally applicable to a
+wide range of programming problems.
+
+ The memory management routines are especially helpful for improving
+the performance of memory-intensive applications.")
+ (home-page "https://sourceforge.net/projects/dict/")
+ (license gpl2+)))
+
+(define-public dictd-1.13.1
+ (package
+ (name "dictd")
+ (version "1.13.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/dict/dictd/"
+ "dictd-"
+ version
+ "/dictd-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "06racmv25ihwgwf67fgj2703ik0m5i2cjzcxasa88kc92rysdwg4"))))
+ (inputs (list libmaa-1.3.2 zlib libtool bison flex))
+ (arguments
+ (list #:test-target "test"))
+ (build-system gnu-build-system)
+ (synopsis "@command{dict}, @command{dictd} and @command{dictfmt} programs")
+ (description "The DICT Interchange Format (DICF) is a human-readable
+ format for the interchange of dictionary databases for the use with
+DICT protocol client/server software.
+
+This package provides a client @command{dict} and a server program
+@command{dictd} for the DICT protocol, as well as a utility
+@command{dictfmt} to convert various dictionary formats into
+dictionaries that can be served by @command{dictd} or @command{dicos}")
+ (home-page "https://sourceforge.net/projects/dict/")
+ (license gpl2+)))
+
+(define-public freedict-tools-0.6.0
+ (package
+ (name "freedict-tools")
+ (version "0.6.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/freedict/tools")
+ (commit "3596640e6e0582cc5fb76a342e5d8e7413aa4b34")))
+ (sha256
+ (base32 "1raayynvn1j8x0ck8pnbbljl6zxnsyzzil7y54xz03dpj7k9w7mk"))))
+ (inputs (list espeak-ng
+ python perl
+ gzip
+ tar
+ libxslt
+ dictd-1.13.1
+ perl-libxml))
+ (arguments
+ (list #:tests? #f
+ #:phases
+ #~(modify-phases
+ %standard-phases
+ (delete 'configure)
+ (add-before 'build 'set-prefix-in-makefile
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute*
+ "Makefile"
+ (("PREFIX \\?=.*")
+ (string-append "PREFIX = "
+ #$output
+ "\n")))
+ (substitute*
+ "mk/dicts.mk"
+ (("available_platforms := src dictd slob")
+ "available_platforms := dictd")))))))
+ (build-system gnu-build-system)
+ (synopsis "The FreeDict tools are used to import, export (build) and
+ manage FreeDict dictionaries")
+ (description "FreeDict is a project that offers over 140 free
+ dictionaries in about 45 languages, with the right to study, change and
+ modify them. You can use them offline on your computer or mobile phone
+ and export them to any format and application.
+
+In order to limit store size and build complexity, only the build
+targets that build dictionaries in dictd format are retained when this
+Guix package is installed.")
+ (home-page "https://freedict.org")
+ (license gpl2+)))
+
+(define-public freedict-dictionaries
+ (package
+ (name "freedict-dictionaries")
+ (version "914b5f7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/freedict/fd-dictionaries")
+ (commit "914b5f754b695e9422bf951837b0682a077e244e")))
+ (sha256
+ (base32 "0a8k5rq94rl1nmz0354sx2gmyqica0yjavirh5v5wdybkfq8nv83"))))
+ (inputs (list espeak-ng
+ python perl
+ gzip
+ tar
+ libxslt
+ dictd-1.13.1
+ perl-libxml
+ freedict-tools-0.6.0))
+ (arguments
+ (list #:tests? #f
+ #:make-flags
+ #~(list (string-append "PREFIX="
+ #$output))
+ #:phases
+ #~(modify-phases
+ %standard-phases
+ (delete 'configure)
+ (add-before 'build 'set-tools-prefix-in-makefile
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute*
+ "Makefile"
+ (("FREEDICT_TOOLS \\?= ../tools")
+ (string-append "export FREEDICT_TOOLS = "
+ #$(file-append
+ freedict-tools-0.6.0
+ "/share/freedict")))))))))
+ (build-system gnu-build-system)
+ (synopsis "Multilingual dictionaries of the Freedict project,
+ compiled to the dictd format.")
+ (description "FreeDict is a project that offers over 140 free
+ dictionaries in about 45 languages, with the right to study, change and
+ modify them. You can use them offline on your computer or mobile phone
+ and export them to any format and application.
+
+This Guix package only installs the output dictionnaires in dictd
+format.")
+ (home-page "https://freedict.org")
+ (license gpl2+)))
+
+(define-public cc-cedict
+ (package
+ (name "cc-cedict")
+ (version "0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.whispers-vpn.org/cc-cedict.git")
+ (commit "1bb276d2340eff428ff397dbd493646d880388c4")))
+ (sha256
+ (base32 "1d0l6g83n964af81bl96c9hbd6gacbq9a68n5d9wgifihl33z4q7"))))
+ (inputs (list sed
+ gawk
+ gzip
+ dictd-1.13.1))
+ (arguments (list #:tests? #f))
+ (build-system gnu-build-system)
+ (synopsis "CC-CEDICT is a community-maintained free Chinese-English
+ dictionary.")
+ (description "CC-CEDICT is a community-maintained free
+ Chinese-English dictionary. It is a continuation of the CEDICT project
+started by Paul Denisowski in 1997 with the aim to provide a complete
+downloadable Chinese to English dictionary with pronunciation in pinyin
+for the Chinese characters.
+
+CC-CEDICT is licensed under a Creative Commons license CC-BY-SA.
+
+Published by MDBG
+
+License: Creative Commons Attribution-Share Alike 3.0
+
+Referenced works: CEDICT - Copyright © 1997, 1998 Paul Andrew Denisowski
+
+CC-CEDICT can be downloaded from:
+http://www.mdbg.net/chindict/chindict.php?page=cc-cedict
+
+Additions and corrections to the CC-CEDICT source can be sent through:
+http://cc-cedict.org/editor/editor.php
+
+For more information about CC-CEDICT see:
+http://cc-cedict.org/wiki/
+
+This package converts the community maintained text file containing the
+CC-CEDICT dictionary into 5 dictionaries in the DICT Interchange format,
+which can be served to client programs such as 'dico' and 'dicod' by
+servers implementing the DICT protocol (RFC 2229), such as 'dictd' or
+'dicod'.
+
+While the exporter script that this package uses to create the
+dictionaries is licensed under the GPL, the output dictionaries are
+licensed under CC-BY-SA version 3.0.")
+ (home-page "http://cc-cedict.org/")
+ (license (list cc-by-sa3.0 gpl3+))))
diff --git a/whispers/packages/doc.scm b/whispers/packages/doc.scm
new file mode 100644
index 0000000..354d983
--- /dev/null
+++ b/whispers/packages/doc.scm
@@ -0,0 +1,80 @@
+;;; Whispers --- Stealth VPN and ssh tunneler
+;;; Copyright © 2024 Runciter <runciter@whispers-vpn.org>
+;;;
+;;; This file is part of Whispers.
+;;;
+;;; Whispers is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; Whispers is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with Whispers. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (whispers packages doc)
+ #:use-module (gnu)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages texinfo)
+ #:use-module (gnu packages man)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages admin)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (guix packages)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix git)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:export ())
+
+(define-public ssh-tunneler-doc
+ (package
+ (name "ssh-tunneler-doc")
+ (version "0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.whispers-vpn.org/ssh-tunneler-doc.git")
+ (commit "0b1d8a50339adb15c5915cec5e01102684cd571c")))
+ (sha256
+ (base32 "1vv1bwz99aafmwb8vhkh3rxqncyskk715hm1irya8dpvfkk0c5r3"))))
+ (native-inputs (list autoconf automake pkg-config texinfo))
+ (inputs (list))
+ (arguments (list #:tests? #f))
+ (build-system gnu-build-system)
+ (synopsis "Documentation for ssh tunneler Guix services.")
+ (description "Documentation for ssh tunneler Guix services. This
+package provides an info manual.")
+ (home-page "https://git.whispers-vpn.org/ssh-tunneler-doc.git")
+ (license (list license:fdl1.3+))))
+
+(define-public whispers-doc
+ (package
+ (name "whispers-doc")
+ (version "0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.whispers-vpn.org/whispers-doc.git")
+ (commit "2a76cd88aa9f2ee182ec059870fde832bf182d33")))
+ (sha256
+ (base32 "1h7lc110qhd8slgzjv6ap91r17grcflpgkp3bpxvng0dj55dmk2a"))))
+ (native-inputs (list autoconf automake pkg-config texinfo))
+ (inputs (list))
+ (propagated-inputs (list ssh-tunneler-doc))
+ (arguments (list #:tests? #f))
+ (build-system gnu-build-system)
+ (synopsis "Documentation for whispers Guix services.")
+ (description "Documentation for whispers Guix services. This package
+provides info manuals.")
+ (home-page "https://git.whispers-vpn.org/whispers-doc.git")
+ (license (list license:fdl1.3+))))
diff --git a/whispers/packages/pdf.scm b/whispers/packages/pdf.scm
new file mode 100644
index 0000000..00c6485
--- /dev/null
+++ b/whispers/packages/pdf.scm
@@ -0,0 +1,158 @@
+;;; Whispers --- Stealth VPN and ssh tunneler
+;;; Copyright © 2013, 2015, 2016 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2016, 2018, 2019, 2021, 2024 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
+;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
+;;; Copyright © 2016 Nikita <nikita@n0.is>
+;;; Copyright © 2016-2020, 2022, 2023 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2022 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2016, 2019 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
+;;; Copyright © 2017, 2018 Rene Saavedra <pacoon@protonmail.com>
+;;; Copyright © 2017–2022 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
+;;; Copyright © 2019 Ben Sturmfels <ben@sturm.com.au>
+;;; Copyright © 2019,2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;; Copyright © 2020-2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020, 2024 Timotej Lazar <timotej.lazar@araneo.si>
+;;; Copyright © 2020, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
+;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
+;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
+;;; Copyright © 2023 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2024 dan <i@dan.games>
+;;; Copyright © 2023 Benjamin Slade <slade@lambda-y.net>
+;;;
+;;; Copyright © 2024 Runciter <runciter@whispers-vpn.org>
+;;;
+;;; This file is part of Whispers.
+;;;
+;;; Whispers is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; Whispers is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with Whispers. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (whispers packages pdf)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix gexp)
+ #:use-module (guix utils)
+ #:use-module (guix build-system meson)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages pdf)
+ #:use-module (gnu packages ghostscript)
+ #:use-module (gnu packages djvu)
+ #:use-module (gnu packages tls)
+ #:use-module (gnu packages sphinx)
+ #:use-module (gnu packages javascript)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages check)
+ #:use-module (gnu packages web)
+ #:use-module (gnu packages xorg)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages gnome)
+ #:use-module (gnu packages ocr)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages sqlite)
+ #:use-module (gnu packages backup)
+ #:use-module (gnu packages tex))
+
+(define-public zathura-synctex
+ (package
+ (inherit zathura)
+ (name "zathura-synctex")
+ (arguments
+ (list
+ #:configure-flags
+ #~(list "-Dsynctex=enabled")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'start-xserver
+ ;; Tests require a running X server.
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((display ":1"))
+ (setenv "DISPLAY" display)
+
+ ;; On busy machines, tests may take longer than
+ ;; the default of four seconds.
+ (setenv "CK_DEFAULT_TIMEOUT" "20")
+
+ ;; Don't fail due to missing '/etc/machine-id'.
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ (zero? (system (string-append
+ (search-input-file inputs "/bin/Xvfb")
+ " " display " &")))))))))
+ (native-inputs
+ (list pkg-config
+ gettext-minimal
+ (list glib "bin")
+
+ ;; For building documentation.
+ python-sphinx
+
+ ;; For building icons.
+ (librsvg-for-system)
+
+ ;; For tests.
+ check
+ xorg-server-for-tests
+
+ ;; For synctex.
+ texlive-bin))))
+
+(define-public zathura-cb-synctex
+ (package
+ (inherit zathura-cb)
+ (name "zathura-cb-synctex")
+ (inputs (list libarchive zathura-synctex))))
+
+(define-public zathura-ps-synctex
+ (package
+ (inherit zathura-ps)
+ (name "zathura-ps-synctex")
+ (inputs (list libspectre zathura-synctex))))
+
+(define-public zathura-djvu-synctex
+ (package
+ (inherit zathura-djvu)
+ (name "zathura-djvu-synctex")
+ (inputs
+ (list djvulibre zathura-synctex))))
+
+(define-public zathura-pdf-mupdf-synctex
+ (package
+ (inherit zathura-pdf-mupdf)
+ (inputs
+ (list gumbo-parser
+ jbig2dec
+ libjpeg-turbo
+ mujs
+ mupdf
+ openjpeg
+ openssl
+ tesseract-ocr
+ zathura-synctex))))
+
+(define-public zathura-pdf-poppler-synctex
+ (package
+ (inherit zathura-pdf-poppler)
+ (name "zathura-pdf-poppler-synctex")
+ (inputs
+ (list poppler zathura-synctex))))
diff --git a/whispers/packages/sh.scm b/whispers/packages/sh.scm
new file mode 100644
index 0000000..cd9d0a1
--- /dev/null
+++ b/whispers/packages/sh.scm
@@ -0,0 +1,98 @@
+;;; Whispers --- Stealth VPN and ssh tunneler
+;;; Copyright © 2023 Runciter <runciter@whispers-vpn.org>
+;;;
+;;; This file is part of Whispers.
+;;;
+;;; Whispers is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; Whispers is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with Whispers. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (whispers packages sh)
+ #:use-module (gnu)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages package-management)
+ #:use-module (whispers packages whispers)
+ #:use-module (guix packages)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix git-download)
+ #:use-module (guix git)
+ #:use-module (guix licenses)
+ #:export ())
+
+(define-public ssh-tunneler-tests
+ (let ((commit "7aa78806ae0385a217164710728632d80a1db932")
+ (chksum "1gyz92xm6wmv2slq9fz1ny1wbmkv6yqpm7ccksqzbfbvhw3nkwcw"))
+ (package
+ (name "ssh-tunneler-tests")
+ (version "0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.whispers-vpn.org/ssh-tunneler-tests.git")
+ (commit commit)))
+ (sha256 (base32 chksum))))
+ (build-system gnu-build-system)
+ (home-page "https://git.whispers-vpn.org/ssh-tunneler-tests.git")
+ (synopsis "Test script for the (whispers services ssh-tunneler)
+module.")
+ (description "This package provides the test script of the SSH
+Tunneler Guix services. The script instanciates virtual machines that
+establish persistent ssh connections between themselves.")
+ (license gpl3+))))
+
+(define-public whispers-tests
+ (let ((commit "8ea9f61a000556197f631253ce6193316bde1f61")
+ (chksum "1l87cjiz9c7v9imjzqk29v49yxg3hl58qv8m0m4jdijvlswzrrhp"))
+ (package
+ (name "whispers-tests")
+ (version "0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.whispers-vpn.org/whispers-tests.git")
+ (commit commit)))
+ (sha256 (base32 chksum))))
+ (build-system gnu-build-system)
+ (home-page "https://git.whispers-vpn.org/ssh-tunneler-tests.git")
+ (synopsis "Test script for the (whispers services whispers)
+ and (whispers services whispers vpn) modules.")
+ (description "This package provides:
+* A test script instantiating a VM extending a manually configured
+whispers tree, for purposed of testing service status of a bare-bones
+tree of whispers lieutenants.
+* A test script instanciating a VPN network of VMs, for various
+testing puposes.")
+ (license gpl3+))))
+
+(define-public sh-pulse
+ (let ((commit "f2cb88d5cccf05ceeea0003d3250d5c5ce015b9b")
+ (chksum "1yq5lpvz9azap6dp47kcmzf42xypwc3bwsr9cfmjdq01j1pd8gbz"))
+ (package
+ (name "sh-pulse")
+ (version "0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.whispers-vpn.org/sh-pulse.git")
+ (commit commit)))
+ (sha256 (base32 chksum))))
+ (build-system gnu-build-system)
+ (home-page "https://git.whispers-vpn.org/sh-pulse.git")
+ (synopsis "Control script for pulseaudio volume and output sink")
+ (description "The vlm script helps the user to easily set keyboard
+shortcuts to control pulseaudio volume, mute and switch pulseaudio
+output.")
+ (license gpl3+))))
diff --git a/whispers/packages/whispers.scm b/whispers/packages/whispers.scm
new file mode 100644
index 0000000..2618635
--- /dev/null
+++ b/whispers/packages/whispers.scm
@@ -0,0 +1,119 @@
+;;; Whispers --- Stealth VPN and ssh tunneler
+;;; Copyright © 2023 Runciter <runciter@whispers-vpn.org>
+;;;
+;;; This file is part of Whispers.
+;;;
+;;; Whispers is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; Whispers is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with Whispers. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (whispers packages whispers)
+ #:use-module (gnu)
+ #:use-module (gnu packages package-management)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages texinfo)
+ #:use-module (gnu packages man)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages admin)
+ #:use-module (gnu packages guile)
+ #:use-module (gnu packages guile-xyz)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (guix packages)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build-system guile)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix git)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:export ())
+
+(define-public whispers
+ (let ((commit "2b583171c9480e129d0349d1cf9a580a9c8b19e6")
+ (chksum "13p02hdfnmkf5wr2d6acpcfix03crsn68wkvm73cmy0ibndjvczk"))
+ (package
+ (name "whispers")
+ (version "0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.whispers-vpn.org/whispers-command.git")
+ (commit commit)))
+ (sha256 (base32 chksum))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:modules
+ ((ice-9 match)
+ (ice-9 ftw)
+ ,@%gnu-build-system-modules)
+ #:phases
+ (modify-phases
+ %standard-phases
+ (add-after
+ 'install
+ 'hall-wrap-binaries
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((compiled-dir
+ (lambda (out version)
+ (string-append
+ out
+ "/lib/guile/"
+ version
+ "/site-ccache")))
+ (uncompiled-dir
+ (lambda (out version)
+ (string-append
+ out
+ "/share/guile/site"
+ (if (string-null? version) "" "/")
+ version)))
+ (dep-path
+ (lambda (env modules path)
+ (list env
+ ":"
+ 'prefix
+ (cons modules
+ (map (lambda (input)
+ (string-append
+ (assoc-ref inputs input)
+ path))
+ ,''("guile-config"))))))
+ (out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin/"))
+ (site (uncompiled-dir out "")))
+ (match (scandir site)
+ (("." ".." version)
+ (for-each
+ (lambda (file)
+ (wrap-program
+ (string-append bin file)
+ (dep-path
+ "GUILE_LOAD_PATH"
+ (uncompiled-dir out version)
+ (uncompiled-dir "" version))
+ (dep-path
+ "GUILE_LOAD_COMPILED_PATH"
+ (compiled-dir out version)
+ (compiled-dir "" version))))
+ ,''("whispers"))
+ #t))))))))
+ (native-inputs
+ (list autoconf automake pkg-config texinfo))
+ (inputs (list guile-3.0))
+ (propagated-inputs (list guile-config))
+ (synopsis
+ "Perform actions of the services of the shepherd daemons of\na whispers tree.")
+ (description
+ "The whispers command is a simple convenience wrapper\n around the herd program. Instead of specifying a file path\nto the listening socket of a running shepherd in the whispers tree, the\nuser simply provides its absolute whispers tree path as an\nargument to the --lieutenant option of this command.")
+ (home-page "https://git.whispers-vpn.org/whispers-command.git")
+ (license license:gpl3+))))