From c8fc9a379bf34292f47338700d85e40272b254e9 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 27 Jul 2017 19:45:54 +0200 Subject: [PATCH 01/93] gnu: shotwell: Update to 0.26.2. * gnu/packages/gnome.scm (shotwell): Update to 0.26.2. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index b670ef7a3e..c8fc34ff81 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4290,7 +4290,7 @@ metadata in photo and video files of various formats.") (define-public shotwell (package (name "shotwell") - (version "0.26.1") + (version "0.26.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -4298,7 +4298,7 @@ metadata in photo and video files of various formats.") name "-" version ".tar.xz")) (sha256 (base32 - "0xak1f69lp1yx3p8jgmr9c0z3jypi8zjpy3kiknn5n9g2f5cqq0a")))) + "0frjqa6nmh025clwnb74z2rzbdq65wjcp2lf9csgcbkpahyjhrag")))) (build-system glib-or-gtk-build-system) (propagated-inputs `(("dconf" ,dconf))) From 0193e3be530ea405609057c675aaf8d709048ca1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 27 Jul 2017 21:05:03 +0200 Subject: [PATCH 02/93] gnu: goffice: Update to 3.24.2.1. * gnu/packages/gnome.scm (goffice): Update to 3.24.2.1. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index c8fc34ff81..abc5c2697d 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1755,14 +1755,14 @@ Hints specification (EWMH).") (define-public goffice (package (name "goffice") - (version "0.10.34") + (version "0.10.35") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 - (base32 "00yn5ly1x50ynrwgl783pwnjy4k2ckp8n54mfnqv6qsq5fi7ajjm")))) + (base32 "0f2p3p7idfpbms4mi75031014mqsv09s21b6w1359p09raph3461")))) (build-system gnu-build-system) (outputs '("out" "doc")) ;4.1 MiB of gtk-doc From 73fe4552aa4958d4ea0d9ea0ef0326e112b22a92 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 27 Jul 2017 21:10:12 +0200 Subject: [PATCH 03/93] gnu: gptfdisk: Update description. * gnu/packages/disk.scm (gptfdisk): Remove outdated statement and use @dfn. --- gnu/packages/disk.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 0a6e2c9e1f..91629547a7 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -168,9 +168,9 @@ tables, and it understands a variety of different formats.") (home-page "http://www.rodsbooks.com/gdisk/") (synopsis "Low-level GPT disk partitioning and formatting") (description "GPT fdisk (aka gdisk) is a text-mode partitioning tool that -works on Globally Unique Identifier (GUID) Partition Table (GPT) disks, rather -than on the more common (through 2009) Master Boot Record (MBR) partition -tables.") +works on Globally Unique Identifier (@dfn{GUID}) Partition Table (@dfn{GPT}) +disks, rather than on the older Master Boot Record (@dfn{MBR}) partition +scheme.") (license license:gpl2))) (define-public ddrescue From 0f6cf5a61cd50623f42b177cea429bbaf19e25b3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 27 Jul 2017 21:31:14 +0200 Subject: [PATCH 04/93] gnu: nautilus: Update to 3.24.2.1. * gnu/packages/gnome.scm (nautilus): Update to 3.24.2.1. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index abc5c2697d..931c50e9db 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5490,7 +5490,7 @@ shared object databases, search tools and indexing.") (define-public nautilus (package (name "nautilus") - (version "3.24.1") + (version "3.24.2.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -5498,7 +5498,7 @@ shared object databases, search tools and indexing.") name "-" version ".tar.xz")) (sha256 (base32 - "1cn6bmzmahzlwcd4gllsvx6dva386xm3papgzpv1r34abw73sf27")))) + "1cv138z04qx0fh1a2z2hvxy4p1x15vdv5gmkx5f3hb6c3w2rsz9m")))) (build-system glib-or-gtk-build-system) (arguments '(#:configure-flags From 26f4a377361fa5cbc84012e1ec80db3f1b5273e8 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Sat, 22 Jul 2017 20:00:01 +1000 Subject: [PATCH 05/93] gnu: ruby-mini-portile2: Update to 2.2.0. * gnu/packages/ruby.scm (ruby-mini-portile2): Update to 2.2.0. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 7eba684440..7f4075a146 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1913,13 +1913,13 @@ to reproduce user environments.") (define-public ruby-mini-portile-2 (package (inherit ruby-mini-portile) - (version "2.1.0") + (version "2.2.0") (source (origin (method url-fetch) (uri (rubygems-uri "mini_portile2" version)) (sha256 (base32 - "1y25adxb1hgg1wb2rn20g3vl07qziq6fz364jc5694611zz863hb")))))) + "0g5bpgy08q0nc0anisg3yvwc1gc3inl854fcrg48wvg7glqd6dpm")))))) (define-public ruby-nokogiri (package From efb94fda6406133b2865173c07d762d2ae72aefc Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Sat, 22 Jul 2017 18:21:54 +1000 Subject: [PATCH 06/93] gnu: ruby-nokogiri: Update to 1.8.0. * gnu/packages/ruby.scm (ruby-nokogiri): Update to 1.8.0. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 7f4075a146..ada47b7ef6 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1924,13 +1924,13 @@ to reproduce user environments.") (define-public ruby-nokogiri (package (name "ruby-nokogiri") - (version "1.7.0.1") + (version "1.8.0") (source (origin (method url-fetch) (uri (rubygems-uri "nokogiri" version)) (sha256 (base32 - "10xahg0fwydh27psm8bv429mdja2ks6x83vxizq26ib8wvs05mv3")))) + "1nffsyx1xjg6v5n9rrbi8y1arrcx2i5f21cp6clgh9iwiqkr7rnn")))) (build-system ruby-build-system) (arguments ;; Tests fail because Nokogiri can only test with an installed extension, From 00eeb45fcaffffd00e8f556e28114d077584c890 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Sat, 22 Jul 2017 21:42:03 +1000 Subject: [PATCH 07/93] gnu: redis: Update to 4.0.0. * gnu/packages/databases.scm (redis): Update to 4.0.0. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 7e62452ea6..ec812afb0e 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1180,14 +1180,14 @@ similar to BerkeleyDB, LevelDB, etc.") (define-public redis (package (name "redis") - (version "3.2.4") + (version "4.0.0") (source (origin (method url-fetch) (uri (string-append "http://download.redis.io/releases/redis-" version".tar.gz")) (sha256 (base32 - "1wb9jd692a0y52bkkxr6815kk4g039mirjdrvqx24265lv2l5l1a")))) + "0bfzb70pbd9a6nhg5z95bnmqcvsvchwqjafp7rf1swlmj8qawffm")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; tests related to master/slave and replication fail From a2a558147a014468b289a6b9823c6c12e2056f60 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 25 Jul 2017 11:32:14 +1000 Subject: [PATCH 08/93] gnu: ruby-ffi: Update to 1.9.18. * gnu/packages/ruby.scm (ruby-ffi): Update to 1.9.18. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index ada47b7ef6..fac2e861a6 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -929,13 +929,13 @@ Ruby Gems.") (define-public ruby-ffi (package (name "ruby-ffi") - (version "1.9.14") + (version "1.9.18") (source (origin (method url-fetch) (uri (rubygems-uri "ffi" version)) (sha256 (base32 - "1nkcrmxqr0vb1y4rwliclwlj2ajsi4ddpdx2gvzjy0xbkk5iqzfp")))) + "034f52xf7zcqgbvwbl20jwdyjwznvqnwpbaps9nk18v9lgb1dpx0")))) (build-system ruby-build-system) ;; FIXME: Before running tests the build system attempts to build libffi ;; from sources. From 9c14bc7a4d5274477401833cdee45310e6aea091 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Thu, 27 Jul 2017 21:41:08 +1000 Subject: [PATCH 09/93] gnu: bundler: Update to 1.15.3. * gnu/packages/ruby.scm (bundler): Update to 1.15.3. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index fac2e861a6..ff3ccfb0dd 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -443,13 +443,13 @@ expectations and mocks frameworks.") (define-public bundler (package (name "bundler") - (version "1.15.1") + (version "1.15.3") (source (origin (method url-fetch) (uri (rubygems-uri "bundler" version)) (sha256 (base32 - "1mq0n8g08vf2rnd7fvylx3f4sspx15abid49gycf9zzsjj7w8vps")))) + "125amldnpzzrfw76mmr7mlx002k1k6xdyrqf5bdnzl5hajvn0s5f")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; avoid dependency cycles From ac01cb07902ec88b390a7597513c534017f76bf3 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Fri, 28 Jul 2017 17:50:36 +1000 Subject: [PATCH 10/93] gnu: ruby-json-pure: Update to 2.1.0. * gnu/packages/ruby.scm (ruby-json-pure): Update to 2.1.0. [arguments]: Replace 'replace-git-ls-files' phase with 'fix-rakefile' and 'regenerate-gemspec' phases. [inputs]: Remove ruby-permutation, ruby-utils, ragel. Add ruby-test-unit, ruby-simplecov. --- gnu/packages/ruby.scm | 48 ++++++++++++++++--------------------------- 1 file changed, 18 insertions(+), 30 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index ff3ccfb0dd..bc98dc2845 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -2463,46 +2463,34 @@ a native C extension.") (define-public ruby-json-pure (package (name "ruby-json-pure") - (version "1.8.3") + (version "2.1.0") (source (origin (method url-fetch) (uri (rubygems-uri "json_pure" version)) (sha256 (base32 - "025aykr360x6dr1jmg8pmsrx7gr30pws4p1q686vnb48zyw1sc94")))) + "12yf9fmhr4c2jm3xl20vf1qyz5i63vc8a6ngz9j0f86nqwhmi2as")))) (build-system ruby-build-system) (arguments - `(#:modules ((srfi srfi-1) - (ice-9 regex) - (rnrs io ports) - (guix build ruby-build-system) - (guix build utils)) - #:phases + `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'replace-git-ls-files + (add-after 'unpack 'fix-rakefile (lambda _ - ;; The existing gemspec file already contains a nice list of - ;; files that belong to the gem. We extract the list from the - ;; gemspec file and then replace the file list in the Rakefile to - ;; get rid of the call to "git ls-files". - (let* ((contents (call-with-input-file "json.gemspec" get-string-all)) - ;; Guile is unhappy about the #\nul characters in comments. - (filtered (string-filter (lambda (char) - (not (equal? #\nul char))) - contents)) - (files (match:substring - (string-match " s\\.files = ([^]]+\\])" filtered) 1))) - (substitute* "Rakefile" - (("FileList\\[`git ls-files`\\.split\\(/\\\\n/\\)\\]") - (string-append "FileList" files)))) - (substitute* "Gemfile" - ((".*json-java.*") "\n")) - #t))))) + (substitute* "Rakefile" + ;; Since this is not a git repository, do not call 'git'. + (("`git ls-files`") "`find . -type f |sort`") + ;; Loosen dependency constraint. + (("'test-unit', '~> 2.0'") "'test-unit', '>= 2.0'")) + #t)) + (add-after 'replace-git-ls-files 'regenerate-gemspec + (lambda _ + ;; Regenerate gemspec so loosened dependency constraints are + ;; propagated. + (zero? (system* "rake" "gemspec"))))))) (native-inputs - `(("ruby-permutation" ,ruby-permutation) - ("ruby-utils" ,ruby-utils) - ("ragel" ,ragel) - ("bundler" ,bundler))) + `(("bundler" ,bundler) + ("ruby-test-unit" ,ruby-test-unit) + ("ruby-simplecov" ,ruby-simplecov))) (synopsis "JSON implementation in pure Ruby") (description "This package provides a JSON implementation written in pure Ruby.") From f112bd26aec9685f7a0592dbfbcf2aead72f762a Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Fri, 28 Jul 2017 21:10:49 +1000 Subject: [PATCH 11/93] gnu: redis: Update to 4.0.1. * gnu/packages/databases.scm (redis): Update to 4.0.1. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index ec812afb0e..8f5857ad7d 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1180,14 +1180,14 @@ similar to BerkeleyDB, LevelDB, etc.") (define-public redis (package (name "redis") - (version "4.0.0") + (version "4.0.1") (source (origin (method url-fetch) (uri (string-append "http://download.redis.io/releases/redis-" version".tar.gz")) (sha256 (base32 - "0bfzb70pbd9a6nhg5z95bnmqcvsvchwqjafp7rf1swlmj8qawffm")))) + "14bm8lkhylc93r4dgl7kkzzpw2xq7gr6w6h80n3jazqnx5mcsj90")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; tests related to master/slave and replication fail From c4b006ba12cd12a1c4971a36303582a096ce0948 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 28 Jul 2017 16:31:00 +0200 Subject: [PATCH 12/93] gnu: btrfs-progs: Update to 4.12. * gnu/packages/linux.scm (btrfs-progs): Update to 4.12. [outputs]: Remove inaccurate comment on size. --- 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 a82d009a44..e9921838c8 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -3093,7 +3093,7 @@ and copy/paste text in the console and in xterm.") (define-public btrfs-progs (package (name "btrfs-progs") - (version "4.11.1") + (version "4.12") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/kernel/" @@ -3101,10 +3101,10 @@ and copy/paste text in the console and in xterm.") "btrfs-progs-v" version ".tar.xz")) (sha256 (base32 - "0vcp9a0a35chhjhq291kvirqhd4i9w5f4zql4y5n81kbwcrxil6h")))) + "1kif8xw2dbyc70ygkp0wyq4x96p1mkwdv4430f99qllx9b410xwi")))) (build-system gnu-build-system) (outputs '("out" - "static")) ; static versions of binaries in "out" (~16MiB!) + "static")) ; static versions of the binaries in "out" (arguments '(#:phases (modify-phases %standard-phases (add-after 'build 'build-static From 6f0f55148d8f70ff5bb7455689a4e78b1807d555 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 28 Jul 2017 14:50:52 +0200 Subject: [PATCH 13/93] gnu: le-certs: Create OpenSSL hash symlinks. * gnu/packages/certs.scm (le-certs)[arguments]: Run 'c_rehash' on the result. [native-inputs]: New fields. --- gnu/packages/certs.scm | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm index c7242dea92..31ffa54d87 100644 --- a/gnu/packages/certs.scm +++ b/gnu/packages/certs.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2015 Mark H Weaver -;;; Copyright © 2016 Ludovic Courtès +;;; Copyright © 2016, 2017 Ludovic Courtès ;;; Copyright © 2017 Leo Famulari ;;; ;;; This file is part of GNU Guix. @@ -155,13 +155,26 @@ taken from the NSS package and thus ultimately from the Mozilla project.") (let ((root (assoc-ref %build-inputs "isrgrootx1.pem")) (intermediate (assoc-ref %build-inputs "letsencryptauthorityx3.pem")) (backup (assoc-ref %build-inputs "letsencryptauthorityx4.pem")) - (out (string-append (assoc-ref %outputs "out") "/etc/ssl/certs"))) + (out (string-append (assoc-ref %outputs "out") "/etc/ssl/certs")) + (openssl (assoc-ref %build-inputs "openssl")) + (perl (assoc-ref %build-inputs "perl"))) (mkdir-p out) (for-each (lambda (cert) (copy-file cert (string-append out "/" (strip-store-file-name cert)))) - (list root intermediate backup)))))) + (list root intermediate backup)) + + ;; Create hash symlinks suitable for OpenSSL ('SSL_CERT_DIR' and + ;; similar.) + (chdir (string-append %output "/etc/ssl/certs")) + (unless (zero? (system* (string-append perl "/bin/perl") + (string-append openssl "/bin/c_rehash") + ".")) + (error "'c_rehash' failed" openssl)))))) + (native-inputs + `(("openssl" ,openssl) + ("perl" ,perl))) ;for 'c_rehash' (inputs `(; The Let's Encrypt root certificate, "ISRG Root X1". ("isrgrootx1.pem" From f0e492f0a54f184e47c0bd639ad338b1b783d258 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 28 Jul 2017 14:51:44 +0200 Subject: [PATCH 14/93] utils: Factorize XDG directory handling. * guix/ui.scm (config-directory): Remove. * guix/utils.scm (xdg-directory, config-directory): New procedures. (cache-directory): Rewrite in terms of 'xdg-directory'. * guix/scripts/substitute.scm (%narinfo-cache-directory): Pass #:ensure? #f to 'cache-directory'. --- guix/scripts/substitute.scm | 2 +- guix/ui.scm | 21 --------------------- guix/utils.scm | 32 ++++++++++++++++++++++++-------- 3 files changed, 25 insertions(+), 30 deletions(-) diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index 35282f9027..0d36997bc4 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -113,7 +113,7 @@ (or (and=> (getenv "XDG_CACHE_HOME") (cut string-append <> "/guix/substitute")) (string-append %state-directory "/substitute/cache")) - (string-append (cache-directory) "/substitute"))) + (string-append (cache-directory #:ensure? #f) "/substitute"))) (define %allow-unauthenticated-substitutes? ;; Whether to allow unchecked substitutes. This is useful for testing diff --git a/guix/ui.scm b/guix/ui.scm index 4bad00e8cf..b0108d0705 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -36,7 +36,6 @@ #:use-module (guix combinators) #:use-module (guix build-system) #:use-module (guix serialization) - #:use-module ((guix build utils) #:select (mkdir-p)) #:use-module ((guix licenses) #:select (license? license-name)) #:use-module ((guix build syscalls) #:select (free-disk-space terminal-columns)) @@ -79,7 +78,6 @@ read/eval read/eval-package-expression location->string - config-directory fill-paragraph texi->plain-text package-description-string @@ -856,25 +854,6 @@ replacement if PORT is not Unicode-capable." (($ file line column) (format #f "~a:~a:~a" file line column)))) -(define* (config-directory #:key (ensure? #t)) - "Return the name of the configuration directory, after making sure that it -exists if ENSURE? is true. Honor the XDG specs, -." - (let ((dir (and=> (or (getenv "XDG_CONFIG_HOME") - (and=> (getenv "HOME") - (cut string-append <> "/.config"))) - (cut string-append <> "/guix")))) - (catch 'system-error - (lambda () - (when ensure? - (mkdir-p dir)) - dir) - (lambda args - (let ((err (system-error-errno args))) - ;; ERR is necessarily different from EEXIST. - (leave (G_ "failed to create configuration directory `~a': ~a~%") - dir (strerror err))))))) - (define* (fill-paragraph str width #:optional (column 0)) "Fill STR such that each line contains at most WIDTH characters, assuming that the first character is at COLUMN. diff --git a/guix/utils.scm b/guix/utils.scm index 9bf1cc893f..ab43ed4008 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -33,7 +33,7 @@ #:autoload (rnrs io ports) (make-custom-binary-input-port) #:use-module ((rnrs bytevectors) #:select (bytevector-u8-set!)) #:use-module (guix memoization) - #:use-module ((guix build utils) #:select (dump-port)) + #:use-module ((guix build utils) #:select (dump-port mkdir-p)) #:use-module ((guix build syscalls) #:select (mkdtemp! fdatasync)) #:use-module (ice-9 format) #:autoload (ice-9 popen) (open-pipe*) @@ -81,7 +81,10 @@ call-with-temporary-output-file call-with-temporary-directory with-atomic-file-output + + config-directory cache-directory + readlink* edit-expression @@ -598,13 +601,26 @@ output port, and PROC's result is returned." (false-if-exception (delete-file template)) (close-port out))))) -(define (cache-directory) - "Return the cache directory for Guix, by default ~/.cache/guix." - (string-append (or (getenv "XDG_CACHE_HOME") - (and=> (or (getenv "HOME") - (passwd:dir (getpwuid (getuid)))) - (cut string-append <> "/.cache"))) - "/guix")) +(define* (xdg-directory variable suffix #:key (ensure? #t)) + "Return the name of the XDG directory that matches VARIABLE and SUFFIX, +after making sure that it exists if ENSURE? is true. VARIABLE is an +environment variable name like \"XDG_CONFIG_HOME\"; SUFFIX is a suffix like +\"/.config\". Honor the XDG specs, +." + (let ((dir (and=> (or (getenv variable) + (and=> (or (getenv "HOME") + (passwd:dir (getpwuid (getuid)))) + (cut string-append <> suffix))) + (cut string-append <> "/guix")))) + (when ensure? + (mkdir-p dir)) + dir)) + +(define config-directory + (cut xdg-directory "XDG_CONFIG_HOME" "/.config" <...>)) + +(define cache-directory + (cut xdg-directory "XDG_CACHE_HOME" "/.cache" <...>)) (define (readlink* file) "Call 'readlink' until the result is not a symlink." From 3a53759807b4d139de40266c4875ba5b9d9e1fe7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 28 Jul 2017 17:12:29 +0200 Subject: [PATCH 15/93] gnu: guile-git: Update snapshot. * gnu/packages/guile.scm (guile-git): Update to commit e156a10. [native-inputs]: Add TEXINFO. --- gnu/packages/guile.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index f1ffc0e006..6011e85162 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -1807,8 +1807,8 @@ is not available for Guile 2.0.") (license license:lgpl3+))) (define-public guile-git - (let ((revision "2") - (commit "06f9fc3d9ac95798d4a51e6310f7b594ce5597e0")) + (let ((revision "3") + (commit "e156a1054cc1d9e58d9be82e36e8acf5c9f9ee8d")) (package (name "guile-git") (version (string-append "0.0-" revision "." (string-take commit 7))) @@ -1818,7 +1818,7 @@ is not available for Guile 2.0.") (uri (git-reference (url home-page) (commit commit))) (sha256 (base32 - "0rcq0f8dhl89ia7336bq8y279q5ada0b1kabcqw9zl3125k3cp4v")) + "1vhr2bqkljy1zzdy02dky2nk1w9bd46afj5wd4gp4kr333pz4ch6")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments @@ -1829,6 +1829,7 @@ is not available for Guile 2.0.") (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) + ("texinfo" ,texinfo) ("pkg-config" ,pkg-config))) (inputs `(("guile" ,guile-2.2) From 9ca8aa38ecce0b0651a0ff394ee4ce32bdd0bb41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 28 Jul 2017 17:52:21 +0200 Subject: [PATCH 16/93] gnu: guix: Add dependency on Guile-Git. * gnu/packages/package-management.scm (guix)[arguments] : Add Guile-Git to PATH. [propagated-inputs]: Add GUILE-GIT. (guile2.0-guix)[propagated-inputs]: Add GUILE2.0-GIT. --- gnu/packages/package-management.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index d49b4c3a4f..3650b5d957 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -187,6 +187,7 @@ (let* ((out (assoc-ref outputs "out")) (guile (assoc-ref inputs "guile")) (json (assoc-ref inputs "guile-json")) + (git (assoc-ref inputs "guile-git")) (ssh (assoc-ref inputs "guile-ssh")) (gnutls (assoc-ref inputs "gnutls")) (effective @@ -196,6 +197,7 @@ "-c" "(display (effective-version))"))) (path (string-append json "/share/guile/site/" effective ":" + git "/share/guile/site/" effective ":" ssh "/share/guile/site/" effective ":" gnutls "/share/guile/site/" effective))) @@ -252,7 +254,8 @@ (propagated-inputs `(("gnutls" ,gnutls/guile-2.2) ;for 'guix download' & co. ("guile-json" ,guile-json) - ("guile-ssh" ,guile-ssh))) + ("guile-ssh" ,guile-ssh) + ("guile-git" ,guile-git))) (home-page "https://www.gnu.org/software/guix/") (synopsis "Functional package manager for installed software packages and versions") @@ -278,7 +281,8 @@ the Nix package manager.") (propagated-inputs `(("gnutls" ,gnutls) ("guile-json" ,guile2.0-json) - ("guile-ssh" ,guile2.0-ssh))))) + ("guile-ssh" ,guile2.0-ssh) + ("guile-git" ,guile2.0-git))))) (define (source-file? file stat) "Return true if FILE is likely a source file, false if it is a typical From 1975c754f487eb4933724ca3b116442d21ef8dd9 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Thu, 29 Jun 2017 12:42:59 +0200 Subject: [PATCH 17/93] bootloader: Use for the bootloader side. * gnu/bootloader.scm (menu-entry-device-mount-point): New variable. Export it. (: New field "device". * gnu/bootloader/grub.scm (grub-confgiuration-file): Handle entries. * gnu/bootloader/extlinux.scm (extlinux-configuration-file): Handle entries. * gnu/system.scm (menu->entry->boot-parameters): Delete variable. (boot-parameters->menu-entry): New variable. Export it. (operating-system-bootcfg): Make OLD-ENTRIES a list of . * guix/script/system.scm (reinstall-bootloader): Fix bootcfg usage. (perform-action): Fix bootcfg usage. --- gnu/bootloader.scm | 3 +++ gnu/bootloader/extlinux.scm | 17 ++++++++--------- gnu/bootloader/grub.scm | 27 ++++++++++++--------------- gnu/system.scm | 29 ++++++++++++++--------------- guix/scripts/system.scm | 13 +++++++------ 5 files changed, 44 insertions(+), 45 deletions(-) diff --git a/gnu/bootloader.scm b/gnu/bootloader.scm index d5fcf30f05..e080b04568 100644 --- a/gnu/bootloader.scm +++ b/gnu/bootloader.scm @@ -30,6 +30,7 @@ menu-entry-linux menu-entry-linux-arguments menu-entry-initrd + menu-entry-device-mount-point bootloader bootloader? @@ -67,6 +68,8 @@ (label menu-entry-label) (device menu-entry-device ; file system uuid, label, or #f (default #f)) + (device-mount-point menu-entry-device-mount-point + (default #f)) (linux menu-entry-linux) (linux-arguments menu-entry-linux-arguments (default '())) ; list of string-valued gexps diff --git a/gnu/bootloader/extlinux.scm b/gnu/bootloader/extlinux.scm index 219b058e53..e5fdeb5801 100644 --- a/gnu/bootloader/extlinux.scm +++ b/gnu/bootloader/extlinux.scm @@ -38,14 +38,13 @@ corresponding to old generations of the system." (define all-entries - (append entries (map menu-entry->boot-parameters - (bootloader-configuration-menu-entries config)))) + (append entries (bootloader-configuration-menu-entries config))) - (define (boot-parameters->gexp params) - (let ((label (boot-parameters-label params)) - (kernel (boot-parameters-kernel params)) - (kernel-arguments (boot-parameters-kernel-arguments params)) - (initrd (boot-parameters-initrd params))) + (define (menu-entry->gexp entry) + (let ((label (menu-entry-label entry)) + (kernel (menu-entry-linux entry)) + (kernel-arguments (menu-entry-linux-arguments entry)) + (initrd (menu-entry-initrd entry))) #~(format port "LABEL ~a MENU LABEL ~a KERNEL ~a @@ -69,11 +68,11 @@ TIMEOUT ~a~%" (if (> timeout 0) 1 0) ;; timeout is expressed in 1/10s of seconds. (* 10 timeout)) - #$@(map boot-parameters->gexp all-entries) + #$@(map menu-entry->gexp all-entries) #$@(if (pair? old-entries) #~((format port "~%") - #$@(map boot-parameters->gexp old-entries) + #$@(map menu-entry->gexp old-entries) (format port "~%")) #~()))))) diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm index 880491c983..3a3456ca46 100644 --- a/gnu/bootloader/grub.scm +++ b/gnu/bootloader/grub.scm @@ -316,16 +316,14 @@ code." STORE-FS, a object. OLD-ENTRIES is taken to be a list of menu entries corresponding to old generations of the system." (define all-entries - (append entries (map menu-entry->boot-parameters - (bootloader-configuration-menu-entries config)))) - - (define (boot-parameters->gexp params) - (let ((device (boot-parameters-store-device params)) - (device-mount-point (boot-parameters-store-mount-point params)) - (label (boot-parameters-label params)) - (kernel (boot-parameters-kernel params)) - (arguments (boot-parameters-kernel-arguments params)) - (initrd (boot-parameters-initrd params))) + (append entries (bootloader-configuration-menu-entries config))) + (define (menu-entry->gexp entry) + (let ((device (menu-entry-device entry)) + (device-mount-point (menu-entry-device-mount-point entry)) + (label (menu-entry-label entry)) + (kernel (menu-entry-linux entry)) + (arguments (menu-entry-linux-arguments entry)) + (initrd (menu-entry-initrd entry))) ;; Here DEVICE is the store and DEVICE-MOUNT-POINT is its mount point. ;; Use the right file names for KERNEL and INITRD in case ;; DEVICE-MOUNT-POINT is not "/", meaning that the store is on a @@ -341,11 +339,10 @@ entries corresponding to old generations of the system." #$(grub-root-search device kernel) #$kernel (string-join (list #$@arguments)) #$initrd)))) - (mlet %store-monad ((sugar (eye-candy config - (boot-parameters-store-device + (menu-entry-device (first all-entries)) - (boot-parameters-store-mount-point + (menu-entry-device-mount-point (first all-entries)) #:system system #:port #~port))) @@ -362,12 +359,12 @@ set default=~a set timeout=~a~%" #$(bootloader-configuration-default-entry config) #$(bootloader-configuration-timeout config)) - #$@(map boot-parameters->gexp all-entries) + #$@(map menu-entry->gexp all-entries) #$@(if (pair? old-entries) #~((format port " submenu \"GNU system, old configurations...\" {~%") - #$@(map boot-parameters->gexp old-entries) + #$@(map menu-entry->gexp old-entries) (format port "}~%")) #~())))) diff --git a/gnu/system.scm b/gnu/system.scm index 746c511187..fdb5be287e 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -112,7 +112,7 @@ boot-parameters-initrd read-boot-parameters read-boot-parameters-file - menu-entry->boot-parameters + boot-parameters->menu-entry local-host-aliases %setuid-programs @@ -301,17 +301,15 @@ The object has its kernel-arguments extended in order to make it bootable." root-device))) #f))) -(define (menu-entry->boot-parameters menu-entry) - "Convert a instance to a corresponding ." - (boot-parameters - (label (menu-entry-label menu-entry)) - (root-device #f) - (bootloader-name 'custom) - (store-device #f) - (store-mount-point #f) - (kernel (menu-entry-linux menu-entry)) - (kernel-arguments (menu-entry-linux-arguments menu-entry)) - (initrd (menu-entry-initrd menu-entry)))) +(define (boot-parameters->menu-entry conf) + (menu-entry + (label (boot-parameters-label conf)) + (device (boot-parameters-store-device conf)) + (device-mount-point (boot-parameters-store-mount-point conf)) + (linux (boot-parameters-kernel conf)) + (linux-arguments (boot-parameters-kernel-arguments conf)) + (initrd (boot-parameters-initrd conf)))) + ;;; @@ -866,15 +864,16 @@ listed in OS. The C library expects to find it under (store-file-system (operating-system-file-systems os))) (define* (operating-system-bootcfg os #:optional (old-entries '())) - "Return the bootloader configuration file for OS. Use OLD-ENTRIES to -populate the \"old entries\" menu." + "Return the bootloader configuration file for OS. Use OLD-ENTRIES +(which is a list of ) to populate the \"old entries\" menu." (mlet* %store-monad ((system (operating-system-derivation os)) (root-fs -> (operating-system-root-file-system os)) (root-device -> (if (eq? 'uuid (file-system-title root-fs)) (uuid->string (file-system-device root-fs)) (file-system-device root-fs))) - (entry (operating-system-boot-parameters os system root-device)) + (params (operating-system-boot-parameters os system root-device)) + (entry -> (boot-parameters->menu-entry params)) (bootloader-conf -> (operating-system-bootloader os))) ((bootloader-configuration-file-generator (bootloader-configuration-bootloader bootloader-conf)) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 0fcb6a9b0f..5a2811e75b 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -431,8 +431,6 @@ generation as its default entry. STORE is an open connection to the store." "Re-install bootloader for existing system profile generation NUMBER. STORE is an open connection to the store." (let* ((generation (generation-file-name %system-profile number)) - (params (unless-file-not-found - (read-boot-parameters-file generation))) ;; Detect the bootloader used in %system-profile. (bootloader (lookup-bootloader-by-name (system-bootloader-name))) @@ -442,10 +440,12 @@ STORE is an open connection to the store." (bootloader bootloader))) ;; Make the specified system generation the default entry. - (entries (profile-boot-parameters %system-profile (list number))) + (params (profile-boot-parameters %system-profile (list number))) (old-generations (delv number (generation-numbers %system-profile))) - (old-entries (profile-boot-parameters - %system-profile old-generations))) + (old-params (profile-boot-parameters + %system-profile old-generations)) + (entries (map boot-parameters->menu-entry params)) + (old-entries (map boot-parameters->menu-entry old-params))) (run-with-store store (mlet* %store-monad ((bootcfg ((bootloader-configuration-file-generator bootloader) @@ -657,7 +657,8 @@ output when building a system derivation, such as a disk image." os (if (eq? 'init action) '() - (profile-boot-parameters))))) + (map boot-parameters->menu-entry + (profile-boot-parameters)))))) (bootcfg-file -> (bootloader-configuration-file bootloader)) (bootloader-installer (let ((installer (bootloader-installer bootloader)) From 1f88f189eb903887e7b78215f0497b312f9e2951 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Tue, 25 Jul 2017 19:27:47 +0300 Subject: [PATCH 18/93] gnu: Add tome4. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/games.scm (tome4): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/games.scm | 120 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index d8848f82fa..071311a751 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -4617,3 +4617,123 @@ computer-hosted roleplaying games. This is the last version released by Crowther & Woods, its original authors, in 1995. It has been known as \"adventure 2.5\" and \"430-point adventure\".") (license license:bsd-2)))) + +(define-public tome4 + (package + (name "tome4") + (version "1.5.5") + (synopsis "Single-player, RPG roguelike game set in the world of Eyal") + (source + (origin + (method url-fetch) + (uri (string-append "https://te4.org/dl/t-engine/t-engine4-src-" + version ".tar.bz2")) + (sha256 + (base32 + "0v2qgdfpvdzd1bcbp9v8pfahj1bgczsq2d4xfhh5wg11jgjcwz03")) + (modules '((guix build utils))) + (snippet + '(for-each (lambda (file) + (substitute* file + (("#elif defined(__FreeBSD__)" line) + (string-append + line " || defined(__GNUC__)")))) + '("src/music.h" "src/tSDL.h"))))) + (build-system gnu-build-system) + (native-inputs + `(("unzip" ,unzip))) + (inputs + `(("sdl-union" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf))) + ("glu" ,glu) + ("premake4" ,premake4) + ("openal" ,openal) + ("vorbis" ,libvorbis) + ("luajit" ,luajit))) + (arguments + `(#:make-flags '("CC=gcc" "config=release") + #:phases (modify-phases %standard-phases + (replace 'configure + (lambda _ + (zero? (system* "premake4" "gmake")) + #t)) + (add-after 'set-paths 'set-sdl-paths + (lambda* (#:key inputs #:allow-other-keys) + (setenv "CPATH" + (string-append (assoc-ref inputs "sdl-union") + "/include/SDL2")) + #t)) + (delete 'check) + ;; premake doesn't provide install target + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (usr (string-append out "/usr")) + (bin (string-append out "/bin")) + (licenses (string-append out "/share/licenses")) + (documents (string-append out "/share/doc")) + (pixmaps (string-append out "/share/pixmaps")) + (icon "te4-icon.png") + (data (string-append out "/share/" ,name)) + (applications (string-append + out "/share/applications")) + (unzip (string-append + (assoc-ref inputs "unzip") "/bin/unzip")) + (wrapper (string-append bin "/" ,name))) + ;; icon + (mkdir-p pixmaps) + (system* unzip "-j" + (string-append + "game/engines/te4-" ,version ".teae") + (string-append + "data/gfx/" icon) "-d" pixmaps) + ;; game executable + (install-file "t-engine" data) + (mkdir-p bin) + (with-output-to-file wrapper + (lambda () + (display + (string-append + "#!/bin/sh\n" + ;; No bootstrap code found, + ;; defaulting to working directory + ;; for engine code! + "cd " data "\n" + "exec -a tome4 ./t-engine \"$@\"\n")))) + (chmod wrapper #o555) + ;; licenses + (for-each (lambda (file) + (install-file file licenses)) + '("COPYING" "COPYING-MEDIA")) + ;; documents + (for-each (lambda (file) + (install-file file documents)) + '("CONTRIBUTING" "CREDITS")) + ;; data + (copy-recursively "bootstrap" (string-append + data "/bootstrap")) + (copy-recursively "game" (string-append data "/game")) + ;; launcher + (mkdir-p applications) + (with-output-to-file (string-append applications "/" + ,name ".desktop") + (lambda () + (display + (string-append + "[Desktop Entry] +Name=ToME4 +Comment=" ,synopsis "\n" +"Exec=" ,name "\n" +"Icon=" icon "\n" +"Terminal=false +Type=Application +Categories=Game;RolePlaying;\n"))))) + #t))))) + (home-page "https://te4.org") + (description "Tales of Maj’Eyal (ToME) RPG, featuring tactical turn-based +combat and advanced character building. Play as one of many unique races and +classes in the lore-filled world of Eyal, exploring random dungeons, facing +challenging battles, and developing characters with your own tailored mix of +abilities and powers. With a modern graphical and customisable interface, +intuitive mouse control, streamlined mechanics and deep, challenging combat, +Tales of Maj’Eyal offers engaging roguelike gameplay for the 21st century.") + (license license:gpl3+))) From 32c4a5060ecbb4ac08a04f3742face12211545ef Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Fri, 28 Jul 2017 18:52:34 +0300 Subject: [PATCH 19/93] gnu: emacs-auctex: Update to 11.91.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs.scm (emacs-auctex): Update to 11.91.0. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 43de130574..2c720ef71e 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1113,7 +1113,7 @@ as a library for other Emacs packages.") (define-public emacs-auctex (package (name "emacs-auctex") - (version "11.90.0") + (version "11.91.0") (source (origin (method url-fetch) @@ -1123,7 +1123,7 @@ as a library for other Emacs packages.") ".tar")) (sha256 (base32 - "04nsndwcf0dimgc2p1yzzrymc36amzdnjg0158nxplmjkzdp28gy")))) + "1yh182mxgngjmwpkyv2n9km3vyq95bqfq8mnly3dbv78nwk7f2l3")))) (build-system emacs-build-system) ;; We use 'emacs' because AUCTeX requires dbus at compile time ;; ('emacs-minimal' does not provide dbus). From d02e19aa2c1d3d72ccda37ed8415f03100000a31 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 29 Jul 2017 00:19:45 +0200 Subject: [PATCH 20/93] gnu: bind: Update to 9.11.2. * gnu/packages/dns.scm (isc-bind): Update to 9.11.2. --- gnu/packages/dns.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index e29708a3a6..afae4596bd 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -99,7 +99,7 @@ and BOOTP/TFTP for network booting of diskless machines.") (define-public isc-bind (package (name "bind") - (version "9.11.1-P3") + (version "9.11.2") (source (origin (method url-fetch) (uri (string-append @@ -107,7 +107,7 @@ and BOOTP/TFTP for network booting of diskless machines.") version ".tar.gz")) (sha256 (base32 - "1x6cfwkcv6nwc0mh5fzv70f38nl04yhgq90gr5nrjiif8dsnwhjj")))) + "0yn7wgi2y8mpmvbjbkl4va7p0xsnn48m4yjx6ynb1hzp423asikz")))) (build-system gnu-build-system) (outputs `("out" "utils")) (inputs From 4f9dd97e658a8ddc1b672de7af0af8b8aaa4749f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 29 Jul 2017 00:20:10 +0200 Subject: [PATCH 21/93] gnu: sssd: Update to 1.15.3. * gnu/packages/sssd.scm (sssd): Update to 1.15.3. [native-inputs]: Add util-linux. --- gnu/packages/sssd.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/sssd.scm b/gnu/packages/sssd.scm index 2afef03055..7d52ebab4c 100644 --- a/gnu/packages/sssd.scm +++ b/gnu/packages/sssd.scm @@ -80,14 +80,14 @@ fundamental object types for C.") (define-public sssd (package (name "sssd") - (version "1.15.2") + (version "1.15.3") (source (origin (method url-fetch) (uri (string-append "http://releases.pagure.org/SSSD/sssd/" "sssd-" version ".tar.gz")) (sha256 (base32 - "0r6j28f7vjb1aw65gkw4nz2l3jy605h7wsr1k815hynp2jrzrmac")))) + "0d36dmzqdjfpspm9fw4zx0kh0qcx60p9vchxvcajn4qf3k3qsl3f")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -161,7 +161,8 @@ fundamental object types for C.") ("docbook-xsl" ,docbook-xsl) ("docbook-xml" ,docbook-xml) ("libxslt" ,libxslt) - ("pkg-config" ,pkg-config))) + ("pkg-config" ,pkg-config) + ("util-linux" ,util-linux))) ; for uuid.h, reqired for KCM (home-page "https://pagure.io/SSSD/sssd/") (synopsis "System security services daemon") (description "SSSD is a system daemon. Its primary function is to provide From 6b96478c6d09db55ac8192140ccbd828c7614185 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 28 Jul 2017 21:07:31 -0400 Subject: [PATCH 22/93] gnu: linux-libre@4.4: Update to 4.4.79. * gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.79. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index e9921838c8..021a90f60e 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -380,8 +380,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.78" - "0g8pc0kam33rn2dx9fkp7w749s38qs2iykawpj0k9jm19775hn4k" + (make-linux-libre "4.4.79" + "03x1nc2fxmh29sf2fbsqzmw8qrdzv5gakr9xrg1shxh31c6xr3xr" %intel-compatible-systems #:configuration-file kernel-config)) From dfa0c66cc96350aff08817f1271817e27fc1e5ec Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 28 Jul 2017 21:08:19 -0400 Subject: [PATCH 23/93] gnu: linux-libre@4.9: Update to 4.9.40. * gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.40. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 021a90f60e..f43fe12066 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -374,8 +374,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.39" - "03rnbz1wf3d0fi5zrhygx1b20bx23fy310d8h74zc6z4jh6fsbx3" + (make-linux-libre "4.9.40" + "1qaqi2dcydyxw79yj9pa7yxf13ss4rng7bgg0i1dl63c3g7qjgcz" %intel-compatible-systems #:configuration-file kernel-config)) From 38ba8a61165477c3bc555561a549bb4aede14145 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 28 Jul 2017 21:08:51 -0400 Subject: [PATCH 24/93] gnu: linux-libre: Update to 4.12.4. * gnu/packages/linux.scm (%linux-libre-version): Update to 4.12.4. (%linux-libre-hash): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index f43fe12066..a189458ada 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -364,8 +364,8 @@ It has been modified to remove all non-free binary blobs.") (define %intel-compatible-systems '("x86_64-linux" "i686-linux")) -(define %linux-libre-version "4.12.3") -(define %linux-libre-hash "1b02snh41fgr5i55wlc86nvksyzy1cq994mkmj195pa57hy6y6ak") +(define %linux-libre-version "4.12.4") +(define %linux-libre-hash "13c6ka4fhzi41bjlssbkz84hkag7knqpvfyp2jjhm3wm25r4lhw8") (define-public linux-libre (make-linux-libre %linux-libre-version From 3b56776fb86665f1afdc3894cc248d707ac2c31b Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Wed, 26 Jul 2017 13:22:58 +0200 Subject: [PATCH 25/93] gnu: mescc-tools: Update to 0.2. * gnu/packages/mes.scm (mescc-tools): Update to 0.2. --- gnu/packages/mes.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index 3fcf5f0fa4..e107867ab5 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -103,17 +103,17 @@ prototype in C and a Nyacc-based C compiler in [Guile] Scheme.") (define-public mescc-tools (package (name "mescc-tools") - (version "0.1") + (version "0.2") (source (origin (method url-fetch) (uri (string-append - "https://github.com/oriansj/MESCC_Tools/archive/Release_" + "https://github.com/oriansj/mescc-tools/archive/Release_" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1lzi9sqv41269isn7in70q2hhh087n4v97zr5i2qzz69j2lkr3xb")))) + "0gmyczh88xcsmrmxqksbpaqidchj5hfqxqk7apx40k9r3vav6mnz")))) (build-system gnu-build-system) (supported-systems '("i686-linux" "x86_64-linux")) (arguments @@ -124,7 +124,7 @@ prototype in C and a Nyacc-based C compiler in [Guile] Scheme.") (synopsis "Tools for the full source bootstrapping process") (description "Mescc-tools is a collection of tools for use in a full source -bootstrapping process. Currently consists of the M0 macro assembler and the +bootstrapping process. Currently consists of the M1 macro assembler and the hex2 linker.") - (home-page "https://github.com/oriansj/MESCC_Tools") + (home-page "https://github.com/oriansj/mescc-tools") (license gpl3+))) From e8d9a87862fd9d9b19e77f0b88c7f8e774f33961 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Fri, 28 Jul 2017 17:48:23 +0300 Subject: [PATCH 26/93] gnu: Add emacs-rpm-spec-mode. * gnu/packages/emacs.scm (emacs-rpm-spec-mode): New variable. Signed-off-by: Arun Isaac --- gnu/packages/emacs.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 2c720ef71e..f0490e7072 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -5200,3 +5200,26 @@ src block.") "@code{emacs-emamux} lets Emacs interact with the @code{tmux} terminal multiplexer.") (license license:gpl3+))) + +(define-public emacs-rpm-spec-mode + (package + (name "emacs-rpm-spec-mode") + (version "0.16") + (source + (origin + (method url-fetch) + ;; URI has the Fedora release number instead of the version + ;; number. This will have to updated manually every new release. + (uri (string-append + "https://src.fedoraproject.org/cgit/rpms" + "/emacs-rpm-spec-mode.git/snapshot" + "/emacs-rpm-spec-mode-f26.tar.gz")) + (sha256 + (base32 + "17dz80lhjrc89fj17pysl8slahzrqdkxgcjdk55zls6jizkr6kz3")))) + (build-system emacs-build-system) + (home-page "http://pkgs.fedoraproject.org/cgit/rpms/emacs-rpm-spec-mode.git") + (synopsis "Emacs major mode for editing RPM spec files") + (description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for +editing RPM spec files.") + (license license:gpl2+))) From b5244fcb49804922e34fffb18d71908dac37b303 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Fri, 28 Jul 2017 14:47:16 +0530 Subject: [PATCH 27/93] gnu: arandr: Remove make-xrandr-available phase. wrap-program functionality is already provided by python-build-system. * gnu/packages/xdisorg.scm (arandr): Remove make-xrandr-available phase. --- gnu/packages/xdisorg.scm | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index d102077c91..84794a05c3 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -93,16 +93,7 @@ (build-system python-build-system) (arguments `(#:python ,python-2 ;incompatible with python 3 - #:tests? #f ;no tests - #:phases - (modify-phases %standard-phases - (add-after 'install 'make-xrandr-available - (lambda* (#:key inputs outputs #:allow-other-keys) - (wrap-program (string-append (assoc-ref outputs "out") - "/bin/arandr") - `("PATH" ":" prefix (,(string-append (assoc-ref inputs "xrandr") - "/bin")))) - #t))))) + #:tests? #f)) ;no tests (inputs `(("pygtk" ,python2-pygtk) ("xrandr" ,xrandr))) (native-inputs `(("gettext" ,gettext-minimal) From 730ed6ec8b69a0f908a8aadbbe0555dd45de227c Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 24 Jun 2017 14:19:46 +0100 Subject: [PATCH 28/93] gnu: services: admin: Add tailon. * gnu/services/admin.scm (, ): New record types. (tailon-configuration-files-string, tailon-shepherd-service): New procedures. (%tailon-accounts, tailon-service-type: New variables. * doc/guix.texi (Monitoring Services: Document the Tailon service. * gnu/local.mk (GNU_SYSTEM_MODULES): Add gnu/tests/admin.scm. * gnu/tests/admin.scm: New file. --- doc/guix.texi | 90 ++++++++++++++++++++++++ gnu/local.mk | 1 + gnu/services/admin.scm | 151 ++++++++++++++++++++++++++++++++++++++++- gnu/tests/admin.scm | 128 ++++++++++++++++++++++++++++++++++ 4 files changed, 369 insertions(+), 1 deletion(-) create mode 100644 gnu/tests/admin.scm diff --git a/doc/guix.texi b/doc/guix.texi index e8c4e0eaf3..3452850316 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -219,6 +219,7 @@ Services * Database Services:: SQL databases. * Mail Services:: IMAP, POP3, SMTP, and all that. * Messaging Services:: Messaging services. +* Monitoring Services:: Monitoring services. * Kerberos Services:: Kerberos services. * Web Services:: Web servers. * DNS Services:: DNS daemons. @@ -9011,6 +9012,7 @@ declaration. * Database Services:: SQL databases. * Mail Services:: IMAP, POP3, SMTP, and all that. * Messaging Services:: Messaging services. +* Monitoring Services:: Monitoring services. * Kerberos Services:: Kerberos services. * Web Services:: Web servers. * DNS Services:: DNS daemons. @@ -13599,6 +13601,94 @@ string, you could instantiate a prosody service like this: (prosody.cfg.lua ""))) @end example +@node Monitoring Services +@subsubsection Monitoring Services + +@subsubheading Tailon Service + +@uref{https://tailon.readthedocs.io/, Tailon} is a web application for +viewing and searching log files. + +The following example will configure the service with default values. +By default, Tailon can be accessed on port 8080 (@code{http://localhost:8080}). + +@example +(service tailon-service-type) +@end example + +The following example customises more of the Tailon configuration, +adding @command{sed} to the list of allowed commands. + +@example +(service tailon-service-type + (tailon-configuration + (config-file + (tailon-configuration-file + (allowed-commands '("tail" "grep" "awk" "sed")))))) +@end example + + +@deftp {Data Type} tailon-configuration +Data type representing the configuration of Tailon. +This type has the following parameters: + +@table @asis +@item @code{config-file} (default: @code{(tailon-configuration-file)}) +The configuration file to use for Tailon. This can be set to a +@dfn{tailon-configuration-file} record value, or any gexp +(@pxref{G-Expressions}). + +For example, to instead use a local file, the @code{local-file} function +can be used: + +@example +(service tailon-service-type + (tailon-configuration + (config-file (local-file "./my-tailon.conf")))) +@end example + +@item @code{package} (default: @code{tailon}) +The tailon package to use. + +@end table +@end deftp + +@deftp {Data Type} tailon-configuration-file +Data type representing the configuration options for Tailon. +This type has the following parameters: + +@table @asis +@item @code{files} (default: @code{(list "/var/log")}) +List of files to display. The list can include strings for a single file +or directory, or a list, where the first item is the name of a +subsection, and the remaining items are the files or directories in that +subsection. + +@item @code{bind} (default: @code{"localhost:8080"}) +Address and port to which Tailon should bind on. + +@item @code{relative-root} (default: @code{#f}) +URL path to use for Tailon, set to @code{#f} to not use a path. + +@item @code{allow-transfers?} (default: @code{#t}) +Allow downloading the log files in the web interface. + +@item @code{follow-names?} (default: @code{#t}) +Allow tailing of not-yet existent files. + +@item @code{tail-lines} (default: @code{200}) +Number of lines to read initially from each file. + +@item @code{allowed-commands} (default: @code{(list "tail" "grep" "awk")}) +Commands to allow running. By default, @code{sed} is disabled. + +@item @code{debug?} (default: @code{#f}) +Set @code{debug?} to @code{#t} to show debug messages. + +@end table +@end deftp + + @node Kerberos Services @subsubsection Kerberos Services @cindex Kerberos diff --git a/gnu/local.mk b/gnu/local.mk index 724c6b6758..29dee73c46 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -478,6 +478,7 @@ GNU_SYSTEM_MODULES = \ %D%/build/vm.scm \ \ %D%/tests.scm \ + %D%/tests/admin.scm \ %D%/tests/base.scm \ %D%/tests/dict.scm \ %D%/tests/nfs.scm \ diff --git a/gnu/services/admin.scm b/gnu/services/admin.scm index b9e3fa70a4..1044833fef 100644 --- a/gnu/services/admin.scm +++ b/gnu/services/admin.scm @@ -20,14 +20,19 @@ (define-module (gnu services admin) #:use-module (gnu packages admin) #:use-module (gnu packages base) + #:use-module (gnu packages logging) #:use-module (gnu services) #:use-module (gnu services mcron) #:use-module (gnu services shepherd) + #:use-module (gnu services web) + #:use-module (gnu system shadow) #:use-module (guix gexp) + #:use-module (guix store) #:use-module (guix packages) #:use-module (guix records) #:use-module (srfi srfi-1) #:use-module (ice-9 vlist) + #:use-module (ice-9 match) #:export (%default-rotations %rotated-files @@ -41,7 +46,27 @@ rottlog-configuration rottlog-configuration? rottlog-service - rottlog-service-type)) + rottlog-service-type + + + tailon-configuration-file + tailon-configuration-file? + tailon-configuration-file-files + tailon-configuration-file-bind + tailon-configuration-file-relative-root + tailon-configuration-file-allow-transfers? + tailon-configuration-file-follow-names? + tailon-configuration-file-tail-lines + tailon-configuration-file-allowed-commands + tailon-configuration-file-debug? + + + tailon-configuration + tailon-configuration? + tailon-configuration-config-file + tailon-configuration-package + + tailon-service-type)) ;;; Commentary: ;;; @@ -172,4 +197,128 @@ for ROTATION." rotations))))) (default-value (rottlog-configuration)))) + +;;; +;;; Tailon +;;; + +(define-record-type* + tailon-configuration-file make-tailon-configuration-file + tailon-configuration-file? + (files tailon-configuration-file-files + (default '("/var/log"))) + (bind tailon-configuration-file-bind + (default "localhost:8080")) + (relative-root tailon-configuration-file-relative-root + (default #f)) + (allow-transfers? tailon-configuration-file-allow-transfers? + (default #t)) + (follow-names? tailon-configuration-file-follow-names? + (default #t)) + (tail-lines tailon-configuration-file-tail-lines + (default 200)) + (allowed-commands tailon-configuration-file-allowed-commands + (default '("tail" "grep" "awk"))) + (debug? tailon-configuration-file-debug? + (default #f))) + +(define (tailon-configuration-files-string files) + (string-append + "\n" + (string-join + (map + (lambda (x) + (string-append + " - " + (cond + ((string? x) + (simple-format #f "'~A'" x)) + ((list? x) + (string-join + (cons (simple-format #f "'~A':" (car x)) + (map + (lambda (x) (simple-format #f " - '~A'" x)) + (cdr x))) + "\n")) + (else (error x))))) + files) + "\n"))) + +(define-gexp-compiler (tailon-configuration-file-compiler + (file ) system target) + (match file + (($ files bind relative-root + allow-transfers? follow-names? + tail-lines allowed-commands debug?) + (text-file + "tailon-config.yaml" + (string-concatenate + (filter-map + (match-lambda + ((key . #f) #f) + ((key . value) (string-append key ": " value "\n"))) + + `(("files" . ,(tailon-configuration-files-string files)) + ("bind" . ,bind) + ("relative-root" . ,relative-root) + ("allow-transfers" . ,(if allow-transfers? "true" "false")) + ("follow-names" . ,(if follow-names? "true" "false")) + ("tail-lines" . ,(number->string tail-lines)) + ("commands" . ,(string-append "[" + (string-join allowed-commands ", ") + "]")) + ,@(if debug? '(("debug" . "true")) '())))))))) + +(define-record-type* + tailon-configuration make-tailon-configuration + tailon-configuration? + (config-file tailon-configuration-config-file + (default (tailon-configuration-file))) + (package tailon-configuration-package + (default tailon))) + +(define tailon-shepherd-service + (match-lambda + (($ config-file package) + (list (shepherd-service + (provision '(tailon)) + (documentation "Run the tailon daemon.") + (start #~(make-forkexec-constructor + `(,(string-append #$package "/bin/tailon") + "-c" ,#$config-file) + #:user "tailon" + #:group "tailon")) + (stop #~(make-kill-destructor))))))) + +(define %tailon-accounts + (list (user-group (name "tailon") (system? #t)) + (user-account + (name "tailon") + (group "tailon") + (system? #t) + (comment "tailon") + (home-directory "/var/empty") + (shell (file-append shadow "/sbin/nologin"))))) + +(define tailon-service-type + (service-type + (name 'tailon) + (extensions + (list (service-extension shepherd-root-service-type + tailon-shepherd-service) + (service-extension account-service-type + (const %tailon-accounts)))) + (compose concatenate) + (extend (lambda (parameter files) + (tailon-configuration + (inherit parameter) + (config-file + (let ((old-config-file + (tailon-configuration-config-file parameter))) + (tailon-configuration-file + (inherit old-config-file) + (files (append (tailon-configuration-file-files old-config-file) + files)))))))) + (default-value (tailon-configuration)))) + ;;; admin.scm ends here diff --git a/gnu/tests/admin.scm b/gnu/tests/admin.scm new file mode 100644 index 0000000000..3c7deb5426 --- /dev/null +++ b/gnu/tests/admin.scm @@ -0,0 +1,128 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2017 Christopher Baines +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix 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. +;;; +;;; GNU Guix 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 GNU Guix. If not, see . + +(define-module (gnu tests admin) + #:use-module (gnu tests) + #:use-module (gnu system) + #:use-module (gnu system file-systems) + #:use-module (gnu system shadow) + #:use-module (gnu system vm) + #:use-module (gnu services) + #:use-module (gnu services admin) + #:use-module (gnu services networking) + #:use-module (guix gexp) + #:use-module (guix store) + #:use-module (guix monads) + #:export (%test-tailon)) + +(define %tailon-os + ;; Operating system under test. + (simple-operating-system + (dhcp-client-service) + (service tailon-service-type + (tailon-configuration + (config-file + (tailon-configuration-file + (bind "0.0.0.0:8080"))))))) + +(define* (run-tailon-test #:optional (http-port 8081)) + "Run tests in %TAILON-OS, which has tailon running and listening on +HTTP-PORT." + (define os + (marionette-operating-system + %tailon-os + #:imported-modules '((gnu services herd) + (guix combinators)))) + + (define vm + (virtual-machine + (operating-system os) + (port-forwardings `((,http-port . 8080))))) + + (define test + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (srfi srfi-11) (srfi srfi-64) + (ice-9 match) + (gnu build marionette) + (web uri) + (web client) + (web response)) + + (define marionette + ;; Forward the guest's HTTP-PORT, where tailon is listening, to + ;; port 8080 in the host. + (make-marionette (list #$vm))) + + (mkdir #$output) + (chdir #$output) + + (test-begin "tailon") + + (test-eq "service running" + 'running! + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (start-service 'tailon) + 'running!) + marionette)) + + (define* (retry-on-error f #:key times delay) + (let loop ((attempt 1)) + (match (catch + #t + (lambda () + (cons #t + (f))) + (lambda args + (cons #f + args))) + ((#t . return-value) + return-value) + ((#f . error-args) + (if (>= attempt times) + error-args + (begin + (sleep delay) + (loop (+ 1 attempt)))))))) + + (test-equal "http-get" + 200 + (retry-on-error + (lambda () + (let-values (((response text) + (http-get #$(format + #f + "http://localhost:~A/" + http-port) + #:decode-body? #t))) + (response-code response))) + #:times 10 + #:delay 5)) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (gexp->derivation "tailon-test" test)) + +(define %test-tailon + (system-test + (name "tailon") + (description "Connect to a running Tailon server.") + (value (run-tailon-test)))) From 9f9b7a0d0123a5d04cdd0e19d3acea589452581c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 29 Jul 2017 14:15:48 +0200 Subject: [PATCH 29/93] gnu: gptfdisk: Update to 1.0.3. * gnu/packages/disk.scm (gptfdisk): Update to 1.0.3. --- gnu/packages/disk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 91629547a7..030fabfa58 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -130,7 +130,7 @@ tables, and it understands a variety of different formats.") (define-public gptfdisk (package (name "gptfdisk") - (version "1.0.1") + (version "1.0.3") (source (origin (method url-fetch) @@ -138,7 +138,7 @@ tables, and it understands a variety of different formats.") version "/" name "-" version ".tar.gz")) (sha256 (base32 - "1izazbyv5n2d81qdym77i8mg9m870hiydmq4d0s51npx5vp8lk46")))) + "0p0vr67lnqdsgdv2y144xmjqa1a2nijrrd3clc8dc2f46pn5mzc9")))) (build-system gnu-build-system) (inputs `(("gettext" ,gettext-minimal) From 0e016722eef4b0775d24d288d86e6479d6a1f9ab Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Wed, 26 Jul 2017 16:21:33 +0200 Subject: [PATCH 30/93] gnu: mes: Update to 0.9. * gnu/packages/mes.scm (mes): Update to 0.9. [arguments]: Delete `strip' phase. [synopsis]: Rewrite to be more descriptive. [description]: Include expanded acronym. --- gnu/packages/mes.scm | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index e107867ab5..39f9765320 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -57,7 +57,7 @@ extensive examples, including parsers for the Javascript and C99 languages.") (let ((triplet "i686-unknown-linux-gnu")) (package (name "mes") - (version "0.8") + (version "0.9") (source (origin (method url-fetch) (uri (string-append "https://gitlab.com/janneke/mes" @@ -66,7 +66,7 @@ extensive examples, including parsers for the Javascript and C99 languages.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1igmrks20ci6l5c0jx2bn4swf0w8jy5inhg61cwld9d7hwanmdnj")))) + "0ph0fvabpb7zhbk4zpacbp7m4b142ds17dq5dzn00m7dz8farw9r")))) (build-system gnu-build-system) (supported-systems '("i686-linux" "x86_64-linux")) (propagated-inputs @@ -91,12 +91,14 @@ extensive examples, including parsers for the Javascript and C99 languages.") (lambda () (display "Please run build-aux/gitlog-to-changelog --srcdir= > ChangeLog\n"))) - #t))))) - (synopsis "Maxwell Equations of Software") + #t)) + (delete 'strip)))) ; binutil's strip b0rkes Mescc/M1/hex2 binaries + (synopsis "Scheme interpreter and C compiler for full source bootstrapping") (description - "Mes aims to create full source bootstrapping for GuixSD. It -consists of a mutual self-hosting [close to Guile-] Scheme interpreter -prototype in C and a Nyacc-based C compiler in [Guile] Scheme.") + "Mes [Maxwell Equations of Software] aims to create full source +bootstrapping for GuixSD. It consists of a mutual self-hosting [close to +Guile-] Scheme interpreter prototype in C and a Nyacc-based C compiler in +[Guile] Scheme.") (home-page "https://gitlab.com/janneke/mes") (license gpl3+)))) From a9085f0c5ced981941b17eccbf447d52232012d6 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Sat, 29 Jul 2017 22:33:35 +1000 Subject: [PATCH 31/93] gnu: metabat: Update to 2.11.2. * gnu/packages/bioinformatics.scm (metabat): Update to 2.11.2. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 3b4cc359ee..614a7d4075 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3469,7 +3469,7 @@ form of assemblies or reads.") (define-public metabat (package (name "metabat") - (version "2.11.1") + (version "2.11.2") (source (origin (method url-fetch) @@ -3478,7 +3478,7 @@ form of assemblies or reads.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0ll00l81aflscgggs5nfhj12cbvdiz3gg7f7n5f537a3xhx60vn9")) + "0rws9r1ziv6way8cf49jg8bzj7x2131kfqkhj8byf0z5hnrq3bwv")) (patches (search-patches "metabat-remove-compilation-date.patch" "metabat-fix-compilation.patch")))) (build-system gnu-build-system) From 8f82110492c0ecdb2fe0f6aba0a981cb34c66472 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 29 Jul 2017 14:32:59 +0200 Subject: [PATCH 32/93] gnu: gnupg: Update to 2.1.22. * gnu/packages/gnupg.scm (gnupg): Update to 2.1.22. --- gnu/packages/gnupg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index e71ec8dce6..5b46257948 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -228,14 +228,14 @@ compatible to GNU Pth.") (define-public gnupg (package (name "gnupg") - (version "2.1.21") + (version "2.1.22") (source (origin (method url-fetch) (uri (string-append "mirror://gnupg/gnupg/gnupg-" version ".tar.bz2")) (sha256 (base32 - "1p97limv29p01y79mgnzpwixa50lv53wgdl3ymk9idkmpaldisks")))) + "1msazgy1q1pp7y2xr46z0il4pfzmzgzkp7v0hv5cz4hvkspnywa6")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From d163d97d92f3abea98f4b36d55ac3bb9db23d423 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 8 Jun 2017 18:25:32 +0200 Subject: [PATCH 33/93] gnu: Add coq-flocq. * gnu/packages/ocaml.scm (coq-flocq): New variable. --- gnu/packages/ocaml.scm | 45 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 68619019f1..82da0bf1d0 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3153,3 +3153,48 @@ writing to these structures, and they are accessed via the Bigarray module.") (synopsis "Minimal library providing hexadecimal converters") (description "Hex is a minimal library providing hexadecimal converters.") (license license:isc))) + +(define-public coq-flocq + (package + (name "coq-flocq") + (version "2.5.2") + (source (origin + (method url-fetch) + (uri (string-append "https://gforge.inria.fr/frs/download.php/file" + "/36199/flocq-" version ".tar.gz")) + (sha256 + (base32 + "0h5mlasirfzc0wwn2isg4kahk384n73145akkpinrxq5jsn5d22h")))) + (build-system gnu-build-system) + (native-inputs + `(("ocaml" ,ocaml) + ("which" ,which) + ("coq" ,coq))) + (arguments + `(#:configure-flags + (list (string-append "--libdir=" (assoc-ref %outputs "out") + "/lib/coq/user-contrib/Flocq")) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-remake + (lambda _ + (substitute* "remake.cpp" + (("/bin/sh") (which "sh"))))) + (replace 'build + (lambda _ + (zero? (system* "./remake")))) + (replace 'check + (lambda _ + (zero? (system* "./remake" "check")))) + ;; TODO: requires coq-gappa and coq-interval. + ;(zero? (system* "./remake" "check-more")))) + (replace 'install + (lambda _ + (zero? (system* "./remake" "install"))))))) + (home-page "http://flocq.gforge.inria.fr/") + (synopsis "Floating-point formalization for the Coq system") + (description "Flocq (Floats for Coq) is a floating-point formalization for +the Coq system. It provides a comprehensive library of theorems on a multi-radix +multi-precision arithmetic. It also supports efficient numerical computations +inside Coq.") + (license license:lgpl3+))) From 88191acee23ce304c25da623efe56ff011831f3c Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 21 Jun 2017 21:38:42 +0200 Subject: [PATCH 34/93] gnu: Add coq-gappa. * gnu/packages/ocaml.scm (coq-gappa): New variable. --- gnu/packages/ocaml.scm | 55 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 82da0bf1d0..687b3d25fc 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -28,10 +28,13 @@ #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages bison) + #:use-module (gnu packages boost) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages databases) #:use-module (gnu packages emacs) + #:use-module (gnu packages flex) #:use-module (gnu packages gcc) #:use-module (gnu packages ghostscript) #:use-module (gnu packages glib) @@ -3198,3 +3201,55 @@ the Coq system. It provides a comprehensive library of theorems on a multi-radi multi-precision arithmetic. It also supports efficient numerical computations inside Coq.") (license license:lgpl3+))) + +(define-public coq-gappa + (package + (name "coq-gappa") + (version "1.3.1") + (source (origin + (method url-fetch) + (uri (string-append "https://gforge.inria.fr/frs/download.php/file/36351/gappa-" + version ".tar.gz")) + (sha256 + (base32 + "0924jr6f15fx22qfsvim5vc0qxqg30ivg9zxj34lf6slbgdl3j39")))) + (build-system gnu-build-system) + (native-inputs + `(("ocaml" ,ocaml) + ("which" ,which) + ("coq" ,coq) + ("bison" ,bison) + ("flex" ,flex))) + (inputs + `(("gmp" ,gmp) + ("mpfr" ,mpfr) + ("boost" ,boost))) + (arguments + `(#:configure-flags + (list (string-append "--libdir=" (assoc-ref %outputs "out") + "/lib/coq/user-contrib/Gappa")) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-remake + (lambda _ + (substitute* "remake.cpp" + (("/bin/sh") (which "sh"))))) + (replace 'build + (lambda _ + (zero? (system* "./remake")))) + (replace 'check + (lambda _ + (zero? (system* "./remake" "check")))) + (replace 'install + (lambda _ + (zero? (system* "./remake" "install"))))))) + (home-page "http://gappa.gforge.inria.fr/") + (synopsis "Verify and formally prove properties on numerical programs") + (description "Gappa is a tool intended to help verifying and formally proving +properties on numerical programs dealing with floating-point or fixed-point +arithmetic. It has been used to write robust floating-point filters for CGAL +and it is used to certify elementary functions in CRlibm. While Gappa is +intended to be used directly, it can also act as a backend prover for the Why3 +software verification plateform or as an automatic tactic for the Coq proof +assistant.") + (license (list license:gpl2+ license:cecill))));either gpl2+ or cecill From 380c65de949bbba0db3ff1679df723ddb50d9665 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 21 Jun 2017 21:39:33 +0200 Subject: [PATCH 35/93] gnu: Add coq-mathcomp. * gnu/packages/ocaml.scm (coq-mathcomp): New variable. --- gnu/packages/ocaml.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 687b3d25fc..1ed0ffa76e 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3253,3 +3253,45 @@ intended to be used directly, it can also act as a backend prover for the Why3 software verification plateform or as an automatic tactic for the Coq proof assistant.") (license (list license:gpl2+ license:cecill))));either gpl2+ or cecill + +(define-public coq-mathcomp + (package + (name "coq-mathcomp") + (version "1.6.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/math-comp/math-comp/archive/mathcomp-" + version ".tar.gz")) + (sha256 + (base32 + "1j9ylggjzrxz1i2hdl2yhsvmvy5z6l4rprwx7604401080p5sgjw")))) + (build-system gnu-build-system) + (native-inputs + `(("ocaml" ,ocaml) + ("which" ,which) + ("coq" ,coq))) + (arguments + `(#:tests? #f; No need to test formally-verified programs :) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'chdir + (lambda _ + (chdir "mathcomp"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (setenv "COQLIB" (string-append (assoc-ref outputs "out") "/lib/coq/")) + (zero? (system* "make" "-f" "Makefile.coq" + (string-append "COQLIB=" (assoc-ref outputs "out") + "/lib/coq/") + "install"))))))) + (home-page "https://math-comp.github.io/math-comp/") + (synopsis "Mathematical Components for Coq") + (description "Mathematical Components for Coq has its origins in the formal +proof of the Four Colour Theorem. Since then it has grown to cover many areas +of mathematics and has been used for large scale projects like the formal proof +of the Odd Order Theorem. + +The library is written using the Ssreflect proof language that is an integral +part of the distribution.") + (license license:cecill-b))) From b09c4244f7c77b11e039cd5348270b2d1da77577 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 21 Jun 2017 21:40:23 +0200 Subject: [PATCH 36/93] gnu: Add coq-coquelicot. * gnu/packages/ocaml.scm (coq-coquelicot): New variable. --- gnu/packages/ocaml.scm | 50 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 1ed0ffa76e..86af187aa0 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3295,3 +3295,53 @@ of the Odd Order Theorem. The library is written using the Ssreflect proof language that is an integral part of the distribution.") (license license:cecill-b))) + +(define-public coq-coquelicot + (package + (name "coq-coquelicot") + (version "3.0.0") + (source (origin + (method url-fetch) + (uri (string-append "https://gforge.inria.fr/frs/download.php/" + "file/36537/coquelicot-" version ".tar.gz")) + (sha256 + (base32 + "0fx99bvsbdizj00gx2im8939y4wwl05f4qhw184j90kcx5vjxxv9")))) + (build-system gnu-build-system) + (native-inputs + `(("ocaml" ,ocaml) + ("which" ,which) + ("coq" ,coq))) + (propagated-inputs + `(("mathcomp" ,coq-mathcomp))) + (arguments + `(#:configure-flags + (list (string-append "--libdir=" (assoc-ref %outputs "out") + "/lib/coq/user-contrib/Coquelicot")) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-remake + (lambda _ + (substitute* "remake.cpp" + (("/bin/sh") (which "sh"))))) + (replace 'build + (lambda _ + (zero? (system* "./remake")))) + (replace 'check + (lambda _ + (zero? (system* "./remake" "check")))) + (replace 'install + (lambda _ + (zero? (system* "./remake" "install"))))))) + (home-page "http://coquelicot.saclay.inria.fr/index.html") + (synopsis "Coq library for Reals") + (description "Coquelicot is an easier way of writing formulas and theorem +statements, achieved by relying on total functions in place of dependent types +for limits, derivatives, integrals, power series, and so on. To help with the +proof process, the library comes with a comprehensive set of theorems that cover +not only these notions, but also some extensions such as parametric integrals, +two-dimensional differentiability, asymptotic behaviors. It also offers some +automations for performing differentiability proofs. Moreover, Coquelicot is a +conservative extension of Coq's standard library and provides correspondence +theorems between the two libraries.") + (license license:lgpl3+))) From 303690c405446d1eea231044f0bcb48b88b6508d Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 21 Jun 2017 21:41:36 +0200 Subject: [PATCH 37/93] gnu: Add coq-interval. * gnu/packages/ocaml.scm (coq-interval): New variable. --- gnu/packages/ocaml.scm | 46 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 86af187aa0..43bbdcd6e2 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3345,3 +3345,49 @@ automations for performing differentiability proofs. Moreover, Coquelicot is a conservative extension of Coq's standard library and provides correspondence theorems between the two libraries.") (license license:lgpl3+))) + +(define-public coq-interval + (package + (name "coq-interval") + (version "3.2.0") + (source (origin + (method url-fetch) + (uri (string-append "https://gforge.inria.fr/frs/download.php/" + "file/36538/interval-" version ".tar.gz")) + (sha256 + (base32 + "16ir7mizl18kwa1ls8fwjih6r87894bvc1r6lh85cd43la7nriq3")))) + (build-system gnu-build-system) + (native-inputs + `(("ocaml" ,ocaml) + ("which" ,which) + ("coq" ,coq))) + (propagated-inputs + `(("flocq" ,coq-flocq) + ("coquelicot" ,coq-coquelicot) + ("mathcomp" ,coq-mathcomp))) + (arguments + `(#:configure-flags + (list (string-append "--libdir=" (assoc-ref %outputs "out") + "/lib/coq/user-contrib/Gappa")) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-remake + (lambda _ + (substitute* "remake.cpp" + (("/bin/sh") (which "sh"))))) + (replace 'build + (lambda _ + (zero? (system* "./remake")))) + (replace 'check + (lambda _ + (zero? (system* "./remake" "check")))) + (replace 'install + (lambda _ + (zero? (system* "./remake" "install"))))))) + (home-page "http://coq-interval.gforge.inria.fr/") + (synopsis "Coq tactics to simplify inequality proofs") + (description "Interval provides vernacular files containing tactics for +simplifying the proofs of inequalities on expressions of real numbers for the +Coq proof assistant.") + (license license:cecill-c))) From 444f9dccc24138acf833f6fea17a8b47a776ba2b Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Fri, 21 Jul 2017 01:06:45 +0200 Subject: [PATCH 38/93] gnu: grub-efi: Add mtools input. * gnu/packages/bootloaders.scm: Add (gnu packages mtools). (grub-efi)[inputs]: Add mtools. [arguments]: Add phase "use-absolute-mtools-path". --- gnu/packages/bootloaders.scm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 299a569595..34b8953aa7 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -38,6 +38,7 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages linux) #:use-module (gnu packages man) + #:use-module (gnu packages mtools) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages python) @@ -150,6 +151,7 @@ menu to select one of the installed operating systems.") (synopsis "GRand Unified Boot loader (UEFI version)") (inputs `(("efibootmgr" ,efibootmgr) + ("mtools", mtools) ,@(package-inputs grub))) (arguments `(;; TODO: Tests need a UEFI firmware for qemu. There is one at @@ -167,7 +169,19 @@ menu to select one of the installed operating systems.") (("efibootmgr") (string-append (assoc-ref inputs "efibootmgr") "/sbin/efibootmgr"))) - #t))))))))) + #t)) + (add-after 'patch-stuff 'use-absolute-mtools-path + (lambda* (#:key inputs #:allow-other-keys) + (let ((mtools (assoc-ref inputs "mtools"))) + (substitute* "util/grub-mkrescue.c" + (("\"mformat\"") + (string-append "\"" mtools + "/bin/mformat\""))) + (substitute* "util/grub-mkrescue.c" + (("\"mcopy\"") + (string-append "\"" mtools + "/bin/mcopy\""))) + #t)))))))))) (define-public syslinux (let ((commit "bb41e935cc83c6242de24d2271e067d76af3585c")) From b1a6a7068401785fbcc1f5e9df677bc57691674f Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Tue, 18 Jul 2017 16:44:22 +0300 Subject: [PATCH 39/93] gnu: emacs-ess: Install elisp files in "guix.d". Fixes . Reported by Adonay Felipe Nogueira . * gnu/packages/emacs.scm (emacs-ess)[arguments]: Add LISPDIR to 'make-flags' to install *.el files into "guix.d" sub-directory. --- gnu/packages/emacs.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index f0490e7072..1175bacfde 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -3134,7 +3134,9 @@ E-Prime forbids the use of the \"to be\" form to strengthen your writing.") (build-system gnu-build-system) (arguments `(#:tests? #f ; There is no test suite. - #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:make-flags (list (string-append "PREFIX=" %output) + (string-append "LISPDIR=" %output + "/share/emacs/site-lisp/guix.d/ess")) #:phases (modify-phases %standard-phases (delete 'configure) From 469c7ce058a6477bfdc1d965b17c3fb296df424b Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Mon, 24 Jul 2017 19:44:23 -0400 Subject: [PATCH 40/93] gnu: Remove let-alist. The let-alist package has been included with Emacs since version 25.1. * gnu/packages/emacs.scm (let-alist): Remove variable. (flycheck, emacs-pdf-tools, emacs-sx)[propagated-inputs]: Remove let-alist. Signed-off-by: Alex Kost --- gnu/packages/emacs.scm | 30 +----------------------------- 1 file changed, 1 insertion(+), 29 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 1175bacfde..aae153b1c6 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -641,30 +641,6 @@ process, passing on the arguments as command line arguments.") programs.") (license license:gpl3+))) -(define-public let-alist - (package - (name "emacs-let-alist") - (version "1.0.4") - (source (origin - (method url-fetch) - (uri (string-append "https://elpa.gnu.org/packages/let-alist-" - version ".el")) - (sha256 - (base32 - "07312bvvyz86lf64vdkxg2l1wgfjl25ljdjwlf1bdzj01c4hm88x")))) - (build-system emacs-build-system) - (home-page "https://elpa.gnu.org/packages/let-alist.html") - (synopsis "Easily let-bind values of an assoc-list by their names") - (description - "This package offers a single Emacs Lisp macro, @code{let-alist}. This -macro takes a first argument, whose value must be an alist (association list), -and a body. - -The macro expands to a let form containing the body, where each dotted symbol -inside body is let-bound to their cdrs in the alist. Only those present in -the body are let-bound and this search is done at compile time.") - (license license:gpl3+))) - (define-public flycheck (package (name "emacs-flycheck") @@ -680,7 +656,6 @@ the body are let-bound and this search is done at compile time.") (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) - ("emacs-let-alist" ,let-alist) ("emacs-seq" ,emacs-seq))) (home-page "https://www.flycheck.org") (synopsis "On-the-fly syntax checking") @@ -1326,8 +1301,6 @@ single buffer.") ("automake" ,automake) ("pkg-config" ,pkg-config) ("emacs" ,emacs-minimal))) - (propagated-inputs - `(("let-alist" ,let-alist))) (inputs `(("poppler" ,poppler) ("cairo" ,cairo) ("glib" ,glib) @@ -1579,8 +1552,7 @@ strings.") "1w0xghfljqg31axcnv8gzlrd8pw25nji6idnrhflq0af9qh1dw03")))) (build-system emacs-build-system) (propagated-inputs - `(("emacs-markdown-mode" ,emacs-markdown-mode) - ("let-alist" ,let-alist))) + `(("emacs-markdown-mode" ,emacs-markdown-mode))) (home-page "https://github.com/vermiculus/sx.el/") (synopsis "Emacs StackExchange client") (description From d0a5205292a24f350522bf461582cac5242f0cfa Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Mon, 24 Jul 2017 19:44:24 -0400 Subject: [PATCH 41/93] gnu: Remove emacs-seq. The seq.el library has been included with Emacs since version 25.1. * gnu/packages/emacs.scm (emacs-seq): Remove variable. (flycheck, emacs-cider)[propagated-inputs]: Remove emacs-seq. Signed-off-by: Alex Kost --- gnu/packages/emacs.scm | 26 ++------------------------ 1 file changed, 2 insertions(+), 24 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index aae153b1c6..02e7a9e908 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -655,8 +655,7 @@ programs.") "1rxzkaqsj48z3nska5wsgwafvwkam014dzqd32baycmxjl0jxvy7")))) (build-system emacs-build-system) (propagated-inputs - `(("emacs-dash" ,emacs-dash) - ("emacs-seq" ,emacs-seq))) + `(("emacs-dash" ,emacs-dash))) (home-page "https://www.flycheck.org") (synopsis "On-the-fly syntax checking") (description @@ -3007,26 +3006,6 @@ be removed from the front. This type of data structure is sometimes called an ongoing operations.") (license license:gpl3+))) -(define-public emacs-seq - (package - (name "emacs-seq") - (version "2.19") - (source (origin - (method url-fetch) - (uri (string-append "https://elpa.gnu.org/packages/seq-" - version ".tar")) - (sha256 - (base32 - "11hb7is6a4h1lscjcfrzh576j0g3m5yjydn16s6x5bxp5gsr6zha")))) - (build-system emacs-build-system) - (home-page "https://elpa.gnu.org/packages/seq.html") - (synopsis "Sequence manipulation functions for Emacs") - (description - "This Emacs library provides sequence-manipulation functions that -complement basic functions provided by @code{subr.el}. All provided functions -work on lists, strings and vectors.") - (license license:gpl3+))) - (define-public emacs-sparql-mode (package (name "emacs-sparql-mode") @@ -3532,8 +3511,7 @@ for search-based navigation of buffers.") `(("emacs-clojure-mode" ,emacs-clojure-mode) ("emacs-spinner" ,emacs-spinner) ("emacs-pkg-info" ,emacs-pkg-info) - ("emacs-queue" ,emacs-queue) - ("emacs-seq" ,emacs-seq))) + ("emacs-queue" ,emacs-queue))) (home-page "https://cider.readthedocs.org/") (synopsis "Clojure development environment for Emacs") (description From 24b115dff570948f88bfd67179055097bcf875ff Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Thu, 27 Jul 2017 01:01:26 -0400 Subject: [PATCH 42/93] gnu: emacs: Check GUIX_ENVIRONMENT when autoloading packages. Check the environment profile so that we autoload packages that are given as arguments to "guix environment" but are not in the system or user profile. Note that the union of Emacs packages in the system, user, and environment profiles will be autoloaded even when --pure was passed to "guix environment", because it's not clear how to detect that --pure was given. * gnu/packages/aux-files/emacs/guix-emacs.el (guix-emacs-autoload-packages): Add Emacs packages from GUIX_ENVIRONMENT profile. Signed-off-by: Alex Kost --- gnu/packages/aux-files/emacs/guix-emacs.el | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/aux-files/emacs/guix-emacs.el b/gnu/packages/aux-files/emacs/guix-emacs.el index 2bbd639ffd..9a49e8861c 100644 --- a/gnu/packages/aux-files/emacs/guix-emacs.el +++ b/gnu/packages/aux-files/emacs/guix-emacs.el @@ -1,6 +1,7 @@ ;;; guix-emacs.el --- Emacs packages installed with Guix ;; Copyright © 2014, 2015, 2016, 2017 Alex Kost +;; Copyright © 2017 Kyle Meyer ;; This file is part of GNU Guix. @@ -87,9 +88,11 @@ profiles. (interactive (list (if (fboundp 'guix-read-package-profile) (funcall 'guix-read-package-profile) guix-user-profile))) - (let ((profiles (or profiles - (list "/run/current-system/profile" - guix-user-profile)))) + (let* ((env (getenv "GUIX_ENVIRONMENT")) + (profiles (or profiles + (append (list "/run/current-system/profile" + guix-user-profile) + (and env (list env)))))) (dolist (profile profiles) (let ((dirs (guix-emacs-directories profile))) (when dirs From baa6b777891062494e336017777865e10063d6a8 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 29 Jul 2017 22:53:39 +0200 Subject: [PATCH 43/93] gnu: vim: Update to 8.0.0808. * gnu/packages/vim.scm (vim): Update to 8.0.0808. [arguments]: Remove obsolete 'make-bit-reproducable' phase. (vim-full): Update to 8.0.0808. [arguments]: Remove 'drop-failing-tests' phase. --- gnu/packages/vim.scm | 31 ++----------------------------- 1 file changed, 2 insertions(+), 29 deletions(-) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index f8c9761924..7db81ee57d 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -60,7 +60,7 @@ (define-public vim (package (name "vim") - (version "8.0.0727") + (version "8.0.0808") (source (origin (method url-fetch) (uri (string-append "https://github.com/vim/vim/archive/v" @@ -68,20 +68,13 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0hwqglpsk8qlp2rn6q9p35fxk88xixljk1yv42m3j01g3bgqg0gx")))) + "0qrn9fhq5wdrrf2qhpygwfm5rynl32l406xhbr7lg69r9wl8cjjn")))) (build-system gnu-build-system) (arguments `(#:test-target "test" #:parallel-tests? #f #:phases (modify-phases %standard-phases - (add-after 'unpack 'make-bit-reproducable - (lambda _ - (substitute* "src/version.c" - ((" VIM_VERSION_LONG_DATE") " VIM_VERSION_LONG") - ((" __DATE__") "") - ((" __TIME__") "")) - #t)) (add-after 'configure 'patch-config-files (lambda _ (substitute* "runtime/tools/mve.awk" @@ -116,15 +109,6 @@ configuration files.") ;; frequency of important bug fixes. (inherit vim) (name "vim-full") - (version "8.0.0600") - (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")) - (sha256 - (base32 - "1ifaj0lfzqn06snkcd83l58m9r6lg7lk3wspx71k5ycvypyfi67s")))) (arguments `(#:configure-flags (list (string-append "--with-lua-prefix=" @@ -144,17 +128,6 @@ configuration files.") ,@(substitute-keyword-arguments (package-arguments vim) ((#:phases phases) `(modify-phases ,phases - (add-after 'build 'drop-failing-tests - (lambda _ - ;; These tests fail mysteriously with GUI enabled. - ;; https://github.com/vim/vim/issues/1460 - (substitute* "src/testdir/test_cmdline.vim" - (("call assert_equal\\(.+getcmd.+\\(\\)\\)") "")) - ;; FIXME: This test broke after GCC-5 core-updates merge. - ;; "Test_system_exmode line 7: Expected '0' but got '/'" - (substitute* "src/testdir/test_system.vim" - (("call assert_equal\\('0', a\\[0\\]\\)") "")) - #t)) (add-before 'check 'start-xserver (lambda* (#:key inputs #:allow-other-keys) ;; Some tests require an X server, but does not start one. From 53ac6977ac0bbd766d014d3b0aefea3958bbf54f Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Wed, 26 Jul 2017 15:48:12 +0300 Subject: [PATCH 44/93] gnu: tome4: Clean up snippet. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/games.scm (tome4)[source](snippet): Use a single 'substitute*' call instead of 'for-each'. Signed-off-by: Ludovic Courtès --- gnu/packages/games.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 071311a751..d859a6398c 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -4633,12 +4633,10 @@ Crowther & Woods, its original authors, in 1995. It has been known as "0v2qgdfpvdzd1bcbp9v8pfahj1bgczsq2d4xfhh5wg11jgjcwz03")) (modules '((guix build utils))) (snippet - '(for-each (lambda (file) - (substitute* file - (("#elif defined(__FreeBSD__)" line) - (string-append - line " || defined(__GNUC__)")))) - '("src/music.h" "src/tSDL.h"))))) + '(substitute* '("src/music.h" "src/tSDL.h") + (("#elif defined(__FreeBSD__)" line) + (string-append + line " || defined(__GNUC__)")))))) (build-system gnu-build-system) (native-inputs `(("unzip" ,unzip))) From a4078acf4ab7d694e86ffcaef2073d71e58508f1 Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Sat, 29 Jul 2017 17:06:55 +0200 Subject: [PATCH 45/93] gnu: erlang: Fix man-pages search path of 'erl -man'. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/patches/erlang-man-path.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/erlang.scm (erlang)[source]: Use it. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/erlang.scm | 4 +++- gnu/packages/patches/erlang-man-path.patch | 24 ++++++++++++++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/erlang-man-path.patch diff --git a/gnu/local.mk b/gnu/local.mk index 29dee73c46..9f0915ff6b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -579,6 +579,7 @@ dist_patch_DATA = \ %D%/packages/patches/emacs-fix-scheme-indent-function.patch \ %D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \ %D%/packages/patches/emacs-source-date-epoch.patch \ + %D%/packages/patches/erlang-man-path.patch \ %D%/packages/patches/eudev-rules-directory.patch \ %D%/packages/patches/eudev-conflicting-declaration.patch \ %D%/packages/patches/evilwm-lost-focus-bug.patch \ diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index 07f117e283..9658061f21 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -23,6 +23,7 @@ #:use-module (guix build-system gnu) #:use-module (guix download) #:use-module (guix packages) + #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages fontutils) #:use-module (gnu packages gl) @@ -45,7 +46,8 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1b47jh549yywyp8fbs8a8j4ydr3zn982navzyqvlms6rg8vwb0pw")))) + "1b47jh549yywyp8fbs8a8j4ydr3zn982navzyqvlms6rg8vwb0pw")) + (patches (search-patches "erlang-man-path.patch")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) diff --git a/gnu/packages/patches/erlang-man-path.patch b/gnu/packages/patches/erlang-man-path.patch new file mode 100644 index 0000000000..68fc9f45b4 --- /dev/null +++ b/gnu/packages/patches/erlang-man-path.patch @@ -0,0 +1,24 @@ +Patch originally from https://sources.debian.net/patches/erlang/1:20.0.1%2Bdfsg-2/man.patch/ +by Francois-Denis Gonthier . + +Patch description rewritten for Guix. + +This patch allows access to the man page with the 'erl -man' command +(Erlang manual pages are placed to /gnu/store/..erlang../share/man/ hierarchy +as other man pages.) + +--- a/erts/etc/common/erlexec.c ++++ b/erts/etc/common/erlexec.c +@@ -709,8 +709,10 @@ + error("-man not supported on Windows"); + #else + argv[i] = "man"; +- erts_snprintf(tmpStr, sizeof(tmpStr), "%s/man", rootdir); +- set_env("MANPATH", tmpStr); ++ /* ++ * Conform to erlang-manpages content. ++ */ ++ putenv(strsave("MANSECT=1:3:5:7")); + execvp("man", argv+i); + error("Could not execute the 'man' command."); + #endif From 313844d9dc098b44cd27dcfa1a26de306c9a8fe2 Mon Sep 17 00:00:00 2001 From: Theodoros Foradis Date: Tue, 25 Jul 2017 19:11:12 +0300 Subject: [PATCH 46/93] gnu: Add z3. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/maths.scm (z3): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/maths.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 7d4cb45b18..6566d750b2 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2017 Paul Garlick ;;; Copyright © 2017 ng0 ;;; Copyright © 2017 Ben Woodcroft +;;; Copyright © 2017 Theodoros Foradis ;;; ;;; This file is part of GNU Guix. ;;; @@ -3161,3 +3162,37 @@ as equations, scalars, vectors, and matrices.") (home-page "https://www.gnu.org/software/jacal/") (license license:gpl3+))) +(define-public z3 + (package + (name "z3") + (version "4.5.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/Z3Prover/z3/archive/z3-" + version ".tar.gz")) + (sha256 + (base32 + "032a5lvji2liwmc25jv52bdrhimqflvqbpg77ccaq1jykhiivbmf")))) + (build-system gnu-build-system) + (arguments + `(#:test-target "test" + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (zero? + (system* "python" "scripts/mk_make.py" + (string-append "--prefix=" + (assoc-ref outputs "out")))))) + (add-after 'configure 'change-dir + (lambda _ + (chdir "build") + #t))))) + (native-inputs + `(("python" ,python-2))) + (synopsis "Theorem prover") + (description "Z3 is a theorem prover and @dfn{satisfiability modulo +theories} (SMT) solver. It provides a C/C++ API.") + (home-page "https://github.com/Z3Prover/z3") + (license license:expat))) From 85cdab64c672c228069cd9d74d737de61db2f3e9 Mon Sep 17 00:00:00 2001 From: Theodoros Foradis Date: Sat, 29 Jul 2017 22:54:18 +0200 Subject: [PATCH 47/93] gnu: yosys: Add dependency on z3. * gnu/packages/fpga.scm (yosys): Add z3 to propagated-inputs. --- gnu/packages/fpga.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm index 420d0aff28..2208775772 100644 --- a/gnu/packages/fpga.scm +++ b/gnu/packages/fpga.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Danny Milosavljevic -;;; Copyright © 2016 Theodoros Foradis +;;; Copyright © 2016, 2017 Theodoros Foradis ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,6 +36,7 @@ #:use-module (gnu packages graphviz) #:use-module (gnu packages libffi) #:use-module (gnu packages linux) + #:use-module (gnu packages maths) #:use-module (gnu packages perl) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gperf) @@ -198,6 +199,8 @@ For synthesis, the compiler generates netlists in the desired format.") ("psmisc" ,psmisc) ("xdot" ,xdot) ("abc" ,abc))) + (propagated-inputs + `(("z3" ,z3))) ; should be in path for yosys-smtbmc (home-page "http://www.clifford.at/yosys/") (synopsis "FPGA Verilog RTL synthesizer") (description "Yosys synthesizes Verilog-2005.") From c00c90ca37f98b9710fa51cffed3e3135880fd99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sun, 30 Jul 2017 15:07:14 +0800 Subject: [PATCH 48/93] gnu: retroarch: Update to 1.6.3. * gnu/packages/games.scm (retroarch): Update to 1.6.3. --- gnu/packages/games.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index d859a6398c..069fa1d651 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1301,15 +1301,15 @@ either by Infocom or created using the Inform compiler.") (define-public retroarch (package (name "retroarch") - (version "1.6.1") + (version "1.6.3") (source (origin (method url-fetch) - (uri (string-append "https://github.com/libretro/RetroArch/archive/v" + (uri (string-append "https://github.com/libretro/RetroArch/archive/" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "121h9j57gvjr155vvm4f7ybphfvqrdz2ib059kfi444xcxz19sl0")))) + (base32 "0a0w2sjizjs20376h7j1gfi0qccr8mhkl1cm6hi0c17hy1493l6d")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests From 686144e986518a27180ff9099c3e419a89e6101c Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Thu, 27 Jul 2017 17:11:33 +0100 Subject: [PATCH 49/93] gnu: Add memcached. * gnu/packages/databases.scm (memcached): New variable. --- gnu/packages/databases.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 8f5857ad7d..13efc5edca 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -53,6 +53,7 @@ #:use-module (gnu packages gnupg) #:use-module (gnu packages jemalloc) #:use-module (gnu packages language) + #:use-module (gnu packages libevent) #:use-module (gnu packages linux) #:use-module (gnu packages man) #:use-module (gnu packages ncurses) @@ -290,6 +291,28 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.") mapping from string keys to string values.") (license license:bsd-3))) +(define-public memcached + (package + (name "memcached") + (version "1.5.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://memcached.org/files/memcached-" version ".tar.gz")) + (sha256 + (base32 "0chwc0g7wfvcad36z8pf2jbgygdnm9nm1l6pwjsn3d2b089gh0f0")))) + (build-system gnu-build-system) + (inputs + `(("libevent" ,libevent) + ("cyrus-sasl" ,cyrus-sasl))) + (home-page "https://memcached.org/") + (synopsis "In memory caching service") + (description "Memcached is a in memory key value store. It has a small +and generic API, and was originally intended for use with dynamic web +applications.") + (license license:bsd-3))) + (define-public mysql (package (name "mysql") From 119fdd0d0e33492ef2b563295fe9564258d51401 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Thu, 27 Jul 2017 17:13:49 +0100 Subject: [PATCH 50/93] services: Add memcached. * gnu/services/databases.scm (memcached-service-type, %memcached-accounts): New variables. (): New record type. (memcached-service-type): New procedures. * gnu/tests/databases.scm: New file. * doc/guix.texi (Database Services): Document the new memcached service. * gnu/local.mk (GNU_SYSTEM_MODULES): Add entry for tests/databases.scm. --- doc/guix.texi | 32 ++++++++++ gnu/local.mk | 1 + gnu/services/databases.scm | 73 ++++++++++++++++++++++ gnu/tests/databases.scm | 121 +++++++++++++++++++++++++++++++++++++ 4 files changed, 227 insertions(+) create mode 100644 gnu/tests/databases.scm diff --git a/doc/guix.texi b/doc/guix.texi index 3452850316..2beeaf9779 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -11724,6 +11724,38 @@ TCP port on which the database server listens for incoming connections. @end table @end deftp +@defvr {Scheme Variable} memcached-service-type +This is the service type for the @uref{https://memcached.org/, +Memcached} service, which provides a distributed in memory cache. The +value for the service type is a @code{memcached-configuration} object. +@end defvr + +@example +(service memcached-service-type) +@end example + +@deftp {Data Type} memcached-configuration +Data type representing the configuration of memcached. + +@table @asis +@item @code{memcached} (default: @code{memcached}) +The Memcached package to use. + +@item @code{interfaces} (default: @code{'("0.0.0.0")}) +Network interfaces on which to listen. + +@item @code{tcp-port} (default: @code{11211}) +Port on which to accept connections on, + +@item @code{udp-port} (default: @code{11211}) +Port on which to accept UDP connections on, a value of 0 will disable +listening on a UDP socket. + +@item @code{additional-options} (default: @code{'()}) +Additional command line options to pass to @code{memcached}. +@end table +@end deftp + @defvr {Scheme Variable} redis-service-type This is the service type for the @uref{https://redis.io/, Redis} key/value store, whose value is a @code{redis-configuration} object. diff --git a/gnu/local.mk b/gnu/local.mk index 9f0915ff6b..ff47777650 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -480,6 +480,7 @@ GNU_SYSTEM_MODULES = \ %D%/tests.scm \ %D%/tests/admin.scm \ %D%/tests/base.scm \ + %D%/tests/databases.scm \ %D%/tests/dict.scm \ %D%/tests/nfs.scm \ %D%/tests/install.scm \ diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm index 3ecc8aff78..3b64d0e075 100644 --- a/gnu/services/databases.scm +++ b/gnu/services/databases.scm @@ -25,6 +25,7 @@ #:use-module (gnu system shadow) #:use-module (gnu packages admin) #:use-module (gnu packages databases) + #:use-module (guix modules) #:use-module (guix records) #:use-module (guix gexp) #:use-module (ice-9 match) @@ -33,6 +34,16 @@ postgresql-service postgresql-service-type + memcached-service-type + + memcached-configuration + memcached-configuration? + memcached-configuration-memecached + memcached-configuration-interfaces + memcached-configuration-tcp-port + memcached-configuration-udp-port + memcached-configuration-additional-options + mysql-service mysql-service-type mysql-configuration @@ -176,6 +187,68 @@ and stores the database cluster in @var{data-directory}." (config-file config-file) (data-directory data-directory)))) + +;;; +;;; Memcached +;;; + +(define-record-type* + memcached-configuration make-memcached-configuration + memcached-configuration? + (memcached memcached-configuration-memcached ; + (default memcached)) + (interfaces memcached-configuration-interfaces + (default '("0.0.0.0"))) + (tcp-port memcached-configuration-tcp-port + (default 11211)) + (udp-port memcached-configuration-udp-port + (default 11211)) + (additional-options memcached-configuration-additional-options + (default '()))) + +(define %memcached-accounts + (list (user-group (name "memcached") (system? #t)) + (user-account + (name "memcached") + (group "memcached") + (system? #t) + (comment "Memcached server user") + (home-directory "/var/empty") + (shell (file-append shadow "/sbin/nologin"))))) + +(define memcached-shepherd-service + (match-lambda + (($ memcached interfaces tcp-port udp-port + additional-options) + (with-imported-modules (source-module-closure + '((gnu build shepherd))) + (list (shepherd-service + (provision '(memcached)) + (documentation "Run the Memcached daemon.") + (requirement '(user-processes loopback)) + (modules '((gnu build shepherd))) + (start #~(make-forkexec-constructor + `(#$(file-append memcached "/bin/memcached") + "-l" #$(string-join interfaces ",") + "-p" #$(number->string tcp-port) + "-U" #$(number->string udp-port) + "--daemon" + "-P" "/var/run/memcached.pid" + "-u" "memcached" + ,#$@additional-options) + #:log-file "/var/log/memcached" + #:pid-file "/var/run/memcached.pid")) + (stop #~(make-kill-destructor)))))))) + +(define memcached-service-type + (service-type (name 'memcached) + (extensions + (list (service-extension shepherd-root-service-type + memcached-shepherd-service) + (service-extension account-service-type + (const %memcached-accounts)))) + (default-value (memcached-configuration)))) + ;;; ;;; MySQL. diff --git a/gnu/tests/databases.scm b/gnu/tests/databases.scm new file mode 100644 index 0000000000..310210c368 --- /dev/null +++ b/gnu/tests/databases.scm @@ -0,0 +1,121 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2017 Christopher Baines +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix 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. +;;; +;;; GNU Guix 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 GNU Guix. If not, see . + +(define-module (gnu tests databases) + #:use-module (gnu tests) + #:use-module (gnu system) + #:use-module (gnu system file-systems) + #:use-module (gnu system shadow) + #:use-module (gnu system vm) + #:use-module (gnu services) + #:use-module (gnu services databases) + #:use-module (gnu services networking) + #:use-module (guix gexp) + #:use-module (guix store) + #:export (%test-memcached)) + +(define %memcached-os + (simple-operating-system + (dhcp-client-service) + (service memcached-service-type))) + +(define* (run-memcached-test #:optional (port 11211)) + "Run tests in %MEMCACHED-OS, forwarding PORT." + (define os + (marionette-operating-system + %memcached-os + #:imported-modules '((gnu services herd) + (guix combinators)))) + + (define vm + (virtual-machine + (operating-system os) + (port-forwardings `((11211 . ,port))))) + + (define test + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (srfi srfi-11) (srfi srfi-64) + (gnu build marionette) + (ice-9 rdelim)) + + (define marionette + (make-marionette (list #$vm))) + + (mkdir #$output) + (chdir #$output) + + (test-begin "memcached") + + ;; Wait for memcached to be up and running. + (test-eq "service running" + 'running! + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (start-service 'memcached) + 'running!) + marionette)) + + (let* ((ai (car (getaddrinfo "localhost" + #$(number->string port)))) + (s (socket (addrinfo:fam ai) + (addrinfo:socktype ai) + (addrinfo:protocol ai))) + (key "testkey") + (value "guix")) + (connect s (addrinfo:addr ai)) + + (test-equal "set" + "STORED\r" + (begin + (simple-format s "set ~A 0 60 ~A\r\n~A\r\n" + key + (string-length value) + value) + (read-line s))) + + (test-equal "get" + (simple-format #f "VALUE ~A 0 ~A\r~A\r" + key + (string-length value) + value) + (begin + (simple-format s "get ~A\r\n" key) + (string-append + (read-line s) + (read-line s)))) + + (close-port s)) + + ;; There should be a log file in here. + (test-assert "log file" + (marionette-eval + '(file-exists? "/var/log/memcached") + marionette)) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (gexp->derivation "memcached-test" test)) + +(define %test-memcached + (system-test + (name "memcached") + (description "Connect to a running MEMCACHED server.") + (value (run-memcached-test)))) From fa65e84aab41dad64fcaf8d65b1496266fe30b27 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Wed, 26 Jul 2017 12:52:43 +0100 Subject: [PATCH 51/93] gnu: qemu: Build with support for Linux AIO Add libaio as an input, such that QEMU is built with support for Asynchronous I/O (AIO). * gnu/packages/virtualization.scm (qemu)[inputs]: Uncomment libaio. --- gnu/packages/virtualization.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index d999d16e37..0ac76a72d9 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -145,7 +145,7 @@ `(("alsa-lib" ,alsa-lib) ("attr" ,attr) ("glib" ,glib) - ;; ("libaio" ,libaio) + ("libaio" ,libaio) ("libattr" ,attr) ("libcap" ,libcap) ; virtfs support requires libcap & libattr ("libjpeg" ,libjpeg-8) From c918773a03ba54649b9cb702aacf7bc2d97a2e7a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 30 Jul 2017 12:40:55 +0200 Subject: [PATCH 52/93] gnu: ffmpeg: Update to 3.3.3. * gnu/packages/video.scm (ffmpeg): Update to 3.3.3. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 7f3f1ce8d6..0a551c74f4 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -580,14 +580,14 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).") (define-public ffmpeg (package (name "ffmpeg") - (version "3.3.2") + (version "3.3.3") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) (sha256 (base32 - "11974vcfsy8w0i6f4lfwqmg80xkfybqw7vw6zzrcn5i6ncddx60r")))) + "07is8msrhxr1dk6vgwa192k2pl2a0in1h9w8f9cknlvbvhn01afj")))) (build-system gnu-build-system) (inputs `(("fontconfig" ,fontconfig) From 03317cbfc4e76cfe208cafaa9ba9a103bb2b33b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 30 Jul 2017 14:23:51 +0200 Subject: [PATCH 53/93] doc: Give an example of arguments for the 'run-vm.sh' script. Suggested by Oleg Pykhalov . * doc/guix.texi (Invoking guix system): Give an example of passing arguments to the 'run-vm.sh' script. --- doc/guix.texi | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 2beeaf9779..4d2c45e8a4 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -16472,7 +16472,13 @@ passed. @anchor{guix system vm} Build a virtual machine that contains the operating system declared in @var{file}, and return a script to run that virtual machine (VM). -Arguments given to the script are passed to QEMU. +Arguments given to the script are passed to QEMU as in the example +below, which enables networking and requests 1@tie{}GiB of RAM for the +emulated machine: + +@example +$ /gnu/store/@dots{}-run-vm.sh -m 1024 -net user +@end example The VM shares its store with the host system. From 75bddb13eb47ed798f6b5630e22d6b5adbd22227 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 30 Jul 2017 15:00:21 +0200 Subject: [PATCH 54/93] services: cuirass: Set 'GIT_SSL_CAINFO' and 'GIT_EXEC_PATH'. Reported by Ricardo Wurmus. * gnu/services/cuirass.scm (cuirass-shepherd-service): Pass #:environment-variables. --- gnu/services/cuirass.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm index d27a2bbc44..73a30b2402 100644 --- a/gnu/services/cuirass.scm +++ b/gnu/services/cuirass.scm @@ -23,6 +23,7 @@ #:use-module (guix records) #:use-module (gnu packages admin) #:autoload (gnu packages ci) (cuirass) + #:autoload (gnu packages version-control) (git) #:use-module (gnu services) #:use-module (gnu services base) #:use-module (gnu services shepherd) @@ -105,6 +106,12 @@ #$@(if fallback? '("--fallback") '()) #$@(if (null? load-path) '() `("--load-path" ,(string-join load-path ":")))) + + #:environment-variables + (list "GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt" + (string-append "GIT_EXEC_PATH=" #$git + "/libexec/git-core")) + #:user #$user #:group #$group #:log-file #$log-file)) From 4892eb7c6a21416f3a18e18ca17984e2b66050ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 25 Jul 2017 15:27:58 +0200 Subject: [PATCH 55/93] services: openssh: Add 'authorized-keys' field. * gnu/services/ssh.scm ()[authorized-keys]: New field. (authorized-key-directory): New procedure. (openssh-config-file): Honor 'authorized-keys'. (openssh-activation): Use 'with-imported-modules'. Make /etc/ssh 755. Create /etc/ssh/authorized_keys.d. * doc/guix.texi (Networking Services): Document it. --- doc/guix.texi | 29 ++++++++++++++-- gnu/services/ssh.scm | 80 ++++++++++++++++++++++++++++++++++++-------- 2 files changed, 93 insertions(+), 16 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 4d2c45e8a4..962bdc17f9 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -10203,7 +10203,10 @@ shell daemon, @command{sshd}. Its value must be an (service openssh-service-type (openssh-configuration (x11-forwarding? #t) - (permit-root-login 'without-password))) + (permit-root-login 'without-password) + (authorized-keys + `(("alice" ,(local-file "alice.pub")) + ("bob" ,(local-file "bob.pub")))))) @end example See below for details about @code{openssh-configuration}. @@ -10278,8 +10281,30 @@ server. Alternately, one can specify the @command{sftp-server} command: (service openssh-service-type (openssh-configuration (subsystems - '(("sftp" ,(file-append openssh "/libexec/sftp-server")))))) + `(("sftp" ,(file-append openssh "/libexec/sftp-server")))))) @end example + +@item @code{authorized-keys} (default: @code{'()}) +@cindex authorized keys, SSH +@cindex SSH authorized keys +This is the list of authorized keys. Each element of the list is a user +name followed by one or more file-like objects that represent SSH public +keys. For example: + +@example +(openssh-configuration + (authorized-keys + `(("rekado" ,(local-file "rekado.pub")) + ("chris" ,(local-file "chris.pub")) + ("root" ,(local-file "rekado.pub") ,(local-file "chris.pub"))))) +@end example + +@noindent +registers the specified public keys for user accounts @code{rekado}, +@code{chris}, and @code{root}. + +Note that this does @emph{not} interfere with the use of +@file{~/.ssh/authorized_keys}. @end table @end deftp diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm index 2a6c8d45c2..08635af16d 100644 --- a/gnu/services/ssh.scm +++ b/gnu/services/ssh.scm @@ -28,6 +28,7 @@ #:use-module (gnu system shadow) #:use-module (guix gexp) #:use-module (guix records) + #:use-module (guix modules) #:use-module (srfi srfi-26) #:use-module (ice-9 match) #:export (lsh-configuration @@ -295,7 +296,11 @@ The other options should be self-descriptive." (default #t)) ;; list of two-element lists (subsystems openssh-configuration-subsystems - (default '(("sftp" "internal-sftp"))))) + (default '(("sftp" "internal-sftp")))) + + ;; list of user-name/file-like tuples + (authorized-keys openssh-authorized-keys + (default '()))) (define %openssh-accounts (list (user-group (name "sshd") (system? #t)) @@ -309,22 +314,64 @@ The other options should be self-descriptive." (define (openssh-activation config) "Return the activation GEXP for CONFIG." - #~(begin - (use-modules (guix build utils)) - (mkdir-p "/etc/ssh") - (mkdir-p (dirname #$(openssh-configuration-pid-file config))) + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) - (define (touch file-name) - (call-with-output-file file-name (const #t))) + (define (touch file-name) + (call-with-output-file file-name (const #t))) - (let ((lastlog "/var/log/lastlog")) - (when #$(openssh-configuration-print-last-log? config) - (unless (file-exists? lastlog) - (touch lastlog)))) + ;; Make sure /etc/ssh can be read by the 'sshd' user. + (mkdir-p "/etc/ssh") + (chmod "/etc/ssh" #o755) + (mkdir-p (dirname #$(openssh-configuration-pid-file config))) - ;; Generate missing host keys. - (system* (string-append #$(openssh-configuration-openssh config) - "/bin/ssh-keygen") "-A"))) + ;; 'sshd' complains if the authorized-key directory and its parents + ;; are group-writable, which rules out /gnu/store. Thus we copy the + ;; authorized-key directory to /etc. + (catch 'system-error + (lambda () + (delete-file-recursively "/etc/authorized_keys.d")) + (lambda args + (unless (= ENOENT (system-error-errno args)) + (apply throw args)))) + (copy-recursively #$(authorized-key-directory + (openssh-authorized-keys config)) + "/etc/ssh/authorized_keys.d") + + (chmod "/etc/ssh/authorized_keys.d" #o555) + + (let ((lastlog "/var/log/lastlog")) + (when #$(openssh-configuration-print-last-log? config) + (unless (file-exists? lastlog) + (touch lastlog)))) + + ;; Generate missing host keys. + (system* (string-append #$(openssh-configuration-openssh config) + "/bin/ssh-keygen") "-A")))) + +(define (authorized-key-directory keys) + "Return a directory containing the authorized keys specified in KEYS, a list +of user-name/file-like tuples." + (define build + (with-imported-modules (source-module-closure '((guix build utils))) + #~(begin + (use-modules (ice-9 match) (srfi srfi-26) + (guix build utils)) + + (mkdir #$output) + (for-each (match-lambda + ((user keys ...) + (let ((file (string-append #$output "/" user))) + (call-with-output-file file + (lambda (port) + (for-each (lambda (key) + (call-with-input-file key + (cut dump-port <> port))) + keys)))))) + '#$keys)))) + + (computed-file "openssh-authorized-keys" build)) (define (openssh-config-file config) "Return the sshd configuration file corresponding to CONFIG." @@ -367,6 +414,11 @@ The other options should be self-descriptive." (format port "PrintLastLog ~a\n" #$(if (openssh-configuration-print-last-log? config) "yes" "no")) + + ;; Add '/etc/authorized_keys.d/%u', which we populate. + (format port "AuthorizedKeysFile \ + .ssh/authorized_keys .ssh/authorized_keys2 /etc/ssh/authorized_keys.d/%u\n") + (for-each (match-lambda ((name command) (format port "Subsystem\t~a\t~a\n" name command))) From 1398a43816011c435fb6723154dbf1d3414b5b3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 30 Jul 2017 16:03:43 +0200 Subject: [PATCH 56/93] services: openssh: Extensions provide extra authorized keys. * gnu/services/ssh.scm (extend-openssh-authorized-keys): New procedure. (openssh-service-type)[compose, extend]: New fields. * doc/guix.texi (Networking Services): Document the extension. --- doc/guix.texi | 12 ++++++++++++ gnu/services/ssh.scm | 10 ++++++++++ 2 files changed, 22 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 962bdc17f9..6b4b19d0cf 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -10210,6 +10210,15 @@ shell daemon, @command{sshd}. Its value must be an @end example See below for details about @code{openssh-configuration}. + +This service can be extended with extra authorized keys, as in this +example: + +@example +(service-extension openssh-service-type + (const `(("charlie" + ,(local-file "charlie.pub"))))) +@end example @end deffn @deftp {Data Type} openssh-configuration @@ -10303,6 +10312,9 @@ keys. For example: registers the specified public keys for user accounts @code{rekado}, @code{chris}, and @code{root}. +Additional authorized keys can be specified @i{via} +@code{service-extension}. + Note that this does @emph{not} interfere with the use of @file{~/.ssh/authorized_keys}. @end table diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm index 08635af16d..697bb1b82e 100644 --- a/gnu/services/ssh.scm +++ b/gnu/services/ssh.scm @@ -29,6 +29,7 @@ #:use-module (guix gexp) #:use-module (guix records) #:use-module (guix modules) + #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (ice-9 match) #:export (lsh-configuration @@ -450,6 +451,13 @@ of user-name/file-like tuples." #:allow-empty-passwords? (openssh-configuration-allow-empty-passwords? config)))) +(define (extend-openssh-authorized-keys config keys) + "Extend CONFIG with the extra authorized keys listed in KEYS." + (openssh-configuration + (inherit config) + (authorized-keys + (append (openssh-authorized-keys config) keys)))) + (define openssh-service-type (service-type (name 'openssh) (extensions @@ -461,6 +469,8 @@ of user-name/file-like tuples." openssh-activation) (service-extension account-service-type (const %openssh-accounts)))) + (compose concatenate) + (extend extend-openssh-authorized-keys) (default-value (openssh-configuration)))) From 228a3982df157847554abc9d0831d687264d8ebd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 30 Jul 2017 17:19:42 +0200 Subject: [PATCH 57/93] git-download: Remove call to 'canonicalize-path'. * guix/git-download.scm (git-predicate): Remove call to 'canonicalize-path' since this could lead to discrepancies. For instance it broke 'make update-guix-package' since it passes a non-canonical directory name. --- guix/git-download.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/guix/git-download.scm b/guix/git-download.scm index 5019a3e62f..7397cbe7f5 100644 --- a/guix/git-download.scm +++ b/guix/git-download.scm @@ -191,7 +191,12 @@ absolute file name and STAT is the result of 'lstat'." result))) vlist-null files)) - (prefix-length (+ 1 (string-length (canonicalize-path directory)))) + + ;; Note: For this to work we must *not* call 'canonicalize-path' on + ;; DIRECTORY or we would get discrepancies of the returned lambda is + ;; called with a non-canonical file name. + (prefix-length (+ 1 (string-length directory))) + (status (close-pipe pipe))) (and (zero? status) (lambda (file stat) From 1c0ee79d4dc74f1001644dbb610075dc95dcf102 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 30 Jul 2017 17:58:04 +0200 Subject: [PATCH 58/93] gnu: guix: Update snapshot. * gnu/packages/package-management.scm (guix): Update to 228a398. --- 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 3650b5d957..835c0b291b 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -76,8 +76,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "0.13.0") - (commit "f1ddfe4f14b8a8d963f2f3e68d800b745696246d") - (revision 4)) + (commit "228a3982df157847554abc9d0831d687264d8ebd") + (revision 5)) (package (name "guix") @@ -93,7 +93,7 @@ (commit commit))) (sha256 (base32 - "11yjsn957igh6migxrnicdqrxc76skz5r0l7hfnm5gp45my1kd9p")) + "1gnc1w9kby7db9jih4xwrhrv0j57zy09lmr85gbmcqna6bx3wypw")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments From c91171627b5e8351c1b0251cc64ddfea2d952869 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 30 Jul 2017 21:36:18 +0200 Subject: [PATCH 59/93] gnu: guix: Search .go files of dependencies in lib/guile/. * gnu/packages/package-management.scm (guix)[arguments]: Add (srfi srfi-26) to #:modules. Introduce 'gopath', distinct from 'path'. --- gnu/packages/package-management.scm | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 835c0b291b..5c0e5a9c7d 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -121,6 +121,7 @@ #:modules ((guix build gnu-build-system) (guix build utils) + (srfi srfi-26) (ice-9 popen) (ice-9 rdelim)) @@ -190,20 +191,28 @@ (git (assoc-ref inputs "guile-git")) (ssh (assoc-ref inputs "guile-ssh")) (gnutls (assoc-ref inputs "gnutls")) + (deps (list json gnutls git ssh)) (effective (read-line (open-pipe* OPEN_READ (string-append guile "/bin/guile") "-c" "(display (effective-version))"))) - (path (string-append - json "/share/guile/site/" effective ":" - git "/share/guile/site/" effective ":" - ssh "/share/guile/site/" effective ":" - gnutls "/share/guile/site/" effective))) + (path (string-join + (map (cut string-append <> + "/share/guile/site/" + effective) + deps) + ":")) + (gopath (string-join + (map (cut string-append <> + "/lib/guile/" effective + "/site-ccache") + deps) + ":"))) (wrap-program (string-append out "/bin/guix") `("GUILE_LOAD_PATH" ":" prefix (,path)) - `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,path))) + `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,gopath))) #t)))))) (native-inputs `(("pkg-config" ,pkg-config) From 706448b193406fcc50535d722196ee9bb0d99934 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 30 Jul 2017 22:31:10 +0200 Subject: [PATCH 60/93] gnu: automake: Add 1.15.1. * gnu/packages/autotools.scm (automake/latest): New variable. --- gnu/packages/autotools.scm | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index 4dbe7b2a21..30a9aac824 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012 Nikita Karetnikov -;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2015 Mathieu Lirzin ;;; Copyright © 2014 Manolis Fragkiskos Ragkousis ;;; Copyright © 2015, 2017 Mark H Weaver @@ -237,6 +237,7 @@ output is indexed in many ways to simplify browsing.") (license gpl3+))) (define-public automake + ;; Replace with 'automake/latest' on the next rebuild cycle. (package (name "automake") (version "1.15") @@ -315,6 +316,22 @@ intuitive format and then Automake works with Autoconf to produce a robust Makefile, simplifying the entire process for the developer.") (license gpl2+))) ; some files are under GPLv3+ + +(define-public automake/latest + ;; Merge with 'automake' on the next rebuild cycle. + (package + (inherit automake) + (version "1.15.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/automake/automake-" + version ".tar.xz")) + (sha256 + (base32 + "1bzd9g32dfm4rsbw93ld9x7b5nc1y6i4m6zp032qf1i28a8s6sxg")) + (patches + (search-patches "automake-skip-amhello-tests.patch")))))) + (define-public libtool (package (name "libtool") From 57f57a7bbfe1dbb2092ea082f575706fed03a42f Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 29 Jul 2017 20:43:40 -0400 Subject: [PATCH 61/93] services: ntp: Use the NTP pool via the 'guix' zone. * gnu/services/networking.scm (%ntp-servers): Use *.guix.pool.ntp.org. --- gnu/services/networking.scm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index c381581896..b45008de64 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -334,10 +334,13 @@ Protocol (DHCP) client, on all the non-loopback network interfaces." (service dhcp-client-service-type dhcp)) (define %ntp-servers - ;; Default set of NTP servers. - '("0.pool.ntp.org" - "1.pool.ntp.org" - "2.pool.ntp.org")) + ;; Default set of NTP servers. These URLs are managed by the NTP Pool project. + ;; Within Guix, Leo Famulari is the administrative contact + ;; for this NTP pool "zone". + '("0.guix.pool.ntp.org" + "1.guix.pool.ntp.org" + "2.guix.pool.ntp.org" + "3.guix.pool.ntp.org")) ;;; From 0d3ecf77ba7c2b0fea6677eb056c04e44c1db3bd Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 31 Jul 2017 11:38:43 +0300 Subject: [PATCH 62/93] gnu: gst-plugins-good: Update disable-failing-tests phase. * gnu/packages/gstreamer.scm (gst-plugins-good)[arguments]: Change the list of tests to disable during 'disable-failing-tests phase. --- gnu/packages/gstreamer.scm | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 176336d710..69b8ffabee 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014 John Darrington ;;; Copyright © 2015, 2016 Sou Bunnbu ;;; Copyright © 2015 Mark H Weaver -;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2016 Leo Famulari ;;; ;;; This file is part of GNU Guix. @@ -244,15 +244,9 @@ for the GStreamer multimedia library.") 'unpack 'disable-failing-tests (lambda _ ;; Disable tests that fail non-deterministically. - ;; XXX FIXME: Try removing this for version > 1.8.0. - (substitute* "tests/check/elements/rtprtx.c" - (("tcase_add_test \\(tc_chain, test_push_forward_seq\\);" all) - (string-append "/* " all " */")) - (("tcase_add_test \ -\\(tc_chain, test_rtxreceive_data_reconstruction\\);" all) - (string-append "/* " all " */"))) - (substitute* "tests/check/elements/splitmux.c" - (("tcase_add_test \\(tc_chain, test_splitmuxsink\\);" all) + ;; This test fails on aarch64 on 1.12.x. + (substitute* "tests/check/elements/alpha.c" + (("tcase_add_test \\(tc_chain, test_chromakeying\\);" all) (string-append "/* " all " */"))) #t))))) (home-page "https://gstreamer.freedesktop.org/") From 6ce8fe4cd01be01c817627a75650475cbf572ff9 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 20 Jun 2017 13:12:52 +0300 Subject: [PATCH 63/93] gnu: efl: Add wayland support. * gnu/packages/enlightenment.scm (efl)[inputs]: Add wayland-protocols. Move mesa ... [propagated-inputs]: ... to here. Add libinput, libxkbcommon, wayland. [arguments]: Add flags to enable wayland, elput and drm. --- gnu/packages/enlightenment.scm | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index b62ab5f6f5..512dd9b099 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -53,6 +53,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages tls) #:use-module (gnu packages video) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg)) (define-public efl @@ -101,11 +102,11 @@ ("libxscrnsaver" ,libxscrnsaver) ("libxtst" ,libxtst) ("lz4" ,lz4) - ("mesa" ,mesa) ("openjpeg" ,openjpeg-1) ("poppler" ,poppler) ("printproto" ,printproto) ("scrnsaverproto" ,scrnsaverproto) + ("wayland-protocols" ,wayland-protocols) ("xextproto" ,xextproto) ("xinput" ,xinput) ("xpr" ,xpr) @@ -122,11 +123,15 @@ ("glib" ,glib) ; ecore.pc, ecore-cxx.pc ("harfbuzz" ,harfbuzz) ; evas.pc, evas-cxx.pc ("luajit" ,luajit) ; elua.pc, evas.pc, evas-cxx.pc + ("libinput" ,libinput) ; elput.pc ("libpng" ,libpng) ; evas.pc, evas-cxx.pc ("libsndfile" ,libsndfile) ; ecore-audio.pc, ecore-audio-cxx.pc + ("libxkbcommon" ,libxkbcommon) ; ecore-wl2.pc, elementary.pc, elput.pc + ("mesa" ,mesa) ; ecore-drm2.pc ("openssl" ,openssl) ; ecore-con.pc, eet.pc, eet-cxx.pc, emile.pc ("pulseaudio" ,pulseaudio) ; ecore-audio.pc, ecore-audio-cxx.pc ("util-linux" ,util-linux) ; mount: eeze.pc + ("wayland" ,wayland) ; ecore-wl2.pc, elementary.pc ("zlib" ,zlib))) ; eet.pc, eet-cxx.pc, emile.pc (arguments `(#:configure-flags '("--disable-silent-rules" @@ -137,7 +142,11 @@ "--enable-multisense" "--with-opengl=es" "--enable-egl" - "--enable-harfbuzz") + "--enable-harfbuzz" + ;; for wayland + "--enable-wayland" + "--enable-elput" + "--enable-drm") #:phases (modify-phases %standard-phases (add-after 'unpack 'set-home-directory From 58dce7bfb59d4f89b035c9bf181e73f4b667b57c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 31 Jul 2017 11:13:49 +0200 Subject: [PATCH 64/93] gnu: libgit2: Update to 0.26.0. * gnu/packages/version-control.scm (libgit2): Update to 0.26.0. Remove "libgit2-use-after-free.patch". * gnu/packages/patches/libgit2-use-after-free.patch: Remove. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - .../patches/libgit2-use-after-free.patch | 24 ------------------- gnu/packages/version-control.scm | 7 +++--- 3 files changed, 3 insertions(+), 29 deletions(-) delete mode 100644 gnu/packages/patches/libgit2-use-after-free.patch diff --git a/gnu/local.mk b/gnu/local.mk index ff47777650..3fb8f168de 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -756,7 +756,6 @@ dist_patch_DATA = \ %D%/packages/patches/libgit2-0.25.1-mtime-0.patch \ %D%/packages/patches/libgdata-fix-tests.patch \ %D%/packages/patches/libgdata-glib-duplicate-tests.patch \ - %D%/packages/patches/libgit2-use-after-free.patch \ %D%/packages/patches/libjxr-fix-function-signature.patch \ %D%/packages/patches/libjxr-fix-typos.patch \ %D%/packages/patches/liboop-mips64-deplibs-fix.patch \ diff --git a/gnu/packages/patches/libgit2-use-after-free.patch b/gnu/packages/patches/libgit2-use-after-free.patch deleted file mode 100644 index 580af8781a..0000000000 --- a/gnu/packages/patches/libgit2-use-after-free.patch +++ /dev/null @@ -1,24 +0,0 @@ -This patch is taken from ; -we need it to fix the use-after-free error in 'git_commit_extract_signature' -reported at . - -From ade0d9c658fdfc68d8046935f6908f033fe7a529 Mon Sep 17 00:00:00 2001 -From: Patrick Steinhardt -Date: Mon, 13 Feb 2017 13:46:17 +0100 -Subject: [PATCH 3/3] commit: avoid possible use-after-free - -diff --git a/src/commit.c b/src/commit.c -index 89a4db1..05b70a9 100644 ---- a/src/commit.c -+++ b/src/commit.c -@@ -766,8 +766,9 @@ int git_commit_extract_signature(git_buf *signature, git_buf *signed_data, git_r - if (git_buf_oom(signature)) - goto oom; - -+ error = git_buf_puts(signed_data, eol+1); - git_odb_object_free(obj); -- return git_buf_puts(signed_data, eol+1); -+ return error; - } - - giterr_set(GITERR_OBJECT, "this commit is not signed"); diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 2e17201a5f..fbaf8f2f29 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -334,7 +334,7 @@ everything from small to very large projects with speed and efficiency.") (define-public libgit2 (package (name "libgit2") - (version "0.25.1") + (version "0.26.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/libgit2/libgit2/" @@ -342,9 +342,8 @@ everything from small to very large projects with speed and efficiency.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1cdwcw38frc1wf28x5ppddazv9hywc718j92f3xa3ybzzycyds3s")) - (patches (search-patches "libgit2-use-after-free.patch" - "libgit2-0.25.1-mtime-0.patch")))) + "1fdk9yhwvl1w1z71ykzcvgh4nsf8scxcbclz5anh98zpplmhmisa")) + (patches (search-patches "libgit2-0.25.1-mtime-0.patch")))) (build-system cmake-build-system) (arguments `(#:phases From 8ecba89b7777a21b633f9807b997076e4e5c210d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 31 Jul 2017 11:14:37 +0200 Subject: [PATCH 65/93] gnu: libgit2: Add "debug" output. * gnu/packages/version-control.scm (libgit2)[outputs]: New field. --- gnu/packages/version-control.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index fbaf8f2f29..bc4242fc10 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -345,6 +345,7 @@ everything from small to very large projects with speed and efficiency.") "1fdk9yhwvl1w1z71ykzcvgh4nsf8scxcbclz5anh98zpplmhmisa")) (patches (search-patches "libgit2-0.25.1-mtime-0.patch")))) (build-system cmake-build-system) + (outputs '("out" "debug")) (arguments `(#:phases (modify-phases %standard-phases From 44b0faee6bb76c73384d42af95e492329fd45842 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 31 Jul 2017 15:19:14 +0200 Subject: [PATCH 66/93] gnu: guile-git: Skip faulty tests on non-x86_64. Reported by Mark H Weaver. * gnu/packages/guile.scm (guile-git)[arguments]: Add 'skip-tests' phase unless on x86_64-linux. --- gnu/packages/guile.scm | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 6011e85162..376cdeede8 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -1822,10 +1822,22 @@ is not available for Guile 2.0.") (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments - '(#:phases (modify-phases %standard-phases + `(#:phases (modify-phases %standard-phases (add-after 'unpack 'bootstrap (lambda _ - (zero? (system* "autoreconf" "-vfi"))))))) + (zero? (system* "autoreconf" "-vfi")))) + + ;; FIXME: On i686, bytestructures miscalculates the offset + ;; of the 'old-file' and 'new-file' fields within the + ;; '%diff-delta' structure. + ,@(if (string=? (%current-system) "x86_64-linux") + '() + '((add-before 'check 'skip-tests + (lambda _ + (substitute* "Makefile" + (("tests/status\\.scm") + "")) + #t))))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) From c27e02bf6b249321c9e699e414f474ce072a6f14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 31 Jul 2017 15:22:13 +0200 Subject: [PATCH 67/93] gnu: network-manager: Add dependency on Newt. Suggested by Mark H Weaver. * gnu/packages/gnome.scm (network-manager)[inputs]: Add NEWT. --- gnu/packages/gnome.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 931c50e9db..d9d3fe7939 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -109,6 +109,7 @@ #:use-module (gnu packages rdesktop) #:use-module (gnu packages scanner) #:use-module (gnu packages selinux) + #:use-module (gnu packages slang) #:use-module (gnu packages ssh) #:use-module (gnu packages xml) #:use-module (gnu packages gl) @@ -4967,6 +4968,7 @@ users.") ("libnl" ,libnl) ("libsoup" ,libsoup) ("modem-manager" ,modem-manager) + ("newt" ,newt) ;for the 'nmtui' console interface ("polkit" ,polkit) ("ppp" ,ppp) ("readline" ,readline) From ee217402f7bf4b9fd49250650cf94d882a5e1a23 Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Mon, 31 Jul 2017 01:19:15 +0200 Subject: [PATCH 68/93] gnu: erlang: Update to 20.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/erlang.scm (erlang): Update to 20.0. Signed-off-by: Ludovic Courtès --- gnu/packages/erlang.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index 9658061f21..a400e712d5 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -35,7 +35,7 @@ (define-public erlang (package (name "erlang") - (version "19.3") + (version "20.0") (source (origin (method url-fetch) ;; The tarball from http://erlang.org/download contains many @@ -46,7 +46,7 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1b47jh549yywyp8fbs8a8j4ydr3zn982navzyqvlms6rg8vwb0pw")) + "1azjjyb743i6vjq7rnh5qnslsqg0x60a9zrlhg9n3dpm13z1b22l")) (patches (search-patches "erlang-man-path.patch")))) (build-system gnu-build-system) (native-inputs @@ -62,7 +62,7 @@ version ".tar.gz")) (sha256 (base32 - "0p6r3n3y7lbhv38sw8f2vi1xlmc137gyspk9ap086w1nszyjy6gq")))))) + "1k25p37w1l1j20qd8rga4j4q7s7r0rbsi02x3xwzhw51jhm59wdp")))))) (inputs `(("ncurses" ,ncurses) ("openssl" ,openssl) @@ -111,8 +111,7 @@ (("date\\(\\), time\\(\\),") (date->string source-date-epoch "{~Y,~m,~d}, {~H,~M,~S},"))) - (substitute* '("lib/dialyzer/test/small_SUITE_data/src/gs_make.erl" - "lib/gs/src/gs_make.erl") + (substitute* "lib/dialyzer/test/small_SUITE_data/src/gs_make.erl" (("tuple_to_list\\(date\\(\\)\\),tuple_to_list\\(time\\(\\)\\)") (date->string source-date-epoch From 54727850c39e7e66b4baa79b1437e55e3b4bb46f Mon Sep 17 00:00:00 2001 From: ng0 Date: Sat, 29 Jul 2017 17:26:04 +0000 Subject: [PATCH 69/93] gnu: tor: Remove '--enable-expensive-hardening' option. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/tor.scm (tor)[arguments]: Remove '--enable-expensive-hardening' option. Signed-off-by: Ludovic Courtès --- gnu/packages/tor.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 314901fa4e..1d5a1f1612 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2016, 2017 Efraim Flashner -;;; Copyright © 2016, 2017 ng0 +;;; Copyright © 2016, 2017 ng0 ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Eric Bavier ;;; Copyright © 2017 Rutger Helling @@ -54,8 +54,7 @@ "0hhyb1wil8japynqnm07r1f67w3wdnafdg9amzlrrcfcyq5qim28")))) (build-system gnu-build-system) (arguments - `(#:configure-flags (list "--enable-expensive-hardening" - "--enable-gcc-hardening" + `(#:configure-flags (list "--enable-gcc-hardening" "--enable-linker-hardening"))) (native-inputs `(("python" ,python-2))) ; for tests From f0732ee48586c3be84e4b9edba94740e123fec4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 31 Jul 2017 17:36:24 +0200 Subject: [PATCH 70/93] gnu: guile-bytestructures: Install .go files to lib/guile/X.Y. * gnu/packages/guile.scm (guile-bytestructures)[arguments]: Install .go files to OBJECT-DIR, defined as OUT/lib/guile/X.Y/site-ccache. --- gnu/packages/guile.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 376cdeede8..3fd3f89dc8 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -1573,6 +1573,8 @@ is no support for parsing block and inline level HTML.") "-c" "(display (effective-version))"))) (module-dir (string-append out "/share/guile/site/" effective)) + (object-dir (string-append out "/lib/guile/" effective + "/site-ccache")) (source (getcwd)) (doc (string-append out "/share/doc/scheme-bytestructures")) (sld-files (with-directory-excursion source @@ -1592,7 +1594,7 @@ is no support for parsing block and inline level HTML.") (for-each (lambda (file) (let* ((dest-file (string-append module-dir "/" file)) - (go-file (string-append module-dir "/" + (go-file (string-append object-dir "/" (substring file 0 (string-rindex file #\.)) ".go"))) From a6b5af0cffd1655afc4cc32fd53c4d6f81e5c5f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 31 Jul 2017 22:10:34 +0200 Subject: [PATCH 71/93] gnu: xf86-video-intel: Update snapshot. * gnu/packages/xorg.scm (xf86-video-intel): Update to 2100efa. Introduce 'revision' variable. --- gnu/packages/xorg.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 54167e2fb2..b50807702b 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2864,10 +2864,12 @@ X server.") (define-public xf86-video-intel - (let ((commit "6babcf15dd605ef40de53f5c34f95b7fd195edbe")) + (let ((commit "2100efa105e8c9615eda867d39471d78e500b1bb") + (revision "7")) (package (name "xf86-video-intel") - (version (string-append "2.99.917-6-" (string-take commit 7))) + (version (string-append "2.99.917-" revision "-" + (string-take commit 7))) (source (origin ;; there's no current tarball @@ -2877,7 +2879,7 @@ X server.") (commit commit))) (sha256 (base32 - "055v4z26r00h3mxsd084n3aq8b5h0h3jkv52xss76zgbsq3n2354")) + "15fg844msmixsvlxcd5wm2awmns652sxcxj2wmp6819lr32lc4ir")) (file-name (string-append name "-" version)))) (build-system gnu-build-system) (inputs `(("mesa" ,mesa) From 6ddf97f81bb99a73f00e30ad5fc19577872b5b49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 31 Jul 2017 22:22:27 +0200 Subject: [PATCH 72/93] guix package: Warn when invoked with '-u -something'. Fixes . Reported by Hartmut Goebel . * guix/scripts/package.scm (%options) <"-u">: Emit a warning when ARG starts with "-". --- guix/scripts/package.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index 8da7a3fd3a..b6133b6af0 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -486,6 +486,11 @@ Install, remove, or upgrade packages in a single transaction.\n")) arg-handler)))) (option '(#\u "upgrade") #f #t (lambda (opt name arg result arg-handler) + (when (string-prefix? "-" arg) + (warning (G_ "upgrade regexp '~a' looks like a \ +command-line option~%") + arg) + (warning (G_ "is this intended?~%"))) (let arg-handler ((arg arg) (result result)) (values (alist-cons 'upgrade arg ;; Delete any prior "upgrade all" From e1ecc8908e8cd97c1291740dcd7b57b842f2203b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 31 Jul 2017 22:51:34 +0200 Subject: [PATCH 73/93] gnu: libmicrohttpd: Update to 0.9.55. * gnu/packages/gnunet.scm (libmicrohttpd): Update to 0.9.55. [arguments]: Add 'add-missing-LDFLAGS' phase. --- gnu/packages/gnunet.scm | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 56db405bc8..9ca2d9502b 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Andreas Enge ;;; Copyright © 2014 Sree Harsha Totakura -;;; Copyright © 2015 Ludovic Courtès +;;; Copyright © 2015, 2017 Ludovic Courtès ;;; Copyright © 2015 Efraim Flashner ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2016 Mark H Weaver @@ -144,14 +144,14 @@ tool to extract metadata from a file and print the results.") (define-public libmicrohttpd (package (name "libmicrohttpd") - (version "0.9.52") + (version "0.9.55") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-" version ".tar.gz")) (sha256 (base32 - "1smgxw6jv81yybg86bzr4c2sn7a31apf8q4zz0kpch9xfrp7yyal")))) + "1y6h1slav5l6k8zyb01dpw65dscdgxxgfa3a0z9qnn7jr66sn70c")))) (build-system gnu-build-system) (inputs `(("curl" ,curl) @@ -160,7 +160,17 @@ tool to extract metadata from a file and print the results.") ("openssl" ,openssl) ("zlib" ,zlib))) (arguments - `(#:parallel-tests? #f)) + `(#:parallel-tests? #f + #:phases (modify-phases %standard-phases + (add-before 'check 'add-missing-LDFLAGS + (lambda _ + ;; The two test_upgrade* programs depend on GnuTLS + ;; directly but lack -lgnutls; add it. + (substitute* "src/microhttpd/Makefile" + (("^test_upgrade(.*)LDFLAGS = (.*)$" _ first rest) + (string-append "test_upgrade" first + "LDFLAGS = -lgnutls " rest))) + #t))))) (synopsis "C library implementing an HTTP 1.1 server") (description "GNU libmicrohttpd is a small, embeddable HTTP server implemented as a From befb2c0e6e17ce224586e9c2380f0470a5bef1c8 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 1 Aug 2017 14:09:04 +1000 Subject: [PATCH 74/93] gnu: ruby-bio-commandeer: Update to 0.2.0. * gnu/packages/ruby.scm (ruby-bio-commandeer): Update to 0.2.0. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index bc98dc2845..414b38c4fe 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3627,14 +3627,14 @@ subprocess.") (define-public ruby-bio-commandeer (package (name "ruby-bio-commandeer") - (version "0.1.3") + (version "0.2.0") (source (origin (method url-fetch) (uri (rubygems-uri "bio-commandeer" version)) (sha256 (base32 - "0lin6l99ldqqjc90l9ihcrv882c4xgbgqm16jqkdy6jf955jd9a8")))) + "1xlcnh13r33zybpmqniw0j8q5n0kq9al67ygqpf0xbbwxnnkqqvj")))) (build-system ruby-build-system) (arguments `(#:phases From 3d0fbd3c2f92cee74fd443eb5c252b8dd9b75b43 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 31 Jul 2017 18:56:44 -0400 Subject: [PATCH 75/93] gnu: libgit2: Enable SHA-1 collision detection. * gnu/packages/version-control.scm (libgit2)[arguments]: Enable '-DUSE_SHA1DC' in #:configure-flags. --- gnu/packages/version-control.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index bc4242fc10..9667b2f3ec 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -347,7 +347,8 @@ everything from small to very large projects with speed and efficiency.") (build-system cmake-build-system) (outputs '("out" "debug")) (arguments - `(#:phases + `(#:configure-flags '("-DUSE_SHA1DC=ON") ; SHA-1 collision detection + #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-hardcoded-paths (lambda _ From 269504a797a3e950725e406edf550a03946900ad Mon Sep 17 00:00:00 2001 From: Muriithi Frederick Muriuki Date: Thu, 15 Jun 2017 18:39:05 +0300 Subject: [PATCH 76/93] gnu: python-pbr-minimal: Update to 3.0.1 * gnu/packages/python.scm (python-pbr-minimal): Update to 3.0.1 [source]: Update hash and remove patch. * gnu/packages/patches/python-pbr-fix-man-page-support.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Remove it. Signed-off-by: Efraim Flashner --- gnu/local.mk | 1 - .../python-pbr-fix-man-page-support.patch | 28 ------------------- gnu/packages/python.scm | 5 ++-- 3 files changed, 2 insertions(+), 32 deletions(-) delete mode 100644 gnu/packages/patches/python-pbr-fix-man-page-support.patch diff --git a/gnu/local.mk b/gnu/local.mk index 3fb8f168de..4189703c92 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -971,7 +971,6 @@ dist_patch_DATA = \ %D%/packages/patches/python-pandas-skip-failing-tests.patch \ %D%/packages/patches/python-paste-remove-website-test.patch \ %D%/packages/patches/python-paste-remove-timing-test.patch \ - %D%/packages/patches/python-pbr-fix-man-page-support.patch \ %D%/packages/patches/python-pillow-freetype-2.7-test-failure.patch \ %D%/packages/patches/python-pygit2-disable-network-tests.patch \ %D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \ diff --git a/gnu/packages/patches/python-pbr-fix-man-page-support.patch b/gnu/packages/patches/python-pbr-fix-man-page-support.patch deleted file mode 100644 index b9036f5b01..0000000000 --- a/gnu/packages/patches/python-pbr-fix-man-page-support.patch +++ /dev/null @@ -1,28 +0,0 @@ -See: https://bugs.launchpad.net/oslosphinx/+bug/1661861 -diff -ur orig/pbr-1.10.0/pbr/builddoc.py pbr-1.10.0/pbr/builddoc.py ---- orig/pbr-1.10.0/pbr/builddoc.py 2016-05-23 21:38:18.000000000 +0200 -+++ pbr-1.10.0/pbr/builddoc.py 2017-02-18 14:01:37.424434317 +0100 -@@ -138,7 +138,8 @@ - sphinx_config.init_values(warnings.warn) - else: - sphinx_config.init_values() -- if self.builder == 'man' and len(sphinx_config.man_pages) == 0: -+ if self.builder == 'man' and len( -+ getattr(sphinx_config, 'man_pages', '')) == 0: - return - app = application.Sphinx( - self.source_dir, self.config_dir, -diff -ur orig/pbr-1.10.0/pbr/util.py pbr-1.10.0/pbr/util.py ---- orig/pbr-1.10.0/pbr/util.py 2016-05-23 21:38:18.000000000 +0200 -+++ pbr-1.10.0/pbr/util.py 2017-02-18 15:36:32.951196795 +0100 -@@ -211,7 +211,9 @@ - parser.read(path) - config = {} - for section in parser.sections(): -- config[section] = dict(parser.items(section)) -+ config[section] = dict() -+ for k, value in parser.items(section): -+ config[section][k.replace('-', '_')] = value - - # Run setup_hooks, if configured - setup_hooks = has_get_option(config, 'global', 'setup_hooks') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 2b38202218..21e32c343d 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -2276,15 +2276,14 @@ protocol.") (define python-pbr-minimal (package (name "python-pbr-minimal") - (version "1.10.0") + (version "3.0.1") (source (origin (method url-fetch) (uri (pypi-uri "pbr" version)) (sha256 (base32 - "177kd9kbv1hvf2ban7l3x9ymzbi1md4hkaymwbgnz7ihf312hr0q")) - (patches (search-patches "python-pbr-fix-man-page-support.patch")))) + "14fs5acnalnb3h62s7q7av239j541fk0n0z0lawh4h09b1s93s6p")))) (build-system python-build-system) (arguments `(#:tests? #f)) From 9081a776ea917ca8beda2cf41e8f37575c00deee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 1 Aug 2017 14:18:35 +0200 Subject: [PATCH 77/93] lint: formatting: Detect sexp boundaries. * guix/scripts/lint.scm (report-formatting-issues)[last-line]: Remove. [sexp-last-line]: New procedure. Use it. --- guix/scripts/lint.scm | 41 ++++++++++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm index 04ab852999..aceafc674d 100644 --- a/guix/scripts/lint.scm +++ b/guix/scripts/lint.scm @@ -878,24 +878,39 @@ move to the previous or next line") #:key (reporters %formatting-reporters)) "Report white-space issues in FILE starting from STARTING-LINE, and report them for PACKAGE." - (define last-line - ;; Number of the presumed last line. - ;; XXX: Ideally we'd stop at the boundaries of the surrounding sexp, but - ;; for now just use this simple heuristic. - (+ starting-line 60)) + (define (sexp-last-line port) + ;; Return the last line of the sexp read from PORT or an estimate thereof. + (define &failure (list 'failure)) + + (let ((start (ftell port)) + (start-line (port-line port)) + (sexp (catch 'read-error + (lambda () (read port)) + (const &failure)))) + (let ((line (port-line port))) + (seek port start SEEK_SET) + (set-port-line! port start-line) + (if (eq? sexp &failure) + (+ start-line 60) ;conservative estimate + line)))) (call-with-input-file file (lambda (port) - (let loop ((line-number 1)) + (let loop ((line-number 1) + (last-line #f)) (let ((line (read-line port))) (or (eof-object? line) - (> line-number last-line) - (begin - (unless (< line-number starting-line) - (for-each (lambda (report) - (report package line line-number)) - reporters)) - (loop (+ 1 line-number))))))))) + (and last-line (> line-number last-line)) + (if (and (= line-number starting-line) + (not last-line)) + (loop (+ 1 line-number) + (+ 1 (sexp-last-line port))) + (begin + (unless (< line-number starting-line) + (for-each (lambda (report) + (report package line line-number)) + reporters)) + (loop (+ 1 line-number) last-line))))))))) (define (check-formatting package) "Check the formatting of the source code of PACKAGE." From 12235a124f7fc56d9cd4eaf76a453cf55d3026ea Mon Sep 17 00:00:00 2001 From: Adonay Felipe Nogueira Date: Fri, 28 Jul 2017 11:18:03 -0300 Subject: [PATCH 78/93] gnu: artanis: Unbundled guile-json and version according to documentation. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/guile.scm (artanis): Unbundled guile-json and version according to documentation. Signed-off-by: Ludovic Courtès --- gnu/packages/guile.scm | 130 ++++++++++++++++++++++++----------------- 1 file changed, 78 insertions(+), 52 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 3fd3f89dc8..74aea8e238 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2016 Erik Edrosa ;;; Copyright © 2016 Eraim Flashner ;;; Copyright © 2016, 2017 Alex Kost -;;; Copyright © 2016 Adonay "adfeno" Felipe Nogueira +;;; Copyright © 2016, 2017 Adonay "adfeno" Felipe Nogueira ;;; Copyright © 2016 Amirouche ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2017 Andy Wingo @@ -384,55 +384,81 @@ program can be installed in one go.") ;;; (define-public artanis - (package - (name "artanis") - (version "0.2.1") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/artanis/artanis-" - version ".tar.gz")) - (sha256 - (base32 - "041ajcg2pz918kd9iqcj4inpzddc3impvz3r2nhlpbv8zrz011hn")))) - (build-system gnu-build-system) - ;; TODO: Add guile-dbi and guile-dbd optional dependencies. - (inputs `(("guile" ,guile-2.2))) - (native-inputs `(("bash" ,bash) ;for the `source' builtin - ("pkgconfig" ,pkg-config) - ("util-linux" ,util-linux))) ;for the `script' command - (arguments - '(#:make-flags - ;; TODO: The documentation must be built with the `docs' target. - (let* ((out (assoc-ref %outputs "out")) - (scm (string-append out "/share/guile/site/2.2")) - (go (string-append out "/lib/guile/2.2/site-ccache"))) - ;; Don't use (%site-dir) for site paths. - (list (string-append "MOD_PATH=" scm) - (string-append "MOD_COMPILED_PATH=" go))) - #:test-target "test" - #:phases - (modify-phases %standard-phases - (add-before 'install 'substitute-root-dir - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (substitute* "Makefile" ;ignore the execution of bash.bashrc - ((" /etc/bash.bashrc") " /dev/null")) - (substitute* "Makefile" ;set the root of config files to OUT - ((" /etc") (string-append " " out "/etc"))) - (mkdir-p (string-append out "/bin")) ;for the `art' executable - #t))) - (add-after 'install 'wrap-art - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (scm (string-append out "/share/guile/site/2.2")) - (go (string-append out "/lib/guile/2.2/site-ccache"))) - (wrap-program (string-append bin "/art") - `("GUILE_LOAD_PATH" ":" prefix (,scm)) - `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,go))) - #t)))))) - (synopsis "Web application framework written in Guile") - (description "GNU Artanis is a web application framework written in Guile + (let ((release "0.2.1") + (revision 3)) + (package + (name "artanis") + (version (if (zero? revision) + release + (string-append release "-" + (number->string revision)))) + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/artanis/artanis-" + release ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "041ajcg2pz918kd9iqcj4inpzddc3impvz3r2nhlpbv8zrz011hn")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "artanis/third-party/json.scm") + (delete-file-recursively "artanis/third-party/json") + (substitute* '("artanis/artanis.scm" + "artanis/oht.scm") + (("(#:use-module \\()artanis third-party (json\\))" _ + use-module json) + (string-append use-module json))) + (substitute* "artanis/oht.scm" + (("([[:punct:][:space:]]+)(->json-string)([[:punct:][:space:]]+)" + _ pre json-string post) + (string-append pre + "scm" json-string + post))) + (substitute* "artanis/artanis.scm" + (("[[:punct:][:space:]]+->json-string[[:punct:][:space:]]+") + "")))))) + (build-system gnu-build-system) + ;; TODO: Add guile-dbi and guile-dbd optional dependencies. + (inputs `(("guile" ,guile-2.2) + ("guile-json" ,guile-json))) + (native-inputs `(("bash" ,bash) ;for the `source' builtin + ("pkgconfig" ,pkg-config) + ("util-linux" ,util-linux))) ;for the `script' command + (arguments + '(#:make-flags + ;; TODO: The documentation must be built with the `docs' target. + (let* ((out (assoc-ref %outputs "out")) + (scm (string-append out "/share/guile/site/2.2")) + (go (string-append out "/lib/guile/2.2/site-ccache"))) + ;; Don't use (%site-dir) for site paths. + (list (string-append "MOD_PATH=" scm) + (string-append "MOD_COMPILED_PATH=" go))) + #:test-target "test" + #:phases + (modify-phases %standard-phases + (add-before 'install 'substitute-root-dir + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "Makefile" ;ignore the execution of bash.bashrc + ((" /etc/bash.bashrc") " /dev/null")) + (substitute* "Makefile" ;set the root of config files to OUT + ((" /etc") (string-append " " out "/etc"))) + (mkdir-p (string-append out "/bin")) ;for the `art' executable + #t))) + (add-after 'install 'wrap-art + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (scm (string-append out "/share/guile/site/2.2")) + (go (string-append out "/lib/guile/2.2/site-ccache"))) + (wrap-program (string-append bin "/art") + `("GUILE_LOAD_PATH" ":" prefix (,scm)) + `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,go))) + #t)))))) + (synopsis "Web application framework written in Guile") + (description "GNU Artanis is a web application framework written in Guile Scheme. A web application framework (WAF) is a software framework that is designed to support the development of dynamic websites, web applications, web services and web resources. The framework aims to alleviate the overhead @@ -440,8 +466,8 @@ associated with common activities performed in web development. Artanis provides several tools for web development: database access, templating frameworks, session management, URL-remapping for RESTful, page caching, and more.") - (home-page "https://www.gnu.org/software/artanis/") - (license (list license:gpl3+ license:lgpl3+)))) ;dual license + (home-page "https://www.gnu.org/software/artanis/") + (license (list license:gpl3+ license:lgpl3+))))) ;dual license (define-public guile-reader (package From 04b6d6f7f7a73e39dcff1e2bca3113ea567e2944 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 1 Aug 2017 15:19:38 +0200 Subject: [PATCH 79/93] gnu: guile-ssh: Update to 0.11.2. * gnu/packages/ssh.scm (guile-ssh): Update to 0.11.2. [source]: Remove 'patches', 'modules', and 'snippet'. * gnu/packages/patches/guile-ssh-channel-finalization.patch, gnu/packages/patches/guile-ssh-double-free.patch, gnu/packages/patches/guile-ssh-rexec-bug.patch: Remove. * gnu/local.mk (dist_patch_DATA): Remove them. --- gnu/local.mk | 3 -- .../guile-ssh-channel-finalization.patch | 28 -------------- .../patches/guile-ssh-double-free.patch | 37 ------------------- .../patches/guile-ssh-rexec-bug.patch | 16 -------- gnu/packages/ssh.scm | 16 +------- 5 files changed, 2 insertions(+), 98 deletions(-) delete mode 100644 gnu/packages/patches/guile-ssh-channel-finalization.patch delete mode 100644 gnu/packages/patches/guile-ssh-double-free.patch delete mode 100644 gnu/packages/patches/guile-ssh-rexec-bug.patch diff --git a/gnu/local.mk b/gnu/local.mk index 4189703c92..db8be36fb4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -675,9 +675,6 @@ dist_patch_DATA = \ %D%/packages/patches/guile-present-coding.patch \ %D%/packages/patches/guile-relocatable.patch \ %D%/packages/patches/guile-rsvg-pkgconfig.patch \ - %D%/packages/patches/guile-ssh-channel-finalization.patch \ - %D%/packages/patches/guile-ssh-double-free.patch \ - %D%/packages/patches/guile-ssh-rexec-bug.patch \ %D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \ %D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \ %D%/packages/patches/gtk2-theme-paths.patch \ diff --git a/gnu/packages/patches/guile-ssh-channel-finalization.patch b/gnu/packages/patches/guile-ssh-channel-finalization.patch deleted file mode 100644 index 54b5055a20..0000000000 --- a/gnu/packages/patches/guile-ssh-channel-finalization.patch +++ /dev/null @@ -1,28 +0,0 @@ -Avoid asynchronous channel finalization, which could lead to segfaults due to -libssh not being thread-safe: . - ---- guile-ssh-0.11.0/modules/ssh/dist/node.scm 2017-06-13 14:37:44.861671297 +0200 -+++ guile-ssh-0.11.0/modules/ssh/dist/node.scm 2017-06-13 14:38:02.841580565 +0200 -@@ -391,11 +391,18 @@ listens on an expected port, return #f o - "Evaluate QUOTED-EXP on the node and return the evaluated result." - (let ((repl-channel (node-open-rrepl node))) - (rrepl-skip-to-prompt repl-channel) -- (call-with-values (lambda () (rrepl-eval repl-channel quoted-exp)) -- (lambda vals -- (and (node-stop-repl-server? node) -+ (dynamic-wind -+ (const #t) -+ (lambda () -+ (rrepl-eval repl-channel quoted-exp)) -+ (lambda () -+ (when (node-stop-repl-server? node) - (node-stop-server node)) -- (apply values vals))))) -+ -+ ;; Close REPL-CHANNEL right away to prevent finalization from -+ ;; happening in another thread at the wrong time (see -+ ;; .) -+ (close-port repl-channel))))) - - (define (node-eval-1 node quoted-exp) - "Evaluate QUOTED-EXP on the node and return the evaluated result. The diff --git a/gnu/packages/patches/guile-ssh-double-free.patch b/gnu/packages/patches/guile-ssh-double-free.patch deleted file mode 100644 index 9692b81d39..0000000000 --- a/gnu/packages/patches/guile-ssh-double-free.patch +++ /dev/null @@ -1,37 +0,0 @@ -Fix a double-free or use-after-free issue with Guile-SSH used -with Guile 2.2. See . - -diff --git a/libguile-ssh/channel-type.c b/libguile-ssh/channel-type.c -index 3dd641f..0839854 100644 ---- a/libguile-ssh/channel-type.c -+++ b/libguile-ssh/channel-type.c -@@ -229,10 +229,11 @@ ptob_close (SCM channel) - ssh_channel_free (ch->ssh_channel); - } - -+ SCM_SETSTREAM (channel, NULL); -+ - #if USING_GUILE_BEFORE_2_2 - scm_gc_free (pt->write_buf, pt->write_buf_size, "port write buffer"); - scm_gc_free (pt->read_buf, pt->read_buf_size, "port read buffer"); -- SCM_SETSTREAM (channel, NULL); - - return 0; - #endif -diff --git a/libguile-ssh/sftp-file-type.c b/libguile-ssh/sftp-file-type.c -index 8879924..f87cf03 100644 ---- a/libguile-ssh/sftp-file-type.c -+++ b/libguile-ssh/sftp-file-type.c -@@ -224,10 +224,11 @@ ptob_close (SCM sftp_file) - sftp_close (fd->file); - } - -+ SCM_SETSTREAM (sftp_file, NULL); -+ - #if USING_GUILE_BEFORE_2_2 - scm_gc_free (pt->write_buf, pt->write_buf_size, "port write buffer"); - scm_gc_free (pt->read_buf, pt->read_buf_size, "port read buffer"); -- SCM_SETSTREAM (sftp_file, NULL); - - return 1; - #endif diff --git a/gnu/packages/patches/guile-ssh-rexec-bug.patch b/gnu/packages/patches/guile-ssh-rexec-bug.patch deleted file mode 100644 index 363fea38c9..0000000000 --- a/gnu/packages/patches/guile-ssh-rexec-bug.patch +++ /dev/null @@ -1,16 +0,0 @@ -Fix a bug whereby 'node-guile-version' would pass a node instead of -a session to 'rexec'. - -diff --git a/modules/ssh/dist/node.scm b/modules/ssh/dist/node.scm -index 9c065c7..29a3906 100644 ---- a/modules/ssh/dist/node.scm -+++ b/modules/ssh/dist/node.scm -@@ -411,7 +411,8 @@ procedure returns the 1st evaluated value if multiple values were returned." - "Get Guile version installed on a NODE, return the version string. Return - #f if Guile is not installed." - (receive (result rc) -- (rexec node "which guile > /dev/null && guile --version") -+ (rexec (node-session node) -+ "which guile > /dev/null && guile --version") - (and (zero? rc) - (car result)))) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 22737b7aec..55689a6c6d 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -215,7 +215,7 @@ Additionally, various channel-specific options can be negotiated.") (define-public guile-ssh (package (name "guile-ssh") - (version "0.11.0") + (version "0.11.2") (home-page "https://github.com/artyom-poptsov/guile-ssh") (source (origin ;; ftp://memory-heap.org/software/guile-ssh/guile-ssh-VERSION.tar.gz @@ -227,19 +227,7 @@ Additionally, various channel-specific options can be negotiated.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0r261i8kc3avbmbwgyzak2vnqwssjlgz37g2y2fwm80w9bmn2m7j")) - (patches (search-patches "guile-ssh-rexec-bug.patch" - "guile-ssh-double-free.patch" - "guile-ssh-channel-finalization.patch")) - (modules '((guix build utils))) - (snippet - ;; 'configure.ac' mistakenly tries to link files from examples/ - ;; that are not instantiated yet. Work around it. - '(substitute* "configure.ac" - (("AC_CONFIG_LINKS\\(\\[examples/([^:]+):.*" _ file) - (string-append "AC_CONFIG_FILES([examples/" file - "], [chmod +x examples/" - file "])\n")))))) + "1w0k5s09xj5xycb7lbp5b7rm0xncclms3jwl98lwj8fxwngi1s90")))) (build-system gnu-build-system) (outputs '("out" "debug")) (arguments From 1f0d47059d31bbbaf588a4ca2de38d2ded8678cc Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Sat, 22 Jul 2017 18:57:02 -0400 Subject: [PATCH 80/93] gnu: emacs-yasnippet: Upgrade to 0.12.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs.scm (emacs-yasnippet): Upgrade to 0.12.0. [source]: Remove an uninstalled directory from yas-snippet-dirs. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs.scm | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 02e7a9e908..f6411c78c7 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4112,7 +4112,7 @@ mode-line.") (define-public emacs-yasnippet (package (name "emacs-yasnippet") - (version "0.11.0") + (version "0.12.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/joaotavora/yasnippet/" @@ -4120,7 +4120,18 @@ mode-line.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "15di6mkkf09b7qddpsrm0qln02hji3sx8blya5jxssi9wxxx9iq5")))) + "1yqiprighgqz1hsslph50cy09xxqabc06jffrnjcsdf6nj70xlkc")) + (modules '((guix build utils))) + (snippet + '(begin + ;; YASnippet expects a "snippets" subdirectory in the same + ;; directory as yasnippet.el, but we don't install it + ;; because it's a git submodule pointing to an external + ;; repository. Adjust `yas-snippet-dirs' to prevent + ;; warnings about a missing directory. + (substitute* "yasnippet.el" + (("^ +'yas-installed-snippets-dir\\)\\)\n") + "))\n")))))) (build-system emacs-build-system) (home-page "https://github.com/joaotavora/yasnippet") (synopsis "Yet another snippet extension for Emacs") From 4bfdf034e24853ddea52d2aafd00036981bd187f Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Sat, 22 Jul 2017 18:57:03 -0400 Subject: [PATCH 81/93] gnu: Add emacs-yasnippet-snippets. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs.scm (emacs-yasnippet-snippets): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs.scm | 45 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index f6411c78c7..917c511f32 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4140,6 +4140,51 @@ mode-line.") abbreviation and automatically expand it into function templates.") (license license:gpl3+))) +(define-public emacs-yasnippet-snippets + (let ((commit "885050d34737e2fb36a3e7759d60c09347bd4ce0") + (revision "1")) + (package + (name "emacs-yasnippet-snippets") + (version (string-append "1-" revision "." (string-take commit 8))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/AndreaCrotti/yasnippet-snippets") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1m935zgglw0iakzrixld5rcjz3wnj84f8wy2mvc3pggjri9l0qr9")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((ice-9 ftw) + (ice-9 regex) + (guix build utils)) + #:builder + (begin + (use-modules (ice-9 ftw) + (ice-9 regex) + (guix build utils)) + (with-directory-excursion (assoc-ref %build-inputs "source") + (for-each (lambda (dir) + (copy-recursively + dir + (string-append %output + "/share/emacs/yasnippet-snippets/" + dir))) + (scandir "." (lambda (fname) + (and (string-match "-mode$" fname) + (directory-exists? fname))))))))) + (home-page "https://github.com/AndreaCrotti/yasnippet-snippets") + (synopsis "Collection of YASnippet snippets for many languages") + (description + "Provides Andrea Crotti's collection of YASnippet snippets. After installation, +the snippets will be in \"~/.guix-profile/share/emacs/yasnippet-snippets/\". +To make YASnippet aware of these snippets, add the above directory to +@code{yas-snippet-dirs}.") + (license license:expat)))) + (define-public emacs-memoize (package (name "emacs-memoize") From d931a4bbeb4a23a26fa046bdc34c618b75bc94f1 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 1 Aug 2017 17:24:56 +0300 Subject: [PATCH 82/93] gnu: metabat: Limit to x86_64 and i686 only. * gnu/packages/bioinformatics.scm (metabat)[supported-systems]: New field. --- gnu/packages/bioinformatics.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 614a7d4075..909044f2fd 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3546,6 +3546,8 @@ sequences to deconvolute complex microbial communities, or metagenome binning, enables the study of individual organisms and their interactions. MetaBAT is an automated metagenome binning software, which integrates empirical probabilistic distances of genome abundance and tetranucleotide frequency.") + ;; The source code contains inline assembly. + (supported-systems '("x86_64-linux" "i686-linux")) (license (license:non-copyleft "file://license.txt" "See license.txt in the distribution.")))) From 89c9445aa27036a13ed485c0f5eda59314152927 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Tue, 1 Aug 2017 12:14:54 -0400 Subject: [PATCH 83/93] gnu: hyperrogue: Update to 10.0e. * gnu/packages/games.scm (hyperrogue): Update to 10.0e. [arguments]: Adjust accordingly. --- gnu/packages/games.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 069fa1d651..3093b77aea 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -3532,7 +3532,7 @@ throwing people around in pseudo-randomly generated buildings.") (define-public hyperrogue (package (name "hyperrogue") - (version "9.4n") + (version "10.0e") ;; When updating this package, be sure to update the "hyperrogue-data" ;; origin in native-inputs. (source (origin @@ -3543,7 +3543,7 @@ throwing people around in pseudo-randomly generated buildings.") "-src.tgz")) (sha256 (base32 - "1kf9i9gqadnb0m143c860dcvdn91vp6vnfzma4bcgfgwmcn9sx0r")))) + "1p6fam73khhys54098qsgmp52d0rnqc3k5hknjig0znvfb2kwi38")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target @@ -3565,7 +3565,7 @@ throwing people around in pseudo-randomly generated buildings.") "/share/fonts/truetype")) (dejavu-font "DejaVuSans-Bold.ttf") (music-file "hyperrogue-music.txt")) - (substitute* "graph.cpp" + (substitute* "basegraph.cpp" ((dejavu-font) (string-append dejavu-dir "/" dejavu-font))) (substitute* "sound.cpp" @@ -3618,7 +3618,7 @@ throwing people around in pseudo-randomly generated buildings.") "-win.zip")) (sha256 (base32 - "1vrk0k0ch3azpa72y7acmmpifvks6c0466fvmz804hici93pglvi")))) + "1z9w3nd57ybnf4w7ckhhp5vfws2hwd8x26fx6h496f6160fgcj6m")))) ("unzip" ,unzip))) (inputs `(("font-dejavu" ,font-dejavu) From f2e1271809f0aaf33ff1afa082bf2e00af8633cf Mon Sep 17 00:00:00 2001 From: ng0 Date: Sun, 30 Apr 2017 19:09:00 +0000 Subject: [PATCH 84/93] gnu: Add pidentd. * gnu/packages/networking.scm (pidentd): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/networking.scm | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 5f555ee67f..6dd6046461 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2016 John Darrington ;;; Copyright © 2016 Nicolas Goaziou ;;; Copyright © 2016 Eric Bavier -;;; Copyright © 2016, 2017 ng0 +;;; Copyright © 2016, 2017 ng0 ;;; Copyright © 2016, 2017 Arun Isaac ;;; Copyright © 2016 Benz Schenk ;;; Copyright © 2016, 2017 Pjotr Prins @@ -1270,6 +1270,32 @@ enabled due to license conflicts between the BSD advertising clause and the GPL. ;; distribution for clarification. (license (list license:bsd-3 license:bsd-4)))) +(define-public pidentd + (package + (name "pidentd") + (version "3.0.19") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/ptrrkssn/pidentd/archive/" + "v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0y3kd1bkydqkpc1qdff24yswysamsqivvadjy0468qri5730izgc")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f)) ; No tests are included + (inputs + `(("openssl" ,openssl))) ; For the DES library + (home-page "https://www.lysator.liu.se/~pen/pidentd/") + (synopsis "Small Ident Daemon") + (description + "@dfn{Pidentd} (Peter's Ident Daemon) is a identd, which implements a +identification server. Pidentd looks up specific TCP/IP connections and +returns the user name and other information about the connection.") + (license license:public-domain))) + (define-public spiped (package (name "spiped") From d0386db49327c312c2957e3453d9f12fb5863113 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 1 Aug 2017 13:09:26 -0400 Subject: [PATCH 85/93] gnu: rapidjson: Update to 1.1.0. * gnu/packages/web.scm (rapidjson): Update to 1.1.0. [source]: Remove snippet. --- gnu/packages/web.scm | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 66183273e6..f03f67bf8c 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -449,7 +449,7 @@ current version of any major web browser.") (define-public rapidjson (package (name "rapidjson") - (version "1.0.2") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append @@ -458,13 +458,7 @@ current version of any major web browser.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0rl6s0vg5y1dhh9vfl1lqay3sxf69sxjh0czxrjmasn7ng91wwf3")) - (modules '((guix build utils))) - (snippet - ;; Building with GCC 4.8 with -Werror was fine, but 4.9.3 - ;; complains in new ways, so turn of -Werror. - '(substitute* (find-files "." "^CMakeLists\\.txt$") - (("-Werror") ""))))) + "13nrpvw8f1wx0ga7svbzld7pgrv8l172nangpipnj7jaf0lysz5z")))) (build-system cmake-build-system) (arguments `(,@(if (string-prefix? "aarch64" (or (%current-target-system) From a60667245f7b31abba5cb5bb4e5a435816b82950 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 1 Aug 2017 23:02:26 +0300 Subject: [PATCH 86/93] guix package: Allow `guix package -u' to fuction as before. This is a follow up to 6ddf97f81bb99a73f00e30ad5fc19577872b5b49 * guix/scripts/package.scm (%options) <"-u">: Only check for a flag when there is an ARG after '-u'. --- guix/scripts/package.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index b6133b6af0..fa45bd48a6 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -486,7 +486,7 @@ Install, remove, or upgrade packages in a single transaction.\n")) arg-handler)))) (option '(#\u "upgrade") #f #t (lambda (opt name arg result arg-handler) - (when (string-prefix? "-" arg) + (when (and arg (string-prefix? "-" arg)) (warning (G_ "upgrade regexp '~a' looks like a \ command-line option~%") arg) From 5d7e8543659874682b618bba799ba7cd6ffce554 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Tue, 1 Aug 2017 22:57:22 +0200 Subject: [PATCH 87/93] graph: Provide access to the package record in the emit functions. * guix/graph.scm (export-graph): Pass the node to the emit functions, instead of the node's label. --- guix/graph.scm | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/guix/graph.scm b/guix/graph.scm index d7fd5f3e4b..5b650f5448 100644 --- a/guix/graph.scm +++ b/guix/graph.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016 Ludovic Courtès ;;; Copyright © 2016 Ricardo Wurmus +;;; Copyright © 2017 Roel Janssen ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,6 +23,7 @@ #:use-module (guix monads) #:use-module (guix records) #:use-module (guix sets) + #:use-module (guix packages) #:use-module (rnrs io ports) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) @@ -170,9 +172,9 @@ typically returned by 'node-edges' or 'node-back-edges'." name)) (define (emit-epilogue port) (display "\n}\n" port)) -(define (emit-node id label port) +(define (emit-node id node port) (format port " \"~a\" [label = \"~a\", shape = box, fontname = Helvetica];~%" - id label)) + id (package-full-name node))) (define (emit-edge id1 id2 port) (format port " \"~a\" -> \"~a\" [color = ~a];~%" id1 id2 (pop-color id1))) @@ -213,11 +215,11 @@ var nodes = {}, (format port "" (search-path %load-path "graph.js"))) -(define (emit-d3js-node id label port) +(define (emit-d3js-node id node port) (format port "\ nodes[\"~a\"] = {\"id\": \"~a\", \"label\": \"~a\", \"index\": nodeArray.length}; nodeArray.push(nodes[\"~a\"]);~%" - id id label id)) + id id (package-full-name node) id)) (define (emit-d3js-edge id1 id2 port) (format port "links.push({\"source\": \"~a\", \"target\": \"~a\"});~%" @@ -241,9 +243,9 @@ nodeArray.push(nodes[\"~a\"]);~%" (define (emit-cypher-epilogue port) (format port "")) -(define (emit-cypher-node id label port) +(define (emit-cypher-node id node port) (format port "MERGE (p:Package { id: ~s }) SET p.name = ~s;~%" - id label )) + id (package-name node))) (define (emit-cypher-edge id1 id2 port) (format port "MERGE (a:Package { id: ~s });~%" id1) @@ -296,7 +298,7 @@ true, draw reverse arrows." (ids (mapm %store-monad node-identifier dependencies))) - (emit-node id (node-label head) port) + (emit-node id head port) (for-each (lambda (dependency dependency-id) (if reverse-edges? (emit-edge dependency-id id port) From cdf124c60798b0e334dd0ac6d7a95f4709cca090 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Tue, 1 Aug 2017 23:06:02 +0200 Subject: [PATCH 88/93] gnu: r-foreign: Remove duplicate recipe. * gnu/packages/statistics.scm (r-foreign): Remove duplicate recipe. --- gnu/packages/statistics.scm | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index e9bda5c1fa..ff6c12b543 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1602,26 +1602,6 @@ It is based on the methods described in Kaufman and Rousseeuw (1990) \"Finding Groups in Data\".") (license license:gpl2+))) -(define-public r-foreign - (package - (name "r-foreign") - (version "0.8-67") - (source - (origin - (method url-fetch) - (uri (cran-uri "foreign" version)) - (sha256 - (base32 - "1mcrm2pydimbyjhkrw5h380bifj1jhwzifph1xgh90asf3lvd1xd")))) - (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/foreign") - (synopsis "Read data stored by other statistics software in R") - (description - "This package provides functions for reading and writing data stored by -some versions of Epi Info, Minitab, S, SAS, SPSS, Stata, Systat and Weka, and -for reading and writing some dBase files.") - (license license:gpl2+))) - (define-public r-formula (package (name "r-formula") From 14fce399ccf3384385c6bb89db1dc1cee111e2a3 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Tue, 1 Aug 2017 23:06:41 +0200 Subject: [PATCH 89/93] gnu: r-foreign: Update hash after upstream tarball change. * gnu/packages/statistics.scm (r-foreign): Update hash. The only difference in the tarball is the metadata. The contents are identical. --- gnu/packages/statistics.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index ff6c12b543..99fd2e8d12 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -373,7 +373,7 @@ Hubert, based on Kaufman and Rousseeuw (1990) \"Finding Groups in Data\".") (uri (cran-uri "foreign" version)) (sha256 (base32 - "1mcrm2pydimbyjhkrw5h380bifj1jhwzifph1xgh90asf3lvd1xd")))) + "0j0z815zyp8n97rk6hlk68d1r8b26vls39s03viq0pnx3cbpwyga")))) (build-system r-build-system) (home-page "http://cran.r-project.org/web/packages/foreign") (synopsis "Read data stored by other statistics software") From b73e49f595635d191b98997e4c6cce67b1bbe071 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 1 Aug 2017 23:28:23 +0200 Subject: [PATCH 90/93] gnu: git: Update to 2.13.4. * gnu/packages/version-control.scm (git): Update to 2.13.4. --- gnu/packages/version-control.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 9667b2f3ec..9274a93f6a 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -120,14 +120,14 @@ as well as the classic centralized workflow.") (define-public git (package (name "git") - (version "2.13.3") + (version "2.13.4") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/scm/git/git-" version ".tar.xz")) (sha256 (base32 - "0qiy696pwqhbxcrvm3zhyjnfjrym541glhvgc4cynrwg8az27ali")))) + "1nmg0n9l5ix876iqhcyhdnmiy7ihv0ybdijf1lssch6ja8m5j6ip")))) (build-system gnu-build-system) (native-inputs `(("native-perl" ,perl) @@ -140,7 +140,7 @@ as well as the classic centralized workflow.") version ".tar.xz")) (sha256 (base32 - "1hl1fhbr3jn4y9pkj26kk9frj6wjlxiphl7x5c9ma6x4081xna0i")))))) + "0ljxkfi7ski9bgpdb8xpikl1xgjjk7bdzmzzkbj93jybk6iajkv7")))))) (inputs `(("curl" ,curl) ("expat" ,expat) From 7d960db1e3968aa87dc973c8dc863844f099f240 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 1 Aug 2017 23:35:03 +0200 Subject: [PATCH 91/93] gnu: slop: Update to 7.3.48. * gnu/packages/xdisorg.scm (slop): Update to 7.3.48. --- gnu/packages/xdisorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 84794a05c3..6f3c4cea8a 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -443,7 +443,7 @@ of the screen selected by mouse.") (define-public slop (package (name "slop") - (version "6.3.47") + (version "7.3.48") (source (origin (method url-fetch) (uri (string-append @@ -452,7 +452,7 @@ of the screen selected by mouse.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1kjivsq4c7dr7ggp44k09xm97i9chg8czvachqrfnv6fiqvwys0i")))) + "14igmf6a6vwx75gjnj10497n04klc35dvq87id8g9jn9rd3m6n25")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no "check" target From 1926fd2baa8e1d2363e0aeead9a69a01d4140232 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 1 Aug 2017 23:35:31 +0200 Subject: [PATCH 92/93] gnu: maim: Update to 5.4.66. * gnu/packages/xdisorg.scm (maim): Update to 5.4.66. --- gnu/packages/xdisorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 6f3c4cea8a..31d39ea1ff 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -476,7 +476,7 @@ selection's dimensions to stdout.") (define-public maim (package (name "maim") - (version "5.4.64") + (version "5.4.66") (source (origin (method url-fetch) (uri (string-append @@ -485,7 +485,7 @@ selection's dimensions to stdout.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0y7ajwcp6x9q7581alz2b5xqijs5cb9l38h10fzinswqrcz53ak1")))) + "077aww1fab3ihzxdybxpdh0h3d7fbgpvsm9q92byfb2ig32viyfa")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no "check" target From fc8f0631b4163d31a97fccb9a14201b5e861fa52 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 1 Aug 2017 23:37:20 +0200 Subject: [PATCH 93/93] gnu: re2: Update to 2017-08-01. * gnu/packages/regex.scm (re2): Update to 2017-08-01. --- gnu/packages/regex.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm index 275912b9d0..f35d3e63aa 100644 --- a/gnu/packages/regex.scm +++ b/gnu/packages/regex.scm @@ -28,7 +28,7 @@ (define-public re2 (package (name "re2") - (version "2017-07-01") + (version "2017-08-01") (source (origin (method url-fetch) (uri @@ -38,7 +38,7 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "07jbhcfpa4z8ra08q0i7j9p9sq6yy1wdx09laysz9jysgkc6mw76")))) + "0dhndzr4ncdpa3yq22qlzxk7i1vlrcdg9z65k0k3j9bi37f271wk")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system)