diff options
author | Marius Bakke <mbakke@fastmail.com> | 2018-12-27 15:44:38 +0100 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2018-12-27 15:44:38 +0100 |
commit | af8fd11bed63af2ba97749fe7375880e0c5f0b20 (patch) | |
tree | b70488a69bad36521262f707d5c2876e3dfab359 /gnu/packages | |
parent | 1262be5c61ce6508990e67ac161605bbc9bda923 (diff) | |
parent | 5a7899fd88c1c463d3b75ac9077ccd183ddec914 (diff) | |
download | patches-af8fd11bed63af2ba97749fe7375880e0c5f0b20.tar patches-af8fd11bed63af2ba97749fe7375880e0c5f0b20.tar.gz |
Merge branch 'master' into staging
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/emacs.scm | 58 | ||||
-rw-r--r-- | gnu/packages/enlightenment.scm | 4 | ||||
-rw-r--r-- | gnu/packages/guile.scm | 29 | ||||
-rw-r--r-- | gnu/packages/image-viewers.scm | 10 | ||||
-rw-r--r-- | gnu/packages/java.scm | 5 | ||||
-rw-r--r-- | gnu/packages/kodi.scm | 4 | ||||
-rw-r--r-- | gnu/packages/linux.scm | 6 | ||||
-rw-r--r-- | gnu/packages/ocaml.scm | 155 | ||||
-rw-r--r-- | gnu/packages/package-management.scm | 6 | ||||
-rw-r--r-- | gnu/packages/samba.scm | 4 | ||||
-rw-r--r-- | gnu/packages/scheme.scm | 24 | ||||
-rw-r--r-- | gnu/packages/tls.scm | 4 | ||||
-rw-r--r-- | gnu/packages/vim.scm | 13 | ||||
-rw-r--r-- | gnu/packages/vpn.scm | 47 |
14 files changed, 295 insertions, 74 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 262517a73e..21a7c5a34e 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -41,6 +41,7 @@ ;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com> ;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de> ;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com> +;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -122,6 +123,7 @@ #:use-module (gnu packages video) #:use-module (gnu packages haskell) #:use-module (gnu packages wordnet) + #:use-module (gnu packages ocaml) #:use-module (guix utils) #:use-module (srfi srfi-1) #:use-module (ice-9 match)) @@ -12862,3 +12864,59 @@ functions to ensure they are called with the right arguments during testing.") @code{wordnet}. Features include completion, if the query is not found too ambiguous and navigation in the result buffer.") (license license:gpl3+)))) + +(define-public emacs-dedukti-mode + (let ((commit "d7c3505a1046187de3c3aeb144455078d514594e")) + (package + (name "emacs-dedukti-mode") + (version (git-version "0" "0" commit)) + (home-page "https://github.com/rafoo/dedukti-mode") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (sha256 + (base32 + "1842wikq24c8rg0ac84vb1qby9ng1nssxswyyni4kq85lng5lcrp")) + (file-name (git-file-name name version)))) + (inputs + `(("dedukti" ,dedukti))) + (build-system emacs-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'install 'patch-dkpath + (lambda _ + (let ((dkcheck-path (which "dkcheck"))) + (substitute* "dedukti-mode.el" + (("dedukti-path \"(.*)\"") + (string-append "dedukti-path \"" dkcheck-path "\""))))))))) + (synopsis "Emacs major mode for Dedukti files") + (description "This package provides an Emacs major mode for editing +Dedukti files.") + (license license:cecill-b)))) + +(define-public emacs-flycheck-dedukti + (let ((commit "3dbff5646355f39d57a3ec514f560a6b0082a1cd")) + (package + (name "emacs-flycheck-dedukti") + (version (git-version "0" "0" commit)) + (home-page "https://github.com/rafoo/flycheck-dedukti") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (sha256 + (base32 + "1ffpxnwl3wx244n44mbw81g00nhnykd0lnid29f4aw1av7w6nw8l")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (inputs + `(("dedukti-mode" ,emacs-dedukti-mode) + ("flycheck-mode" ,emacs-flycheck))) + (synopsis "Flycheck integration for the dedukti language") + (description "This package provides a frontend for Flycheck to perform +syntax checking on dedukti files.") + (license license:cecill-b)))) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index d0ad44271e..20f842c9a6 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -184,7 +184,7 @@ removable devices or support for multimedia.") (define-public terminology (package (name "terminology") - (version "1.3.0") + (version "1.3.2") (source (origin (method url-fetch) (uri @@ -192,7 +192,7 @@ removable devices or support for multimedia.") "terminology/terminology-" version ".tar.xz")) (sha256 (base32 - "07vw28inkimi9avp16j0rqcfqjq16081554qsv29pcqhz18xp59r")) + "1kclxzadmk272s9spa7n704pcb1c611ixxrq88w5zk22va0i25xm")) (modules '((guix build utils))) ;; Remove the bundled fonts. (snippet diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 5a3ce44016..07b568ee7c 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -2329,4 +2329,33 @@ Scheme by using Guile’s foreign function interface.") (home-page "https://gitlab.com/mothacehe/guile-newt") (license license:gpl3+)))) +(define-public guile-mastodon + (package + (name "guile-mastodon") + (version "0.0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://framagit.org/prouby/guile-mastodon.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1vblf3d1bbwna3l09p2ap5y8ycvl549bz6whgk78imyfmn28ygry")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config))) + (inputs + `(("guile" ,guile-2.2) + ("gnutls" ,gnutls) + ("guile-json" ,guile-json))) + (home-page "https://framagit.org/prouby/guile-mastodon") + (synopsis "Guile Mastodon REST API module") + (description "This package provides Guile modules to access the +@uref{https://docs.joinmastodon.org/api/, REST API of Mastodon}, a federated +microblogging service.") + (license license:gpl3+))) + ;;; guile.scm ends here diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 62f6674691..877c4a7866 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -238,12 +238,14 @@ it and customize it for your needs.") (version "1.7") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/hellosiyan/Viewnior/archive/" - name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/hellosiyan/Viewnior.git") + (commit (string-append name "-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1rpkk721s3xas125q3g0fl11b5zsrmzv9pzl6ddzcy4sj2rd7ymr")))) + "0y4hk3vq8psba5k615w18qj0kbdfp5w0lm98nv5apy6hmcpwfyig")))) (build-system meson-build-system) (arguments '(#:phases diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 054ad67731..c607cbbcc5 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -6140,6 +6140,11 @@ printed.") (modify-phases %standard-phases (add-after 'install 'strip-jar-timestamps (assoc-ref ant:%standard-phases 'strip-jar-timestamps)) + (add-before 'configure 'fix-timestamp + (lambda _ + (substitute* "configure" + (("^TIMESTAMP.*") "TIMESTAMP=19700101\n")) + #t)) (add-after 'configure 'fix-bin-ls (lambda _ (substitute* (find-files "." "Makefile") diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index 822fceb46a..a910d2da49 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -268,7 +268,7 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.") (define-public kodi (package (name "kodi") - (version "18.0rc1") + (version "18.0rc3") (source (origin (method git-fetch) (uri (git-reference @@ -277,7 +277,7 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.") (file-name (git-file-name name version)) (sha256 (base32 - "0xzzp4x8l0ywx8aq93a1323il6wwslmgdbhasv0r8zp3w1c0wqf1")) + "0bwi4gwmwppjw6bf0zihyg42zwnd0imq0aw4xxsgnacqakhxzii0")) (snippet '(begin (use-modules (guix build utils)) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index cbcd88f372..5953c09c24 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -937,7 +937,7 @@ Zerofree requires the file system to be unmounted or mounted read-only.") (define-public strace (package (name "strace") - (version "4.25") + (version "4.26") (home-page "https://strace.io") (source (origin (method url-fetch) @@ -945,7 +945,7 @@ Zerofree requires the file system to be unmounted or mounted read-only.") "/strace-" version ".tar.xz")) (sha256 (base32 - "00f7zagfh3np5gwi0z7hi7zjd7s5nixcaq7z78n87dvhakkgi1fn")))) + "070yz8xii8gnb4psiz628zwm5srh266sfb06f7f1qzagxzz2ykbw")))) (build-system gnu-build-system) (arguments '(#:phases @@ -964,7 +964,7 @@ Zerofree requires the file system to be unmounted or mounted read-only.") (description "strace is a system call tracer, i.e. a debugging tool which prints out a trace of all the system calls made by a another process/program.") - (license license:bsd-3))) + (license license:lgpl2.1+))) (define-public ltrace (package diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 603db34dbd..e4f17133d7 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -298,46 +298,46 @@ functional, imperative and object-oriented styles of programming.") (define-public ocaml ocaml-4.07) (define-public ocamlbuild - (package - (name "ocamlbuild") - (version "0.13.1") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/ocaml/ocamlbuild/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1320cfkixs1xlng5av04pa5qjb3ynvi2kl3k1ngqzg5fpi29b0vr")))) - (build-system gnu-build-system) - (arguments - `(#:test-target "test" - #:tests? #f; tests require findlib - #:make-flags - (list (string-append "OCAMLBUILD_PREFIX=" (assoc-ref %outputs "out")) - (string-append "OCAMLBUILD_BINDIR=" (assoc-ref %outputs "out") - "/bin") - (string-append "OCAMLBUILD_LIBDIR=" (assoc-ref %outputs "out") - "/lib/ocaml/site-lib") - (string-append "OCAMLBUILD_MANDIR=" (assoc-ref %outputs "out") - "/share/man")) - #:phases - (modify-phases %standard-phases - (delete 'bootstrap) - (delete 'configure) - (add-before 'build 'findlib-environment - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out"))) - (setenv "OCAMLFIND_DESTDIR" (string-append out "/lib/ocaml/site-lib")) - (setenv "OCAMLFIND_LDCONF" "ignore") - #t)))))) - (native-inputs - `(("ocaml" ,ocaml))) - (home-page "https://github.com/ocaml/ocamlbuild") - (synopsis "OCaml build tool") - (description "OCamlbuild is a generic build tool, that has built-in rules - for building OCaml library and programs.") - (license license:lgpl2.1+))) + (package + (name "ocamlbuild") + (version "0.13.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/ocaml/ocamlbuild/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1320cfkixs1xlng5av04pa5qjb3ynvi2kl3k1ngqzg5fpi29b0vr")))) + (build-system gnu-build-system) + (arguments + `(#:test-target "test" + #:tests? #f; tests require findlib + #:make-flags + (list (string-append "OCAMLBUILD_PREFIX=" (assoc-ref %outputs "out")) + (string-append "OCAMLBUILD_BINDIR=" (assoc-ref %outputs "out") + "/bin") + (string-append "OCAMLBUILD_LIBDIR=" (assoc-ref %outputs "out") + "/lib/ocaml/site-lib") + (string-append "OCAMLBUILD_MANDIR=" (assoc-ref %outputs "out") + "/share/man")) + #:phases + (modify-phases %standard-phases + (delete 'bootstrap) + (delete 'configure) + (add-before 'build 'findlib-environment + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (setenv "OCAMLFIND_DESTDIR" (string-append out "/lib/ocaml/site-lib")) + (setenv "OCAMLFIND_LDCONF" "ignore") + #t)))))) + (native-inputs + `(("ocaml" ,ocaml))) + (home-page "https://github.com/ocaml/ocamlbuild") + (synopsis "OCaml build tool") + (description "OCamlbuild is a generic build tool, that has built-in rules +for building OCaml library and programs.") + (license license:lgpl2.1+))) (define-public opam (package @@ -5018,11 +5018,11 @@ Coq proof assistant.") (replace 'build (lambda _ (invoke "make") - #t)) + #t)) (replace 'check (lambda _ (invoke "make" "tests") - #t)) + #t)) (add-before 'install 'set-binpath ;; Change binary path in the makefile (lambda _ @@ -5030,11 +5030,11 @@ Coq proof assistant.") (substitute* "GNUmakefile" (("BINDIR = (.*)$") (string-append "BINDIR = " out "/bin")))) - #t)) - (replace 'install - (lambda _ - (invoke "make" "install") - #t))))) + #t)) + (replace 'install + (lambda _ + (invoke "make" "install") + #t))))) (synopsis "Proof-checker for the λΠ-calculus modulo theory, an extension of the λ-calculus") (description "Dedukti is a proof-checker for the λΠ-calculus modulo @@ -5044,3 +5044,64 @@ dependent types. The λΠ-calculus modulo theory is itself an extension of the rules. This system is not designed to develop proofs, but to check proofs developed in other systems. In particular, it enjoys a minimalistic syntax.") (license license:cecill-c))) + +(define-public ocaml-biniou + (package + (name "ocaml-biniou") + (version "1.2.0") + (home-page "https://github.com/mjambon/biniou") + (source + (origin + (method git-fetch) + (uri (git-reference + (url (string-append home-page ".git")) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0mjpgwyfq2b2izjw0flmlpvdjgqpq8shs89hxj1np2r50csr8dcb")))) + (build-system dune-build-system) + (inputs + `(("ocaml-easy-format" ,ocaml-easy-format))) + (native-inputs + `(("which" ,which))) + (synopsis "Data format designed for speed, safety, ease of use and backward +compatibility") + (description "Biniou (pronounced \"be new\" is a binary data format +designed for speed, safety, ease of use and backward compatibility as +protocols evolve. Biniou is vastly equivalent to JSON in terms of +functionality but allows implementations several times faster (4 times faster +than yojson), with 25-35% space savings.") + (license license:bsd-3))) + +(define-public ocaml-yojson + (package + (name "ocaml-yojson") + (version "1.4.1") + (home-page "https://github.com/ocaml-community/yojson") + (source + (origin + (method git-fetch) + (uri (git-reference + (url (string-append home-page ".git")) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0nwsfkmqpyfab4rxq76q8ff7giyanghw08094jyrp275v99zdjr9")))) + (build-system dune-build-system) + (arguments + `(#:test-target ".")) + (inputs + `(("ocaml-biniou" ,ocaml-biniou) + ("ocaml-easy-format" ,ocaml-easy-format))) + (native-inputs + `(("ocaml-cppo" ,ocaml-cppo))) + (synopsis "Low-level JSON library for OCaml") + (description "Yojson is an optimized parsing and printing library for the +JSON format. It addresses a few shortcomings of json-wheel including 2x +speedup, polymorphic variants and optional syntax for tuples and variants. +@code{ydump} is a pretty printing command-line program provided with the +yojson package. The program @code{atdgen} can be used to derive OCaml-JSON +serializers and deserializers from type definitions.") + (license license:bsd-3))) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 9bb71dc80f..85c95a75e9 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -105,8 +105,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "0.16.0") - (commit "6f1e0bb79266f34b50b09200b9280a641b8aa7c8") - (revision 7)) + (commit "7ba2b27467a39956f10e2e11061d9569e4b7d632") + (revision 8)) (package (name "guix") @@ -122,7 +122,7 @@ (commit commit))) (sha256 (base32 - "0xk4ki5zsliwknxc9a3lvpjzpckz8nx4dz55xmw9sydq5z5mmy50")) + "14srgkl0vyr6q7azv76nncp63gngmm71y18ybyj9f6l6s4shbcm4")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index fd9bdd9724..213e416a4d 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -150,14 +150,14 @@ anywhere.") (define-public samba (package (name "samba") - (version "4.9.3") + (version "4.9.4") (source (origin (method url-fetch) (uri (string-append "https://download.samba.org/pub/samba/stable/" "samba-" version ".tar.gz")) (sha256 (base32 - "1krm47x08c0vcrq12dxs8mbicma1ck2sl1i0hgkvrmwsgrqdi3yg")))) + "0kqbzywlnh1skg6g78qilyn12qv7wri66h5v9f77igncpkcai63d")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 3c688e1204..16904dce32 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -37,6 +37,7 @@ #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) + #:use-module (gnu packages autotools) #:use-module (gnu packages bdw-gc) #:use-module (gnu packages compression) #:use-module (gnu packages libevent) @@ -85,8 +86,7 @@ (outputs '("out" "doc")) (build-system gnu-build-system) (arguments - `(#:tests? #f ; no "check" target - #:modules ((guix build gnu-build-system) + `(#:modules ((guix build gnu-build-system) (guix build utils) (srfi srfi-1)) #:phases @@ -103,6 +103,20 @@ (find-files "src/compiler" "^make\\.")) (chdir "src") #t)) + (add-after 'unpack 'patch-/bin/sh + (lambda _ + (setenv "CONFIG_SHELL" (which "sh")) + (substitute* '("../tests/ffi/autogen.sh" + "../tests/ffi/autobuild.sh" + "../tests/ffi/test-ffi.sh" + "../tests/runtime/test-process.scm" + "runtime/unxprm.scm") + (("/bin/sh") (which "sh")) + (("\\./autogen\\.sh") + (string-append (which "sh") " autogen.sh")) + (("\\./configure") + (string-append (which "sh") " configure"))) + #t)) ;; FIXME: the texlive-union insists on regenerating fonts. It stores ;; them in HOME, so it needs to be writeable. (add-before 'build 'set-HOME @@ -150,7 +164,11 @@ (delete-file-recursively old-doc-dir) #t)))))) (native-inputs - `(("texlive" ,(texlive-union (list texlive-tex-texinfo))) + `(;; Autoconf, Automake, and Libtool are necessary for the FFI tests. + ("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("texlive" ,(texlive-union (list texlive-tex-texinfo))) ("texinfo" ,texinfo) ("m4" ,m4))) (inputs diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index acd175fe09..1d50f1e464 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -833,7 +833,7 @@ then ported to the GNU / Linux environment.") (define-public mbedtls-apache (package (name "mbedtls-apache") - (version "2.14.1") + (version "2.16.0") (source (origin (method url-fetch) @@ -843,7 +843,7 @@ then ported to the GNU / Linux environment.") version "-apache.tgz")) (sha256 (base32 - "07f6xn77w5rd6fhq5s1dmna3czs4chk5j2s6wkj366cvikawp2gi")))) + "1qlscr0m97favkqmrlj90rlgw40h8lcypxz0snvr1iwkj1pbbnp3")))) (build-system cmake-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index ecce4e0ae6..a5f03aad40 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -63,13 +63,14 @@ (name "vim") (version "8.1.0551") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/vim/vim/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/vim/vim") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1wi6j9w04wg3hxsch3izl2mxb0065vpvxscz19zjn5ypkfypnm8n")))) + "1db5ihzj9flz62alb3kd1w173chb5vbni325abqjf25aly7c22n0")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -103,7 +104,7 @@ ("ncurses" ,ncurses) ("perl" ,perl) ("tcsh" ,tcsh))) ; For runtime/tools/vim32 - (home-page "http://www.vim.org/") + (home-page "https://www.vim.org/") (synopsis "Text editor based on vi") (description "Vim is a highly configurable text editor built to enable efficient text diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index 1edd1ac56a..dabf84a947 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com> +;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (gnu packages) @@ -37,6 +39,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages gettext) #:use-module (gnu packages gnupg) + #:use-module (gnu packages gnuzilla) #:use-module (gnu packages libevent) #:use-module (gnu packages linux) #:use-module (gnu packages perl) @@ -400,3 +403,47 @@ DNS domain name queries.") @command{sshuttle} virtual private networks. It supports flexible profiles with configuration options for most of @command{sshuttle}’s features.") (license license:gpl3+))) + +(define-public badvpn + (package + (name "badvpn") + (version "1.999.130") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ambrop72/badvpn.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0rm67xhi7bh3yph1vh07imv5y1pwyldvw3wa5bz471g8mnkc7d3c")))) + (build-system cmake-build-system) + (arguments + '(#:tests? #f)) ; no tests + (inputs + `(("nspr" ,nspr) + ("nss" ,nss) + ("openssl" ,openssl))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://github.com/ambrop72/badvpn") + (synopsis "Peer-to-peer virtual private network (VPN)") + (description "@code{BadVPN} is a collection of virtual private +network (VPN) tools. It includes: + +@enumerate +@item NCD programming language.\n +NCD (Network Configuration Daemon) is a daemon and programming/scripting +language for configuration of network interfaces and other aspects of the +operating system. +@item Tun2socks network-layer proxifier.\n +The tun2socks program socksifes TCP connections at the network layer. It +implements a TUN device which accepts all incoming TCP connections (regardless +of destination IP), and forwards the connections through a SOCKS server. +@item Peer-to-peer VPN.\n +The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers +(VPN nodes). +@end enumerate") + ;; This project contains a bundled lwIP. lwIP is also released under the + ;; 3-clause BSD license. + (license license:bsd-3))) |