aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/emacs.scm58
-rw-r--r--gnu/packages/enlightenment.scm4
-rw-r--r--gnu/packages/guile.scm29
-rw-r--r--gnu/packages/image-viewers.scm10
-rw-r--r--gnu/packages/java.scm5
-rw-r--r--gnu/packages/kodi.scm4
-rw-r--r--gnu/packages/linux.scm6
-rw-r--r--gnu/packages/ocaml.scm155
-rw-r--r--gnu/packages/package-management.scm6
-rw-r--r--gnu/packages/samba.scm4
-rw-r--r--gnu/packages/scheme.scm24
-rw-r--r--gnu/packages/tls.scm4
-rw-r--r--gnu/packages/vim.scm13
-rw-r--r--gnu/packages/vpn.scm47
-rw-r--r--gnu/system.scm2
15 files changed, 296 insertions, 75 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)))
diff --git a/gnu/system.scm b/gnu/system.scm
index 146af7cf08..ee48f48266 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -913,7 +913,7 @@ listed in OS. The C library expects to find it under
" (beta)"))
((inferior-package? kernel)
(string-append "GNU with "
- (string-titlecase (inferior-package-name kernel))
+ (string-titlecase (inferior-package-name kernel)) " "
(inferior-package-version kernel)
" (beta)"))
(else "GNU")))