From b12f8720f574c75e8b65b8a076e98caa61830b62 Mon Sep 17 00:00:00 2001 From: Pkill -9 Date: Mon, 24 Dec 2018 19:52:59 +0000 Subject: [PATCH 01/23] system: Fix missing space in boot labels for kernels that are inferior packages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/system.scm (kernel->boot-label): Add a missing space between the kernel's package name and package version for inferior packages. Signed-off-by: Ludovic Courtès --- gnu/system.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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"))) From 7f4d102c2fff9ff60cd7bc69f5e7eb694274baae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 26 Dec 2018 17:30:56 +0100 Subject: [PATCH 02/23] offload: Remove the "machine choice" lock. This lock was unnecessary and it led to a contention when many 'guix offload' processes are polling for available machines. * guix/scripts/offload.scm (machine-choice-lock-file): Remove. (choose-build-machine): Remove surrounding 'with-file-lock (machine-lock-file)'. --- guix/scripts/offload.scm | 109 ++++++++++++++++++--------------------- 1 file changed, 51 insertions(+), 58 deletions(-) diff --git a/guix/scripts/offload.scm b/guix/scripts/offload.scm index dcdccc80e0..f90f9e92fa 100644 --- a/guix/scripts/offload.scm +++ b/guix/scripts/offload.scm @@ -453,10 +453,6 @@ of free disk space on '~a'~%") (build-machine-name machine) "." (symbol->string hint) ".lock")) -(define (machine-choice-lock-file) - "Return the name of the file used as a lock when choosing a build machine." - (string-append %state-directory "/offload/machine-choice.lock")) - (define (random-seed) (logxor (getpid) (car (gettimeofday)))) @@ -479,67 +475,64 @@ of free disk space on '~a'~%") slot (which must later be released with 'release-build-slot'), or #f and #f." ;; Proceed like this: - ;; 1. Acquire the global machine-choice lock. - ;; 2. For all MACHINES, attempt to acquire a build slot, and filter out + ;; 1. For all MACHINES, attempt to acquire a build slot, and filter out ;; those machines for which we failed. - ;; 3. Choose the best machine among those that are left. - ;; 4. Release the previously-acquired build slots of the other machines. - ;; 5. Release the global machine-choice lock. + ;; 2. Choose the best machine among those that are left. + ;; 3. Release the previously-acquired build slots of the other machines. - (with-file-lock (machine-choice-lock-file) - (define machines+slots - (filter-map (lambda (machine) - (let ((slot (acquire-build-slot machine))) - (and slot (list machine slot)))) - (shuffle machines))) + (define machines+slots + (filter-map (lambda (machine) + (let ((slot (acquire-build-slot machine))) + (and slot (list machine slot)))) + (shuffle machines))) - (define (undecorate pred) - (lambda (a b) - (match a - ((machine1 slot1) - (match b - ((machine2 slot2) - (pred machine1 machine2))))))) + (define (undecorate pred) + (lambda (a b) + (match a + ((machine1 slot1) + (match b + ((machine2 slot2) + (pred machine1 machine2))))))) - (define (machine-faster? m1 m2) - ;; Return #t if M1 is faster than M2. - (> (build-machine-speed m1) - (build-machine-speed m2))) + (define (machine-faster? m1 m2) + ;; Return #t if M1 is faster than M2. + (> (build-machine-speed m1) + (build-machine-speed m2))) - (let loop ((machines+slots - (sort machines+slots (undecorate machine-faster?)))) - (match machines+slots - (((best slot) others ...) - ;; Return the best machine unless it's already overloaded. - ;; Note: We call 'node-load' only as a last resort because it is - ;; too costly to call it once for every machine. - (let* ((session (false-if-exception (open-ssh-session best))) - (node (and session (remote-inferior session))) - (load (and node (normalized-load best (node-load node)))) - (space (and node (node-free-disk-space node)))) - (when node (close-inferior node)) - (when session (disconnect! session)) - (if (and node (< load 2.) (>= space %minimum-disk-space)) - (match others - (((machines slots) ...) - ;; Release slots from the uninteresting machines. - (for-each release-build-slot slots) + (let loop ((machines+slots + (sort machines+slots (undecorate machine-faster?)))) + (match machines+slots + (((best slot) others ...) + ;; Return the best machine unless it's already overloaded. + ;; Note: We call 'node-load' only as a last resort because it is + ;; too costly to call it once for every machine. + (let* ((session (false-if-exception (open-ssh-session best))) + (node (and session (remote-inferior session))) + (load (and node (normalized-load best (node-load node)))) + (space (and node (node-free-disk-space node)))) + (when node (close-inferior node)) + (when session (disconnect! session)) + (if (and node (< load 2.) (>= space %minimum-disk-space)) + (match others + (((machines slots) ...) + ;; Release slots from the uninteresting machines. + (for-each release-build-slot slots) - ;; The caller must keep SLOT to protect it from GC and to - ;; eventually release it. - (values best slot))) - (begin - ;; BEST is unsuitable, so try the next one. - (when (and space (< space %minimum-disk-space)) - (format (current-error-port) - "skipping machine '~a' because it is low \ + ;; The caller must keep SLOT to protect it from GC and to + ;; eventually release it. + (values best slot))) + (begin + ;; BEST is unsuitable, so try the next one. + (when (and space (< space %minimum-disk-space)) + (format (current-error-port) + "skipping machine '~a' because it is low \ on disk space (~,2f MiB free)~%" - (build-machine-name best) - (/ space (expt 2 20) 1.))) - (release-build-slot slot) - (loop others))))) - (() - (values #f #f)))))) + (build-machine-name best) + (/ space (expt 2 20) 1.))) + (release-build-slot slot) + (loop others))))) + (() + (values #f #f))))) (define (call-with-timeout timeout drv thunk) "Call THUNK and leave after TIMEOUT seconds. If TIMEOUT is #f, simply call From 0ef595b99689a4d80521abd87fa893695c7f75df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 26 Dec 2018 17:42:02 +0100 Subject: [PATCH 03/23] offload: Remove unnecessary locking on machine slots. This extra level of locking turned out to be unnecessary. * guix/scripts/offload.scm (with-machine-lock): Remove. (machine-lock-file): Remove. (acquire-build-slot): Remove surrounding 'with-machine-lock'. --- guix/scripts/offload.scm | 50 +++++++++++++++------------------------- 1 file changed, 19 insertions(+), 31 deletions(-) diff --git a/guix/scripts/offload.scm b/guix/scripts/offload.scm index f90f9e92fa..30fe69ad6d 100644 --- a/guix/scripts/offload.scm +++ b/guix/scripts/offload.scm @@ -260,13 +260,6 @@ instead of '~a' of type '~a'~%") (lambda () (unlock-file port))))) -(define-syntax-rule (with-machine-lock machine hint exp ...) - "Wait to acquire MACHINE's exclusive lock for HINT, and evaluate EXP in that -context." - (with-file-lock (machine-lock-file machine hint) - exp ...)) - - (define (machine-slot-file machine slot) "Return the file name of MACHINE's file for SLOT." ;; For each machine we have a bunch of files representing each build slot. @@ -284,23 +277,25 @@ the slot, or #f if none is available. This mechanism allows us to set a hard limit on the number of simultaneous connections allowed to MACHINE." (mkdir-p (dirname (machine-slot-file machine 0))) - (with-machine-lock machine 'slots - (any (lambda (slot) - (let ((port (open-file (machine-slot-file machine slot) - "w0"))) - (catch 'flock-error - (lambda () - (fcntl-flock port 'write-lock #:wait? #f) - ;; Got it! - (format (current-error-port) - "process ~a acquired build slot '~a'~%" - (getpid) (port-filename port)) - port) - (lambda args - ;; PORT is already locked by another process. - (close-port port) - #f)))) - (iota (build-machine-parallel-builds machine))))) + + ;; When several 'guix offload' processes run in parallel, there's a race + ;; among them, but since they try the slots in the same order, we're fine. + (any (lambda (slot) + (let ((port (open-file (machine-slot-file machine slot) + "w0"))) + (catch 'flock-error + (lambda () + (fcntl-flock port 'write-lock #:wait? #f) + ;; Got it! + (format (current-error-port) + "process ~a acquired build slot '~a'~%" + (getpid) (port-filename port)) + port) + (lambda args + ;; PORT is already locked by another process. + (close-port port) + #f)))) + (iota (build-machine-parallel-builds machine)))) (define (release-build-slot slot) "Release SLOT, a build slot as returned as by 'acquire-build-slot'." @@ -447,12 +442,6 @@ of free disk space on '~a'~%") normalized) load)) -(define (machine-lock-file machine hint) - "Return the name of MACHINE's lock file for HINT." - (string-append %state-directory "/offload/" - (build-machine-name machine) - "." (symbol->string hint) ".lock")) - (define (random-seed) (logxor (getpid) (car (gettimeofday)))) @@ -827,7 +816,6 @@ This tool is meant to be used internally by 'guix-daemon'.\n")) (leave (G_ "invalid arguments: ~{~s ~}~%") x)))) ;;; Local Variables: -;;; eval: (put 'with-machine-lock 'scheme-indent-function 2) ;;; eval: (put 'with-file-lock 'scheme-indent-function 1) ;;; eval: (put 'with-error-to-port 'scheme-indent-function 1) ;;; eval: (put 'with-timeout 'scheme-indent-function 2) From 7ba2b27467a39956f10e2e11061d9569e4b7d632 Mon Sep 17 00:00:00 2001 From: Meiyo Peng Date: Mon, 24 Dec 2018 22:35:26 +0800 Subject: [PATCH 04/23] gnu: Add badvpn. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/vpn.scm (badvpn): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/vpn.scm | 47 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) 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 ;;; Copyright © 2017 Julien Lepiller ;;; Copyright © 2018 Pierre Langlois +;;; Copyright © 2018 Meiyo Peng ;;; ;;; 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))) From 79f6fc0d9950eb96ffeea4150b1822e759efa0b7 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 26 Dec 2018 17:40:47 +0100 Subject: [PATCH 05/23] gnu: antlr2: Fix reproducibility. * gnu/packages/java.scm (antlr2)[arguments]: Add a phase to fix a timestamp issue. --- gnu/packages/java.scm | 5 +++++ 1 file changed, 5 insertions(+) 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") From fbf7b7e9e6ca2f59e96a45ab5c9e0d64b8b933ff Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Thu, 20 Dec 2018 16:05:50 -0500 Subject: [PATCH 06/23] gnu: mit-scheme: Enable tests. * gnu/packages/scheme.scm (mit-scheme)[arguments]: Remove #:tests?. Add 'patch-/bin/sh' phase. [native-inputs]: Add autoconf, automake, and libtool. --- gnu/packages/scheme.scm | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) 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 From d037353c76bc8f03556f4c0c009afe3c40167c3a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 27 Dec 2018 09:35:09 +0200 Subject: [PATCH 07/23] gnu: kodi: Update to 18.0rc3. * gnu/packages/kodi.scm (kodi): Update to 18.0rc3. --- gnu/packages/kodi.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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)) From 6286880a8b6cc2b3ad8a92dd9d2067842b55f936 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 27 Dec 2018 09:50:55 +0200 Subject: [PATCH 08/23] gnu: terminology: Update to 1.3.2. * gnu/packages/enlightenment.scm (terminology): Update to 1.3.2. --- gnu/packages/enlightenment.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 9989e2f5a8..e1e5cb5821 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -183,7 +183,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 @@ -191,7 +191,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 From 4a2e1e72806fd62e54201a4aacde213d419d04bd Mon Sep 17 00:00:00 2001 From: Gabriel Hondet Date: Wed, 26 Dec 2018 19:09:00 +0100 Subject: [PATCH 09/23] gnu: Add emacs-dedukti-mode. * gnu/packages/emacs.scm (emacs-dedukti-mode): New variable. Signed-off-by: Julien Lepiller --- gnu/packages/emacs.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 7fdcfb1a30..2cc6ca438a 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -41,6 +41,7 @@ ;;; Copyright © 2018 Alex Branham ;;; Copyright © 2018 Thorsten Wilms ;;; Copyright © 2018 Pierre Langlois +;;; Copyright © 2018 Gabriel Hondet ;;; ;;; 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)) @@ -12854,3 +12856,35 @@ 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)))) From ad536c98f9125f47dd948be7dd42d5c34e84bdfd Mon Sep 17 00:00:00 2001 From: Gabriel Hondet Date: Tue, 25 Dec 2018 19:47:32 +0100 Subject: [PATCH 10/23] gnu: Add emacs-flycheck-dedukti. * gnu/packages/emacs.scm (emacs-flycheck-dedukti): New variable. Signed-off-by: Julien Lepiller --- gnu/packages/emacs.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 2cc6ca438a..35d59fe8f1 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -12888,3 +12888,27 @@ too ambiguous and navigation in the result buffer.") (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)))) From 2939fe7b3cb5a53daebab7b7734e29be3ba8d153 Mon Sep 17 00:00:00 2001 From: Gabriel Hondet Date: Wed, 26 Dec 2018 20:00:27 +0100 Subject: [PATCH 11/23] gnu: Add ocaml-biniou. * gnu/packages/ocaml.scm (ocaml-biniou): New variable. Signed-off-by: Julien Lepiller --- gnu/packages/ocaml.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 603db34dbd..a5193c7b3c 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -5044,3 +5044,32 @@ 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))) From 2e951707f505db2d6e3a94a842b4319aa9b07e39 Mon Sep 17 00:00:00 2001 From: Gabriel Hondet Date: Thu, 27 Dec 2018 07:25:12 +0100 Subject: [PATCH 12/23] gnu: Add ocaml-yojson. * gnu/packages/ocaml.scm (ocaml-yojson): New variable. Signed-off-by: Julien Lepiller --- gnu/packages/ocaml.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index a5193c7b3c..aeff7b50e9 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -5073,3 +5073,32 @@ 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) + (inputs + `(("ocaml-biniou" ,ocaml-biniou) + ("ocaml-easy-format" ,ocaml-easy-format) + ("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))) From 912f44005dfbf0855d1e5bbc633094bc9456e80b Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 27 Dec 2018 09:46:40 +0100 Subject: [PATCH 13/23] gnu: ocaml: Fix indentation. * gnu/packages/ocaml.scm: Fix indentation issues. --- gnu/packages/ocaml.scm | 101 +++++++++++++++++++++-------------------- 1 file changed, 52 insertions(+), 49 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index aeff7b50e9..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 @@ -5090,10 +5090,13 @@ than yojson), with 25-35% space savings.") (base32 "0nwsfkmqpyfab4rxq76q8ff7giyanghw08094jyrp275v99zdjr9")))) (build-system dune-build-system) + (arguments + `(#:test-target ".")) (inputs `(("ocaml-biniou" ,ocaml-biniou) - ("ocaml-easy-format" ,ocaml-easy-format) - ("ocaml-cppo" ,ocaml-cppo))) + ("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 From ad3c9fbbb9fbc1080c9205d991960494ebe22586 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 27 Dec 2018 11:53:14 +0100 Subject: [PATCH 14/23] gnu: guix: Update to 7ba2b27. * gnu/packages/package-management.scm (guix): Update to 7ba2b27. --- gnu/packages/package-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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 From 5923102f7b58f0a0120926ec5b81ed48b26a188e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 27 Dec 2018 11:54:55 +0100 Subject: [PATCH 15/23] pull: Add '--system'. * guix/scripts/pull.scm (%options): Add '--system'. (guix-pull): Honor it. * doc/guix.texi (Invoking guix pull): Document it. --- doc/guix.texi | 5 +++++ guix/scripts/pull.scm | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index c182995b2b..20952e9a36 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2887,6 +2887,11 @@ Use @var{profile} instead of @file{~/.config/guix/current}. Show which channel commit(s) would be used and what would be built or substituted but do not actually do it. +@item --system=@var{system} +@itemx -s @var{system} +Attempt to build for @var{system}---e.g., @code{i686-linux}---instead of +the system type of the build host. + @item --verbose Produce verbose output, writing build logs to the standard error output. diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm index dc83729911..862556d12b 100644 --- a/guix/scripts/pull.scm +++ b/guix/scripts/pull.scm @@ -126,6 +126,10 @@ Download and deploy the latest version of Guix.\n")) (lambda (opt name arg result) (alist-cons 'profile (canonicalize-profile arg) result))) + (option '(#\s "system") #t #f + (lambda (opt name arg result) + (alist-cons 'system arg + (alist-delete 'system result eq?)))) (option '(#\n "dry-run") #f #f (lambda (opt name arg result) (alist-cons 'dry-run? #t (alist-cons 'graft? #f result)))) @@ -505,7 +509,8 @@ Use '~/.config/guix/channels.scm' instead.")) (else (with-store store (with-status-report print-build-event - (parameterize ((%graft? (assoc-ref opts 'graft?)) + (parameterize ((%current-system (assoc-ref opts 'system)) + (%graft? (assoc-ref opts 'graft?)) (%repository-cache-directory cache)) (set-build-options-from-command-line store opts) (honor-x509-certificates store) From 039ccc7118b0a6d0cb09e9cab5caf9f629197d03 Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Rouby Date: Tue, 20 Nov 2018 17:46:24 +0100 Subject: [PATCH 16/23] gnu: Add guile-mastodon. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/guile.scm (guile-mastodon): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/guile.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) 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 From c180017b6f7e9b6d23238c1fbaac986c435cd35e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 25 Dec 2018 16:29:12 +0200 Subject: [PATCH 17/23] lint: Check for unstable tarballs. * guix/scripts/lint.scm (check-source-unstable-tarball): New procedure. (%checkers): Add it. * tests/lint.scm ("source-unstable-tarball", "source-unstable-tarball: source #f", "source-unstable-tarball: valid", "source-unstable-tarball: package named archive", "source-unstable-tarball: not-github", "source-unstable-tarball: git-fetch"): New tests. * doc/guix.texi (Invoking guix lint): Document it. --- doc/guix.texi | 5 +++ guix/scripts/lint.scm | 23 ++++++++++++- tests/lint.scm | 80 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 107 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 20952e9a36..fcb5b8c088 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -7704,6 +7704,11 @@ URL. Check that the source file name is meaningful, e.g.@: is not just a version number or ``git-checkout'', without a declared @code{file-name} (@pxref{origin Reference}). +@item source-unstable-tarball +Parse the @code{source} URL to determine if a tarball from GitHub is +autogenerated or if it is a release tarball. Unfortunately GitHub's +autogenerated tarballs are sometimes regenerated. + @item cve @cindex security vulnerabilities @cindex CVE, Common Vulnerabilities and Exposures diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm index 354f6f7031..2c1c7ec669 100644 --- a/guix/scripts/lint.scm +++ b/guix/scripts/lint.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2016 Hartmut Goebel ;;; Copyright © 2017 Alex Kost ;;; Copyright © 2017 Tobias Geerinckx-Rice -;;; Copyright © 2017 Efraim Flashner +;;; Copyright © 2017, 2018 Efraim Flashner ;;; Copyright © 2018 Arun Isaac ;;; ;;; This file is part of GNU Guix. @@ -76,6 +76,7 @@ check-home-page check-source check-source-file-name + check-source-unstable-tarball check-mirror-url check-github-url check-license @@ -752,6 +753,22 @@ descriptions maintained upstream." (G_ "the source file name should contain the package name") 'source)))) +(define (check-source-unstable-tarball package) + "Emit a warning if PACKAGE's source is an autogenerated tarball." + (define (check-source-uri uri) + (when (and (string=? (uri-host (string->uri uri)) "github.com") + (string=? (third (split-and-decode-uri-path + (uri-path (string->uri uri)))) + "archive")) + (emit-warning package + (G_ "the source URI should not be an autogenerated tarball") + 'source))) + (let ((origin (package-source package))) + (when (and (origin? origin) + (eqv? (origin-method origin) url-fetch)) + (let ((uris (origin-uris origin))) + (for-each check-source-uri uris))))) + (define (check-mirror-url package) "Check whether PACKAGE uses source URLs that should be 'mirror://'." (define (check-mirror-uri uri) ;XXX: could be optimized @@ -1098,6 +1115,10 @@ or a list thereof") (name 'source-file-name) (description "Validate file names of sources") (check check-source-file-name)) + (lint-checker + (name 'source-unstable-tarball) + (description "Check for autogenerated tarballs") + (check check-source-unstable-tarball)) (lint-checker (name 'derivation) (description "Report failure to compile a package to a derivation") diff --git a/tests/lint.scm b/tests/lint.scm index d4aa7c0e8e..fe12bebd88 100644 --- a/tests/lint.scm +++ b/tests/lint.scm @@ -572,6 +572,86 @@ (check-source-file-name pkg))) "file name should contain the package name")))) +(test-assert "source-unstable-tarball" + (string-contains + (with-warnings + (let ((pkg (dummy-package "x" + (source + (origin + (method url-fetch) + (uri "https://github.com/example/example/archive/v0.0.tar.gz") + (sha256 %null-sha256)))))) + (check-source-unstable-tarball pkg))) + "source URI should not be an autogenerated tarball")) + +(test-assert "source-unstable-tarball: source #f" + (not + (->bool + (string-contains + (with-warnings + (let ((pkg (dummy-package "x" + (source #f)))) + (check-source-unstable-tarball pkg))) + "source URI should not be an autogenerated tarball")))) + +(test-assert "source-unstable-tarball: valid" + (not + (->bool + (string-contains + (with-warnings + (let ((pkg (dummy-package "x" + (source + (origin + (method url-fetch) + (uri "https://github.com/example/example/releases/download/x-0.0/x-0.0.tar.gz") + (sha256 %null-sha256)))))) + (check-source-unstable-tarball pkg))) + "source URI should not be an autogenerated tarball")))) + +(test-assert "source-unstable-tarball: package named archive" + (not + (->bool + (string-contains + (with-warnings + (let ((pkg (dummy-package "x" + (source + (origin + (method url-fetch) + (uri "https://github.com/example/archive/releases/download/x-0.0/x-0.0.tar.gz") + (sha256 %null-sha256)))))) + (check-source-unstable-tarball pkg))) + "source URI should not be an autogenerated tarball")))) + +(test-assert "source-unstable-tarball: not-github" + (not + (->bool + (string-contains + (with-warnings + (let ((pkg (dummy-package "x" + (source + (origin + (method url-fetch) + (uri "https://bitbucket.org/archive/example/download/x-0.0.tar.gz") + (sha256 %null-sha256)))))) + (check-source-unstable-tarball pkg))) + "source URI should not be an autogenerated tarball")))) + +(test-assert "source-unstable-tarball: git-fetch" + (not + (->bool + (string-contains + (with-warnings + (let ((pkg (dummy-package "x" + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/archive/example.git") + (commit "0"))) + (sha256 %null-sha256)))))) + (check-source-unstable-tarball pkg))) + "source URI should not be an autogenerated tarball")))) + (test-skip (if (http-server-can-listen?) 0 1)) (test-equal "source: 200" "" From 83541fb678d0d5428cffdb968092514b64b260e4 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 27 Dec 2018 15:12:30 +0200 Subject: [PATCH 18/23] gnu: viewnior: Don't use unstable tarball. * gnu/packages/image-viewers.scm (viewnior)[source]: Use 'git-fetch'. --- gnu/packages/image-viewers.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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 From 3d6bc5af91b522a81e3b157b1dfefa66d9e7adf8 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 27 Dec 2018 15:18:07 +0200 Subject: [PATCH 19/23] gnu: vim: Use https. * gnu/packages/vim.scm (vim)[home-page]: Use https. --- gnu/packages/vim.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index ecce4e0ae6..5d782ba3db 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -103,7 +103,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 From b130354999bf37ae5f155dbea1a9c57a0861b707 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 27 Dec 2018 15:18:37 +0200 Subject: [PATCH 20/23] gnu: vim: Don't use unstable tarball. * gnu/packages/vim.scm (vim)[source]: Use 'git-fetch'. --- gnu/packages/vim.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 5d782ba3db..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" From 035f91611444333db6a3bea5680277c0c469a4b4 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 27 Dec 2018 15:38:33 +0100 Subject: [PATCH 21/23] gnu: strace: Update to 4.26. * gnu/packages/linux.scm (strace): Update to 4.26. [license]: Change to LGPL2.1+. --- gnu/packages/linux.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 8920cb3711..f21a6760b9 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 From b79ed581222bf006361c71d5756ea9214f0f3edf Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 27 Dec 2018 15:39:49 +0100 Subject: [PATCH 22/23] gnu: samba: Update to 4.9.4. * gnu/packages/samba.scm (samba): Update to 4.9.4. --- gnu/packages/samba.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 From 5a7899fd88c1c463d3b75ac9077ccd183ddec914 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 27 Dec 2018 15:40:09 +0100 Subject: [PATCH 23/23] gnu: mbedtls-apache: Update to 2.16.0. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.16.0. --- gnu/packages/tls.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index f9e21e1e3f..036736498d 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -826,7 +826,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) @@ -836,7 +836,7 @@ then ported to the GNU / Linux environment.") version "-apache.tgz")) (sha256 (base32 - "07f6xn77w5rd6fhq5s1dmna3czs4chk5j2s6wkj366cvikawp2gi")))) + "1qlscr0m97favkqmrlj90rlgw40h8lcypxz0snvr1iwkj1pbbnp3")))) (build-system cmake-build-system) (arguments `(#:configure-flags