From 2170cc76d4b2c47ccb831a706e8f40669c156e60 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Wed, 12 Jul 2017 19:55:54 +0530 Subject: [PATCH 001/287] gnu: graphviz: Use modify-phases. * gnu/packages/graphviz.scm (graphviz): Re-indent. [arguments]: Use modify-phases instead of alist-cons-before and alist-cons-after. Return #t from move-guile-bindings phase. --- gnu/packages/graphviz.scm | 76 +++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 39 deletions(-) diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm index d47d45e527..d11160cbb1 100644 --- a/gnu/packages/graphviz.scm +++ b/gnu/packages/graphviz.scm @@ -46,49 +46,47 @@ (name "graphviz") (version "2.38.0") (source (origin - (method url-fetch) - (uri (string-append - "http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-" - version ".tar.gz")) - (sha256 - (base32 - "17l5czpvv5ilmg17frg0w4qwf89jzh2aglm9fgx0l0aakn6j7al1")))) + (method url-fetch) + (uri (string-append + "http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-" + version ".tar.gz")) + (sha256 + (base32 + "17l5czpvv5ilmg17frg0w4qwf89jzh2aglm9fgx0l0aakn6j7al1")))) (build-system gnu-build-system) (arguments ;; FIXME: rtest/rtest.sh is a ksh script (!). Add ksh as an input. '(#:tests? #f - - #:phases (alist-cons-before - 'build 'pre-build - (lambda _ - ;; Work around bogus makefile when using an external - ;; libltdl. Failing to do so, one hits this error: - ;; "No rule to make target `-lltdl', needed by `libgvc.la'." - (substitute* "lib/gvc/Makefile" - (("am__append_5 *=.*") - "am_append_5 =\n"))) - (alist-cons-after - 'install 'move-docs - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (doc (assoc-ref outputs "doc"))) - (mkdir-p (string-append doc "/share/graphviz")) - (rename-file (string-append out "/share/graphviz/doc") - (string-append doc "/share/graphviz/doc")) - #t)) - (alist-cons-after - 'move-docs 'move-guile-bindings - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib")) - (extdir (string-append lib - "/guile/2.0/extensions"))) - (mkdir-p extdir) - (rename-file (string-append - lib "/graphviz/guile/libgv_guile.so") - (string-append extdir - "/libgv_guile.so")))) - %standard-phases))))) + #:phases + (modify-phases %standard-phases + (add-before 'build 'pre-build + (lambda _ + ;; Work around bogus makefile when using an external + ;; libltdl. Failing to do so, one hits this error: + ;; "No rule to make target `-lltdl', needed by `libgvc.la'." + (substitute* "lib/gvc/Makefile" + (("am__append_5 *=.*") + "am_append_5 =\n")))) + (add-after 'install 'move-docs + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc "/share/graphviz")) + (rename-file (string-append out "/share/graphviz/doc") + (string-append doc "/share/graphviz/doc")) + #t))) + (add-after 'move-docs 'move-guile-bindings + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib")) + (extdir (string-append lib + "/guile/2.0/extensions"))) + (mkdir-p extdir) + (rename-file (string-append + lib "/graphviz/guile/libgv_guile.so") + (string-append extdir + "/libgv_guile.so")) + #t)))))) (inputs `(("libXrender" ,libxrender) ("libX11" ,libx11) From cca9c756613201baec6655b4d7376727179e9951 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Wed, 12 Jul 2017 19:55:55 +0530 Subject: [PATCH 002/287] gnu: graphviz: Update to 2.40.1. * gnu/packages/graphviz.scm (graphviz): Update to 2.40.1. [arguments]: Remove pre-build phase. --- gnu/packages/graphviz.scm | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm index d11160cbb1..6724ba6d7d 100644 --- a/gnu/packages/graphviz.scm +++ b/gnu/packages/graphviz.scm @@ -44,7 +44,7 @@ (define-public graphviz (package (name "graphviz") - (version "2.38.0") + (version "2.40.1") (source (origin (method url-fetch) (uri (string-append @@ -52,21 +52,13 @@ version ".tar.gz")) (sha256 (base32 - "17l5czpvv5ilmg17frg0w4qwf89jzh2aglm9fgx0l0aakn6j7al1")))) + "08d4ygkxz2f553bxj6087da56a23kx1khv0j8ycxa102vvx1hlna")))) (build-system gnu-build-system) (arguments ;; FIXME: rtest/rtest.sh is a ksh script (!). Add ksh as an input. '(#:tests? #f #:phases (modify-phases %standard-phases - (add-before 'build 'pre-build - (lambda _ - ;; Work around bogus makefile when using an external - ;; libltdl. Failing to do so, one hits this error: - ;; "No rule to make target `-lltdl', needed by `libgvc.la'." - (substitute* "lib/gvc/Makefile" - (("am__append_5 *=.*") - "am_append_5 =\n")))) (add-after 'install 'move-docs (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) From 28a96f2aa1feb62ca8943f2b6e4cecb35021763f Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Wed, 12 Jul 2017 19:55:56 +0530 Subject: [PATCH 003/287] gnu: wayland: Add workaround for graphviz 2.40.1. * gnu/packages/freedesktop.scm (wayland)[arguments]: Add fix-graphviz phase. --- gnu/packages/freedesktop.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index a9a7e08da1..d0d7604b1e 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -367,7 +367,17 @@ Python.") (base32 "0lgywr1m0d79vr4s8aimj8a307nss29hhy68gjpqj7m667055c39")))) (build-system gnu-build-system) - (arguments `(#:parallel-tests? #f)) + (arguments + `(#:parallel-tests? #f + #:phases + (modify-phases %standard-phases + ;; Remove record shapes to workaround graphviz 2.40.1 problems + ;; http://www.graphviz.org/content/i-havent-been-able-render-these-files-graphviz-226 + ;; This will likely be fixed upstream in the next release + (add-before 'build 'fix-graphviz + (lambda _ + (substitute* "doc/doxygen/dot/x-architecture.gv" + (("Mrecord") "none"))))))) (native-inputs `(("doxygen" ,doxygen) ("graphviz" ,graphviz) From d670267cbdceb4c234bac4467ac7bacc081b85dd Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Wed, 19 Jul 2017 14:46:30 +0530 Subject: [PATCH 004/287] gnu: wayland: Improve fix-graphviz phase. * gnu/packages/freedesktop.scm (wayland)[arguments]: Return #t from fix-graphviz phase. Add punctuation and upstream bug report link to comments. --- gnu/packages/freedesktop.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index d0d7604b1e..df2fe787fb 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -371,13 +371,15 @@ Python.") `(#:parallel-tests? #f #:phases (modify-phases %standard-phases - ;; Remove record shapes to workaround graphviz 2.40.1 problems + ;; Remove record shapes to workaround graphviz 2.40.1 problems. ;; http://www.graphviz.org/content/i-havent-been-able-render-these-files-graphviz-226 - ;; This will likely be fixed upstream in the next release + ;; This will likely be fixed upstream in the next release. + ;; https://lists.freedesktop.org/archives/wayland-devel/2017-June/034218.html (add-before 'build 'fix-graphviz (lambda _ (substitute* "doc/doxygen/dot/x-architecture.gv" - (("Mrecord") "none"))))))) + (("Mrecord") "none")) + #t))))) (native-inputs `(("doxygen" ,doxygen) ("graphviz" ,graphviz) From 0963e3e450e85e3cf59b92fd28c771e8cbaaee2a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 23 Jul 2017 19:05:45 +0200 Subject: [PATCH 005/287] gnu: lzip: Update to 1.19. * gnu/packages/compression.scm (lzip): Update to 1.19. [description]: Fix minor typo. --- gnu/packages/compression.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index ede35f9f5b..f68bcc60f0 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -462,21 +462,21 @@ some compression ratio).") (define-public lzip (package (name "lzip") - (version "1.16") + (version "1.19") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/lzip/lzip-" version ".tar.gz")) (sha256 (base32 - "0l9724rw1l3hg2ldr3n7ihqich4m9nc6y7l302bvdj4jmxdw530j")))) + "1abbch762gv8rjr579q3qyyk6c80plklbv2mw4x0vg71dgsw9bgz")))) (build-system gnu-build-system) (home-page "http://www.nongnu.org/lzip/lzip.html") (synopsis "Lossless data compressor based on the LZMA algorithm") (description "Lzip is a lossless data compressor with a user interface similar to the one of gzip or bzip2. Lzip decompresses almost as fast as gzip and compresses -more than bzip2, which makes it well suited for software distribution and data +more than bzip2, which makes it well-suited for software distribution and data archiving. Lzip is a clean implementation of the LZMA algorithm.") (license license:gpl3+))) From 911c42de40149013ec4d1d8cc3f4b49724195937 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 10 Aug 2017 17:24:21 +0200 Subject: [PATCH 006/287] =?UTF-8?q?gnu:=20cunit:=20Use=20=E2=80=98modify-p?= =?UTF-8?q?hases=E2=80=99=20syntax.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/check.scm (cunit)[arguments]: Use ‘modify-phases’. --- gnu/packages/check.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 4b59ac567d..365cc5782e 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -74,11 +74,10 @@ source code editors and IDEs.") "057j82da9vv4li4z5ri3227ybd18nzyq81f6gsvhifs5z0vr3cpm")))) (build-system gnu-build-system) (arguments '(#:phases - (alist-cons-before - 'configure 'autoconf - (lambda _ - (zero? (system* "autoreconf" "-vfi"))) - %standard-phases))) + (modify-phases %standard-phases + (add-before 'configure 'autoconf + (lambda _ + (zero? (system* "autoreconf" "-vfi"))))))) (native-inputs `(("automake" ,automake) ("autoconf" ,autoconf) From 9d1cc6bc69d53bf8ad45ac94bc3c268125f86359 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 18 Aug 2017 15:09:19 +0200 Subject: [PATCH 007/287] gnu: bluez: Update to 5.46. * gnu/packages/linux.scm (bluez): Update to 5.46. --- 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 1a9e9d709b..54cf800f0f 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2889,7 +2889,7 @@ Bluetooth audio output devices like headphones or loudspeakers.") (define-public bluez (package (name "bluez") - (version "5.45") + (version "5.46") (source (origin (method url-fetch) (uri (string-append @@ -2897,7 +2897,7 @@ Bluetooth audio output devices like headphones or loudspeakers.") version ".tar.xz")) (sha256 (base32 - "1sb4aflgyrl7apricjipa8wx95qm69yja0lmn2f19g560c3v1b2c")))) + "0a4fj343bdqsfyv12hmj9nym0ilsf0bvm54a4apbiby16ww3vayx")))) (build-system gnu-build-system) (arguments '(#:configure-flags From 7035d2dd698a8a4af07894670bbc2f504089d2c7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 29 Jul 2017 16:27:33 +0200 Subject: [PATCH 008/287] gnu: libva: Update to 1.8.3. GitHub is now the canonical distribution point of libva: * gnu/packages/video.scm (libva): Update to 1.8.3. [source](uri): Add new download location. --- gnu/packages/video.scm | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 4ce2a8f401..0ab6442d43 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -530,15 +530,19 @@ libebml is a C++ library to read and write EBML files.") (define-public libva (package (name "libva") - (version "1.8.2") + (version "1.8.3") (source (origin (method url-fetch) - (uri (string-append - "https://www.freedesktop.org/software/vaapi/releases/libva/libva-" - version".tar.bz2")) + (uri (list + ;; Newer releases are only available on GitHub. + (string-append "https://github.com/01org/libva/releases/download/" + version "/libva-" version ".tar.bz2") + ;; Keep the old URL around for compatibility. + (string-append "https://www.freedesktop.org/software/vaapi/releases/" + "libva/libva-" version "/libva-" version ".tar.bz2"))) (sha256 - (base32 "1pnfl3q7dzxs26l3jk9xi97gr0qwnaz6dhvf9ifp2yplr3fy7lwy")))) + (base32 "16xbk0awl7wp0vy0nyjvxk11spbw25mp8kwd9bmhd6x9xffi5vjn")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From 9238a9c086cc4ebac078080c1e7201c570660031 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 29 Jul 2017 17:23:33 +0200 Subject: [PATCH 009/287] gnu: dbus: Update to 1.10.22. * gnu/packages/glib.scm (dbus): Update to 1.10.22. --- gnu/packages/glib.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index c5c48731fe..2caafd416d 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -67,7 +67,7 @@ (define dbus (package (name "dbus") - (version "1.10.18") + (version "1.10.22") (source (origin (method url-fetch) (uri (string-append @@ -75,7 +75,7 @@ version ".tar.gz")) (sha256 (base32 - "0jjirhw6xwz2ffmbg5kr79108l8i1bdaw7szc67n3qpkygaxsjb0")) + "15vv9gz5i4f5l7h0d045qz5iyvl89hjk2k83lb4vbizd7qg41cg2")) (patches (search-patches "dbus-helper-search-path.patch")))) (build-system gnu-build-system) (arguments From 66d4cd7978d41cfde5047f281dc17693bbd4610e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 29 Jul 2017 18:34:15 +0200 Subject: [PATCH 010/287] gnu: util-linux: Update to 2.30.1. * gnu/packages/linux.scm (util-linux): Update to 2.30.1. --- 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 304e0b7efa..82d8fe3e5f 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -501,7 +501,7 @@ providing the system administrator with some help in common tasks.") (define-public util-linux (package (name "util-linux") - (version "2.30") + (version "2.30.1") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/utils/" @@ -509,7 +509,7 @@ providing the system administrator with some help in common tasks.") name "-" version ".tar.xz")) (sha256 (base32 - "13d0ax8bcapga8phj2nclx86w57ddqxbr98ajibpzjq6d7zs8262")) + "0hdq2fz405a89fyha4bgwg0rx8b65inxq17w8fg8qhmcj4x3dr0v")) (patches (search-patches "util-linux-tests.patch")) (modules '((guix build utils))) (snippet From 53e16a5a0f8840a4d03e8dd6a1eeedd63dedd279 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 2 Sep 2017 14:03:26 +0200 Subject: [PATCH 011/287] gnu: libdrm: Update to 2.4.83. * gnu/packages/xdisorg.scm (libdrm): Update to 2.4.83. [inputs]: Remove LIBPTHREAD-STUBS. [home-page]: Use HTTPS. --- gnu/packages/xdisorg.scm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index edb70a37a8..abfa1aec74 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -287,7 +287,7 @@ rasterisation.") (define-public libdrm (package (name "libdrm") - (version "2.4.81") + (version "2.4.83") (source (origin (method url-fetch) @@ -297,15 +297,14 @@ rasterisation.") ".tar.bz2")) (sha256 (base32 - "1bhimr6za2ddisrvrv1qqd7c2a59s7jc954sjycq2w68b8cmrh4c")) + "1minzvsyz5hgm6ixpj8ysa6jsv7vm8qc8nx390jxdsk0v9ljd983")) (patches (search-patches "libdrm-symbol-check.patch")))) (build-system gnu-build-system) (inputs - `(("libpciaccess" ,libpciaccess) - ("libpthread-stubs" ,libpthread-stubs))) + `(("libpciaccess" ,libpciaccess))) (native-inputs - `(("pkg-config" ,pkg-config))) - (home-page "http://dri.freedesktop.org/wiki/") + `(("pkg-config" ,pkg-config))) + (home-page "https://dri.freedesktop.org/wiki/") (synopsis "Direct rendering userspace library") (description "The Direct Rendering Infrastructure, also known as the DRI, is a framework for allowing direct access to graphics hardware under the From 57cdc1fadacbe3376da96c5323cdfcecbf5267d8 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 2 Sep 2017 14:09:13 +0200 Subject: [PATCH 012/287] gnu: mesa: Update to 17.1.8. * gnu/packages/gl.scm (mesa): Update to 17.1.8. [source]: Add HTTPS download uri. --- gnu/packages/gl.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index d017e375c9..cc1dcf9edf 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -217,17 +217,19 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "17.1.4") + (version "17.1.8") (source (origin (method url-fetch) - (uri (list (string-append "ftp://ftp.freedesktop.org/pub/mesa/" + (uri (list (string-append "https://mesa.freedesktop.org/archive/" + "mesa-" version ".tar.xz") + (string-append "ftp://ftp.freedesktop.org/pub/mesa/" "mesa-" version ".tar.xz") (string-append "ftp://ftp.freedesktop.org/pub/mesa/" version "/mesa-" version ".tar.xz"))) (sha256 (base32 - "1bcwxin7nmbnv92xav381b6qxscsx1zzc71ryfvj03cglbkb1wq6")) + "1nv9aaz7ay2bs4fc8j3rf6ky3qla8s346a8g2lvdbp96msp2xvbm")) (patches (search-patches "mesa-wayland-egl-symbols-check-mips.patch" "mesa-skip-disk-cache-test.patch")))) From 2ec339c25aada5bf220332aa25baeb9a3a1f2f6a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 2 Sep 2017 15:46:11 +0200 Subject: [PATCH 013/287] Revert "gnu: lzip: Update to 1.19." This reverts commit 0963e3e450e85e3cf59b92fd28c771e8cbaaee2a. --- gnu/packages/compression.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index a543d17776..7cd9842f94 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -456,14 +456,14 @@ some compression ratio).") (define-public lzip (package (name "lzip") - (version "1.19") + (version "1.18") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/lzip/lzip-" version ".tar.gz")) (sha256 (base32 - "1abbch762gv8rjr579q3qyyk6c80plklbv2mw4x0vg71dgsw9bgz")))) + "1p8lvc22sv3damld9ng8y6i8z2dvvpsbi9v7yhr5bc2a20m8iya7")))) (build-system gnu-build-system) (home-page "http://www.nongnu.org/lzip/lzip.html") (synopsis "Lossless data compressor based on the LZMA algorithm") From a4a3d93290e8ad35f6e7526e78878d2d3397bb27 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 2 Sep 2017 15:54:23 +0200 Subject: [PATCH 014/287] gnu: harfbuzz: Update to 1.5.0. * gnu/packages/gtk.scm (harfbuzz): Update to 1.5.0. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index e942f51719..2d64e163f2 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -171,7 +171,7 @@ affine transformation (scale, rotation, shear, etc.).") (define-public harfbuzz (package (name "harfbuzz") - (version "1.4.6") + (version "1.5.0") (source (origin (method url-fetch) (uri (string-append "https://www.freedesktop.org/software/" @@ -179,7 +179,7 @@ affine transformation (scale, rotation, shear, etc.).") version ".tar.bz2")) (sha256 (base32 - "14yj514yfy373np3gxk930a443j1zgnwg6mm0kdzzjr0rn0qp9r1")))) + "1haansza0v2908xycv3xwrw2c42z5p96vdzy11vkzl787cvfr260")))) (build-system gnu-build-system) (outputs '("out" "bin")) ; 160K, only hb-view depend on cairo From d2ee294c0400ac8f2a10f10c3c9644da513a3712 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 2 Sep 2017 15:54:46 +0200 Subject: [PATCH 015/287] gnu: pango: Update to 1.40.11. * gnu/packages/gtk.scm (pango): Update to 1.40.11. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 2d64e163f2..70ad9993b6 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -209,7 +209,7 @@ affine transformation (scale, rotation, shear, etc.).") (define-public pango (package (name "pango") - (version "1.40.6") + (version "1.40.11") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/pango/" @@ -217,7 +217,7 @@ affine transformation (scale, rotation, shear, etc.).") name "-" version ".tar.xz")) (sha256 (base32 - "0wz5b5knpw4gfvz3ny8l6h2ca3bpqqyh55mffkyzgsd1hdrjn5fa")))) + "0giqy0f6vxsxrly6mwrbw9chs5hnh5my1jji86g76cp6j02i84av")))) (build-system gnu-build-system) (propagated-inputs `(("cairo" ,cairo) From 1bb0545bb8bcf3a60efa940ef2442763d8abe975 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 2 Sep 2017 16:35:04 +0200 Subject: [PATCH 016/287] gnu: glib: Update to 2.52.3. * gnu/packages/glib.scm (glib): Update to 2.52.3. --- gnu/packages/glib.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 2caafd416d..8408b54ea2 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -137,7 +137,7 @@ shared NFS home directories.") (define glib (package (name "glib") - (version "2.52.2") + (version "2.52.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" @@ -145,7 +145,7 @@ shared NFS home directories.") name "-" version ".tar.xz")) (sha256 (base32 - "1l65kab6jr9zlllgbjcbvrbgah3sdd577fpw4pdb2j195ag5s3ph")) + "0a71wkkhkvad84gm30w13micxxgqqw3sxhybj7nd9z60lwspdvi5")) (patches (search-patches "glib-tests-timer.patch")))) (build-system gnu-build-system) (outputs '("out" ; everything From 168c5f076c86889879887908c22608c14045b361 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 2 Sep 2017 16:44:46 +0200 Subject: [PATCH 017/287] gnu: librsvg: Update to 2.40.18. * gnu/packages/gnome.scm (librsvg): Update to 2.40.18. --- 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 43547961bf..2a93b32a49 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1163,7 +1163,7 @@ dealing with different structured file formats.") (define-public librsvg (package (name "librsvg") - (version "2.40.17") + (version "2.40.18") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1171,7 +1171,7 @@ dealing with different structured file formats.") name "-" version ".tar.xz")) (sha256 (base32 - "1k39gyf7f5m9x0jvpcxvfcqswdb04xhm1lbwbjabn1f4xk5wbxp6")))) + "0k2nbd4g31qinkdfd8r5c5ih2ixl85fbkgkqqh9747lwr24c9j5z")))) (build-system gnu-build-system) (arguments `(#:phases From de02edbf11ffab652cc9def611358eefbc860147 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 2 Sep 2017 16:45:13 +0200 Subject: [PATCH 018/287] gnu: cairo: Update to 1.14.10. * gnu/packages/gtk.scm (cairo): Update to 1.14.10. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index af27ae3253..4d3ecde3d2 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -105,14 +105,14 @@ tools have full access to view and control running applications.") (define-public cairo (package (name "cairo") - (version "1.14.8") + (version "1.14.10") (source (origin (method url-fetch) (uri (string-append "https://cairographics.org/releases/cairo-" version ".tar.xz")) (sha256 (base32 - "082ypjlh03ss5616amgjp9ap3xwwccyh2knyyrj1a4d4x65dkwni")) + "02banr0wxckq62nbhc3mqidfdh2q956i2r7w2hd9bjgjb238g1vy")) (patches (search-patches "cairo-CVE-2016-9082.patch")))) (build-system gnu-build-system) (propagated-inputs From d0cc3a98796cc81146f5e8b5a6d644c4e1ff89cc Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 2 Sep 2017 16:45:34 +0200 Subject: [PATCH 019/287] gnu: gtk+: Update to 3.22.19. * gnu/packages/gtk.scm (gtk+): Update to 3.22.19. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 4d3ecde3d2..4b0c1a271e 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -654,7 +654,7 @@ application suites.") (name "gtk+") ;; NOTE: When updating the version of 'gtk+', the hash of 'mate-themes' in ;; mate.scm will also need to be updated. - (version "3.22.15") + (version "3.22.19") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -662,7 +662,7 @@ application suites.") name "-" version ".tar.xz")) (sha256 (base32 - "1nqgb71vx222g9fd2p017948hqybnyi69xs3n2d64clim7115868")) + "0v0nwpl6zp8bcjhdwivi1wfi83lha9yyhq76ihbb7ya4ab5d70wq")) (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch" "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch")))) (outputs '("out" "bin" "doc")) From aa3542e844cb527d3d95e65de652fd664c77c5b3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 2 Sep 2017 16:51:10 +0200 Subject: [PATCH 020/287] gnu: gdk-pixbuf: Update to 2.36.9. * gnu/packages/gtk.scm (gdk-pixbuf): Update to 2.36.9. [source]: Remove obsolete patch. * gnu/packages/patches/gdk-pixbuf-list-dir.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/gtk.scm | 5 ++- .../patches/gdk-pixbuf-list-dir.patch | 35 ------------------- 3 files changed, 2 insertions(+), 39 deletions(-) delete mode 100644 gnu/packages/patches/gdk-pixbuf-list-dir.patch diff --git a/gnu/local.mk b/gnu/local.mk index 8c683b8e42..22de2c8cfe 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -630,7 +630,6 @@ dist_patch_DATA = \ %D%/packages/patches/gcc-6-cross-environment-variables.patch \ %D%/packages/patches/gcr-disable-failing-tests.patch \ %D%/packages/patches/gcr-fix-collection-tests-to-work-with-gpg-21.patch \ - %D%/packages/patches/gdk-pixbuf-list-dir.patch \ %D%/packages/patches/gd-fix-gd2-read-test.patch \ %D%/packages/patches/gd-fix-tests-on-i686.patch \ %D%/packages/patches/gd-freetype-test-failure.patch \ diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 4b0c1a271e..3e8d87e91b 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -427,7 +427,7 @@ highlighting and other features typical of a source code editor.") (define-public gdk-pixbuf (package (name "gdk-pixbuf") - (version "2.36.6") + (version "2.36.9") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -435,8 +435,7 @@ highlighting and other features typical of a source code editor.") name "-" version ".tar.xz")) (sha256 (base32 - "034279k49ydawnagqd7b1rz741n20k4y3grybzwp26zd146bjpj5")) - (patches (search-patches "gdk-pixbuf-list-dir.patch")))) + "02klisz3ly0bvflj39x49lnl4mnldsgvkjdvnla1as8szxqv44w0")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--with-x11") diff --git a/gnu/packages/patches/gdk-pixbuf-list-dir.patch b/gnu/packages/patches/gdk-pixbuf-list-dir.patch deleted file mode 100644 index 137914a19c..0000000000 --- a/gnu/packages/patches/gdk-pixbuf-list-dir.patch +++ /dev/null @@ -1,35 +0,0 @@ -Sort directory entries so that the output of -‘gdk-pixbuf-query-loaders’ is deterministic. - -See: https://bugzilla.gnome.org/show_bug.cgi?id=777332 ---- gdk-pixbuf-2.34.0/gdk-pixbuf/queryloaders.c.orig 2017-01-11 00:17:32.865843062 +0100 -+++ gdk-pixbuf-2.34.0/gdk-pixbuf/queryloaders.c 2017-01-16 16:12:03.420667874 +0100 -@@ -354,16 +354,27 @@ - - dir = g_dir_open (path, 0, NULL); - if (dir) { -+ GList *entries = NULL; - const char *dent; - - while ((dent = g_dir_read_name (dir))) { - gint len = strlen (dent); - if (len > SOEXT_LEN && - strcmp (dent + len - SOEXT_LEN, SOEXT) == 0) { -- query_module (contents, path, dent); -+ entries = g_list_append (entries, g_strdup (dent)); - } - } - g_dir_close (dir); -+ /* Sort directory entries so that the output of -+ ‘gdk-pixbuf-query-loaders’ is deterministic. */ -+ entries = g_list_sort (entries, (GCompareFunc) strcmp); -+ GList *xentries; -+ for (xentries = entries; xentries; xentries = g_list_next (xentries)) { -+ dent = xentries->data; -+ query_module (contents, path, dent); -+ g_free (xentries->data); -+ } -+ g_list_free (entries); - } - #else - g_string_append_printf (contents, "# dynamic loading of modules not supported\n"); From 3b6f837393c54689d4cb06eb28bff0ea1b282e2a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 4 Sep 2017 22:15:28 +0200 Subject: [PATCH 021/287] gnu: pango: Update to 1.40.12. * gnu/packages/gtk.scm (pango): Update to 1.40.12. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 3e8d87e91b..b100f815d5 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -209,7 +209,7 @@ affine transformation (scale, rotation, shear, etc.).") (define-public pango (package (name "pango") - (version "1.40.11") + (version "1.40.12") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/pango/" @@ -217,7 +217,7 @@ affine transformation (scale, rotation, shear, etc.).") name "-" version ".tar.xz")) (sha256 (base32 - "0giqy0f6vxsxrly6mwrbw9chs5hnh5my1jji86g76cp6j02i84av")))) + "1z0w2vrx3qh3aryfkbfijkcxxr3yjbxc2l4b0yy8rcp2wjlakwbm")))) (build-system gnu-build-system) (propagated-inputs `(("cairo" ,cairo) From 1dc32c2961402c946c25e5a1aabe79a30cce3cff Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 4 Sep 2017 22:15:49 +0200 Subject: [PATCH 022/287] gnu: gtk+: Update to 3.22.20. * gnu/packages/gtk.scm (gtk+): Update to 3.22.20. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index b100f815d5..0f28eb07db 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -653,7 +653,7 @@ application suites.") (name "gtk+") ;; NOTE: When updating the version of 'gtk+', the hash of 'mate-themes' in ;; mate.scm will also need to be updated. - (version "3.22.19") + (version "3.22.20") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -661,7 +661,7 @@ application suites.") name "-" version ".tar.xz")) (sha256 (base32 - "0v0nwpl6zp8bcjhdwivi1wfi83lha9yyhq76ihbb7ya4ab5d70wq")) + "1n82ki9sbdnaz6k5f5k3vgd7g4756j6acfbl1bf617w0lyc0kjbh")) (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch" "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch")))) (outputs '("out" "bin" "doc")) From 1f42989eb01b43f8f371f4a7c1667cf3c8a8c66b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 5 Sep 2017 20:34:54 +0300 Subject: [PATCH 023/287] gnu: libdrm: Enable more drivers for arm and aarch64. * gnu/packages/xdisorg.scm (libdrm)[arguments]: Add configure flags to enable experimental architecture-specific video drivers. --- gnu/packages/xdisorg.scm | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index abfa1aec74..ce3e7c81eb 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2015 Florian Paul Schmidt ;;; Copyright © 2016 Christopher Allan Webber ;;; Copyright © 2016 Ricardo Wurmus -;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2016 Alex Kost ;;; Copyright © 2016, 2017 Marius Bakke @@ -68,7 +68,8 @@ #:use-module (gnu packages xml) #:use-module (gnu packages gtk) #:use-module (gnu packages xorg) - #:use-module (gnu packages bison)) + #:use-module (gnu packages bison) + #:use-module (ice-9 match)) ;; packages outside the x.org system proper @@ -300,6 +301,19 @@ rasterisation.") "1minzvsyz5hgm6ixpj8ysa6jsv7vm8qc8nx390jxdsk0v9ljd983")) (patches (search-patches "libdrm-symbol-check.patch")))) (build-system gnu-build-system) + (arguments + `(#:configure-flags + '(,@(match (%current-system) + ("armhf-linux" + '("--enable-exynos-experimental-api" + "--enable-omap-experimental-api" + "--enable-etnaviv-experimental-api" + "--enable-tegra-experimental-api" + "--enable-freedreno-kgsl")) + ("aarch64-linux" + '("--enable-tegra-experimental-api" + "--enable-freedreno-kgsl")) + (_ '()))))) (inputs `(("libpciaccess" ,libpciaccess))) (native-inputs From 665c0958d86d5c95d55bdc0e40cdc94e87fd99f3 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 5 Sep 2017 20:38:22 +0300 Subject: [PATCH 024/287] gnu: mesa: Enable more drivers. * gnu/packages/gl.scm (mesa)[arguments]: Split armhf and aarch64 driver options, add more armhf specific drivers. Add offscreen platform. --- gnu/packages/gl.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index cc1dcf9edf..d8a69392b9 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -269,13 +269,15 @@ also known as DXTn or DXTC) for Mesa.") (arguments `(#:configure-flags '(,@(match (%current-system) - ((or "armhf-linux" "aarch64-linux") + ("armhf-linux" + '("--with-gallium-drivers=etnaviv,freedreno,imx,nouveau,r300,r600,svga,swrast,vc4,virgl")) + ("aarch64-linux" '("--with-gallium-drivers=freedreno,nouveau,r300,r600,svga,swrast,vc4,virgl")) (_ '("--with-gallium-drivers=i915,nouveau,r300,r600,svga,swrast,virgl"))) ;; Enable various optional features. TODO: opencl requires libclc, ;; omx requires libomxil-bellagio - "--with-egl-platforms=x11,drm,wayland" + "--with-platforms=x11,drm,wayland,surfaceless" "--enable-glx-tls" ;Thread Local Storage, improves performance ;; "--enable-opencl" ;; "--enable-omx" From 4c2aaa60568dc8778c55d5a06d67b8b6ba25526b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 5 Sep 2017 21:35:18 +0300 Subject: [PATCH 025/287] gnu: mesa: Use exactly llvm@3.9.1. * gnu/packages/gl.scm (mesa)[inputs]: Use llvm@3.9.1. --- gnu/packages/gl.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index d8a69392b9..fa9b501077 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -255,7 +255,7 @@ also known as DXTn or DXTC) for Mesa.") ("libxvmc" ,libxvmc) ,@(match (%current-system) ((or "x86_64-linux" "i686-linux") - `(("llvm" ,llvm))) + `(("llvm" ,llvm-3.9.1))) ; exactly 3.9.0 or 3.9.1 for swrast (_ `())) ("makedepend" ,makedepend) From ba74ef94d71017b828f623270d939366529075fb Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Thu, 7 Sep 2017 10:35:01 +0300 Subject: [PATCH 026/287] gnu: pulseaudio: Update to 11.0. From af245f3289d14a6f6cc6e5454e64a47241517cf1 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Thu, 7 Sep 2017 08:23:43 +0300 Subject: [PATCH] gnu: pulseaudio: Update to 11.0. * gnu/packages/pulseaudio.scm (pulseaudio): Update to 11.0. --- gnu/packages/pulseaudio.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index 846c174fa7..c280c58e1a 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -119,7 +119,7 @@ rates.") (define-public pulseaudio (package (name "pulseaudio") - (version "10.0") + (version "11.0") (source (origin (method url-fetch) (uri (string-append @@ -127,7 +127,7 @@ rates.") name "-" version ".tar.xz")) (sha256 (base32 - "0mrg8qvpwm4ifarzphl3749p7p050kdx1l6mvsaj03czvqj6h653")) + "0sf92knqkvqmfhrbz4vlsagzqlps72wycpmln5dygicg07a0a8q7")) (modules '((guix build utils))) (snippet ;; Disable console-kit support by default since it's deprecated From 1728c411718e3b358c06561d6e80b47d7b331617 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 12 Sep 2017 23:07:41 +0200 Subject: [PATCH 027/287] gnu: cups-filters: Make sure filters find Ghostscript. * gnu/packages/cups.scm (cups-filters)[arguments]: Add 'patch-foomatic-hardcoded-file-names' and 'wrap-filters' phases. --- gnu/packages/cups.scm | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index aba8ce7eb1..879ec42a88 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Ricardo Wurmus -;;; Copyright © 2015, 2016 Ludovic Courtès +;;; Copyright © 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2015, 2016, 2017 Efraim Flashner ;;; Copyright © 2016 Danny Milosavljevic ;;; Copyright © 2017 Leo Famulari @@ -99,7 +99,34 @@ (assoc-ref %build-inputs "bash") "/bin/bash") ,(string-append "--with-rcdir=" - (assoc-ref %outputs "out") "/etc/rc.d")))) + (assoc-ref %outputs "out") "/etc/rc.d")) + + #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-foomatic-hardcoded-file-names + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Foomatic has hardcoded file names we need to fix. + (let ((out (assoc-ref outputs "out")) + (gs (assoc-ref inputs "ghostscript"))) + (substitute* "filter/foomatic-rip/foomaticrip.c" + (("/usr/local/lib/cups/filter") + (string-append out "/lib/cups/filter"))) + #t))) + (add-after 'install 'wrap-filters + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Some filters expect to find 'gs' in $PATH. We cannot + ;; just hard-code its absolute file name in the source + ;; because foomatic-rip, for example, has tests like + ;; 'startswith(cmd, "gs")'. + (let ((out (assoc-ref outputs "out")) + (ghostscript (assoc-ref inputs "ghostscript"))) + (for-each (lambda (file) + (wrap-program file + `("PATH" ":" prefix + (,(string-append ghostscript + "/bin"))))) + (find-files (string-append + out "/lib/cups/filter"))) + #t)))))) (native-inputs `(("glib" ,glib "bin") ; for gdbus-codegen ("pkg-config" ,pkg-config))) From b263967018bd8d32578c4075d68c1d94664fc29a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 12 Sep 2017 23:15:54 +0200 Subject: [PATCH 028/287] gnu: cups-filters: Pass "--localstatedir". * gnu/packages/cups.scm (cups-filters)[arguments]: Pass --localstatedir. --- gnu/packages/cups.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index 879ec42a88..0e7fcce749 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -89,6 +89,10 @@ #:configure-flags `("--disable-driverless" ; TODO: enable this "--disable-mutool" ; depends on yet another PDF library (mupdf) + + ;; Look for the "domain socket of CUPS" in /var/run/cups. + "--localstatedir=/var" + ,(string-append "--with-test-font-path=" (assoc-ref %build-inputs "font-dejavu") "/share/fonts/truetype/DejaVuSans.ttf") From f40aef6b3b56e1e5fb6e6ac29bd372000e13982f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 12 Sep 2017 23:17:50 +0200 Subject: [PATCH 029/287] gnu: cups-filters: Remove reference to "acroread". * gnu/packages/cups.scm (cups-filters)[arguments]: Pass "--with-acroread-path". --- gnu/packages/cups.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index 0e7fcce749..0ecfd288c4 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -93,6 +93,9 @@ ;; Look for the "domain socket of CUPS" in /var/run/cups. "--localstatedir=/var" + ;; Free software for the win. + "--with-acroread-path=evince" + ,(string-append "--with-test-font-path=" (assoc-ref %build-inputs "font-dejavu") "/share/fonts/truetype/DejaVuSans.ttf") From 164fccea7eead86c6ebe389bc0255c72b161d109 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 20 Sep 2017 18:56:03 +0200 Subject: [PATCH 030/287] gnu: bluez: Update to 5.47. * gnu/packages/linux.scm (bluez): Update to 5.47. [replacement]: Remove field. (bluez/fixed): Remove variable. --- gnu/packages/linux.scm | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 4be6f5ed08..cd003c35fb 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -3022,8 +3022,7 @@ Bluetooth audio output devices like headphones or loudspeakers.") (define-public bluez (package (name "bluez") - (version "5.46") - (replacement bluez/fixed) + (version "5.47") (source (origin (method url-fetch) (uri (string-append @@ -3031,7 +3030,7 @@ Bluetooth audio output devices like headphones or loudspeakers.") version ".tar.xz")) (sha256 (base32 - "0a4fj343bdqsfyv12hmj9nym0ilsf0bvm54a4apbiby16ww3vayx")))) + "1j22hfjz0fp4pgclgz9mfcwjbr4wqgah3gd2qhfg4r6msmybyxfg")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -3085,20 +3084,6 @@ Bluetooth audio output devices like headphones or loudspeakers.") is flexible, efficient and uses a modular implementation.") (license license:gpl2+))) -(define bluez/fixed - (package - (inherit bluez) - (version "5.46") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://kernel.org/linux/bluetooth/bluez-" - version ".tar.xz")) - (sha256 - (base32 - "0a4fj343bdqsfyv12hmj9nym0ilsf0bvm54a4apbiby16ww3vayx")) - (patches (search-patches "bluez-CVE-2017-1000250.patch")))))) - (define-public fuse-exfat (package (name "fuse-exfat") From 171bcdf7ba1425072529bacb712792b2a6302544 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 20 Sep 2017 18:57:39 +0200 Subject: [PATCH 031/287] gnu: gdk-pixbuf: Remove graft for 2.36.10. * gnu/packages/gtk.scm (gdk-pixbuf): Update to 2.36.10. [replacement]: Remove field. (gdk-pixbuf+svg)[replacement]: Likewise. (gdk-pixbuf-2.36.10, gdk-pixbuf+svg-2.36.10): Remove variables. --- gnu/packages/gtk.scm | 26 ++------------------------ 1 file changed, 2 insertions(+), 24 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 0d3da63ca6..dd7739d5e7 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -427,8 +427,7 @@ highlighting and other features typical of a source code editor.") (define-public gdk-pixbuf (package (name "gdk-pixbuf") - (version "2.36.9") - (replacement gdk-pixbuf-2.36.10) + (version "2.36.10") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -436,7 +435,7 @@ highlighting and other features typical of a source code editor.") name "-" version ".tar.xz")) (sha256 (base32 - "02klisz3ly0bvflj39x49lnl4mnldsgvkjdvnla1as8szxqv44w0")))) + "1klsjkdbashd8yb8xjsc9ff3bz32n2id5s79nrrmqiw9df4zmxpq")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--with-x11") @@ -483,7 +482,6 @@ in the GNOME project.") (define-public gdk-pixbuf+svg (package (inherit gdk-pixbuf) (name "gdk-pixbuf+svg") - (replacement gdk-pixbuf+svg-2.36.10) (inputs `(("librsvg" ,librsvg) ,@(package-inputs gdk-pixbuf))) @@ -507,26 +505,6 @@ in the GNOME project.") (synopsis "GNOME image loading and manipulation library, with SVG support"))) -;; Graft replacement packages to fix these vulnerabilities. -;; https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-2862 -;; https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-2870 -;; https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6311 -(define-public gdk-pixbuf-2.36.10 - (package (inherit gdk-pixbuf) - (version "2.36.A") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/gdk-pixbuf/2.36/" - "gdk-pixbuf-2.36.10.tar.xz")) - (sha256 - (base32 - "1klsjkdbashd8yb8xjsc9ff3bz32n2id5s79nrrmqiw9df4zmxpq")))))) - -(define-public gdk-pixbuf+svg-2.36.10 - (package (inherit gdk-pixbuf+svg) - (version "2.36.A") - (source (origin (inherit (package-source gdk-pixbuf-2.36.10)))))) - (define-public at-spi2-core (package (name "at-spi2-core") From b093be236efa913748855879094e38cd983c7f00 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 20 Sep 2017 19:06:38 +0200 Subject: [PATCH 032/287] gnu: gd: Remove graft for 2.2.5. * gnu/packages/gd.scm (gd): Update to 2.2.5. [source]: Remove obsolete patches. [replacement]: Remove field. (gd-2.2.5): Remove variable. * gnu/packages/patches/gd-fix-gd2-read-test.patch, gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Remove patches. * gnu/packages/php.scm (php)[inputs]: Replace GD-2.2.5 with GD. --- gnu/local.mk | 2 - gnu/packages/gd.scm | 27 +--- .../patches/gd-fix-gd2-read-test.patch | 14 -- .../gd-php-73968-Fix-109-XBM-reading.patch | 121 ------------------ gnu/packages/php.scm | 2 +- 5 files changed, 5 insertions(+), 161 deletions(-) delete mode 100644 gnu/packages/patches/gd-fix-gd2-read-test.patch delete mode 100644 gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch diff --git a/gnu/local.mk b/gnu/local.mk index 3bdab4f886..24aaf9477e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -638,10 +638,8 @@ dist_patch_DATA = \ %D%/packages/patches/gcc-6-cross-environment-variables.patch \ %D%/packages/patches/gcr-disable-failing-tests.patch \ %D%/packages/patches/gcr-fix-collection-tests-to-work-with-gpg-21.patch \ - %D%/packages/patches/gd-fix-gd2-read-test.patch \ %D%/packages/patches/gd-fix-tests-on-i686.patch \ %D%/packages/patches/gd-freetype-test-failure.patch \ - %D%/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch \ %D%/packages/patches/gegl-CVE-2012-4433.patch \ %D%/packages/patches/gemma-intel-compat.patch \ %D%/packages/patches/geoclue-config.patch \ diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index 169f040ee4..f9864d7784 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -38,11 +38,10 @@ (define-public gd (package (name "gd") - (replacement gd-2.2.5) ;; Note: With libgd.org now pointing to github.com, genuine old ;; tarballs are no longer available. Notably, versions 2.0.x are ;; missing. - (version "2.2.4") + (version "2.2.5") (source (origin (method url-fetch) (uri (string-append @@ -50,11 +49,9 @@ version "/libgd-" version ".tar.xz")) (sha256 (base32 - "1rp4v7n1dq38b92kl7gkvpvqqkw7nvdfnz6d5kip5klkxfki6zqk")) - (patches (search-patches "gd-fix-gd2-read-test.patch" - "gd-fix-tests-on-i686.patch" - "gd-freetype-test-failure.patch" - "gd-php-73968-Fix-109-XBM-reading.patch")))) + "0lfy5f241sbv8s3splm2zqiaxv7lxrcshh875xryryk7yk5jqc4c")) + (patches (search-patches "gd-fix-tests-on-i686.patch" + "gd-freetype-test-failure.patch")))) (build-system gnu-build-system) (arguments ;; As recommended by github.com/libgd/libgd/issues/278 to fix rounding @@ -93,22 +90,6 @@ most common applications of GD involve website development.") "See COPYING file in the distribution.")) (properties '((cpe-name . "libgd"))))) -;; For CVE-2017-6362 and CVE-2017-7890. -(define-public gd-2.2.5 - (package - (inherit gd) - (version "2.2.5") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/libgd/libgd/releases/download/gd-" - version "/libgd-" version ".tar.xz")) - (patches (search-patches "gd-fix-tests-on-i686.patch" - "gd-freetype-test-failure.patch")) - (sha256 - (base32 - "0lfy5f241sbv8s3splm2zqiaxv7lxrcshh875xryryk7yk5jqc4c")))))) - (define-public perl-gd (package (name "perl-gd") diff --git a/gnu/packages/patches/gd-fix-gd2-read-test.patch b/gnu/packages/patches/gd-fix-gd2-read-test.patch deleted file mode 100644 index 65f39e4426..0000000000 --- a/gnu/packages/patches/gd-fix-gd2-read-test.patch +++ /dev/null @@ -1,14 +0,0 @@ -Fix a 'maybe-uninitialized' warning (turned error) -which occurs on non-Intel platforms. - ---- libgd-2.2.3/tests/gd2/gd2_read.c 2016-07-21 01:21:16.000000000 -0400 -+++ libgd-2.2.3/tests/gd2/gd2_read.c 2016-07-29 15:52:03.806405312 -0400 -@@ -5,7 +5,7 @@ - - int main(int argc, char *argv[]) - { -- int error, i = 0; -+ int error = 0, i = 0; - gdImagePtr im, exp; - FILE *fp; - char *path[] = { diff --git a/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch b/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch deleted file mode 100644 index a926c1455c..0000000000 --- a/gnu/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch +++ /dev/null @@ -1,121 +0,0 @@ -This bug was first reported to php on https://bugs.php.net/bug.php?id=73968. -php then reported it to gd in https://github.com/libgd/libgd/issues/109. - -Patch adapted from upstream source repository: - -https://github.com/libgd/libgd/commit/082c5444838ea0d84f9fb6441aefdb44d78d9bba - -Binary diffs have been removed from the patch because our patch -procedure doesn't support them. - -From 082c5444838ea0d84f9fb6441aefdb44d78d9bba Mon Sep 17 00:00:00 2001 -From: "Christoph M. Becker" -Date: Fri, 20 Jan 2017 22:48:20 +0100 -Subject: [PATCH] Fix #109: XBM reading fails with printed error - -When calculating the number of required bytes of an XBM image, we have -to take the line padding into account. ---- - src/gd_xbm.c | 2 +- - tests/xbm/CMakeLists.txt | 1 + - tests/xbm/Makemodule.am | 5 ++++- - tests/xbm/github_bug_109.c | 35 +++++++++++++++++++++++++++++++++++ - tests/xbm/github_bug_109.xbm | 5 +++++ - 5 files changed, 47 insertions(+), 2 deletions(-) - create mode 100644 tests/xbm/github_bug_109.c - create mode 100644 tests/xbm/github_bug_109.xbm - create mode 100644 tests/xbm/github_bug_109_exp.png - -diff --git a/src/gd_xbm.c b/src/gd_xbm.c -index 5f09b56..c2ba2ad 100644 ---- a/src/gd_xbm.c -+++ b/src/gd_xbm.c -@@ -108,7 +108,7 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromXbm(FILE * fd) - max_bit = 32768; - } - if (max_bit) { -- bytes = (width * height / 8) + 1; -+ bytes = (width + 7) / 8 * height; - if (!bytes) { - return 0; - } -diff --git a/tests/xbm/CMakeLists.txt b/tests/xbm/CMakeLists.txt -index 183cf5e..08576e0 100644 ---- a/tests/xbm/CMakeLists.txt -+++ b/tests/xbm/CMakeLists.txt -@@ -1,4 +1,5 @@ - LIST(APPEND TESTS_FILES -+ github_bug_109 - github_bug_170 - ) - -diff --git a/tests/xbm/Makemodule.am b/tests/xbm/Makemodule.am -index ba1eabd..0f5beb6 100644 ---- a/tests/xbm/Makemodule.am -+++ b/tests/xbm/Makemodule.am -@@ -1,5 +1,8 @@ - libgd_test_programs += \ -+ xbm/github_bug_109 \ - xbm/github_bug_170 - - EXTRA_DIST += \ -- xbm/CMakeLists.txt -+ xbm/CMakeLists.txt \ -+ xbm/github_bug_109.xbm \ -+ xbm/github_bug_109_exp.png -diff --git a/tests/xbm/github_bug_109.c b/tests/xbm/github_bug_109.c -new file mode 100644 -index 0000000..1a020c6 ---- /dev/null -+++ b/tests/xbm/github_bug_109.c -@@ -0,0 +1,35 @@ -+/** -+ * Test reading of XBM images with a width that is not a multiple of 8 -+ * -+ * We're reading such an XBM image, and check that we got what we've expected, -+ * instead of an error message. -+ * -+ * See also . -+ */ -+ -+ -+#include "gd.h" -+#include "gdtest.h" -+ -+ -+int main() -+{ -+ gdImagePtr im; -+ FILE *fp; -+ char *path; -+ -+ fp = gdTestFileOpen2("xbm", "github_bug_109.xbm"); -+ im = gdImageCreateFromXbm(fp); -+ fclose(fp); -+ gdTestAssert(im != NULL); -+ gdTestAssert(gdImageGetTrueColorPixel(im, 0, 0) == 0); -+ gdTestAssert(gdImageGetTrueColorPixel(im, 0, 1) == 0xffffff); -+ -+ path = gdTestFilePath2("xbm", "github_bug_109_exp.png"); -+ gdAssertImageEqualsToFile(path, im); -+ gdFree(path); -+ -+ gdImageDestroy(im); -+ -+ return gdNumFailures(); -+} -diff --git a/tests/xbm/github_bug_109.xbm b/tests/xbm/github_bug_109.xbm -new file mode 100644 -index 0000000..f427d86 ---- /dev/null -+++ b/tests/xbm/github_bug_109.xbm -@@ -0,0 +1,5 @@ -+#define test_width 10 -+#define test_height 10 -+static unsigned char test_bits[] = { -+ 0xFF, 0x03, 0x00, 0x00, 0xFF, 0x03, 0x00, 0x00, 0xFF, 0x03, 0x00, 0x00, -+ 0xFF, 0x03, 0x00, 0x00, 0xFF, 0x03, 0x00, 0x00}; - --- -2.7.4 - diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index bcf1d00829..3e4b51d81a 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -282,7 +282,7 @@ ("curl" ,curl) ("cyrus-sasl" ,cyrus-sasl) ("freetype" ,freetype) - ("gd" ,gd-2.2.5) + ("gd" ,gd) ("gdbm" ,gdbm) ("glibc" ,glibc) ("gmp" ,gmp) From a87f425ca481391964767403498ee9d2a81ebe5f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 20 Sep 2017 19:13:25 +0200 Subject: [PATCH 033/287] gnu: ruby: Remove graft for 2.4.2. * gnu/packages/ruby.scm (ruby): Update to 2.4.2. [replacement]: Remove field. (ruby-2.4.2): Remove variable. --- gnu/packages/ruby.scm | 25 ++----------------------- 1 file changed, 2 insertions(+), 23 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 80d3bffd84..42a0790522 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -49,8 +49,7 @@ (define-public ruby (package (name "ruby") - (replacement ruby-2.4.2) - (version "2.4.0") + (version "2.4.2") (source (origin (method url-fetch) @@ -59,7 +58,7 @@ "/ruby-" version ".tar.xz")) (sha256 (base32 - "141nnsdk2q83c23p5kl404id8gy1ap261gin48rbjj5sbksgx1rs")) + "0dgp4ypk3smrsbh2c249n5pl6nqhpd2igq9484dbsh81sf08k2kl")) (modules '((guix build utils))) (snippet `(begin ;; Remove bundled libffi @@ -103,26 +102,6 @@ a focus on simplicity and productivity.") (home-page "https://ruby-lang.org") (license license:ruby))) -(define-public ruby-2.4.2 - (package - (inherit ruby) - (name "ruby") - (version "2.4.2") - (source - (origin - (method url-fetch) - (uri (string-append "http://cache.ruby-lang.org/pub/ruby/" - (version-major+minor version) - "/ruby-" version ".tar.xz")) - (sha256 - (base32 - "0dgp4ypk3smrsbh2c249n5pl6nqhpd2igq9484dbsh81sf08k2kl")) - (modules '((guix build utils))) - (snippet `(begin - ;; Remove bundled libffi - (delete-file-recursively "ext/fiddle/libffi-3.2.1") - #t)))))) - (define-public ruby-2.3 (package (inherit ruby) From 6345cefa7f304f10fdec77ddb7fffb4866fd93db Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 20 Sep 2017 19:16:54 +0200 Subject: [PATCH 034/287] gnu: gtk+: Update to 3.22.21. * gnu/packages/gtk.scm (gtk+): Update to 3.22.21. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index dd7739d5e7..857d570d23 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -653,7 +653,7 @@ application suites.") (name "gtk+") ;; NOTE: When updating the version of 'gtk+', the hash of 'mate-themes' in ;; mate.scm will also need to be updated. - (version "3.22.20") + (version "3.22.21") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -661,7 +661,7 @@ application suites.") name "-" version ".tar.xz")) (sha256 (base32 - "1n82ki9sbdnaz6k5f5k3vgd7g4756j6acfbl1bf617w0lyc0kjbh")) + "11vb1shgr4rlayfk0b858gz986jsn2mpjlxvr89b2kgvbjlc3lqv")) (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch" "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch")))) (outputs '("out" "bin" "doc")) From 7c9b87600b9dc22bb0f5b74fb8b9a1fe7ba691c2 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 20 Sep 2017 19:26:45 +0200 Subject: [PATCH 035/287] gnu: harfbuzz: Update to 1.5.1. * gnu/packages/gtk.scm (harfbuzz): Update to 1.5.1. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 857d570d23..0c717eafeb 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -171,7 +171,7 @@ affine transformation (scale, rotation, shear, etc.).") (define-public harfbuzz (package (name "harfbuzz") - (version "1.5.0") + (version "1.5.1") (source (origin (method url-fetch) (uri (string-append "https://www.freedesktop.org/software/" @@ -179,7 +179,7 @@ affine transformation (scale, rotation, shear, etc.).") version ".tar.bz2")) (sha256 (base32 - "1haansza0v2908xycv3xwrw2c42z5p96vdzy11vkzl787cvfr260")))) + "0lbwzif7ndvx1iqzp7wxv6j3ilal6di2vj33cy3bha97mpyqv0sn")))) (build-system gnu-build-system) (outputs '("out" "bin")) ; 160K, only hb-view depend on cairo From cb6392698af08c1774e8a9f05cb09dcf0409e718 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 20 Sep 2017 19:54:56 +0200 Subject: [PATCH 036/287] gnu: mesa: Update to 17.2.1. * gnu/packages/gl.scm (mesa): Update to 17.2.1. [inputs]: Add WAYLAND-PROTOCOLS. * gnu/packages/patches/mesa-skip-disk-cache-test.patch: Adjust context. --- gnu/packages/gl.scm | 7 ++++--- gnu/packages/patches/mesa-skip-disk-cache-test.patch | 6 +++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index fa9b501077..9ce97dbcc2 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -217,7 +217,7 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "17.1.8") + (version "17.2.1") (source (origin (method url-fetch) @@ -229,7 +229,7 @@ also known as DXTn or DXTC) for Mesa.") version "/mesa-" version ".tar.xz"))) (sha256 (base32 - "1nv9aaz7ay2bs4fc8j3rf6ky3qla8s346a8g2lvdbp96msp2xvbm")) + "07msr6xismw2jq87irwhz7vygvzj6hi38d71paij9zvwh8bmsf3p")) (patches (search-patches "mesa-wayland-egl-symbols-check-mips.patch" "mesa-skip-disk-cache-test.patch")))) @@ -261,7 +261,8 @@ also known as DXTn or DXTC) for Mesa.") ("makedepend" ,makedepend) ("presentproto" ,presentproto) ("s2tc" ,s2tc) - ("wayland" ,wayland))) + ("wayland" ,wayland) + ("wayland-protocols" ,wayland-protocols))) (native-inputs `(("pkg-config" ,pkg-config) ("python" ,python-2) diff --git a/gnu/packages/patches/mesa-skip-disk-cache-test.patch b/gnu/packages/patches/mesa-skip-disk-cache-test.patch index b3f9367fd5..190f6b6ee1 100644 --- a/gnu/packages/patches/mesa-skip-disk-cache-test.patch +++ b/gnu/packages/patches/mesa-skip-disk-cache-test.patch @@ -8,12 +8,12 @@ for now. @@ -170,11 +170,6 @@ unsetenv("MESA_GLSL_CACHE_DIR"); unsetenv("XDG_CACHE_HOME"); - -- cache = disk_cache_create("test", "make_check"); + +- cache = disk_cache_create("test", "make_check", 0); - expect_non_null(cache, "disk_cache_create with no environment variables"); - - disk_cache_destroy(cache); - /* Test with XDG_CACHE_HOME set */ setenv("XDG_CACHE_HOME", CACHE_TEST_TMP "/xdg-cache-home", 1); - cache = disk_cache_create("test", "make_check"); + cache = disk_cache_create("test", "make_check", 0); From df7effa299d877b468d43203f1a334eb84355346 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 20 Sep 2017 20:00:07 +0200 Subject: [PATCH 037/287] gnu: poppler: Update to 0.59.0. * gnu/packages/pdf.scm (poppler): Update to 0.59.0. --- gnu/packages/pdf.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 5e52d87ca5..1ee4b819f9 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -76,14 +76,14 @@ (define-public poppler (package (name "poppler") - (version "0.56.0") + (version "0.59.0") (source (origin (method url-fetch) (uri (string-append "https://poppler.freedesktop.org/poppler-" version ".tar.xz")) (sha256 (base32 - "0wviayidfv2ix2ql0d4nl9r1ia6qi5kc1nybd9vjx27dk7gvm7c6")))) + "0hcnghliyr8pr887qza18qfgaclw5jr889g1cjcglkni9jr2dmm3")))) (build-system gnu-build-system) ;; FIXME: ;; use libcurl: no From 3d695e6ae4909d012ea18828945ef4f4d73b22e3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 20 Sep 2017 20:20:19 +0200 Subject: [PATCH 038/287] gnu: cups-filters: Update to 1.17.7. * gnu/packages/cups.scm (cups-filters): Update to 1.17.7. --- gnu/packages/cups.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index 452f670090..d629e38032 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -57,7 +57,7 @@ (define-public cups-filters (package (name "cups-filters") - (version "1.14.1") + (version "1.17.7") (source(origin (method url-fetch) (uri @@ -65,7 +65,7 @@ "cups-filters-" version ".tar.xz")) (sha256 (base32 - "0175jhqpsyn7bkh7w43ydhyws5zsdak05hr1fsadvzslvwqkffgi")) + "1mg397kgfx0rs9j852f8ppmvaz2al5l75ildbgiqg6j3gwq5jssw")) (modules '((guix build utils))) (snippet ;; install backends, banners and filters to cups-filters output From a9bd50e3527d1f16cf7e70c457dd165cafeb6372 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 20 Sep 2017 20:50:00 +0200 Subject: [PATCH 039/287] gnu: bluez: Remove leftover patch. This is a follow-up to commit 164fccea7eead86c6ebe389bc0255c72b161d109. * gnu/packages/patches/bluez-CVE-2017-1000250.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - .../patches/bluez-CVE-2017-1000250.patch | 42 ------------------- 2 files changed, 43 deletions(-) delete mode 100644 gnu/packages/patches/bluez-CVE-2017-1000250.patch diff --git a/gnu/local.mk b/gnu/local.mk index 24aaf9477e..8dfc1b71f2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -538,7 +538,6 @@ dist_patch_DATA = \ %D%/packages/patches/binutils-ld-new-dtags.patch \ %D%/packages/patches/binutils-loongson-workaround.patch \ %D%/packages/patches/blast+-fix-makefile.patch \ - %D%/packages/patches/bluez-CVE-2017-1000250.patch \ %D%/packages/patches/byobu-writable-status.patch \ %D%/packages/patches/cairo-CVE-2016-9082.patch \ %D%/packages/patches/calibre-no-updates-dialog.patch \ diff --git a/gnu/packages/patches/bluez-CVE-2017-1000250.patch b/gnu/packages/patches/bluez-CVE-2017-1000250.patch deleted file mode 100644 index 81f209d7b2..0000000000 --- a/gnu/packages/patches/bluez-CVE-2017-1000250.patch +++ /dev/null @@ -1,42 +0,0 @@ -Description: CVE-2017-1000250: information disclosure vulnerability in service_search_attr_req -Origin: vendor -Bug-Debian: https://bugs.debian.org/875633 -Bug-RedHat: https://bugzilla.redhat.com/show_bug.cgi?id=1489446 -Bug-SuSE: https://bugzilla.suse.com/show_bug.cgi?id=1057342 -Forwarded: no -Author: Armis Security -Reviewed-by: Salvatore Bonaccorso -Last-Update: 2017-09-13 - ---- a/src/sdpd-request.c -+++ b/src/sdpd-request.c -@@ -918,15 +918,20 @@ static int service_search_attr_req(sdp_r - /* continuation State exists -> get from cache */ - sdp_buf_t *pCache = sdp_get_cached_rsp(cstate); - if (pCache) { -- uint16_t sent = MIN(max, pCache->data_size - cstate->cStateValue.maxBytesSent); -- pResponse = pCache->data; -- memcpy(buf->data, pResponse + cstate->cStateValue.maxBytesSent, sent); -- buf->data_size += sent; -- cstate->cStateValue.maxBytesSent += sent; -- if (cstate->cStateValue.maxBytesSent == pCache->data_size) -- cstate_size = sdp_set_cstate_pdu(buf, NULL); -- else -- cstate_size = sdp_set_cstate_pdu(buf, cstate); -+ if (cstate->cStateValue.maxBytesSent >= pCache->data_size) { -+ status = SDP_INVALID_CSTATE; -+ SDPDBG("Got bad cstate with invalid size"); -+ } else { -+ uint16_t sent = MIN(max, pCache->data_size - cstate->cStateValue.maxBytesSent); -+ pResponse = pCache->data; -+ memcpy(buf->data, pResponse + cstate->cStateValue.maxBytesSent, sent); -+ buf->data_size += sent; -+ cstate->cStateValue.maxBytesSent += sent; -+ if (cstate->cStateValue.maxBytesSent == pCache->data_size) -+ cstate_size = sdp_set_cstate_pdu(buf, NULL); -+ else -+ cstate_size = sdp_set_cstate_pdu(buf, cstate); -+ } - } else { - status = SDP_INVALID_CSTATE; - SDPDBG("Non-null continuation state, but null cache buffer"); From dc1d3cdef70f0e3c047c229c2a0e561d1f47bde8 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 29 Jul 2017 11:28:42 -0400 Subject: [PATCH 040/287] gnu: Use 'modify-phases' syntax. * gnu/packages/admin.scm (mingetty, clusterssh, wpa-supplicant-minimal, wpa-supplicant, wakelan, acpica, tree, direvent, dstat)[arguments]: Use 'modify-phases' syntax. * gnu/packages/algebra.scm (arb)[arguments]: Likewise. * gnu/packages/apr.scm (apr-util)[arguments]: Likewise. * gnu/packages/audio.scm (clalsadrv, fluidsynth, faad2, lv2-mda-piano, lv2-mda-epiano, timidity++, vamp, soundtouch, portaudio, rsound, zita-convolver, zita-alsa-pcmi)[arguments]: Likewise. * gnu/packages/backup.scm (rdup, btar)[arguments]: Likewise. * gnu/packages/bioinformatics.scm (bedops, bwa, crossmap, express, flexbar, grit, hisat, ngs-sdk, subread)[arguments]: Likewise. * gnu/packages/bittorrent.scm (transmission)[arguments]: Likewise. * gnu/packages/cdrom.scm (cd-discid)[arguments]: Likewise. * gnu/packages/compression.scm (sharutils)[arguments]: Likewise. * gnu/packages/conky.scm (conky)[arguments]: Likewise. * gnu/packages/databases.scm (bdb, bdb-5.3)[arguments]: Likewise. * gnu/packages/debug.scm (delta, c-reduce)[arguments]: Likewise. * gnu/packages/display-managers.scm (slim)[arguments]: Likewise. * gnu/packages/dns.scm (dnsmasq)[arguments]: Likewise. * gnu/packages/emacs.scm (geiser, emacs-wget, bbdb)[arguments]: Likewise. * gnu/packages/engineering.scm (pcb)[arguments]: Likewise. * gnu/packages/firmware.scm (ath9k-htc-firmware)[arguments]: Likewise. * gnu/packages/flashing-tools.scm (flashrom)[arguments]: Likewise. * gnu/packages/fltk.scm (fltk)[arguments]: Likewise. * gnu/packages/freedesktop.scm (python-pyxdg)[arguments]: Likewise. * gnu/packages/gd.scm (perl-gd)[arguments]: Likewise. * gnu/packages/gkrellm.scm (gkrellm)[arguments]: Likewise. * gnu/packages/glib.scm (glibmm)[arguments]: Likewise. * gnu/packages/gl.scm (glew)[arguments]: Likewise. * gnu/packages/gnome.scm (icon-naming-utils, orbit2, libbonobo, gnome-vfs, libgnome, libbonoboui, goffice-0.8, dconf)[arguments]: Likewise. * gnu/packages/gprolog.scm (gprolog)[arguments]: Likewise. * gnu/packages/gps.scm (gpscorrelate)[arguments]: Likewise. * gnu/packages/graphics.scm (agg)[arguments]: Likewise. * gnu/packages/gtk.scm (ganv, girara, gtksourceview-2, guile-present, python2-pycairo)[arguments]: Likewise. * gnu/packages/guile.scm (guile-1.8)[arguments]: Likewise. * gnu/packages/guile-wm.scm (guile-wm)[arguments]: Likewise. * gnu/packages/hugs.scm (hugs)[arguments]: Likewise. * gnu/packages/hurd.scm (gnumach-headers, hurd-headers, hurd-minimal) [arguments]: Likewise. * gnu/packages/image-viewers.scm (feh, sxiv)[arguments]: Likewise. * gnu/packages/libcanberra.scm (libcanberra)[arguments]: Likewise. * gnu/packages/linux.scm (bridge-utils, iw, fuse, unionfs-fuse/static, lm-sensors, i2c-tools, xsensors, perf, mdadm, libaio, module-init-tools) [arguments]: Likewise. * gnu/packages/lisp.scm (ccl)[arguments]: Likewise. * gnu/packages/lout.scm (lout)[arguments]: Likewise. * gnu/packages/lua.scm (luajit)[arguments]: Likewise. * gnu/packages/machine-learning.scm (shogun)[arguments]: Likewise. * gnu/packages/mail.scm (exim)[arguments]: Likewise. * gnu/packages/man.scm (man-pages, txt2man)[arguments]: Likewise. * gnu/packages/maths.scm (lapack, superlu-dist, openlibm, openspecfun) [arguments]: Likewise. * gnu/packages/messaging.scm (bitlbee)[arguments]: Likewise. * gnu/packages/mp3.scm (libmad, id3lib, mp3info)[arguments]: Likewise. * gnu/packages/music.scm (solfege)[arguments]: Likewise. * gnu/packages/noweb.scm (noweb)[arguments]: Likewise. * gnu/packages/patchutils.scm (patchutils, quilt, colordiff)[arguments]: Likewise. * gnu/packages/pdf.scm (xpdf, zathura-cb, zathura-ps, zathura-djvu, zathura-pdf-poppler, zathura, podofo, fbida)[arguments]: Likewise. * gnu/packages/perl.scm (perl-file-list, perl-test-harness)[arguments]: Likewise. * gnu/packages/photo.scm (gphoto2)[arguments]: Likewise. * gnu/packages/popt.scm (popt)[arguments]: Likewise. * gnu/packages/pretty-print.scm (source-highlight, astyle)[arguments]: Likewise. * gnu/packages/pumpio.scm (pumpa)[arguments]: Likewise. * gnu/packages/python.scm (python-passlib, python-pycrypto, python2-empy, python-sqlalchemy, python-docopt)[arguments]: Likewise. * gnu/packages/rdf.scm (lrdf)[arguments]: Likewise. * gnu/packages/regex.scm (tre)[arguments]: Likewise. * gnu/packages/rrdtool.scm (rrdtool)[arguments]: Likewise. * gnu/packages/ruby.scm (ruby-2.1, ruby-1.8)[arguments]: Likewise. * gnu/packages/sawfish.scm (sawfish)[arguments]: Likewise. * gnu/packages/scheme.scm (racket)[arguments]: Likewise. * gnu/packages/sdl.scm (guile-sdl)[arguments]: Likewise. * gnu/packages/serveez.scm (serveez)[arguments]: Likewise. * gnu/packages/skribilo.scm (skribilo)[arguments]: Likewise. * gnu/packages/smalltalk.scm (smalltalk)[arguments]: Likewise. * gnu/packages/suckless.scm (dmenu, slock)[arguments]: Likewise. * gnu/packages/tcl.scm (expect)[arguments]: Likewise. * gnu/packages/telephony.scm (commoncpp)[arguments]: Likewise. * gnu/packages/textutils.scm (recode, libgtextutils)[arguments]: Likewise. * gnu/packages/time.scm (time)[arguments]: Likewise. * gnu/packages/tor.scm (privoxy)[arguments]: Likewise. * gnu/packages/uucp.scm (uucp)[arguments]: Likewise. * gnu/packages/video.scm (libdvdnav-4)[arguments]: Likewise. * gnu/packages/web-browsers.scm (lynx)[arguments]: Likewise. * gnu/packages/web.scm (tinyproxy)[arguments]: Likewise. * gnu/packages/wicd.scm (wicd)[arguments]: Likewise. * gnu/packages/wm.scm (bspwm)[arguments]: Likewise. * gnu/packages/xdisorg.scm (sxhkd, xcape)[arguments]: Likewise. * gnu/packages/xfce.scm (xfconf)[arguments]: Likewise. * gnu/packages/xfig.scm (transfig)[arguments]: Likewise. * gnu/packages/xorg.scm (imake)[arguments]: Likewise. --- gnu/packages/admin.scm | 232 +++++++++++++------------- gnu/packages/algebra.scm | 31 ++-- gnu/packages/apr.scm | 25 ++- gnu/packages/audio.scm | 195 +++++++++++----------- gnu/packages/backup.scm | 34 ++-- gnu/packages/bioinformatics.scm | 252 ++++++++++++++--------------- gnu/packages/bittorrent.scm | 33 ++-- gnu/packages/cdrom.scm | 2 +- gnu/packages/compression.scm | 16 +- gnu/packages/conky.scm | 31 ++-- gnu/packages/databases.scm | 102 ++++++------ gnu/packages/debug.scm | 70 ++++---- gnu/packages/display-managers.scm | 23 +-- gnu/packages/dns.scm | 2 +- gnu/packages/emacs.scm | 74 ++++----- gnu/packages/engineering.scm | 43 +++-- gnu/packages/firmware.scm | 48 +++--- gnu/packages/flashing-tools.scm | 21 ++- gnu/packages/fltk.scm | 42 ++--- gnu/packages/freedesktop.scm | 31 ++-- gnu/packages/gd.scm | 19 +-- gnu/packages/gkrellm.scm | 5 +- gnu/packages/gl.scm | 2 +- gnu/packages/glib.scm | 31 ++-- gnu/packages/gnome.scm | 143 ++++++++-------- gnu/packages/gprolog.scm | 17 +- gnu/packages/gps.scm | 19 +-- gnu/packages/graphics.scm | 13 +- gnu/packages/gtk.scm | 80 ++++----- gnu/packages/guile-wm.scm | 81 +++++----- gnu/packages/guile.scm | 34 ++-- gnu/packages/hugs.scm | 61 +++---- gnu/packages/hurd.scm | 60 ++++--- gnu/packages/image-viewers.scm | 13 +- gnu/packages/libcanberra.scm | 18 +-- gnu/packages/linux.scm | 260 +++++++++++++++--------------- gnu/packages/lisp.scm | 61 ++++--- gnu/packages/lout.scm | 119 +++++++------- gnu/packages/lua.scm | 2 +- gnu/packages/machine-learning.scm | 88 +++++----- gnu/packages/mail.scm | 90 +++++------ gnu/packages/man.scm | 4 +- gnu/packages/maths.scm | 100 ++++++------ gnu/packages/messaging.scm | 27 ++-- gnu/packages/mp3.scm | 88 +++++----- gnu/packages/music.scm | 102 ++++++------ gnu/packages/noweb.scm | 79 +++++---- gnu/packages/patchutils.scm | 120 +++++++------- gnu/packages/pdf.scm | 61 +++---- gnu/packages/perl.scm | 29 ++-- gnu/packages/photo.scm | 15 +- gnu/packages/popt.scm | 17 +- gnu/packages/pretty-print.scm | 65 ++++---- gnu/packages/pumpio.scm | 33 ++-- gnu/packages/python.scm | 45 +++--- gnu/packages/rdf.scm | 40 ++--- gnu/packages/regex.scm | 20 +-- gnu/packages/rrdtool.scm | 19 +-- gnu/packages/ruby.scm | 40 ++--- gnu/packages/sawfish.scm | 50 +++--- gnu/packages/scheme.scm | 134 +++++++-------- gnu/packages/sdl.scm | 46 +++--- gnu/packages/serveez.scm | 15 +- gnu/packages/skribilo.scm | 29 ++-- gnu/packages/smalltalk.scm | 17 +- gnu/packages/suckless.scm | 4 +- gnu/packages/tcl.scm | 15 +- gnu/packages/telephony.scm | 12 +- gnu/packages/textutils.scm | 25 ++- gnu/packages/time.scm | 20 +-- gnu/packages/tor.scm | 14 +- gnu/packages/uucp.scm | 24 +-- gnu/packages/video.scm | 9 +- gnu/packages/web-browsers.scm | 10 +- gnu/packages/web.scm | 15 +- gnu/packages/wicd.scm | 214 ++++++++++++------------ gnu/packages/wm.scm | 2 +- gnu/packages/xdisorg.scm | 5 +- gnu/packages/xfce.scm | 22 +-- gnu/packages/xfig.scm | 74 +++++---- gnu/packages/xorg.scm | 39 +++-- 81 files changed, 2098 insertions(+), 2124 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 8e98174f47..612e4a7fff 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -361,32 +361,31 @@ login, passwd, su, groupadd, and useradd.") "05yxrp44ky2kg6qknk1ih0kvwkgbn9fbz77r3vci7agslh5wjm8g")))) (build-system gnu-build-system) (arguments - `(#:phases (alist-replace 'configure - (lambda* (#:key inputs outputs - #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (man8 (string-append - out "/share/man/man8")) - (sbin (string-append out "/sbin")) - (shadow (assoc-ref inputs "shadow")) - (login (string-append shadow - "/bin/login"))) - (substitute* "Makefile" - (("^SBINDIR.*") - (string-append "SBINDIR = " out - "/sbin\n")) - (("^MANDIR.*") - (string-append "MANDIR = " out - "/share/man/man8\n"))) + `(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (man8 (string-append out "/share/man/man8")) + (sbin (string-append out "/sbin")) + (shadow (assoc-ref inputs "shadow")) + (login (string-append shadow "/bin/login"))) + (substitute* "Makefile" + (("^SBINDIR.*") + (string-append "SBINDIR = " out + "/sbin\n")) + (("^MANDIR.*") + (string-append "MANDIR = " out + "/share/man/man8\n"))) - ;; Pick the right 'login' by default. - (substitute* "mingetty.c" - (("\"/bin/login\"") - (string-append "\"" login "\""))) + ;; Pick the right 'login' by default. + (substitute* "mingetty.c" + (("\"/bin/login\"") + (string-append "\"" login "\""))) - (mkdir-p sbin) - (mkdir-p man8))) - %standard-phases) + (mkdir-p sbin) + (mkdir-p man8)) + #t))) #:tests? #f)) ; no tests (inputs `(("shadow" ,shadow))) @@ -725,25 +724,25 @@ by bandwidth they use.") ("perl-x11-protocol" ,perl-x11-protocol))) (arguments `(#:phases - (alist-cons-after - 'install 'set-load-paths - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; Put the perl-tk and perl-x11-protocol modules in the perl inc - ;; path for PROG - (let* ((out (assoc-ref outputs "out")) - (prog (string-append out "/bin/cssh")) - (perl-ver ,(package-version perl)) - (x11-inc (string-append - (assoc-ref inputs "perl-x11-protocol") - "/lib/perl5/site_perl/" perl-ver)) - (tk-inc (string-append - (assoc-ref inputs "perl-tk") - "/lib/perl5/site_perl/" perl-ver - "/x86_64-linux"))) - (wrap-program - prog - `("PERL5LIB" ":" prefix (,x11-inc ,tk-inc))))) - %standard-phases))) + (modify-phases %standard-phases + (add-after 'install 'set-load-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Put the perl-tk and perl-x11-protocol modules in the perl inc + ;; path for PROG + (let* ((out (assoc-ref outputs "out")) + (prog (string-append out "/bin/cssh")) + (perl-ver ,(package-version perl)) + (x11-inc (string-append + (assoc-ref inputs "perl-x11-protocol") + "/lib/perl5/site_perl/" perl-ver)) + (tk-inc (string-append + (assoc-ref inputs "perl-tk") + "/lib/perl5/site_perl/" perl-ver + "/x86_64-linux"))) + (wrap-program + prog + `("PERL5LIB" ":" prefix (,x11-inc ,tk-inc)))) + #t))))) ;; The clusterssh.sourceforge.net address requires login to view (home-page "https://sourceforge.net/projects/clusterssh/") (synopsis "Secure concurrent multi-server terminal control") @@ -908,13 +907,14 @@ commands and their arguments.") "0l0l5gz3d5j9bqjsbjlfcv4w4jwndllp9fmyai4x9kg6qhs6v4xl")))) (build-system gnu-build-system) (arguments - '(#:phases (alist-replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - (chdir "wpa_supplicant") - (copy-file "defconfig" ".config") - (let ((port (open-file ".config" "al"))) - (display " + '(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (chdir "wpa_supplicant") + (copy-file "defconfig" ".config") + (let ((port (open-file ".config" "al"))) + (display " CONFIG_DEBUG_SYSLOG=y # Choose GnuTLS (the default is OpenSSL.) @@ -924,26 +924,23 @@ commands and their arguments.") CFLAGS += $(shell pkg-config libnl-3.0 --cflags) CONFIG_LIBNL32=y CONFIG_READLINE=y\n" port) - (close-port port))) + (close-port port)))) + (add-after 'install 'install-man-pages + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (man (string-append out "/share/man")) + (man5 (string-append man "/man5")) + (man8 (string-append man "/man8"))) + (define (copy-man-page target) + (lambda (file) + (install-file file target))) - (alist-cons-after - 'install 'install-man-pages - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (man (string-append out "/share/man")) - (man5 (string-append man "/man5")) - (man8 (string-append man "/man8"))) - (define (copy-man-page target) - (lambda (file) - (install-file file target))) - - (mkdir-p man5) (mkdir man8) - (for-each (copy-man-page man5) - (find-files "doc/docbook" "\\.5")) - (for-each (copy-man-page man8) - (find-files "doc/docbook" "\\.8")) - #t)) - %standard-phases)) + (mkdir-p man5) (mkdir man8) + (for-each (copy-man-page man5) + (find-files "doc/docbook" "\\.5")) + (for-each (copy-man-page man8) + (find-files "doc/docbook" "\\.8")) + #t)))) #:make-flags (list "CC=gcc" (string-append "BINDIR=" (assoc-ref %outputs "out") @@ -980,25 +977,24 @@ This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.") (arguments (substitute-keyword-arguments (package-arguments wpa-supplicant-minimal) ((#:phases phases) - `(alist-cons-after - 'configure 'configure-for-dbus - (lambda _ - (let ((port (open-file ".config" "al"))) - (display " + `(modify-phases ,phases + (add-after 'configure 'configure-for-dbus + (lambda _ + (let ((port (open-file ".config" "al"))) + (display " CONFIG_CTRL_IFACE_DBUS=y CONFIG_CTRL_IFACE_DBUS_NEW=y CONFIG_CTRL_IFACE_DBUS_INTRO=y\n" port) - (close-port port)) - #t) - (alist-cons-after - 'install-man-pages 'install-dbus-conf - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (dir (string-append out "/etc/dbus-1/system.d"))) - (mkdir-p dir) - (copy-file "dbus/dbus-wpa_supplicant.conf" - (string-append dir "/wpa_supplicant.conf")))) - ,phases))))))) + (close-port port)) + #t)) + (add-after 'install-man-pages 'install-dbus-conf + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (dir (string-append out "/etc/dbus-1/system.d"))) + (mkdir-p dir) + (copy-file "dbus/dbus-wpa_supplicant.conf" + (string-append dir "/wpa_supplicant.conf"))) + #t)))))))) (define-public wakelan (package @@ -1014,22 +1010,22 @@ This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.") "0vydqpf44146ir6k87gmqaq6xy66xhc1gkr3nsd7jj3nhy7ypx9x")))) (build-system gnu-build-system) (arguments - '(#:phases (alist-replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (mkdir-p (string-append out "/bin")) - (mkdir-p (string-append out "/share/man/man1")) + '(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/bin")) + (mkdir-p (string-append out "/share/man/man1")) - ;; It's an old configure script that doesn't understand - ;; the extra options we pass. - (setenv "CONFIG_SHELL" (which "bash")) - (zero? - (system* "./configure" - (string-append "--prefix=" out) - (string-append "--mandir=" out - "/share/man"))))) - %standard-phases) + ;; It's an old configure script that doesn't understand + ;; the extra options we pass. + (setenv "CONFIG_SHELL" (which "bash")) + (zero? + (system* "./configure" + (string-append "--prefix=" out) + (string-append "--mandir=" out + "/share/man"))))))) #:tests? #f)) (home-page "http://kernel.org") ; really, no home page (synopsis "Send a wake-on-LAN packet") @@ -1088,7 +1084,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") "HOST=_LINUX" "OPT_CFLAGS=-Wall -fno-strict-aliasing") #:tests? #f ; no 'check' target. - #:phases (alist-delete 'configure %standard-phases))) + #:phases (modify-phases %standard-phases (delete 'configure)))) (home-page "http://acpica.org/") (synopsis "Tools for the development and debug of ACPI tables") (description @@ -1198,7 +1194,7 @@ recover lost partitions and/or make non-booting disks bootable again.") (base32 "04kviw799qxly08zb8n5mgxfd96gyis6x69q2qiw86jnh87c4mv9")))) (build-system gnu-build-system) (arguments - '(#:phases (alist-delete 'configure %standard-phases) + '(#:phases (modify-phases %standard-phases (delete 'configure)) #:tests? #f ; no check target #:make-flags (let ((out (assoc-ref %outputs "out"))) (list (string-append "prefix=" out))))) @@ -1227,23 +1223,23 @@ environment variable is set and output is to tty.") "#!$SHELL"))))) (build-system gnu-build-system) (arguments - '(#:phases (alist-cons-before - 'build 'patch-/bin/sh - (lambda* (#:key inputs #:allow-other-keys) - ;; Use the right shell when executing the watcher and - ;; user-provided shell commands. - (let ((bash (assoc-ref inputs "bash"))) - (substitute* '("src/direvent.c" "src/progman.c") - (("\"/bin/sh\"") - (string-append "\"" bash "/bin/sh\""))) + '(#:phases + (modify-phases %standard-phases + (add-before 'build 'patch-/bin/sh + (lambda* (#:key inputs #:allow-other-keys) + ;; Use the right shell when executing the watcher and + ;; user-provided shell commands. + (let ((bash (assoc-ref inputs "bash"))) + (substitute* '("src/direvent.c" "src/progman.c") + (("\"/bin/sh\"") + (string-append "\"" bash "/bin/sh\""))) - ;; Adjust the 'shell.at' test accordingly. - (substitute* "tests/testsuite" - (("SHELL=/bin/sh") - (string-append "SHELL=" bash "/bin/sh"))) + ;; Adjust the 'shell.at' test accordingly. + (substitute* "tests/testsuite" + (("SHELL=/bin/sh") + (string-append "SHELL=" bash "/bin/sh"))) - #t)) - %standard-phases))) + #t)))))) (home-page "https://www.gnu.org/software/direvent/") (synopsis "Daemon to monitor directories for events such as file removal") (description @@ -1700,7 +1696,7 @@ results (ndiff), and a packet generation and response analysis tool (nping).") (list (string-append "DESTDIR=" out) "prefix=/")) ;; no configure script - #:phases (alist-delete 'configure %standard-phases))) + #:phases (modify-phases %standard-phases (delete 'configure)))) (inputs `(("python-2" ,python-2))) (synopsis "Versatile resource statistics tool") (description "Dstat is a versatile replacement for @command{vmstat}, diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index e4f30a5791..08940e4f90 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -334,22 +334,21 @@ fast arithmetic.") ("mpfr" ,mpfr))) (arguments `(#:phases - (alist-replace - 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (flint (assoc-ref inputs "flint")) - (gmp (assoc-ref inputs "gmp")) - (mpfr (assoc-ref inputs "mpfr"))) - ;; do not pass "--enable-fast-install", which makes the - ;; homebrew configure process fail - (zero? (system* - "./configure" - (string-append "--prefix=" out) - (string-append "--with-flint=" flint) - (string-append "--with-gmp=" gmp) - (string-append "--with-mpfr=" mpfr))))) - %standard-phases))) + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (flint (assoc-ref inputs "flint")) + (gmp (assoc-ref inputs "gmp")) + (mpfr (assoc-ref inputs "mpfr"))) + ;; do not pass "--enable-fast-install", which makes the + ;; homebrew configure process fail + (zero? (system* + "./configure" + (string-append "--prefix=" out) + (string-append "--with-flint=" flint) + (string-append "--with-gmp=" gmp) + (string-append "--with-mpfr=" mpfr))))))))) (synopsis "Arbitrary precision floating-point ball arithmetic") (description "Arb is a C library for arbitrary-precision floating-point ball diff --git a/gnu/packages/apr.scm b/gnu/packages/apr.scm index 17945c0390..baadb41b60 100644 --- a/gnu/packages/apr.scm +++ b/gnu/packages/apr.scm @@ -80,19 +80,18 @@ around or take advantage of platform-specific deficiencies or features.") `(("expat" ,expat))) (arguments '(#:phases - (alist-replace - 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (apr (assoc-ref inputs "apr")) - (expat (assoc-ref inputs "expat"))) - (setenv "CONFIG_SHELL" (which "bash")) - (zero? - (system* "./configure" - (string-append "--prefix=" out) - (string-append "--with-apr=" apr) - (string-append "--with-expat=" expat))))) - %standard-phases) + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (apr (assoc-ref inputs "apr")) + (expat (assoc-ref inputs "expat"))) + (setenv "CONFIG_SHELL" (which "bash")) + (zero? + (system* "./configure" + (string-append "--prefix=" out) + (string-append "--with-apr=" apr) + (string-append "--with-expat=" expat))))))) ;; There are race conditions during 'make check'. Typically, the ;; 'testall' executable is not built yet by the time 'make check' tries diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 1b7950cf00..e33f5e33b7 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -617,23 +617,21 @@ language and software synthesizer.") `(#:tests? #f ; no "check" target #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:phases - (alist-cons-after - 'unpack 'patch-makefile-and-enter-directory - (lambda _ - (substitute* "libs/Makefile" - (("/sbin/ldconfig") "true") - (("^LIBDIR =.*") "LIBDIR = lib\n")) - (chdir "libs") - #t) - (alist-cons-after - 'install - 'install-symlink - (lambda _ - (symlink "libclalsadrv.so" - (string-append (assoc-ref %outputs "out") - "/lib/libclalsadrv.so.2"))) - ;; no configure script - (alist-delete 'configure %standard-phases))))) + (modify-phases %standard-phases + (add-after 'unpack 'patch-makefile-and-enter-directory + (lambda _ + (substitute* "libs/Makefile" + (("/sbin/ldconfig") "true") + (("^LIBDIR =.*") "LIBDIR = lib\n")) + (chdir "libs") + #t)) + (add-after 'install 'install-symlink + (lambda _ + (symlink "libclalsadrv.so" + (string-append (assoc-ref %outputs "out") + "/lib/libclalsadrv.so.2"))) + ;; no configure script + (modify-phases %standard-phases (delete 'configure)))))) (inputs `(("alsa-lib" ,alsa-lib) ("fftw" ,fftw))) @@ -972,11 +970,9 @@ follower.") (build-system gnu-build-system) (arguments `(#:phases - (alist-cons-after - 'unpack - 'remove-broken-symlinks - (lambda _ (delete-file-recursively "m4") #t) - %standard-phases))) + (modify-phases %standard-phases + (add-after 'unpack 'remove-broken-symlinks + (lambda _ (delete-file-recursively "m4") #t))))) (inputs `(("libsndfile" ,libsndfile) ("alsa-lib" ,alsa-lib) @@ -1015,12 +1011,11 @@ also play midifiles using a Soundfont.") ("unzip" ,unzip))) (arguments '(#:phases - (alist-cons-after - 'unpack 'bootstrap - (lambda _ - (substitute* "bootstrap" (("\r\n") "\n")) - (zero? (system* "sh" "bootstrap"))) - %standard-phases))) + (modify-phases %standard-phases + (add-after 'unpack 'bootstrap + (lambda _ + (substitute* "bootstrap" (("\r\n") "\n")) + (zero? (system* "sh" "bootstrap"))))))) (home-page "http://www.audiocoding.com/faad2.html") (synopsis "MPEG-4 and MPEG-2 AAC decoder") (description @@ -1674,7 +1669,7 @@ software.") "TYPE=mdaPiano" (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:tests? #f ; no check target - #:phases (alist-delete 'configure %standard-phases))) + #:phases (modify-phases %standard-phases (delete 'configure)))) (inputs `(("lv2" ,lv2) ("lvtk" ,lvtk))) @@ -1697,7 +1692,7 @@ software.") "TYPE=mdaEPiano" (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:tests? #f ; no check target - #:phases (alist-delete 'configure %standard-phases))) + #:phases (modify-phases %standard-phases (delete 'configure)))) (home-page "http://elephly.net/lv2/mdaepiano.html") (synopsis "LV2 port of the mda EPiano plugin") (description "An LV2 port of the mda EPiano VSTi."))) @@ -2090,19 +2085,19 @@ Suil currently supports every combination of Gtk 2, Qt 4, and X11.") (string-append "--with-default-path=" (assoc-ref %outputs "out") "/etc/timidity")) #:phases - (alist-cons-after - 'install 'install-config - (lambda _ - (let ((out (string-append (assoc-ref %outputs "out") - "/etc/timidity"))) - (mkdir-p out) - (call-with-output-file - (string-append out "/timidity.cfg") - (lambda (port) - (format port (string-append "source " - (assoc-ref %build-inputs "freepats") - "/share/freepats/freepats.cfg")))))) - %standard-phases))) + (modify-phases %standard-phases + (add-after 'install 'install-config + (lambda _ + (let ((out (string-append (assoc-ref %outputs "out") + "/etc/timidity"))) + (mkdir-p out) + (call-with-output-file + (string-append out "/timidity.cfg") + (lambda (port) + (format port (string-append "source " + (assoc-ref %build-inputs "freepats") + "/share/freepats/freepats.cfg"))))) + #t))))) (inputs `(("alsa-lib" ,alsa-lib) ("ao" ,ao) @@ -2141,16 +2136,15 @@ disks as various audio file formats.") (arguments `(#:tests? #f ; no check target #:phases - (alist-cons-after - 'install 'remove-libvamp-hostsdk.la - (lambda* (#:key outputs #:allow-other-keys) - ;; https://bugs.launchpad.net/ubuntu/+source/vamp-plugin-sdk/+bug/1253656 - (for-each delete-file - (let ((out (assoc-ref outputs "out"))) - (list (string-append out "/lib/libvamp-sdk.la") - (string-append out "/lib/libvamp-hostsdk.la")))) - #t) - %standard-phases))) + (modify-phases %standard-phases + (add-after 'install 'remove-libvamp-hostsdk.la + (lambda* (#:key outputs #:allow-other-keys) + ;; https://bugs.launchpad.net/ubuntu/+source/vamp-plugin-sdk/+bug/1253656 + (for-each delete-file + (let ((out (assoc-ref outputs "out"))) + (list (string-append out "/lib/libvamp-sdk.la") + (string-append out "/lib/libvamp-hostsdk.la")))) + #t)s)))) (inputs `(("libsndfile" ,libsndfile))) (native-inputs @@ -2312,11 +2306,10 @@ Tracker 3 S3M and Impulse Tracker IT files.") ("file" ,file))) (arguments '(#:phases - (alist-cons-after - 'unpack 'bootstrap - (lambda _ - (zero? (system* "sh" "bootstrap"))) - %standard-phases))) + (modify-phases %standard-phases + (add-after 'unpack 'bootstrap + (lambda _ + (zero? (system* "sh" "bootstrap"))))))) (home-page "http://www.surina.net/soundtouch/") (synopsis "Audio processing library for changing tempo, pitch and playback rate") @@ -2450,11 +2443,10 @@ portions of LAME.") '(#:phases ;; Autoreconf is necessary because the audacity-compat patch modifies ;; .in files. - (alist-cons-after - 'unpack 'autoreconf - (lambda _ - (zero? (system* "autoreconf" "-vif"))) - %standard-phases) + (modify-phases %standard-phases + (add-after 'unpack 'autoreconf + (lambda _ + (zero? (system* "autoreconf" "-vif"))))) #:tests? #f)) ;no 'check' target (home-page "http://www.portaudio.com/") (synopsis "Audio I/O library") @@ -2518,14 +2510,13 @@ synthesizer written in C++.") ("pulseaudio" ,pulseaudio))) (arguments '(#:phases - (alist-replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - (setenv "CC" "gcc") - (zero? - (system* "./configure" - (string-append "--prefix=" (assoc-ref outputs "out"))))) - %standard-phases) + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (setenv "CC" "gcc") + (zero? + (system* "./configure" + (string-append "--prefix=" (assoc-ref outputs "out"))))))) ;; No 'check' target. #:tests? #f)) (home-page "http://themaister.net/rsound.html") @@ -2592,22 +2583,20 @@ result.") `(#:tests? #f ; no "check" target #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:phases - (alist-cons-after - 'unpack 'patch-makefile-and-enter-directory - (lambda _ - (substitute* "libs/Makefile" - (("ldconfig") "true") - (("^LIBDIR =.*") "LIBDIR = lib\n")) - (chdir "libs") #t) - (alist-cons-after - 'install - 'install-symlink - (lambda _ - (symlink "libzita-convolver.so" - (string-append (assoc-ref %outputs "out") - "/lib/libzita-convolver.so.3"))) - ;; no configure script - (alist-delete 'configure %standard-phases))))) + (modify-phases %standard-phases + (add-after 'unpack 'patch-makefile-and-enter-directory + (lambda _ + (substitute* "libs/Makefile" + (("ldconfig") "true") + (("^LIBDIR =.*") "LIBDIR = lib\n")) + (chdir "libs") #t) + (add-after 'install 'install-symlink + (lambda _ + (symlink "libzita-convolver.so" + (string-append (assoc-ref %outputs "out") + "/lib/libzita-convolver.so.3")))) + ;; no configure script + (delete 'configure))))) (inputs `(("fftwf" ,fftwf))) (home-page "http://kokkinizita.linuxaudio.org") (synopsis "Fast, partitioned convolution engine library") @@ -2682,23 +2671,21 @@ provide high-quality sample rate conversion.") `(#:tests? #f ; no "check" target #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:phases - (alist-cons-after - 'unpack 'patch-makefile-and-enter-directory - (lambda _ - (substitute* "libs/Makefile" - (("ldconfig") "true") - (("^LIBDIR =.*") "LIBDIR = lib\n")) - (chdir "libs") - #t) - (alist-cons-after - 'install - 'install-symlink - (lambda _ - (symlink "libzita-alsa-pcmi.so" - (string-append (assoc-ref %outputs "out") - "/lib/libzita-alsa-pcmi.so.0"))) - ;; no configure script - (alist-delete 'configure %standard-phases))))) + (modify-phases %standard-phases + (add-after 'unpack 'patch-makefile-and-enter-directory + (lambda _ + (substitute* "libs/Makefile" + (("ldconfig") "true") + (("^LIBDIR =.*") "LIBDIR = lib\n")) + (chdir "libs") + #t)) + (add-after 'install 'install-symlink + (lambda _ + (symlink "libzita-alsa-pcmi.so" + (string-append (assoc-ref %outputs "out") + "/lib/libzita-alsa-pcmi.so.0")))) + ;; no configure script + (delete 'configure)))) (inputs `(("alsa-lib" ,alsa-lib) ("fftw" ,fftw))) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 006d00ef0c..9f7921ad76 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -293,20 +293,20 @@ random access nor for in-place modification.") ("nettle" ,nettle))) (arguments `(#:parallel-build? #f ;race conditions - #:phases (alist-cons-before - 'build 'remove-Werror - ;; rdup uses a deprecated function from libarchive - (lambda _ - (substitute* "GNUmakefile" - (("^(CFLAGS=.*)-Werror" _ front) front))) - (alist-cons-before - 'check 'pre-check - (lambda _ - (setenv "HOME" (getcwd)) - (substitute* "testsuite/rdup/rdup.rdup-up-t-with-file.exp" - (("/bin/cat") (which "cat")))) - - %standard-phases)))) + #:phases + (modify-phases %standard-phases + (add-before 'build 'remove-Werror + ;; rdup uses a deprecated function from libarchive + (lambda _ + (substitute* "GNUmakefile" + (("^(CFLAGS=.*)-Werror" _ front) front)) + #t)) + (add-before 'check 'pre-check + (lambda _ + (setenv "HOME" (getcwd)) + (substitute* "testsuite/rdup/rdup.rdup-up-t-with-file.exp" + (("/bin/cat") (which "cat"))) + #t))))) (home-page "http://archive.miek.nl/projects/rdup/index.html") (synopsis "Provide a list of files to backup") (description @@ -336,9 +336,9 @@ list and implement the backup strategy.") "CC=gcc") #:tests? #f ;test input not distributed #:phases - (alist-delete - 'configure ;no configure phase - %standard-phases))) + ;; no configure phase + (modify-phases %standard-phases + (delete 'configure)))) (home-page "http://viric.name/cgi-bin/btar/doc/trunk/doc/home.wiki") (synopsis "Tar-compatible archiver") (description diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 33b58f44bc..d94b297723 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -369,32 +369,33 @@ transparently with both VCFs and BCFs, both uncompressed and BGZF-compressed.") '(#:tests? #f #:make-flags (list (string-append "BINDIR=" %output "/bin")) #:phases - (alist-cons-after - 'unpack 'unpack-tarballs - (lambda _ - ;; FIXME: Bedops includes tarballs of minimally patched upstream - ;; libraries jansson, zlib, and bzip2. We cannot just use stock - ;; libraries because at least one of the libraries (zlib) is - ;; patched to add a C++ function definition (deflateInit2cpp). - ;; Until the Bedops developers offer a way to link against system - ;; libraries we have to build the in-tree copies of these three - ;; libraries. + (modify-phases %standard-phases + (add-after 'unpack 'unpack-tarballs + (lambda _ + ;; FIXME: Bedops includes tarballs of minimally patched upstream + ;; libraries jansson, zlib, and bzip2. We cannot just use stock + ;; libraries because at least one of the libraries (zlib) is + ;; patched to add a C++ function definition (deflateInit2cpp). + ;; Until the Bedops developers offer a way to link against system + ;; libraries we have to build the in-tree copies of these three + ;; libraries. - ;; See upstream discussion: - ;; https://github.com/bedops/bedops/issues/124 + ;; See upstream discussion: + ;; https://github.com/bedops/bedops/issues/124 - ;; Unpack the tarballs to benefit from shebang patching. - (with-directory-excursion "third-party" - (and (zero? (system* "tar" "xvf" "jansson-2.6.tar.bz2")) - (zero? (system* "tar" "xvf" "zlib-1.2.7.tar.bz2")) - (zero? (system* "tar" "xvf" "bzip2-1.0.6.tar.bz2")))) - ;; Disable unpacking of tarballs in Makefile. - (substitute* "system.mk/Makefile.linux" - (("^\tbzcat .*") "\t@echo \"not unpacking\"\n") - (("\\./configure") "CONFIG_SHELL=bash ./configure")) - (substitute* "third-party/zlib-1.2.7/Makefile.in" - (("^SHELL=.*$") "SHELL=bash\n"))) - (alist-delete 'configure %standard-phases)))) + ;; Unpack the tarballs to benefit from shebang patching. + (with-directory-excursion "third-party" + (and (zero? (system* "tar" "xvf" "jansson-2.6.tar.bz2")) + (zero? (system* "tar" "xvf" "zlib-1.2.7.tar.bz2")) + (zero? (system* "tar" "xvf" "bzip2-1.0.6.tar.bz2")))) + ;; Disable unpacking of tarballs in Makefile. + (substitute* "system.mk/Makefile.linux" + (("^\tbzcat .*") "\t@echo \"not unpacking\"\n") + (("\\./configure") "CONFIG_SHELL=bash ./configure")) + (substitute* "third-party/zlib-1.2.7/Makefile.in" + (("^SHELL=.*$") "SHELL=bash\n")) + #t)) + (delete 'configure)))) (home-page "https://github.com/bedops/bedops") (synopsis "Tools for high-performance genomic feature operations") (description @@ -1325,20 +1326,21 @@ splice junctions between exons.") (arguments '(#:tests? #f ;no "check" target #:phases - (alist-replace - 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append - (assoc-ref outputs "out") "/bin")) - (doc (string-append - (assoc-ref outputs "out") "/share/doc/bwa")) - (man (string-append - (assoc-ref outputs "out") "/share/man/man1"))) - (install-file "bwa" bin) - (install-file "README.md" doc) - (install-file "bwa.1" man))) - ;; no "configure" script - (alist-delete 'configure %standard-phases)))) + (modify-phases %standard-phases + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append + (assoc-ref outputs "out") "/bin")) + (doc (string-append + (assoc-ref outputs "out") "/share/doc/bwa")) + (man (string-append + (assoc-ref outputs "out") "/share/man/man1"))) + (install-file "bwa" bin) + (install-file "README.md" doc) + (install-file "bwa.1" man)) + #t)) + ;; no "configure" script + (delete 'configure)))) (inputs `(("zlib" ,zlib))) ;; Non-portable SSE instructions are used so building fails on platforms ;; other than x86_64. @@ -1815,10 +1817,9 @@ time.") (arguments `(#:python ,python-2 #:phases - (alist-cons-after - 'unpack 'set-env - (lambda _ (setenv "CROSSMAP_USE_SYSTEM_PYSAM" "1")) - %standard-phases))) + (modify-phases %standard-phases + (add-after 'unpack 'set-env + (lambda _ (setenv "CROSSMAP_USE_SYSTEM_PYSAM" "1") #t))))) (inputs `(("python-numpy" ,python2-numpy) ("python-pysam" ,python2-pysam) @@ -2365,19 +2366,18 @@ dynamic programming or a variety of heuristics.") (arguments `(#:tests? #f ;no "check" target #:phases - (alist-cons-after - 'unpack 'use-shared-boost-libs-and-set-bamtools-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "CMakeLists.txt" - (("set\\(Boost_USE_STATIC_LIBS ON\\)") - "set(Boost_USE_STATIC_LIBS OFF)") - (("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/bamtools/include") - (string-append (assoc-ref inputs "bamtools") "/include/bamtools"))) - (substitute* "src/CMakeLists.txt" - (("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/\\.\\./bamtools/lib") - (string-append (assoc-ref inputs "bamtools") "/lib/bamtools"))) - #t) - %standard-phases))) + (modify-phases %standard-phases + (add-after 'unpack 'use-shared-boost-libs-and-set-bamtools-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "CMakeLists.txt" + (("set\\(Boost_USE_STATIC_LIBS ON\\)") + "set(Boost_USE_STATIC_LIBS OFF)") + (("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/bamtools/include") + (string-append (assoc-ref inputs "bamtools") "/include/bamtools"))) + (substitute* "src/CMakeLists.txt" + (("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/\\.\\./bamtools/lib") + (string-append (assoc-ref inputs "bamtools") "/lib/bamtools"))) + #t))))) (inputs `(("boost" ,boost) ("bamtools" ,bamtools) @@ -2544,15 +2544,15 @@ results. The FASTX-Toolkit tools perform some of these preprocessing tasks.") (assoc-ref %outputs "out") "/bin/")) #:phases - (alist-replace - 'check - (lambda* (#:key outputs #:allow-other-keys) - (setenv "PATH" (string-append - (assoc-ref outputs "out") "/bin:" - (getenv "PATH"))) - (chdir "../flexbar_v2.5_src/test") - (zero? (system* "bash" "flexbar_validate.sh"))) - (alist-delete 'install %standard-phases)))) + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key outputs #:allow-other-keys) + (setenv "PATH" (string-append + (assoc-ref outputs "out") "/bin:" + (getenv "PATH"))) + (chdir "../flexbar_v2.5_src/test") + (zero? (system* "bash" "flexbar_validate.sh")))) + (delete 'install)))) (inputs `(("tbb" ,tbb) ("zlib" ,zlib))) @@ -2788,21 +2788,21 @@ association studies (GWAS).") (arguments `(#:python ,python-2 #:phases - (alist-cons-after - 'unpack 'generate-from-cython-sources - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; Delete these C files to force fresh generation from pyx sources. - (delete-file "grit/sparsify_support_fns.c") - (delete-file "grit/call_peaks_support_fns.c") - (substitute* "setup.py" - (("Cython.Setup") "Cython.Build") - ;; Add numpy include path to fix compilation - (("pyx\", \\]") - (string-append "pyx\", ], include_dirs = ['" - (assoc-ref inputs "python-numpy") - "/lib/python2.7/site-packages/numpy/core/include/" - "']"))) #t) - %standard-phases))) + (modify-phases %standard-phases + (add-after 'unpack 'generate-from-cython-sources + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Delete these C files to force fresh generation from pyx sources. + (delete-file "grit/sparsify_support_fns.c") + (delete-file "grit/call_peaks_support_fns.c") + (substitute* "setup.py" + (("Cython.Setup") "Cython.Build") + ;; Add numpy include path to fix compilation + (("pyx\", \\]") + (string-append "pyx\", ], include_dirs = ['" + (assoc-ref inputs "python-numpy") + "/lib/python2.7/site-packages/numpy/core/include/" + "']"))) + #t))))) (inputs `(("python-scipy" ,python2-scipy) ("python-numpy" ,python2-numpy) @@ -2845,28 +2845,29 @@ estimates transcript expression.") '() '("POPCNT_CAPABILITY=0"))) #:phases - (alist-cons-after - 'unpack 'patch-sources - (lambda _ - ;; XXX Cannot use snippet because zip files are not supported - (substitute* "Makefile" - (("^CC = .*$") "CC = gcc") - (("^CPP = .*$") "CPP = g++") - ;; replace BUILD_HOST and BUILD_TIME for deterministic build - (("-DBUILD_HOST=.*") "-DBUILD_HOST=\"\\\"guix\\\"\"") - (("-DBUILD_TIME=.*") "-DBUILD_TIME=\"\\\"0\\\"\"")) - (substitute* '("hisat-build" "hisat-inspect") - (("/usr/bin/env") (which "env")))) - (alist-replace - 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin/"))) - (for-each (lambda (file) - (install-file file bin)) - (find-files - "." - "hisat(-(build|align|inspect)(-(s|l)(-debug)*)*)*$")))) - (alist-delete 'configure %standard-phases))))) + (modify-phases %standard-phases + (add-after 'unpack 'patch-sources + (lambda _ + ;; XXX Cannot use snippet because zip files are not supported + (substitute* "Makefile" + (("^CC = .*$") "CC = gcc") + (("^CPP = .*$") "CPP = g++") + ;; replace BUILD_HOST and BUILD_TIME for deterministic build + (("-DBUILD_HOST=.*") "-DBUILD_HOST=\"\\\"guix\\\"\"") + (("-DBUILD_TIME=.*") "-DBUILD_TIME=\"\\\"0\\\"\"")) + (substitute* '("hisat-build" "hisat-inspect") + (("/usr/bin/env") (which "env"))) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin/"))) + (for-each (lambda (file) + (install-file file bin)) + (find-files + "." + "hisat(-(build|align|inspect)(-(s|l)(-debug)*)*)*$"))) + #t)) + (delete 'configure)))) (native-inputs `(("unzip" ,unzip))) (inputs @@ -4680,23 +4681,21 @@ Roche 454, Ion Torrent and Pacific BioSciences SMRT.") `(#:parallel-build? #f ; not supported #:tests? #f ; no "check" target #:phases - (alist-replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; Allow 'konfigure.perl' to find 'package.prl'. - (setenv "PERL5LIB" - (string-append ".:" (getenv "PERL5LIB"))) + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; Allow 'konfigure.perl' to find 'package.prl'. + (setenv "PERL5LIB" + (string-append ".:" (getenv "PERL5LIB"))) - ;; The 'configure' script doesn't recognize things like - ;; '--enable-fast-install'. - (zero? (system* "./configure" - (string-append "--build-prefix=" (getcwd) "/build") - (string-append "--prefix=" out))))) - (alist-cons-after - 'unpack 'enter-dir - (lambda _ (chdir "ngs-sdk") #t) - %standard-phases)))) + ;; The 'configure' script doesn't recognize things like + ;; '--enable-fast-install'. + (zero? (system* "./configure" + (string-append "--build-prefix=" (getcwd) "/build") + (string-append "--prefix=" out)))))) + (add-after 'unpack 'enter-dir + (lambda _ (chdir "ngs-sdk") #t))))) (native-inputs `(("perl" ,perl))) ;; According to the test ;; unless ($MARCH =~ /x86_64/i || $MARCH =~ /i?86/i) @@ -5460,17 +5459,16 @@ sequences.") "-f" "Makefile.Linux" "CC=gcc ${CCFLAGS}") #:phases - (alist-cons-after - 'unpack 'enter-dir - (lambda _ (chdir "src") #t) - (alist-replace - 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin/"))) - (mkdir-p bin) - (copy-recursively "../bin" bin))) + (modify-phases %standard-phases + (add-after 'unpack 'enter-dir + (lambda _ (chdir "src") #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin/"))) + (mkdir-p bin) + (copy-recursively "../bin" bin)))) ;; no "configure" script - (alist-delete 'configure %standard-phases))))) + (delete 'configure)))) (inputs `(("zlib" ,zlib))) (home-page "http://bioinf.wehi.edu.au/subread-package/") (synopsis "Tool kit for processing next-gen sequencing data") diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 79a87dc8bf..9bd89d9085 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -74,23 +74,24 @@ "gui")) ; graphical user interface (arguments '(#:glib-or-gtk-wrap-excluded-outputs '("out") - #:phases (alist-cons-after - 'install 'move-gui - (lambda* (#:key outputs #:allow-other-keys) - ;; Move the GUI to its own output, so that "out" doesn't - ;; depend on GTK+. - (let ((out (assoc-ref outputs "out")) - (gui (assoc-ref outputs "gui"))) - (mkdir-p (string-append gui "/bin")) - (rename-file (string-append out "/bin/transmission-gtk") - (string-append gui - "/bin/transmission-gtk")) + #:phases + (modify-phases %standard-phases + (add-after 'install 'move-gui + (lambda* (#:key outputs #:allow-other-keys) + ;; Move the GUI to its own output, so that "out" doesn't + ;; depend on GTK+. + (let ((out (assoc-ref outputs "out")) + (gui (assoc-ref outputs "gui"))) + (mkdir-p (string-append gui "/bin")) + (rename-file (string-append out "/bin/transmission-gtk") + (string-append gui + "/bin/transmission-gtk")) - ;; Move the '.desktop' file as well. - (mkdir (string-append gui "/share")) - (rename-file (string-append out "/share/applications") - (string-append gui "/share/applications")))) - %standard-phases))) + ;; Move the '.desktop' file as well. + (mkdir (string-append gui "/share")) + (rename-file (string-append out "/share/applications") + (string-append gui "/share/applications"))) + #t))))) (inputs `(("inotify-tools" ,inotify-tools) ("libevent" ,libevent) diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 2f708f0c0b..ddc035c1b0 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -454,7 +454,7 @@ the data.") (build-system gnu-build-system) (arguments '(#:tests? #f - #:phases (alist-delete 'configure %standard-phases) + #:phases (modify-phases %standard-phases (delete 'configure)) #:make-flags (list "CC=gcc" (string-append "PREFIX=" (assoc-ref %outputs "out"))))) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index c96c51a346..fb1b489ded 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -521,14 +521,14 @@ decompressors when faced with corrupted input.") `(("which" ,which))) (arguments `(#:phases - (alist-cons-after - 'patch-source-shebangs 'unpatch-source-shebang - ;; revert the patch-shebang phase on a script which is - ;; in fact test data - (lambda _ - (substitute* "tests/shar-1.ok" - (((which "sh")) "/bin/sh"))) - %standard-phases))) + (modify-phases %standard-phases + (add-after 'patch-source-shebangs 'unpatch-source-shebang + ;; revert the patch-shebang phase on a script which is + ;; in fact test data + (lambda _ + (substitute* "tests/shar-1.ok" + (((which "sh")) "/bin/sh")) + #t))))) (home-page "https://www.gnu.org/software/sharutils/") (synopsis "Archives in shell scripts, uuencode/uudecode") (description diff --git a/gnu/packages/conky.scm b/gnu/packages/conky.scm index 1f5b38eef4..f0f19c5a0e 100644 --- a/gnu/packages/conky.scm +++ b/gnu/packages/conky.scm @@ -50,22 +50,21 @@ ;; TODO: add 'ncurses.pc' to the ncurses package. "-DBUILD_NCURSES=false") #:phases - (alist-cons-after - 'unpack 'add-freetype-to-search-path - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "cmake/ConkyPlatformChecks.cmake" - (("set\\(INCLUDE_SEARCH_PATH") - (string-append - "set(INCLUDE_SEARCH_PATH " - (assoc-ref inputs "freetype") "/include/freetype2 "))) - #t) - (alist-replace - 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) - (mkdir-p bin) - (install-file "src/conky" bin))) - %standard-phases)))) + (modify-phases %standard-phases + (add-after 'unpack 'add-freetype-to-search-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "cmake/ConkyPlatformChecks.cmake" + (("set\\(INCLUDE_SEARCH_PATH") + (string-append + "set(INCLUDE_SEARCH_PATH " + (assoc-ref inputs "freetype") "/include/freetype2 "))) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (mkdir-p bin) + (install-file "src/conky" bin)) + #t))))) (inputs `(("freetype" ,freetype) ("ncurses" ,ncurses) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 6ce58985ea..dc1f5ecac3 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -167,34 +167,33 @@ and provides interfaces to the traditional file format.") '(#:tests? #f ; no check target available #:disallowed-references ("doc") #:phases - (alist-replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (doc (assoc-ref outputs "doc"))) - ;; '--docdir' is not honored, so we need to patch. - (substitute* "dist/Makefile.in" - (("docdir[[:blank:]]*=.*") - (string-append "docdir = " doc "/share/doc/bdb"))) + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + ;; '--docdir' is not honored, so we need to patch. + (substitute* "dist/Makefile.in" + (("docdir[[:blank:]]*=.*") + (string-append "docdir = " doc "/share/doc/bdb"))) - (zero? - (system* "./dist/configure" - (string-append "--prefix=" out) - (string-append "CONFIG_SHELL=" (which "bash")) - (string-append "SHELL=" (which "bash")) + (zero? + (system* "./dist/configure" + (string-append "--prefix=" out) + (string-append "CONFIG_SHELL=" (which "bash")) + (string-append "SHELL=" (which "bash")) - ;; Remove 7 MiB of .a files. - "--disable-static" + ;; Remove 7 MiB of .a files. + "--disable-static" - ;; The compatibility mode is needed by some packages, - ;; notably iproute2. - "--enable-compat185" + ;; The compatibility mode is needed by some packages, + ;; notably iproute2. + "--enable-compat185" - ;; The following flag is needed so that the inclusion - ;; of db_cxx.h into C++ files works; it leads to - ;; HAVE_CXX_STDHEADERS being defined in db_cxx.h. - "--enable-cxx")))) - %standard-phases))) + ;; The following flag is needed so that the inclusion + ;; of db_cxx.h into C++ files works; it leads to + ;; HAVE_CXX_STDHEADERS being defined in db_cxx.h. + "--enable-cxx")))))))) (synopsis "Berkeley database") (description "Berkeley DB is an embeddable database allowing developers the choice of @@ -222,39 +221,38 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.") `(#:tests? #f ; no check target available #:disallowed-references ("doc") #:phases - (alist-replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (doc (assoc-ref outputs "doc"))) - ;; '--docdir' is not honored, so we need to patch. - (substitute* "dist/Makefile.in" - (("docdir[[:blank:]]*=.*") - (string-append "docdir = " doc "/share/doc/bdb"))) + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + ;; '--docdir' is not honored, so we need to patch. + (substitute* "dist/Makefile.in" + (("docdir[[:blank:]]*=.*") + (string-append "docdir = " doc "/share/doc/bdb"))) - (zero? - (system* "./dist/configure" - (string-append "--prefix=" out) - (string-append "CONFIG_SHELL=" (which "bash")) - (string-append "SHELL=" (which "bash")) + (zero? + (system* "./dist/configure" + (string-append "--prefix=" out) + (string-append "CONFIG_SHELL=" (which "bash")) + (string-append "SHELL=" (which "bash")) - ;; Bdb doesn't recognize aarch64 as an architecture. - ,@(if (string=? "aarch64-linux" (%current-system)) - '("--build=aarch64-unknown-linux-gnu") - '()) + ;; Bdb doesn't recognize aarch64 as an architecture. + ,@(if (string=? "aarch64-linux" (%current-system)) + '("--build=aarch64-unknown-linux-gnu") + '()) - ;; Remove 7 MiB of .a files. - "--disable-static" + ;; Remove 7 MiB of .a files. + "--disable-static" - ;; The compatibility mode is needed by some packages, - ;; notably iproute2. - "--enable-compat185" + ;; The compatibility mode is needed by some packages, + ;; notably iproute2. + "--enable-compat185" - ;; The following flag is needed so that the inclusion - ;; of db_cxx.h into C++ files works; it leads to - ;; HAVE_CXX_STDHEADERS being defined in db_cxx.h. - "--enable-cxx")))) - %standard-phases))))) + ;; The following flag is needed so that the inclusion + ;; of db_cxx.h into C++ files works; it leads to + ;; HAVE_CXX_STDHEADERS being defined in db_cxx.h. + "--enable-cxx")))))))))) (define-public leveldb (package diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm index 43bfd9e514..83346a4eb3 100644 --- a/gnu/packages/debug.scm +++ b/gnu/packages/debug.scm @@ -58,23 +58,24 @@ `(("perl" ,perl))) (arguments `(#:phases - (alist-replace - 'install - (lambda* (#:key outputs #:allow-other-keys) - ;; Makefile contains no install target - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (doc (string-append out "/share/doc/delta-" ,version))) - (begin - (mkdir-p bin) - (mkdir-p doc) - (for-each (lambda (h) - (install-file h doc)) - `("License.txt" ,@(find-files "www" ".*\\.html"))) - (for-each (lambda (b) - (install-file b bin)) - `("delta" "multidelta" "topformflat"))))) - (alist-delete 'configure %standard-phases)))) + (modify-phases %standard-phases + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + ;; Makefile contains no install target + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (doc (string-append out "/share/doc/delta-" ,version))) + (begin + (mkdir-p bin) + (mkdir-p doc) + (for-each (lambda (h) + (install-file h doc)) + `("License.txt" ,@(find-files "www" ".*\\.html"))) + (for-each (lambda (b) + (install-file b bin)) + `("delta" "multidelta" "topformflat")))) + #t)) + (delete 'configure)))) (home-page "http://delta.tigris.org/") (synopsis "Heuristical file minimizer") (description @@ -114,23 +115,24 @@ program to exhibit a bug.") ("sys-cpu" ,perl-sys-cpu) ("term-readkey" ,perl-term-readkey))) (arguments - `(#:phases (alist-cons-after - 'install 'set-load-paths - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; Tell creduce where to find the perl modules it needs. - (let* ((out (assoc-ref outputs "out")) - (prog (string-append out "/bin/creduce"))) - (wrap-program - prog - `("PERL5LIB" ":" prefix - ,(map (lambda (p) - (string-append (assoc-ref inputs p) - "/lib/perl5/site_perl/" - ,(package-version perl))) - '("term-readkey" "exporter-lite" - "file-which" "getopt-tabular" - "regex-common" "sys-cpu")))))) - %standard-phases))) + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'set-load-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Tell creduce where to find the perl modules it needs. + (let* ((out (assoc-ref outputs "out")) + (prog (string-append out "/bin/creduce"))) + (wrap-program + prog + `("PERL5LIB" ":" prefix + ,(map (lambda (p) + (string-append (assoc-ref inputs p) + "/lib/perl5/site_perl/" + ,(package-version perl))) + '("term-readkey" "exporter-lite" + "file-which" "getopt-tabular" + "regex-common" "sys-cpu"))))) + #t))))) (home-page "http://embed.cs.utah.edu/creduce") (synopsis "Reducer for interesting code") (description diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm index 9f8d7b8250..3537acdead 100644 --- a/gnu/packages/display-managers.scm +++ b/gnu/packages/display-managers.scm @@ -337,17 +337,18 @@ GTK+, lets you select a desktop session and log in to it.") (native-inputs `(("pkg-config" ,pkg-config))) (arguments - '(#:phases (alist-cons-before - 'configure 'set-new-etc-location - (lambda _ - (substitute* "CMakeLists.txt" - (("/etc") - (string-append (assoc-ref %outputs "out") "/etc")) - (("install.*systemd.*") - ;; The build system's logic here is: if "Linux", then - ;; "systemd". Strip that. - ""))) - %standard-phases) + '(#:phases + (modify-phases %standard-phases + (add-before 'configure 'set-new-etc-location + (lambda _ + (substitute* "CMakeLists.txt" + (("/etc") + (string-append (assoc-ref %outputs "out") "/etc")) + (("install.*systemd.*") + ;; The build system's logic here is: if "Linux", then + ;; "systemd". Strip that. + "")) + #t))) #:configure-flags '("-DUSE_PAM=yes" "-DUSE_CONSOLEKIT=no") #:tests? #f)) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 1716ca748c..4096a0a827 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -75,7 +75,7 @@ `(("dbus" ,dbus))) (arguments `(#:phases - (alist-delete 'configure %standard-phases) + (modify-phases %standard-phases (delete 'configure)) #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) "CC=gcc" "COPTS=\"-DHAVE_DBUS\"") diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 91c6c8c41c..6faa01548b 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -305,14 +305,15 @@ editor (without an X toolkit)" ) "0phz9d8wjk4p13vqannv0003fwh8qqrp0gfzcs2hgq1mrmv1srss")))) (build-system gnu-build-system) (arguments - '(#:phases (alist-cons-after - 'install 'post-install - (lambda* (#:key outputs #:allow-other-keys) - (symlink "geiser-install.el" - (string-append (assoc-ref outputs "out") - "/share/emacs/site-lisp/" - "geiser-autoloads.el"))) - %standard-phases))) + '(#:phases + (modify-phases %standard-phases + (add-after 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + (symlink "geiser-install.el" + (string-append (assoc-ref outputs "out") + "/share/emacs/site-lisp/" + "geiser-autoloads.el")) + #t))))) (inputs `(("guile" ,guile-2.0))) (native-inputs `(("emacs" ,emacs-minimal))) (home-page "http://nongnu.org/geiser/") @@ -771,25 +772,25 @@ provides an optional IDE-like error list.") (guix build emacs-utils)) #:tests? #f ; no check target #:phases - (alist-replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "Makefile" - (("/usr/local") (assoc-ref outputs "out")) - (("/site-lisp/emacs-wget") "/site-lisp"))) - (alist-cons-before - 'build 'patch-exec-paths - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((wget (assoc-ref inputs "wget"))) - (emacs-substitute-variables "wget.el" - ("wget-command" (string-append wget "/bin/wget"))))) - (alist-cons-after - 'install 'post-install - (lambda* (#:key outputs #:allow-other-keys) - (emacs-generate-autoloads - "wget" (string-append (assoc-ref outputs "out") - "/share/emacs/site-lisp/"))) - %standard-phases))))) + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Makefile" + (("/usr/local") (assoc-ref outputs "out")) + (("/site-lisp/emacs-wget") "/site-lisp")) + #t)) + (add-before 'build 'patch-exec-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((wget (assoc-ref inputs "wget"))) + (emacs-substitute-variables "wget.el" + ("wget-command" (string-append wget "/bin/wget")))) + #t)) + (add-after 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + (emacs-generate-autoloads + "wget" (string-append (assoc-ref outputs "out") + "/share/emacs/site-lisp/")) + #t))))) (home-page "http://www.emacswiki.org/emacs/EmacsWget") (synopsis "Simple file downloader for Emacs based on wget") (description @@ -993,15 +994,16 @@ within a specified width. It is useful for displaying long track titles.") "doc_DATA =\n"))))) (build-system gnu-build-system) (arguments - '(#:phases (alist-cons-after - 'install 'post-install - (lambda* (#:key outputs #:allow-other-keys) - ;; Add an autoloads file with the right name for guix.el. - (let* ((out (assoc-ref outputs "out")) - (site (string-append out "/share/emacs/site-lisp"))) - (with-directory-excursion site - (symlink "bbdb-loaddefs.el" "bbdb-autoloads.el")))) - %standard-phases))) + '(#:phases + (modify-phases %standard-phases + (add-after 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + ;; Add an autoloads file with the right name for guix.el. + (let* ((out (assoc-ref outputs "out")) + (site (string-append out "/share/emacs/site-lisp"))) + (with-directory-excursion site + (symlink "bbdb-loaddefs.el" "bbdb-autoloads.el"))) + #t))))) (native-inputs `(("emacs" ,emacs-minimal))) (home-page "http://savannah.nongnu.org/projects/bbdb/") (synopsis "Contact management utility for Emacs") diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 0955bb4ae3..af1ea3328a 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -191,28 +191,27 @@ utilities.") (build-system gnu-build-system) (arguments `(#:phases - (alist-cons-after - 'unpack 'use-wish8.6 - (lambda _ - (substitute* "configure" - (("wish85") "wish8.6"))) - (alist-cons-after - 'install 'wrap - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; FIXME: Mesa tries to dlopen libudev.so.0 and fails. Pending a - ;; fix of the mesa package we wrap the pcb executable such that - ;; Mesa can find libudev.so.0 through LD_LIBRARY_PATH. - (let* ((out (assoc-ref outputs "out")) - (path (string-append (assoc-ref inputs "udev") "/lib"))) - (wrap-program (string-append out "/bin/pcb") - `("LD_LIBRARY_PATH" ":" prefix (,path))))) - (alist-cons-before - 'check 'pre-check - (lambda _ - (system "Xvfb :1 &") - (setenv "DISPLAY" ":1") - #t) - %standard-phases))))) + (modify-phases %standard-phases + (add-after 'unpack 'use-wish8.6 + (lambda _ + (substitute* "configure" + (("wish85") "wish8.6")) + #t)) + (add-after 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; FIXME: Mesa tries to dlopen libudev.so.0 and fails. Pending a + ;; fix of the mesa package we wrap the pcb executable such that + ;; Mesa can find libudev.so.0 through LD_LIBRARY_PATH. + (let* ((out (assoc-ref outputs "out")) + (path (string-append (assoc-ref inputs "udev") "/lib"))) + (wrap-program (string-append out "/bin/pcb") + `("LD_LIBRARY_PATH" ":" prefix (,path)))) + #t)) + (add-before 'check 'pre-check + (lambda _ + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1") + #t))))) (inputs `(("dbus" ,dbus) ("mesa" ,mesa) diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index 8d0b824784..7a57300b41 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -52,31 +52,31 @@ (patches (search-patches "ath9k-htc-firmware-objcopy.patch")))) (build-system gnu-build-system) (arguments - '(#:phases (alist-cons-before - 'configure 'pre-configure - (lambda* (#:key inputs #:allow-other-keys) - (chdir "target_firmware") + '(#:phases + (modify-phases %standard-phases + (add-before 'configure 'pre-configure + (lambda* (#:key inputs #:allow-other-keys) + (chdir "target_firmware") - ;; 'configure' is a simple script that runs 'cmake' with - ;; the right flags. - (substitute* "configure" - (("^TOOLCHAIN=.*$") - (string-append "TOOLCHAIN=" - (assoc-ref inputs "cross-gcc") - "\n")))) - (alist-replace - 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (fw-dir (string-append out "/lib/firmware"))) - (mkdir-p fw-dir) - (for-each (lambda (file) - (copy-file file - (string-append fw-dir "/" - (basename file)))) - (find-files "." "\\.fw$")) - #t)) - %standard-phases)) + ;; 'configure' is a simple script that runs 'cmake' with + ;; the right flags. + (substitute* "configure" + (("^TOOLCHAIN=.*$") + (string-append "TOOLCHAIN=" + (assoc-ref inputs "cross-gcc") + "\n"))) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (fw-dir (string-append out "/lib/firmware"))) + (mkdir-p fw-dir) + (for-each (lambda (file) + (copy-file file + (string-append fw-dir "/" + (basename file)))) + (find-files "." "\\.fw$")) + #t)))) #:tests? #f)) ;; The firmware is cross-compiled using a "bare bones" compiler (no libc.) diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm index 127fc795a3..e76865798d 100644 --- a/gnu/packages/flashing-tools.scm +++ b/gnu/packages/flashing-tools.scm @@ -62,17 +62,16 @@ "CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no") #:tests? #f ; no 'check' target #:phases - (alist-delete - 'configure - (alist-cons-before - 'build 'patch-exec-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "dmi.c" - (("\"dmidecode\"") - (format #f "~S" - (string-append (assoc-ref inputs "dmidecode") - "/sbin/dmidecode"))))) - %standard-phases)))) + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'patch-exec-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "dmi.c" + (("\"dmidecode\"") + (format #f "~S" + (string-append (assoc-ref inputs "dmidecode") + "/sbin/dmidecode")))) + #t))))) (home-page "http://flashrom.org/") (synopsis "Identify, read, write, erase, and verify ROM/flash chips") (description diff --git a/gnu/packages/fltk.scm b/gnu/packages/fltk.scm index 0ca77cfa40..1c257abbec 100644 --- a/gnu/packages/fltk.scm +++ b/gnu/packages/fltk.scm @@ -63,27 +63,27 @@ (list "--enable-shared" (string-append "DSOFLAGS=-Wl,-rpath=" %output "/lib")) #:phases - (alist-cons-before - 'configure 'patch-makeinclude - (lambda _ - (substitute* "makeinclude.in" - (("/bin/sh") (which "sh")))) - (alist-cons-after - 'install 'patch-config - ;; Provide -L flags for image libraries when querying fltk-config to - ;; avoid propagating inputs. - (lambda* (#:key inputs outputs #:allow-other-keys) - (use-modules (srfi srfi-26)) - (let* ((conf (string-append (assoc-ref outputs "out") - "/bin/fltk-config")) - (jpeg (assoc-ref inputs "libjpeg")) - (png (assoc-ref inputs "libpng")) - (zlib (assoc-ref inputs "zlib"))) - (substitute* conf - (("-ljpeg") (string-append "-L" jpeg "/lib -ljpeg")) - (("-lpng") (string-append "-L" png "/lib -lpng")) - (("-lz") (string-append "-L" zlib "/lib -lz"))))) - %standard-phases)))) + (modify-phases %standard-phases + (add-before 'configure 'patch-makeinclude + (lambda _ + (substitute* "makeinclude.in" + (("/bin/sh") (which "sh"))) + #t)) + (add-after 'install 'patch-config + ;; Provide -L flags for image libraries when querying fltk-config to + ;; avoid propagating inputs. + (lambda* (#:key inputs outputs #:allow-other-keys) + (use-modules (srfi srfi-26)) + (let* ((conf (string-append (assoc-ref outputs "out") + "/bin/fltk-config")) + (jpeg (assoc-ref inputs "libjpeg")) + (png (assoc-ref inputs "libpng")) + (zlib (assoc-ref inputs "zlib"))) + (substitute* conf + (("-ljpeg") (string-append "-L" jpeg "/lib -ljpeg")) + (("-lpng") (string-append "-L" png "/lib -lpng")) + (("-lz") (string-append "-L" zlib "/lib -lz")))) + #t))))) (home-page "http://www.fltk.org") (synopsis "3D C++ GUI library") (description "FLTK is a C++ GUI toolkit providing modern GUI functionality diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 84fa104038..b9a2b4e895 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -357,23 +357,22 @@ manager for the current system.") (build-system python-build-system) (arguments '(#:phases - (alist-replace - 'check - (lambda* (#:key inputs #:allow-other-keys) - (setenv "XDG_DATA_DIRS" - (string-append (assoc-ref inputs "shared-mime-info") - "/share/")) - (substitute* "test/test-icon.py" - (("/usr/share/icons/hicolor/index.theme") - (string-append (assoc-ref inputs "hicolor-icon-theme") - "/share/icons/hicolor/index.theme"))) + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs #:allow-other-keys) + (setenv "XDG_DATA_DIRS" + (string-append (assoc-ref inputs "shared-mime-info") + "/share/")) + (substitute* "test/test-icon.py" + (("/usr/share/icons/hicolor/index.theme") + (string-append (assoc-ref inputs "hicolor-icon-theme") + "/share/icons/hicolor/index.theme"))) - ;; One test fails with: - ;; AssertionError: 'x-apple-ios-png' != 'png' - (substitute* "test/test-mime.py" - (("self.check_mimetype\\(imgpng, 'image', 'png'\\)") "#")) - (zero? (system* "nosetests" "-v"))) - %standard-phases))) + ;; One test fails with: + ;; AssertionError: 'x-apple-ios-png' != 'png' + (substitute* "test/test-mime.py" + (("self.check_mimetype\\(imgpng, 'image', 'png'\\)") "#")) + (zero? (system* "nosetests" "-v"))))))) (native-inputs `(("shared-mime-info" ,shared-mime-info) ;for tests ("hicolor-icon-theme" ,hicolor-icon-theme) ;for tests diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index f9864d7784..3b1def55e1 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -122,15 +122,16 @@ most common applications of GD involve website development.") (assoc-ref %build-inputs i))) '("zlib" "png" "ft" "jpeg" "fontconfig")) #:tests? #f ;; Failed 1/2 test programs. 1/12 subtests failed. - #:phases (alist-cons-after - 'configure 'clear-autogenerated-files - (lambda _ - ;; This file is autogenerated by its .PLS script at build - ;; time, but file creation fails because that file already - ;; exists in the distribution with non-writable - ;; permissions, so delete it first. - (delete-file "bdf_scripts/bdf2gdfont.pl")) - %standard-phases))) + #:phases + (modify-phases %standard-phases + (add-after 'configure 'clear-autogenerated-files + (lambda _ + ;; This file is autogenerated by its .PLS script at build + ;; time, but file creation fails because that file already + ;; exists in the distribution with non-writable + ;; permissions, so delete it first. + (delete-file "bdf_scripts/bdf2gdfont.pl") + #t))))) (home-page "http://search.cpan.org/dist/GD") (synopsis "Perl interface to the GD graphics library") (description "GD.pm is an autoloadable interface module for libgd, a diff --git a/gnu/packages/gkrellm.scm b/gnu/packages/gkrellm.scm index 68853eb8fc..6ad4fe6ff3 100644 --- a/gnu/packages/gkrellm.scm +++ b/gnu/packages/gkrellm.scm @@ -49,10 +49,7 @@ `(("pkg-config" ,pkg-config))) (arguments `(#:tests? #f ; there is no check target - #:phases - (alist-delete - 'configure - %standard-phases) + #:phases (modify-phases %standard-phases (delete 'configure)) #:make-flags (let ((out (assoc-ref %outputs "out"))) (list (string-append "INSTALLROOT=" out) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 9ce97dbcc2..9b18d06491 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -427,7 +427,7 @@ glxgears, glxheads, and glxinfo.") (("/lib64") "/lib"))))) (build-system gnu-build-system) (arguments - '(#:phases (alist-delete 'configure %standard-phases) + '(#:phases (modify-phases %standard-phases (delete 'configure)) #:make-flags (list (string-append "GLEW_PREFIX=" (assoc-ref %outputs "out")) (string-append "GLEW_DEST=" diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 8408b54ea2..bacc63270a 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -504,22 +504,23 @@ has an ease of use unmatched by other C++ callback libraries.") "1926b3adx903hzvdp8glblsgjyadzqnwgkj8hg605d4wv98m1n0z")))) (build-system gnu-build-system) (arguments - `(#:phases (alist-cons-before - 'build 'pre-build - (lambda _ - ;; This test uses /etc/fstab as an example file to read - ;; from; choose a better example. - (substitute* "tests/giomm_simple/main.cc" - (("/etc/fstab") - (string-append (getcwd) - "/tests/giomm_simple/main.cc"))) + `(#:phases + (modify-phases %standard-phases + (add-before 'build 'pre-build + (lambda _ + ;; This test uses /etc/fstab as an example file to read + ;; from; choose a better example. + (substitute* "tests/giomm_simple/main.cc" + (("/etc/fstab") + (string-append (getcwd) + "/tests/giomm_simple/main.cc"))) - ;; This test does a DNS lookup, and then expects to be able - ;; to open a TLS session; just skip it. - (substitute* "tests/giomm_tls_client/main.cc" - (("Gio::init.*$") - "return 77;\n"))) - %standard-phases))) + ;; This test does a DNS lookup, and then expects to be able + ;; to open a TLS session; just skip it. + (substitute* "tests/giomm_tls_client/main.cc" + (("Gio::init.*$") + "return 77;\n")) + #t))))) (native-inputs `(("pkg-config" ,pkg-config) ("glib" ,glib "bin"))) (propagated-inputs diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 252cf670d2..b3624d6dca 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -809,16 +809,16 @@ for settings shared by various components of the GNOME desktop.") ("perl-xml-simple" ,perl-xml-simple))) (arguments '(#:phases - (alist-cons-after - 'install 'set-load-paths - ;; Tell 'icon-name-mapping' where XML::Simple is. - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (prog (string-append out "/libexec/icon-name-mapping"))) - (wrap-program - prog - `("PERL5LIB" = ,(list (getenv "PERL5LIB")))))) - %standard-phases))) + (modify-phases %standard-phases + (add-after 'install 'set-load-paths + ;; Tell 'icon-name-mapping' where XML::Simple is. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (prog (string-append out "/libexec/icon-name-mapping"))) + (wrap-program + prog + `("PERL5LIB" = ,(list (getenv "PERL5LIB"))))) + #t))))) (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification") (synopsis "Utility to implement the Freedesktop Icon Naming Specification") @@ -1260,12 +1260,12 @@ functionality was designed to be as reusable and portable as possible.") '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS") ;; ... which they then completly ignore !! #:phases - (alist-cons-before - 'configure 'ignore-deprecations - (lambda _ - (substitute* "linc2/src/Makefile.in" - (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))) - %standard-phases))) + (modify-phases %standard-phases + (add-before 'configure 'ignore-deprecations + (lambda _ + (substitute* "linc2/src/Makefile.in" + (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")) + #t))))) (inputs `(("glib" ,glib) ("libidl" ,libidl))) (native-inputs @@ -1300,12 +1300,12 @@ featuring mature C, C++ and Python bindings.") '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS") ;; ... which they then completly ignore !! #:phases - (alist-cons-before - 'configure 'ignore-deprecations - (lambda _ - (substitute* "activation-server/Makefile.in" - (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))) - %standard-phases))) + (modify-phases %standard-phases + (add-before 'configure 'ignore-deprecations + (lambda _ + (substitute* "activation-server/Makefile.in" + (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")) + #t))))) (inputs `(("popt" ,popt) ("libxml2" ,libxml2))) ;; The following are Required by the .pc file @@ -1408,19 +1408,18 @@ designed to be accessed through the MIME functions in GnomeVFS.") (build-system gnu-build-system) (arguments `(#:phases - (alist-cons-before - 'configure 'ignore-deprecations - (lambda _ - (substitute* '("libgnomevfs/Makefile.in" - "daemon/Makefile.in") - (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")) - #t) - (alist-cons-before - 'configure 'patch-test-async-cancel-to-never-fail - (lambda _ - (substitute* "test/test-async-cancel.c" - (("EXIT_FAILURE") "77"))) - %standard-phases)))) + (modify-phases %standard-phases + (add-before 'configure 'ignore-deprecations + (lambda _ + (substitute* '("libgnomevfs/Makefile.in" + "daemon/Makefile.in") + (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")) + #t)) + (add-before 'configure 'patch-test-async-cancel-to-never-fail + (lambda _ + (substitute* "test/test-async-cancel.c" + (("EXIT_FAILURE") "77")) + #t))))) (inputs `(("libxml2" ,libxml2) ("dbus-glib" ,dbus-glib) ("gconf" ,gconf) @@ -1455,12 +1454,12 @@ to access local and remote files with a single consistent API.") (build-system gnu-build-system) (arguments `(#:phases - (alist-cons-before - 'configure 'enable-deprecated - (lambda _ - (substitute* "libgnome/Makefile.in" - (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))) - %standard-phases))) + (modify-phases %standard-phases + (add-before 'configure 'enable-deprecated + (lambda _ + (substitute* "libgnome/Makefile.in" + (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")) + #t))))) (inputs `(("libxml2" ,libxml2))) (native-inputs `(("glib" ,glib "bin") ; for glib-mkenums, etc. @@ -1695,18 +1694,17 @@ since ca. 2006, when GTK+ itself incorporated printing support.") (build-system gnu-build-system) (arguments `(#:phases - (alist-cons-before - 'check 'start-xserver - (lambda* (#:key inputs #:allow-other-keys) - (let ((xorg-server (assoc-ref inputs "xorg-server")) - (disp ":1")) + (modify-phases %standard-phases + (add-before 'check 'start-xserver + (lambda* (#:key inputs #:allow-other-keys) + (let ((xorg-server (assoc-ref inputs "xorg-server")) + (disp ":1")) - (setenv "HOME" (getcwd)) - (setenv "DISPLAY" disp) - ;; There must be a running X server and make check doesn't start one. - ;; Therefore we must do it. - (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp))))) - %standard-phases))) + (setenv "HOME" (getcwd)) + (setenv "DISPLAY" disp) + ;; There must be a running X server and make check doesn't start one. + ;; Therefore we must do it. + (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp))))))))) ;; Mentioned as Required by the .pc file (propagated-inputs `(("libxml2" ,libxml2))) (inputs @@ -1820,14 +1818,13 @@ Hints specification (EWMH).") (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n")))) (arguments `(#:phases - (alist-cons-after - 'unpack 'fix-pcre-check - (lambda _ - ;; Only glib.h can be included directly. See - ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316 - (substitute* "configure" - (("glib/gregex\\.h") "glib.h")) #t) - %standard-phases) + (modify-phases %standard-phases + (add-after 'unpack 'fix-pcre-check + (lambda _ + ;; Only glib.h can be included directly. See + ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316 + (substitute* "configure" + (("glib/gregex\\.h") "glib.h")) #t))) ,@(package-arguments goffice))) (propagated-inputs @@ -2200,19 +2197,19 @@ and RDP protocols.") (assoc-ref %outputs "out") "/lib") "--disable-gtk-doc-html") ; FIXME: requires gtk-doc #:phases - (alist-cons-before - 'configure 'fix-docbook - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "docs/Makefile.in" - (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl") - (string-append (assoc-ref inputs "docbook-xsl") - "/xml/xsl/docbook-xsl-" - ,(package-version docbook-xsl) - "/manpages/docbook.xsl"))) - (setenv "XML_CATALOG_FILES" - (string-append (assoc-ref inputs "docbook-xml") - "/xml/dtd/docbook/catalog.xml"))) - %standard-phases))) + (modify-phases %standard-phases + (add-before 'configure 'fix-docbook + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "docs/Makefile.in" + (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl") + (string-append (assoc-ref inputs "docbook-xsl") + "/xml/xsl/docbook-xsl-" + ,(package-version docbook-xsl) + "/manpages/docbook.xsl"))) + (setenv "XML_CATALOG_FILES" + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/catalog.xml")) + #t))))) (home-page "https://developer.gnome.org/dconf") (synopsis "Low-level GNOME configuration system") (description "Dconf is a low-level configuration system. Its main purpose diff --git a/gnu/packages/gprolog.scm b/gnu/packages/gprolog.scm index 87c833e947..b27b080ca7 100644 --- a/gnu/packages/gprolog.scm +++ b/gnu/packages/gprolog.scm @@ -41,14 +41,15 @@ `(#:configure-flags (list (string-append "--with-install-dir=" %output "/share/gprolog")) - #:phases (alist-cons-before - 'configure 'change-dir-n-fix-shells - (lambda _ - (chdir "src") - (substitute* "configure" - (("-/bin/sh") (string-append "-" (which "sh"))) - (("= /bin/sh") (string-append "= " (which "sh"))))) - %standard-phases))) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'change-dir-n-fix-shells + (lambda _ + (chdir "src") + (substitute* "configure" + (("-/bin/sh") (string-append "-" (which "sh"))) + (("= /bin/sh") (string-append "= " (which "sh")))) + #t))))) (home-page "https://www.gnu.org/software/gprolog/") (synopsis "Prolog compiler") (description diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm index 0a9038b7a4..10592c23ec 100644 --- a/gnu/packages/gps.scm +++ b/gnu/packages/gps.scm @@ -102,15 +102,16 @@ manipulate maps.") "006a6l8p38a4h7y2959sqrmjjn29d8pd50zj9nypcp5ph18nybjb")))) (build-system gnu-build-system) (arguments - `(#:phases (alist-replace - 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; This is a rudimentary build system. - (substitute* "Makefile" - (("prefix[[:blank:]]*=.*$") - (string-append "prefix = " (assoc-ref outputs "out") - "\n")))) - %standard-phases) + `(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; This is a rudimentary build system. + (substitute* "Makefile" + (("prefix[[:blank:]]*=.*$") + (string-append "prefix = " (assoc-ref outputs "out") + "\n"))) + #t))) #:tests? #f)) (inputs `(("gtk+" ,gtk+-2) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 2a52c4c697..8e3c5563f6 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -630,13 +630,12 @@ and understanding different BRDFs (and other component functions).") (string-append "--x-libraries=" (assoc-ref %build-inputs "libx11") "/lib")) #:phases - (alist-cons-after - 'unpack 'autoreconf - (lambda _ - ;; let's call configure from configure phase and not now - (substitute* "autogen.sh" (("./configure") "# ./configure")) - (zero? (system* "sh" "autogen.sh"))) - %standard-phases))) + (modify-phases %standard-phases + (add-after 'unpack 'autoreconf + (lambda _ + ;; let's call configure from configure phase and not now + (substitute* "autogen.sh" (("./configure") "# ./configure")) + (zero? (system* "sh" "autogen.sh"))))))) (native-inputs `(("pkg-config" ,pkg-config) ("libtool" ,libtool) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 0c717eafeb..ff8509fd93 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -279,16 +279,17 @@ functions which were removed.") "0g7s5mp14qgbfjdql0k1s8464r21g47ssn5dws6jazsnw6njhl0l")))) (build-system waf-build-system) (arguments - `(#:phases (alist-cons-before - 'configure 'set-flags - (lambda* (#:key outputs #:allow-other-keys) - ;; Compile with C++11, required by gtkmm. - (setenv "CXXFLAGS" "-std=c++11") - ;; Allow 'bin/ganv_bench' to find libganv-1.so. - (setenv "LDFLAGS" - (string-append "-Wl,-rpath=" - (assoc-ref outputs "out") "/lib"))) - %standard-phases) + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'set-flags + (lambda* (#:key outputs #:allow-other-keys) + ;; Compile with C++11, required by gtkmm. + (setenv "CXXFLAGS" "-std=c++11") + ;; Allow 'bin/ganv_bench' to find libganv-1.so. + (setenv "LDFLAGS" + (string-append "-Wl,-rpath=" + (assoc-ref outputs "out") "/lib")) + #t))) #:tests? #f)) ; no check target (inputs `(("gtk" ,gtk+-2) @@ -349,24 +350,24 @@ diagrams.") `(#:phases ;; Unfortunately, some of the tests in "make check" are highly dependent ;; on the environment therefore, some black magic is required. - (alist-cons-before - 'check 'start-xserver - (lambda* (#:key inputs #:allow-other-keys) - (let ((xorg-server (assoc-ref inputs "xorg-server")) - (mime (assoc-ref inputs "shared-mime-info"))) + (modify-phases %standard-phases + (add-before 'check 'start-xserver + (lambda* (#:key inputs #:allow-other-keys) + (let ((xorg-server (assoc-ref inputs "xorg-server")) + (mime (assoc-ref inputs "shared-mime-info"))) - ;; There must be a running X server and make check doesn't start one. - ;; Therefore we must do it. - (system (format #f "~a/bin/Xvfb :1 &" xorg-server)) - (setenv "DISPLAY" ":1") + ;; There must be a running X server and make check doesn't start one. + ;; Therefore we must do it. + (system (format #f "~a/bin/Xvfb :1 &" xorg-server)) + (setenv "DISPLAY" ":1") - ;; The .lang files must be found in $XDG_DATA_HOME/gtksourceview-2.0 - (system "ln -s gtksourceview gtksourceview-2.0") - (setenv "XDG_DATA_HOME" (getcwd)) + ;; The .lang files must be found in $XDG_DATA_HOME/gtksourceview-2.0 + (system "ln -s gtksourceview gtksourceview-2.0") + (setenv "XDG_DATA_HOME" (getcwd)) - ;; Finally, the mimetypes must be available. - (setenv "XDG_DATA_DIRS" (string-append mime "/share/")) )) - %standard-phases))) + ;; Finally, the mimetypes must be available. + (setenv "XDG_DATA_DIRS" (string-append mime "/share/"))) + #t))))) (synopsis "Widget that extends the standard GTK+ 2.x 'GtkTextView' widget") (description "GtkSourceView is a portable C library that extends the standard GTK+ @@ -875,18 +876,19 @@ images onto Cairo surfaces.") "godir = $(moddir)\n"))))) (build-system gnu-build-system) (arguments - '(#:phases (alist-cons-after - 'install 'post-install - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (guile (assoc-ref inputs "guile"))) - (substitute* (find-files bin ".*") - (("guile") - (string-append guile "/bin/guile -L " - out "/share/guile/site/2.0 -C " - out "/share/guile/site/2.0 "))))) - %standard-phases))) + '(#:phases + (modify-phases %standard-phases + (add-after 'install 'post-install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (guile (assoc-ref inputs "guile"))) + (substitute* (find-files bin ".*") + (("guile") + (string-append guile "/bin/guile -L " + out "/share/guile/site/2.0 -C " + out "/share/guile/site/2.0 ")))) + #t))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("guile" ,guile-2.2))) (propagated-inputs @@ -1160,7 +1162,7 @@ extensive documentation, including API reference and a tutorial.") `(#:python ,python-2 ,@(substitute-keyword-arguments (package-arguments python-pycairo) ((#:phases phases) - `(alist-delete 'patch-waf ,phases)) + `(modify-phases ,phases (delete 'patch-waf))) ((#:native-inputs native-inputs) `(alist-delete "python-waf" ,native-inputs))))) ;; Dual-licensed under LGPL 2.1 or Mozilla Public License 1.1 @@ -1254,7 +1256,7 @@ write GNOME applications.") #:test-target "test" #:tests? #f ; Tests fail with "Gtk cannot open display:" #:phases - (alist-delete 'configure %standard-phases))) + (modify-phases %standard-phases (delete 'configure)))) (build-system gnu-build-system) (home-page "https://pwmt.org/projects/girara/") (synopsis "Library for minimalistic gtk+3 user interfaces") diff --git a/gnu/packages/guile-wm.scm b/gnu/packages/guile-wm.scm index 4a484b9de4..c28c4753cc 100644 --- a/gnu/packages/guile-wm.scm +++ b/gnu/packages/guile-wm.scm @@ -83,50 +83,51 @@ dependencies.") #:configure-flags (list (string-append "--datadir=" (assoc-ref %outputs "out") "/share/guile/site/2.0")) - #:phases (alist-cons-before - 'configure 'set-go-directory - (lambda* (#:key outputs #:allow-other-keys) - ;; Install .go files to $out/share/guile/site/2.0. - (let ((out (assoc-ref outputs "out"))) - (substitute* "module/Makefile.in" - (("^wmdir = .*$") - (string-append "wmdir = " out - "/share/guile/site/2.0\n"))))) - (alist-cons-after - 'install 'set-load-path - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; Put Guile-XCB's and Guile-WM's modules in the - ;; search path of PROG. - (let* ((out (assoc-ref outputs "out")) - (prog (string-append out "/bin/guile-wm")) - (mods (string-append - out "/share/guile/site/2.0")) - (xcb (string-append - (assoc-ref inputs "guile-xcb") - "/share/guile/site/2.0"))) - (wrap-program - prog - `("GUILE_LOAD_PATH" ":" prefix (,mods ,xcb)) - `("GUILE_LOAD_COMPILED_PATH" ":" prefix - (,mods ,xcb))))) - (alist-cons-after - 'install 'install-xsession - (lambda* (#:key outputs #:allow-other-keys) - ;; add a .desktop file to xsessions - (let ((xsessions (string-append - %output "/share/xsessions"))) - (mkdir-p xsessions) - (call-with-output-file (string-append - xsessions "/guile-wm.desktop") - (lambda (port) - (format port - "[Desktop Entry]~@ + #:phases + (modify-phases %standard-phases + (add-before 'configure 'set-go-directory + (lambda* (#:key outputs #:allow-other-keys) + ;; Install .go files to $out/share/guile/site/2.0. + (let ((out (assoc-ref outputs "out"))) + (substitute* "module/Makefile.in" + (("^wmdir = .*$") + (string-append "wmdir = " out + "/share/guile/site/2.0\n")))) + #t)) + (add-after 'install 'set-load-path + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Put Guile-XCB's and Guile-WM's modules in the + ;; search path of PROG. + (let* ((out (assoc-ref outputs "out")) + (prog (string-append out "/bin/guile-wm")) + (mods (string-append + out "/share/guile/site/2.0")) + (xcb (string-append + (assoc-ref inputs "guile-xcb") + "/share/guile/site/2.0"))) + (wrap-program + prog + `("GUILE_LOAD_PATH" ":" prefix (,mods ,xcb)) + `("GUILE_LOAD_COMPILED_PATH" ":" prefix + (,mods ,xcb)))) + #t)) + (add-after 'install 'install-xsession + (lambda* (#:key outputs #:allow-other-keys) + ;; add a .desktop file to xsessions + (let ((xsessions (string-append + %output "/share/xsessions"))) + (mkdir-p xsessions) + (call-with-output-file (string-append + xsessions "/guile-wm.desktop") + (lambda (port) + (format port + "[Desktop Entry]~@ Name=~a~@ Comment=~a~@ Exec=~a/bin/guile-wm~@ Type=Application~%" - ,name ,synopsis %output))))) - %standard-phases))))) + ,name ,synopsis %output)))) + #t))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("guile" ,guile-2.0) ("guile-xcb" ,guile-xcb))) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 0bcc524ed7..4f024258cb 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -94,24 +94,24 @@ (arguments '(#:configure-flags '("--disable-error-on-warning") ;; Insert a phase before `configure' to patch things up. - #:phases (alist-cons-before - 'configure - 'patch-stuff - (lambda* (#:key outputs #:allow-other-keys) - ;; Add a call to `lt_dladdsearchdir' so that - ;; `libguile-readline.so' & co. are in the - ;; loader's search path. - (substitute* "libguile/dynl.c" - (("lt_dlinit.*$" match) - (format #f - " ~a~% lt_dladdsearchdir(\"~a/lib\");~%" - match - (assoc-ref outputs "out")))) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'patch-stuff + (lambda* (#:key outputs #:allow-other-keys) + ;; Add a call to `lt_dladdsearchdir' so that + ;; `libguile-readline.so' & co. are in the + ;; loader's search path. + (substitute* "libguile/dynl.c" + (("lt_dlinit.*$" match) + (format #f + " ~a~% lt_dladdsearchdir(\"~a/lib\");~%" + match + (assoc-ref outputs "out")))) - ;; The usual /bin/sh... - (substitute* "ice-9/popen.scm" - (("/bin/sh") (which "sh")))) - %standard-phases))) + ;; The usual /bin/sh... + (substitute* "ice-9/popen.scm" + (("/bin/sh") (which "sh"))) + #t))))) (inputs `(("gawk" ,gawk) ("readline" ,readline))) diff --git a/gnu/packages/hugs.scm b/gnu/packages/hugs.scm index 2367d5bc6d..a14b8a8583 100644 --- a/gnu/packages/hugs.scm +++ b/gnu/packages/hugs.scm @@ -39,36 +39,37 @@ "1mdy4aq4campgmnpc2qwq7bsbfhaxfsqdghbyyz2wms4lnfcmyma")))) (build-system gnu-build-system) (arguments - `(#:phases (alist-cons-before - 'configure 'fix-sh-n-cp - (lambda _ - (substitute* - '("configure" - "libraries/configure" - "packages/time/configure" - "packages/base/configure" - "packages/X11/configure" - "packages/HGL/configure" - "packages/OpenAL/configure" - "packages/OpenGL/configure" - "packages/network/configure" - "packages/unix/configure" - "packages/Cabal/tests/HSQL/configure" - "packages/ALUT/configure" - "packages/GLUT/configure" - "packages/base/cbits/execvpe.c" - "packages/base/System/Process/Internals.hs" - "packages/Cabal/Distribution/attic" - "packages/Cabal/Distribution/Simple/Register.hs" - "packages/Cabal/Distribution/Simple/Hugs.hs" - "tools/hugs-hc" - "src/machdep.c" - "libraries/Makefile.in") - (("/bin/sh") (which "sh"))) - (substitute* '("demos/Makefile.in" - "libraries/Makefile.in") - (("/bin/cp") (which "cp")))) - %standard-phases) + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-sh-n-cp + (lambda _ + (substitute* + '("configure" + "libraries/configure" + "packages/time/configure" + "packages/base/configure" + "packages/X11/configure" + "packages/HGL/configure" + "packages/OpenAL/configure" + "packages/OpenGL/configure" + "packages/network/configure" + "packages/unix/configure" + "packages/Cabal/tests/HSQL/configure" + "packages/ALUT/configure" + "packages/GLUT/configure" + "packages/base/cbits/execvpe.c" + "packages/base/System/Process/Internals.hs" + "packages/Cabal/Distribution/attic" + "packages/Cabal/Distribution/Simple/Register.hs" + "packages/Cabal/Distribution/Simple/Hugs.hs" + "tools/hugs-hc" + "src/machdep.c" + "libraries/Makefile.in") + (("/bin/sh") (which "sh"))) + (substitute* '("demos/Makefile.in" + "libraries/Makefile.in") + (("/bin/cp") (which "cp"))) + #t))) #:tests? #f)) ; no test target ;; FIXME: Fails to build with GCC 5. (native-inputs `(("gcc" ,gcc-4.9))) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index bd1eb4b085..a29e5bafd2 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -56,14 +56,13 @@ "02hygsfpd2dljl5lg1vjjg9pizi9jyxd4aiiqzjshz6jax62jm9f")))) (build-system gnu-build-system) (arguments - `(#:phases (alist-replace - 'install - (lambda _ - (zero? - (system* "make" "install-data"))) - (alist-delete - 'build - %standard-phases)) + `(#:phases + (modify-phases %standard-phases + (replace 'install + (lambda _ + (zero? + (system* "make" "install-data")))) + (delete 'build)) ;; GNU Mach supports only IA32 currently, so cheat so that we can at ;; least install its headers. @@ -125,11 +124,12 @@ communication.") (native-inputs `(("mig" ,mig))) (arguments - `(#:phases (alist-replace - 'install - (lambda _ - (zero? (system* "make" "install-headers" "no_deps=t"))) - (alist-delete 'build %standard-phases)) + `(#:phases + (modify-phases %standard-phases + (replace 'install + (lambda _ + (zero? (system* "make" "install-headers" "no_deps=t")))) + (delete 'build)) #:configure-flags '(;; Pretend we're on GNU/Hurd; 'configure' wants ;; that. @@ -164,24 +164,22 @@ Library and other user programs.") (arguments (substitute-keyword-arguments (package-arguments hurd-headers) ((#:phases _) - '(alist-replace - 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; We need to copy libihash.a to the output directory manually, - ;; since there is no target for that in the makefile. - (mkdir-p (string-append out "/include")) - (copy-file "libihash/ihash.h" - (string-append out "/include/ihash.h")) - (mkdir-p (string-append out "/lib")) - (copy-file "libihash/libihash.a" - (string-append out "/lib/libihash.a")) - #t)) - (alist-replace - 'build - (lambda _ - (zero? (system* "make" "-Clibihash" "libihash.a"))) - %standard-phases))))) + '(modify-phases %standard-phases + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; We need to copy libihash.a to the output directory manually, + ;; since there is no target for that in the makefile. + (mkdir-p (string-append out "/include")) + (copy-file "libihash/ihash.h" + (string-append out "/include/ihash.h")) + (mkdir-p (string-append out "/lib")) + (copy-file "libihash/libihash.a" + (string-append out "/lib/libihash.a")) + #t))) + (replace 'build + (lambda _ + (zero? (system* "make" "-Clibihash" "libihash.a")))))))) (home-page "https://www.gnu.org/software/hurd/hurd.html") (synopsis "GNU Hurd libraries") (description diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index dfb68488ee..9d705939e3 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -65,10 +65,10 @@ "02vhdv16nf4kjna4inpbfy4k3p40bhl7xpc4kh4xvily14146l2b")))) (build-system gnu-build-system) (arguments - '(#:phases (alist-delete 'configure %standard-phases) - #:tests? #f ;FIXME: Requires 'perl-test-command'. - #:make-flags - (list "CC=gcc" (string-append "PREFIX=" (assoc-ref %outputs "out"))))) + '(#:phases (modify-phases %standard-phases (delete 'configure)) + #:tests? #f ;FIXME: Requires 'perl-test-command'. + #:make-flags + (list "CC=gcc" (string-append "PREFIX=" (assoc-ref %outputs "out"))))) (inputs `(("imlib2" ,imlib2) ("curl" ,curl) ("libpng" ,libpng) @@ -178,9 +178,8 @@ It is the default image viewer on LXDE desktop environment.") '(#:tests? #f ; no check target #:make-flags (list (string-append "PREFIX=" %output) "CC=gcc") - #:phases (alist-delete - 'configure ; no configure phase - %standard-phases))) + ;; no configure phase + #:phases (modify-phases %standard-phases (delete 'configure)))) (inputs `(("libx11" ,libx11) ("imlib2" ,imlib2) diff --git a/gnu/packages/libcanberra.scm b/gnu/packages/libcanberra.scm index 6bac0bcd5b..941d3dcc45 100644 --- a/gnu/packages/libcanberra.scm +++ b/gnu/packages/libcanberra.scm @@ -79,15 +79,15 @@ `(("pkg-config" ,pkg-config))) (arguments `(#:phases - (alist-cons-before - 'build 'patch-default-sounds-directory - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "src/sound-theme-spec.c" - (("@SOUND_THEME_DIRECTORY@") - (string-append - (assoc-ref inputs "sound-theme-freedesktop") - "/share")))) - %standard-phases))) + (modify-phases %standard-phases + (add-before 'build 'patch-default-sounds-directory + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/sound-theme-spec.c" + (("@SOUND_THEME_DIRECTORY@") + (string-append + (assoc-ref inputs "sound-theme-freedesktop") + "/share"))) + #t))))) (home-page "http://0pointer.de/lennart/projects/libcanberra/") (synopsis "Implementation of the XDG Sound Theme and Name Specifications") diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index cd003c35fb..e860e40f56 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1435,22 +1435,22 @@ Linux-based operating systems.") (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake))) (arguments - '(#:phases (alist-cons-after - 'unpack 'bootstrap - (lambda _ - ;; Fix "field ‘ip6’ has incomplete type" errors. - (substitute* "libbridge/libbridge.h" - (("#include ") - "#include \n#include ")) + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'bootstrap + (lambda _ + ;; Fix "field ‘ip6’ has incomplete type" errors. + (substitute* "libbridge/libbridge.h" + (("#include ") + "#include \n#include ")) - ;; Ensure that the entire build fails if one of the - ;; sub-Makefiles fails. - (substitute* "Makefile.in" - (("\\$\\(MAKE\\) \\$\\(MFLAGS\\) -C \\$\\$x ;") - "$(MAKE) $(MFLAGS) -C $$x || exit 1;")) + ;; Ensure that the entire build fails if one of the + ;; sub-Makefiles fails. + (substitute* "Makefile.in" + (("\\$\\(MAKE\\) \\$\\(MFLAGS\\) -C \\$\\$x ;") + "$(MAKE) $(MFLAGS) -C $$x || exit 1;")) - (zero? (system* "autoreconf" "-vf"))) - %standard-phases) + (zero? (system* "autoreconf" "-vf"))))) #:tests? #f)) ; no 'check' target (home-page @@ -1555,7 +1555,7 @@ configuration and monitoring interfaces.") (arguments `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) "CC=gcc") - #:phases (alist-delete 'configure %standard-phases))) + #:phases (modify-phases %standard-phases (delete 'configure)))) (home-page "https://wireless.wiki.kernel.org/") (synopsis "Tool for configuring wireless devices") (description @@ -1688,27 +1688,28 @@ processes currently causing I/O.") (string-append "UDEV_RULES_PATH=" (assoc-ref %outputs "out") "/lib/udev/rules.d")) - #:phases (alist-cons-before - 'build 'set-file-names - (lambda* (#:key inputs #:allow-other-keys) - ;; libfuse calls out to mount(8) and umount(8). Make sure - ;; it refers to the right ones. - (substitute* '("lib/mount_util.c" "util/mount_util.c") - (("/bin/(u?)mount" _ maybe-u) - (string-append (assoc-ref inputs "util-linux") - "/bin/" maybe-u "mount"))) - (substitute* '("util/mount.fuse.c") - (("/bin/sh") - (which "sh"))) + #:phases + (modify-phases %standard-phases + (add-before 'build 'set-file-names + (lambda* (#:key inputs #:allow-other-keys) + ;; libfuse calls out to mount(8) and umount(8). Make sure + ;; it refers to the right ones. + (substitute* '("lib/mount_util.c" "util/mount_util.c") + (("/bin/(u?)mount" _ maybe-u) + (string-append (assoc-ref inputs "util-linux") + "/bin/" maybe-u "mount"))) + (substitute* '("util/mount.fuse.c") + (("/bin/sh") + (which "sh"))) - ;; This hack leads libfuse to search for 'fusermount' in - ;; $PATH, where it may find a setuid-root binary, instead of - ;; trying solely $out/sbin/fusermount and failing because - ;; it's not setuid. - (substitute* "lib/Makefile" - (("-DFUSERMOUNT_DIR=[[:graph:]]+") - "-DFUSERMOUNT_DIR=\\\"/var/empty\\\""))) - %standard-phases))) + ;; This hack leads libfuse to search for 'fusermount' in + ;; $PATH, where it may find a setuid-root binary, instead of + ;; trying solely $out/sbin/fusermount and failing because + ;; it's not setuid. + (substitute* "lib/Makefile" + (("-DFUSERMOUNT_DIR=[[:graph:]]+") + "-DFUSERMOUNT_DIR=\\\"/var/empty\\\"")) + #t))))) (home-page "https://github.com/libfuse/libfuse") (synopsis "Support file systems implemented in user space") (description @@ -1786,20 +1787,20 @@ UnionFS-FUSE additionally supports copy-on-write.") (arguments '(#:tests? #f #:configure-flags '("-DCMAKE_EXE_LINKER_FLAGS=-static") - #:phases (alist-cons-after - 'install 'post-install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (exe (string-append out "/bin/unionfs"))) - ;; By default, 'unionfs' keeps references to - ;; $glibc/share/locale and similar stuff. Remove them. - (remove-store-references exe) + #:phases + (modify-phases %standard-phases + (add-after 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (exe (string-append out "/bin/unionfs"))) + ;; By default, 'unionfs' keeps references to + ;; $glibc/share/locale and similar stuff. Remove them. + (remove-store-references exe) - ;; 'unionfsctl' has references to glibc as well. Since - ;; we don't need it, remove it. - (delete-file (string-append out "/bin/unionfsctl")) - #t)) - %standard-phases))) + ;; 'unionfsctl' has references to glibc as well. Since + ;; we don't need it, remove it. + (delete-file (string-append out "/bin/unionfsctl")) + #t)))))) (inputs `(("fuse" ,fuse-static))))) (define-public sshfs-fuse @@ -2374,43 +2375,42 @@ country-specific regulations for the wireless spectrum.") (string-append "ETCDIR=" %output "/etc") (string-append "MANDIR=" %output "/share/man")) #:phases - (alist-delete - 'configure - (alist-cons-before - 'build 'patch-exec-paths - (lambda* (#:key inputs outputs #:allow-other-keys) - (substitute* "prog/detect/sensors-detect" - (("`uname") - (string-append "`" (assoc-ref inputs "coreutils") - "/bin/uname")) - (("(`|\")modprobe" all open-quote) - (string-append open-quote - (assoc-ref inputs "kmod") - "/bin/modprobe"))) - (substitute* '("prog/pwm/pwmconfig" - "prog/pwm/fancontrol") - (("gnuplot") - (string-append (assoc-ref inputs "gnuplot") - "/bin/gnuplot")) - (("cat ") - (string-append (assoc-ref inputs "coreutils") - "/bin/cat ")) - (("egrep ") - (string-append (assoc-ref inputs "grep") - "/bin/egrep ")) - (("sed -e") - (string-append (assoc-ref inputs "sed") - "/bin/sed -e")) - (("cut -d") - (string-append (assoc-ref inputs "coreutils") - "/bin/cut -d")) - (("sleep ") - (string-append (assoc-ref inputs "coreutils") - "/bin/sleep ")) - (("readlink -f") - (string-append (assoc-ref inputs "coreutils") - "/bin/readlink -f")))) - %standard-phases)))) + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'patch-exec-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "prog/detect/sensors-detect" + (("`uname") + (string-append "`" (assoc-ref inputs "coreutils") + "/bin/uname")) + (("(`|\")modprobe" all open-quote) + (string-append open-quote + (assoc-ref inputs "kmod") + "/bin/modprobe"))) + (substitute* '("prog/pwm/pwmconfig" + "prog/pwm/fancontrol") + (("gnuplot") + (string-append (assoc-ref inputs "gnuplot") + "/bin/gnuplot")) + (("cat ") + (string-append (assoc-ref inputs "coreutils") + "/bin/cat ")) + (("egrep ") + (string-append (assoc-ref inputs "grep") + "/bin/egrep ")) + (("sed -e") + (string-append (assoc-ref inputs "sed") + "/bin/sed -e")) + (("cut -d") + (string-append (assoc-ref inputs "coreutils") + "/bin/cut -d")) + (("sleep ") + (string-append (assoc-ref inputs "coreutils") + "/bin/sleep ")) + (("readlink -f") + (string-append (assoc-ref inputs "coreutils") + "/bin/readlink -f"))) + #t))))) (home-page "http://jdelvare.nerim.net/devel.html#lmsensors") (synopsis "Utilities to read temperature/voltage/fan sensors") (description @@ -2437,7 +2437,7 @@ It works with most newer systems.") #:make-flags (list (string-append "prefix=" %output) "CC=gcc") ;; no configure script - #:phases (alist-delete 'configure %standard-phases))) + #:phases (modify-phases %standard-phases (delete 'configure)))) (inputs `(("perl" ,perl))) (home-page "http://jdelvare.nerim.net/devel.html#i2ctools") @@ -2466,18 +2466,19 @@ SMBus access.") ("gtk" ,gtk+-2))) (native-inputs `(("pkg-config" ,pkg-config))) (arguments - `(#:phases (alist-cons-before - 'configure 'enable-deprecated - (lambda _ - (substitute* "src/Makefile.in" - (("-DGDK_DISABLE_DEPRECATED") "") - (("-DGTK_DISABLE_DEPRECATED") ""))) - (alist-cons-before - 'configure 'remove-Werror - (lambda _ - (substitute* '("configure" "src/Makefile.in") - (("-Werror") ""))) - %standard-phases)))) + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'enable-deprecated + (lambda _ + (substitute* "src/Makefile.in" + (("-DGDK_DISABLE_DEPRECATED") "") + (("-DGTK_DISABLE_DEPRECATED") "")) + #t)) + (add-before 'configure 'remove-Werror + (lambda _ + (substitute* '("configure" "src/Makefile.in") + (("-Werror") "")) + #t))))) (home-page "http://www.linuxhardware.org/xsensors/") (synopsis "Hardware health information viewer") (description @@ -2493,12 +2494,13 @@ in a digital read-out.") (source (package-source linux-libre)) (build-system gnu-build-system) (arguments - '(#:phases (alist-replace - 'configure - (lambda* (#:key inputs #:allow-other-keys) - (setenv "SHELL_PATH" (which "bash")) - (chdir "tools/perf")) - %standard-phases) + '(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs #:allow-other-keys) + (setenv "SHELL_PATH" (which "bash")) + (chdir "tools/perf") + #t))) #:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out")) "WERROR=0" @@ -2837,22 +2839,23 @@ MPEG-2 and audio over Linux IEEE 1394.") (string-append "BINDIR=" out "/sbin") (string-append "MANDIR=" out "/share/man") (string-append "UDEVDIR=" out "/lib/udev"))) - #:phases (alist-cons-before - 'build 'patch-program-paths - (lambda* (#:key inputs #:allow-other-keys) - (let ((coreutils (assoc-ref inputs "coreutils"))) - (substitute* "udev-md-raid-arrays.rules" - (("/usr/bin/(readlink|basename)" all program) - (string-append coreutils "/bin/" program))))) - (alist-cons-before - 'build 'remove-W-error - (lambda _ - ;; We cannot build with -Werror on i686 due to a - ;; 'sign-compare' warning in util.c. - (substitute* "Makefile" - (("-Werror") "")) - #t) - (alist-delete 'configure %standard-phases))) + #:phases + (modify-phases %standard-phases + (add-before 'build 'patch-program-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((coreutils (assoc-ref inputs "coreutils"))) + (substitute* "udev-md-raid-arrays.rules" + (("/usr/bin/(readlink|basename)" all program) + (string-append coreutils "/bin/" program)))) + #t)) + (add-before 'build 'remove-W-error + (lambda _ + ;; We cannot build with -Werror on i686 due to a + ;; 'sign-compare' warning in util.c. + (substitute* "Makefile" + (("-Werror") "")) + #t)) + (delete 'configure)) ;;tests must be done as root #:tests? #f)) (home-page "http://neil.brown.name/blog/mdadm") @@ -2987,7 +2990,7 @@ Linux Device Mapper multipathing driver: (list "CC=gcc" (string-append "prefix=" %output)) #:test-target "partcheck" ; need root for a full 'check' #:phases - (alist-delete 'configure %standard-phases))) ; no configure script + (modify-phases %standard-phases (delete 'configure)))) ; no configure script (home-page "http://lse.sourceforge.net/io/aio.html") (synopsis "Linux-native asynchronous I/O access library") (description @@ -3642,13 +3645,14 @@ the default @code{nsswitch} and the experimental @code{umich_ldap}.") ;; FIXME: The upstream tarball lacks man pages, and building them would ;; require DocBook & co. We used to use Gentoo's pre-built man pages, ;; but they vanished. In the meantime, fake it. - '(#:phases (alist-cons-before - 'configure 'fake-docbook - (lambda _ - (substitute* "Makefile.in" - (("^DOCBOOKTOMAN.*$") - "DOCBOOKTOMAN = true\n"))) - %standard-phases))) + '(#:phases + (modify-phases %standard-phases + (add-before 'configure 'fake-docbook + (lambda _ + (substitute* "Makefile.in" + (("^DOCBOOKTOMAN.*$") + "DOCBOOKTOMAN = true\n")) + #t))))) (home-page "http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/") (synopsis "Tools for loading and managing Linux kernel modules") (description diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 224cea56f6..59e095cd89 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -445,36 +445,33 @@ statistical profiler, a code coverage tool, and many other extensions.") (guix build utils) (guix build gnu-build-system)) #:phases - (alist-replace - 'unpack - (lambda* (#:key inputs #:allow-other-keys) - (and (zero? (system* "tar" "xzvf" (assoc-ref inputs "ccl"))) - (begin (chdir "ccl") #t))) - (alist-delete - 'configure - (alist-cons-before - 'build 'pre-build - ;; Enter the source directory for the current platform's lisp - ;; kernel, and run 'make clean' to remove the precompiled one. - (lambda _ - (chdir (string-append - "lisp-kernel/" - ,(match (or (%current-target-system) (%current-system)) - ("i686-linux" "linuxx8632") - ("x86_64-linux" "linuxx8664") - ("armhf-linux" "linuxarm") - ;; Prevent errors when querying this package - ;; on unsupported platforms, e.g. when running - ;; "guix package --search=" - (_ "UNSUPPORTED")))) - (substitute* '("Makefile") - (("/bin/rm") "rm")) - (setenv "CC" "gcc") - (zero? (system* "make" "clean"))) - ;; XXX Do we need to recompile the heap image as well for Guix? - ;; For now just use the one we already got in the tarball. - (alist-replace - 'install + (modify-phases %standard-phases + (replace 'unpack + (lambda* (#:key inputs #:allow-other-keys) + (and (zero? (system* "tar" "xzvf" (assoc-ref inputs "ccl"))) + (begin (chdir "ccl") #t)))) + (delete 'configure) + (add-before 'build 'pre-build + ;; Enter the source directory for the current platform's lisp + ;; kernel, and run 'make clean' to remove the precompiled one. + (lambda _ + (chdir (string-append + "lisp-kernel/" + ,(match (or (%current-target-system) (%current-system)) + ("i686-linux" "linuxx8632") + ("x86_64-linux" "linuxx8664") + ("armhf-linux" "linuxarm") + ;; Prevent errors when querying this package + ;; on unsupported platforms, e.g. when running + ;; "guix package --search=" + (_ "UNSUPPORTED")))) + (substitute* '("Makefile") + (("/bin/rm") "rm")) + (setenv "CC" "gcc") + (zero? (system* "make" "clean")))) + ;; XXX Do we need to recompile the heap image as well for Guix? + ;; For now just use the one we already got in the tarball. + (replace 'install (lambda* (#:key outputs inputs #:allow-other-keys) ;; The lisp kernel built by running 'make' in lisp-kernel/$system ;; is put back into the original directory, so go back. The heap @@ -513,8 +510,8 @@ statistical profiler, a code coverage tool, and many other extensions.") "CCL_DEFAULT_DIRECTORY=" libdir "\n" "export CCL_DEFAULT_DIRECTORY\n" "exec " libdir kernel "\n")))) - (chmod wrapper #o755))) - %standard-phases)))))) + (chmod wrapper #o755)) + #t))))) (supported-systems '("i686-linux" "x86_64-linux" "armhf-linux")) (home-page "http://ccl.clozure.com/") (synopsis "Common Lisp implementation") diff --git a/gnu/packages/lout.scm b/gnu/packages/lout.scm index f2c724ae07..b71abd83fe 100644 --- a/gnu/packages/lout.scm +++ b/gnu/packages/lout.scm @@ -28,53 +28,11 @@ ;; rules. Instead, it has a makefile that has to be patched to set the ;; prefix, etc., and it has no makefile rules to build its doc. (let ((configure-phase - '(lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (doc (assoc-ref outputs "doc"))) - (substitute* "makefile" - (("^PREFIX[[:blank:]]*=.*$") - (string-append "PREFIX = " out "\n")) - (("^LOUTLIBDIR[[:blank:]]*=.*$") - (string-append "LOUTLIBDIR = " out "/lib/lout\n")) - (("^LOUTDOCDIR[[:blank:]]*=.*$") - (string-append "LOUTDOCDIR = " doc "/share/doc/lout\n")) - (("^MANDIR[[:blank:]]*=.*$") - (string-append "MANDIR = " out "/man\n"))) - (mkdir out) - (mkdir (string-append out "/bin")) - (mkdir (string-append out "/lib")) - (mkdir (string-append out "/man")) - (mkdir-p (string-append doc "/share/doc/lout"))))) + ') (install-man-phase - '(lambda* (#:key outputs #:allow-other-keys) - (zero? (system* "make" "installman")))) + ') (doc-phase - '(lambda* (#:key outputs #:allow-other-keys) - (define out - (assoc-ref outputs "doc")) - - (setenv "PATH" - (string-append (assoc-ref outputs "out") - "/bin:" (getenv "PATH"))) - (chdir "doc") - (every (lambda (doc) - (format #t "doc: building `~a'...~%" doc) - (with-directory-excursion doc - (let ((file (string-append out "/share/doc/lout/" - doc ".ps"))) - (and (or (file-exists? "outfile.ps") - (zero? (system* "lout" "-r4" "-o" - "outfile.ps" "all"))) - (begin - (copy-file "outfile.ps" file) - #t) - (zero? (system* "ps2pdf" - "-dPDFSETTINGS=/prepress" - "-sPAPERSIZE=a4" - file - (string-append out "/share/doc/lout/" - doc ".pdf"))))))) - '("design" "expert" "slides" "user"))))) + ')) (package (name "lout") (version "3.40") @@ -89,23 +47,64 @@ (outputs '("out" "doc")) (native-inputs `(("ghostscript" ,ghostscript))) - (arguments `(#:modules ((guix build utils) - (guix build gnu-build-system) - (srfi srfi-1)) ; we need SRFI-1 - #:tests? #f ; no "check" target + (arguments + `(#:modules ((guix build utils) + (guix build gnu-build-system) + (srfi srfi-1)) ; we need SRFI-1 + #:tests? #f ; no "check" target - ;; Customize the build phases. - #:phases (alist-replace - 'configure ,configure-phase + ;; Customize the build phases. + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (substitute* "makefile" + (("^PREFIX[[:blank:]]*=.*$") + (string-append "PREFIX = " out "\n")) + (("^LOUTLIBDIR[[:blank:]]*=.*$") + (string-append "LOUTLIBDIR = " out "/lib/lout\n")) + (("^LOUTDOCDIR[[:blank:]]*=.*$") + (string-append "LOUTDOCDIR = " doc "/share/doc/lout\n")) + (("^MANDIR[[:blank:]]*=.*$") + (string-append "MANDIR = " out "/man\n"))) + (mkdir out) + (mkdir (string-append out "/bin")) + (mkdir (string-append out "/lib")) + (mkdir (string-append out "/man")) + (mkdir-p (string-append doc "/share/doc/lout"))) + #t)) + (add-after 'install 'install-man-pages + (lambda* (#:key outputs #:allow-other-keys) + (zero? (system* "make" "installman")))) + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (define out + (assoc-ref outputs "doc")) - (alist-cons-after - 'install 'install-man-pages - ,install-man-phase - - (alist-cons-after - 'install 'install-doc - ,doc-phase - %standard-phases))))) + (setenv "PATH" + (string-append (assoc-ref outputs "out") + "/bin:" (getenv "PATH"))) + (chdir "doc") + (every (lambda (doc) + (format #t "doc: building `~a'...~%" doc) + (with-directory-excursion doc + (let ((file (string-append out "/share/doc/lout/" + doc ".ps"))) + (and (or (file-exists? "outfile.ps") + (zero? (system* "lout" "-r4" "-o" + "outfile.ps" "all"))) + (begin + (copy-file "outfile.ps" file) + #t) + (zero? (system* "ps2pdf" + "-dPDFSETTINGS=/prepress" + "-sPAPERSIZE=a4" + file + (string-append out "/share/doc/lout/" + doc ".pdf"))))))) + '("design" "expert" "slides" "user"))))))) (synopsis "Document layout system") (description "The Lout document formatting system reads a high-level description of diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index c3cb700be2..c8bc4ef85e 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -124,7 +124,7 @@ for configuration, scripting, and rapid prototyping.") (build-system gnu-build-system) (arguments '(#:tests? #f ;luajit is distributed without tests - #:phases (alist-delete 'configure %standard-phases) + #:phases (modify-phases %standard-phases (delete 'configure)) #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))))) (home-page "http://www.luajit.org/") (synopsis "Just in time compiler for Lua programming language version 5.1") diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 58b47dacd1..291146bab4 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -376,54 +376,50 @@ sample proximities between pairs of cases.") (arguments '(#:tests? #f ;no check target #:phases - (alist-cons-after - 'unpack 'delete-broken-symlinks - (lambda _ - (for-each delete-file '("applications/arts/data" - "applications/asp/data" - "applications/easysvm/data" - "applications/msplicer/data" - "applications/ocr/data" - "examples/documented/data" - "examples/documented/matlab_static" - "examples/documented/octave_static" - "examples/undocumented/data" - "examples/undocumented/matlab_static" - "examples/undocumented/octave_static" - "tests/integration/data" - "tests/integration/matlab_static" - "tests/integration/octave_static" - "tests/integration/python_modular/tests")) - #t) - (alist-cons-after - 'unpack 'change-R-target-path - (lambda* (#:key outputs #:allow-other-keys) - (substitute* '("src/interfaces/r_modular/CMakeLists.txt" - "src/interfaces/r_static/CMakeLists.txt" - "examples/undocumented/r_modular/CMakeLists.txt") - (("\\$\\{R_COMPONENT_LIB_PATH\\}") - (string-append (assoc-ref outputs "out") - "/lib/R/library/"))) - #t) - (alist-cons-after - 'unpack 'fix-octave-modules - (lambda* (#:key outputs #:allow-other-keys) - (substitute* '("src/interfaces/octave_modular/CMakeLists.txt" - "src/interfaces/octave_static/CMakeLists.txt") - (("^include_directories\\(\\$\\{OCTAVE_INCLUDE_DIRS\\}") - "include_directories(${OCTAVE_INCLUDE_DIRS} ${OCTAVE_INCLUDE_DIRS}/octave")) + (modify-phases %standard-phases + (add-after 'unpack 'delete-broken-symlinks + (lambda _ + (for-each delete-file '("applications/arts/data" + "applications/asp/data" + "applications/easysvm/data" + "applications/msplicer/data" + "applications/ocr/data" + "examples/documented/data" + "examples/documented/matlab_static" + "examples/documented/octave_static" + "examples/undocumented/data" + "examples/undocumented/matlab_static" + "examples/undocumented/octave_static" + "tests/integration/data" + "tests/integration/matlab_static" + "tests/integration/octave_static" + "tests/integration/python_modular/tests")) + #t)) + (add-after 'unpack 'change-R-target-path + (lambda* (#:key outputs #:allow-other-keys) + (substitute* '("src/interfaces/r_modular/CMakeLists.txt" + "src/interfaces/r_static/CMakeLists.txt" + "examples/undocumented/r_modular/CMakeLists.txt") + (("\\$\\{R_COMPONENT_LIB_PATH\\}") + (string-append (assoc-ref outputs "out") + "/lib/R/library/"))) + #t)) + (add-after 'unpack 'fix-octave-modules + (lambda* (#:key outputs #:allow-other-keys) + (substitute* '("src/interfaces/octave_modular/CMakeLists.txt" + "src/interfaces/octave_static/CMakeLists.txt") + (("^include_directories\\(\\$\\{OCTAVE_INCLUDE_DIRS\\}") + "include_directories(${OCTAVE_INCLUDE_DIRS} ${OCTAVE_INCLUDE_DIRS}/octave")) - ;; change target directory - (substitute* "src/interfaces/octave_modular/CMakeLists.txt" - (("\\$\\{OCTAVE_OCT_LOCAL_API_FILE_DIR\\}") - (string-append (assoc-ref outputs "out") - "/share/octave/packages"))) - #t) - (alist-cons-before - 'build 'set-HOME + ;; change target directory + (substitute* "src/interfaces/octave_modular/CMakeLists.txt" + (("\\$\\{OCTAVE_OCT_LOCAL_API_FILE_DIR\\}") + (string-append (assoc-ref outputs "out") + "/share/octave/packages"))) + #t)) + (add-before 'build 'set-HOME ;; $HOME needs to be set at some point during the build phase - (lambda _ (setenv "HOME" "/tmp") #t) - %standard-phases)))) + (lambda _ (setenv "HOME" "/tmp") #t))) #:configure-flags (list "-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE" "-DUSE_SVMLIGHT=OFF" ;disable proprietary SVMLIGHT diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 8c376b1e45..72e1bb179c 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1034,51 +1034,51 @@ delivery.") ("perl" ,perl))) (arguments '(#:phases - (alist-replace - 'configure - ;; We'd use #:make-flags but the top-level Makefile calls others - ;; recursively, so just set all variables this way. - (lambda* (#:key outputs inputs #:allow-other-keys) - (substitute* '("Makefile" "OS/Makefile-Default") - (("(RM_COMMAND=).*" all var) - (string-append var "rm\n"))) - (copy-file "src/EDITME" "Local/Makefile") - (copy-file "exim_monitor/EDITME" "Local/eximon.conf") - (let ((out (assoc-ref outputs "out")) - (gzip (assoc-ref inputs "gzip")) - (bzip2 (assoc-ref inputs "bzip2")) - (xz (assoc-ref inputs "xz"))) - (substitute* '("Local/Makefile") - (("(BIN_DIRECTORY=).*" all var) - (string-append var out "/bin\n")) - (("(CONFIGURE_FILE=).*" all var) - (string-append var out "/etc/exim.conf\n")) - (("(EXIM_USER=).*" all var) - (string-append var "nobody\n")) - (("(FIXED_NEVER_USERS=).*" all var) - (string-append var "\n")) ;XXX no root in build environment - (("(COMPRESS_COMMAND=).*" all var) - (string-append var gzip "/bin/gzip\n")) - (("(ZCAT_COMMAND=).*" all var) - (string-append var gzip "/bin/zcat\n"))) - ;; This file has hardcoded names for tools despite the zcat - ;; configuration above. - (substitute* '("src/exigrep.src") - (("'zcat'") (string-append "'" gzip "/bin/zcat'")) - (("'bzcat'") (string-append "'" bzip2 "/bin/bzcat'")) - (("'xzcat'") (string-append "'" xz "/bin/xzcat'")) - (("'lzma'") (string-append "'" xz "/bin/lzma'"))))) - (alist-cons-before - 'build 'fix-sh-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* '("scripts/lookups-Makefile" "scripts/reversion") - (("SHELL=/bin/sh") "SHELL=sh")) - (substitute* '("scripts/Configure-config.h") - (("\\| /bin/sh") "| sh")) - (let ((bash (assoc-ref inputs "bash"))) - (substitute* '("scripts/Configure-eximon") - (("#!/bin/sh") (string-append "#!" bash "/bin/sh"))))) - %standard-phases)) + (modify-phases %standard-phases + (replace 'configure + ;; We'd use #:make-flags but the top-level Makefile calls others + ;; recursively, so just set all variables this way. + (lambda* (#:key outputs inputs #:allow-other-keys) + (substitute* '("Makefile" "OS/Makefile-Default") + (("(RM_COMMAND=).*" all var) + (string-append var "rm\n"))) + (copy-file "src/EDITME" "Local/Makefile") + (copy-file "exim_monitor/EDITME" "Local/eximon.conf") + (let ((out (assoc-ref outputs "out")) + (gzip (assoc-ref inputs "gzip")) + (bzip2 (assoc-ref inputs "bzip2")) + (xz (assoc-ref inputs "xz"))) + (substitute* '("Local/Makefile") + (("(BIN_DIRECTORY=).*" all var) + (string-append var out "/bin\n")) + (("(CONFIGURE_FILE=).*" all var) + (string-append var out "/etc/exim.conf\n")) + (("(EXIM_USER=).*" all var) + (string-append var "nobody\n")) + (("(FIXED_NEVER_USERS=).*" all var) + (string-append var "\n")) ;XXX no root in build environment + (("(COMPRESS_COMMAND=).*" all var) + (string-append var gzip "/bin/gzip\n")) + (("(ZCAT_COMMAND=).*" all var) + (string-append var gzip "/bin/zcat\n"))) + ;; This file has hardcoded names for tools despite the zcat + ;; configuration above. + (substitute* '("src/exigrep.src") + (("'zcat'") (string-append "'" gzip "/bin/zcat'")) + (("'bzcat'") (string-append "'" bzip2 "/bin/bzcat'")) + (("'xzcat'") (string-append "'" xz "/bin/xzcat'")) + (("'lzma'") (string-append "'" xz "/bin/lzma'")))) + #t)) + (add-before 'build 'fix-sh-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* '("scripts/lookups-Makefile" "scripts/reversion") + (("SHELL=/bin/sh") "SHELL=sh")) + (substitute* '("scripts/Configure-config.h") + (("\\| /bin/sh") "| sh")) + (let ((bash (assoc-ref inputs "bash"))) + (substitute* '("scripts/Configure-eximon") + (("#!/bin/sh") (string-append "#!" bash "/bin/sh")))) + #t))) #:make-flags '("INSTALL_ARG=-no_chown") ;; No 'check' target. #:tests? #f)) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index 60076f0f1a..fed7d08aee 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -154,7 +154,7 @@ the traditional flat-text whatis databases.") "1gri0rm9i3a6w5dvsmwawhwzywl5x80dwq05d2v8l92knv2hbh6m")))) (build-system gnu-build-system) (arguments - '(#:phases (alist-delete 'configure %standard-phases) + '(#:phases (modify-phases %standard-phases (delete 'configure)) ;; The 'all' target depends on three targets that directly populate ;; $(MANDIR) based on its current contents. Doing that in parallel @@ -220,7 +220,7 @@ automatically.") (arguments `(#:tests? #f ; no "check" target #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out"))) - #:phases (alist-delete 'configure %standard-phases))) + #:phases (modify-phases %standard-phases (delete 'configure)))) (inputs `(("gawk" ,gawk))) (home-page "https://github.com/mvertes/txt2man") diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index f326f6af72..488c42b28d 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -456,13 +456,14 @@ large scale eigenvalue problems.") ;; Build the 'LAPACKE_clatms' functions. "-DLAPACKE_WITH_TMG=ON") - #:phases (alist-cons-before - 'check 'patch-python - (lambda* (#:key inputs #:allow-other-keys) - (let ((python (assoc-ref inputs "python"))) - (substitute* "lapack_testing.py" - (("/usr/bin/env python") python)))) - %standard-phases))) + #:phases + (modify-phases %standard-phases + (add-before 'check 'patch-python + (lambda* (#:key inputs #:allow-other-keys) + (let ((python (assoc-ref inputs "python"))) + (substitute* "lapack_testing.py" + (("/usr/bin/env python") python))) + #t))))) (synopsis "Library for numerical linear algebra") (description "LAPACK is a Fortran 90 library for solving the most commonly occurring @@ -1866,12 +1867,12 @@ void mc64ad_ (int *a, int *b, int *c, int *d, int *e, double *f, int *g, (arguments `(#:parallel-build? #f ;race conditions using ar #:phases - (alist-replace - 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (call-with-output-file "make.inc" - (lambda (port) - (format port " + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (call-with-output-file "make.inc" + (lambda (port) + (format port " PLAT = DSuperLUroot = ~a DSUPERLULIB = ~a/lib/libsuperlu_dist.a @@ -1894,47 +1895,46 @@ FORTRAN = mpifort FFLAGS = -O2 -g $(PIC) LOADER = $(CC) CDEFS = -DAdd_" - (getcwd) - (assoc-ref outputs "out") - (assoc-ref inputs "lapack") - (assoc-ref inputs "pt-scotch"))))) - (alist-cons-after - 'unpack 'remove-broken-symlinks - (lambda _ - (for-each delete-file - (find-files "MAKE_INC" "\\.#make\\..*"))) - (alist-cons-before - 'build 'create-install-directories - (lambda* (#:key outputs #:allow-other-keys) - (for-each - (lambda (dir) - (mkdir-p (string-append (assoc-ref outputs "out") - "/" dir))) - '("lib" "include"))) - (alist-replace - 'check + (getcwd) + (assoc-ref outputs "out") + (assoc-ref inputs "lapack") + (assoc-ref inputs "pt-scotch")))) + #t)) + (add-after 'unpack 'remove-broken-symlinks + (lambda _ + (for-each delete-file + (find-files "MAKE_INC" "\\.#make\\..*")) + #t)) + (add-before 'build 'create-install-directories + (lambda* (#:key outputs #:allow-other-keys) + (for-each + (lambda (dir) + (mkdir-p (string-append (assoc-ref outputs "out") + "/" dir))) + '("lib" "include")) + #t)) + (replace 'check (lambda _ (with-directory-excursion "EXAMPLE" (and (zero? (system* "mpirun" "-n" "2" "./pddrive" "-r" "1" "-c" "2" "g20.rua")) (zero? (system* "mpirun" "-n" "2" - "./pzdrive" "-r" "1" "-c" "2" "cg20.cua"))))) - (alist-replace - 'install - (lambda* (#:key outputs #:allow-other-keys) - ;; Library is placed in lib during the build phase. Copy over - ;; headers to include. - (let* ((out (assoc-ref outputs "out")) - (incdir (string-append out "/include"))) - (for-each (lambda (file) - (let ((base (basename file))) - (format #t "installing `~a' to `~a'~%" - base incdir) - (copy-file file - (string-append incdir "/" base)))) - (find-files "SRC" ".*\\.h$")))) - %standard-phases))))))) + "./pzdrive" "-r" "1" "-c" "2" "cg20.cua")))))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + ;; Library is placed in lib during the build phase. Copy over + ;; headers to include. + (let* ((out (assoc-ref outputs "out")) + (incdir (string-append out "/include"))) + (for-each (lambda (file) + (let ((base (basename file))) + (format #t "installing `~a' to `~a'~%" + base incdir) + (copy-file file + (string-append incdir "/" base)))) + (find-files "SRC" ".*\\.h$"))) + #t))))) (home-page (package-home-page superlu)) (synopsis "Parallel supernodal direct solver") (description @@ -2621,7 +2621,7 @@ access to BLIS implementations via traditional BLAS routine calls.") (list (string-append "prefix=" (assoc-ref %outputs "out"))) #:phases ;; no configure script - (alist-delete 'configure %standard-phases) + (modify-phases %standard-phases (delete 'configure)) #:tests? #f)) ;the tests are part of the default target (home-page "http://openlibm.org/") (synopsis "Portable C mathematical library (libm)") @@ -2660,7 +2660,7 @@ environments.") #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out"))) ;; no configure script - #:phases (alist-delete 'configure %standard-phases))) + #:phases (modify-phases %standard-phases (delete 'configure)))) (inputs `(("fortran" ,gfortran))) (home-page "https://github.com/JuliaLang/openspecfun") diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 52ca4bef79..f984f8ffbb 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -142,20 +142,19 @@ keys, no previous conversation is compromised.") ("python" ,python-2) ("perl" ,perl))) (arguments - `(#:phases (alist-cons-after - 'install 'install-etc - (lambda* (#:key (make-flags '()) #:allow-other-keys) - (zero? (apply system* "make" "install-etc" make-flags))) - (alist-replace - 'configure - ;; bitlbee's configure script does not tolerate many of the - ;; variable settings that Guix would pass to it. - (lambda* (#:key outputs #:allow-other-keys) - (zero? (system* "./configure" - (string-append "--prefix=" - (assoc-ref outputs "out")) - "--otr=1"))) - %standard-phases)))) + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-etc + (lambda* (#:key (make-flags '()) #:allow-other-keys) + (zero? (apply system* "make" "install-etc" make-flags)))) + (replace 'configure + ;; bitlbee's configure script does not tolerate many of the + ;; variable settings that Guix would pass to it. + (lambda* (#:key outputs #:allow-other-keys) + (zero? (system* "./configure" + (string-append "--prefix=" + (assoc-ref outputs "out")) + "--otr=1"))))))) (synopsis "IRC to instant messaging gateway") (description "BitlBee brings IM (instant messaging) to IRC clients, for people who have an IRC client running all the time and don't want to run an diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index f030e5b18e..6412dce16d 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -66,12 +66,13 @@ (build-system gnu-build-system) (arguments `(#:phases - (alist-cons-before - 'configure 'remove-unsupported-gcc-flags - (lambda _ - ;; remove option that is not supported by gcc any more - (substitute* "configure" ((" -fforce-mem") ""))) - %standard-phases))) + (modify-phases %standard-phases + (add-before 'configure 'remove-unsupported-gcc-flags + (lambda _ + ;; remove option that is not supported by gcc any more + (substitute* "configure" ((" -fforce-mem") "")) + #t) + %standard-phases)))) (synopsis "MPEG audio decoder") (description "MAD (MPEG Audio Decoder) supports MPEG-1 and the MPEG-2 extension to @@ -123,20 +124,20 @@ versions of ID3v2.") (inputs `(("zlib" ,zlib))) (arguments `(#:phases - (alist-cons-before - 'configure 'apply-patches - ;; TODO: create a patch for origin instead? - (lambda _ - (substitute* "configure" - (("iomanip.h") "")) ; drop check for unused header - ;; see http://www.linuxfromscratch.org/patches/downloads/id3lib/ - (substitute* "include/id3/id3lib_strings.h" - (("include ") "include \n#include ")) - (substitute* "include/id3/writers.h" - (("//\\#include ") "#include ")) - (substitute* "examples/test_io.cpp" - (("dami;") "dami;\nusing namespace std;"))) - %standard-phases))) + (modify-phases %standard-phases + (add-before 'configure 'apply-patches + ;; TODO: create a patch for origin instead? + (lambda _ + (substitute* "configure" + (("iomanip.h") "")) ; drop check for unused header + ;; see http://www.linuxfromscratch.org/patches/downloads/id3lib/ + (substitute* "include/id3/id3lib_strings.h" + (("include ") "include \n#include ")) + (substitute* "include/id3/writers.h" + (("//\\#include ") "#include ")) + (substitute* "examples/test_io.cpp" + (("dami;") "dami;\nusing namespace std;")) + #t))))) (synopsis "Library for reading, writing, and manipulating ID3v1 and ID3v2 tags") (description "Id3lib is a cross-platform software development library for reading, @@ -194,29 +195,30 @@ Speex, WavPack TrueAudio, WAV, AIFF, MP4 and ASF files.") (build-system gnu-build-system) (outputs '("out" "gui")) ;GTK+ interface in "gui" (arguments - '(#:phases (alist-replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (substitute* "Makefile" - (("prefix=.*") - (string-append "prefix := " out "\n"))))) - (alist-cons-before - 'install 'pre-install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (mkdir-p (string-append out "/bin")) - (mkdir-p (string-append out "/share/man/man1")))) - (alist-cons-after - 'install 'post-install - (lambda* (#:key outputs #:allow-other-keys) - ;; Move the GTK+ interface to "gui". - (let ((out (assoc-ref outputs "out")) - (gui (assoc-ref outputs "gui"))) - (mkdir-p (string-append gui "/bin")) - (rename-file (string-append out "/bin/gmp3info") - (string-append gui "/bin/gmp3info")))) - %standard-phases))) + '(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "Makefile" + (("prefix=.*") + (string-append "prefix := " out "\n")))) + #t)) + (add-before 'install 'pre-install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/bin")) + (mkdir-p (string-append out "/share/man/man1"))) + #t)) + (add-after 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + ;; Move the GTK+ interface to "gui". + (let ((out (assoc-ref outputs "out")) + (gui (assoc-ref outputs "gui"))) + (mkdir-p (string-append gui "/bin")) + (rename-file (string-append out "/bin/gmp3info") + (string-append gui "/bin/gmp3info"))) + #t))) #:tests? #f)) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 1c3ac71c26..b11121722c 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -869,60 +869,60 @@ complete studio.") `(#:tests? #f ; xmllint attempts to download DTD #:test-target "test" #:phases - (alist-cons-after - 'unpack 'fix-configuration - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "default.config" - (("csound=csound") - (string-append "csound=" - (assoc-ref inputs "csound") - "/bin/csound")) - (("/usr/bin/aplay") - (string-append (assoc-ref inputs "aplay") - "/bin/aplay")) - (("/usr/bin/timidity") - (string-append (assoc-ref inputs "timidity") - "/bin/timidity")) - (("/usr/bin/mpg123") - (string-append (assoc-ref inputs "mpg123") - "/bin/mpg123")) - (("/usr/bin/ogg123") - (string-append (assoc-ref inputs "ogg123") - "/bin/ogg123")))) - (alist-cons-before - 'build 'patch-python-shebangs - (lambda _ - ;; Two python scripts begin with a Unicode BOM, so patch-shebang - ;; has no effect. - (substitute* '("solfege/parsetree.py" - "solfege/presetup.py") - (("#!/usr/bin/python") (string-append "#!" (which "python"))))) - (alist-cons-before - 'build 'add-sitedirs - ;; .pth files are not automatically interpreted unless the - ;; directories containing them are added as "sites". The directories - ;; are then added to those in the PYTHONPATH. This is required for - ;; the operation of pygtk and pygobject. - (lambda _ - (substitute* "run-solfege.py" - (("import os") - "import os, site -for path in [path for path in sys.path if 'site-packages' in path]: site.addsitedir(path)"))) - (alist-cons-before - 'build 'adjust-config-file-prefix + (modify-phases %standard-phases + (add-after 'unpack 'fix-configuration + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "default.config" + (("csound=csound") + (string-append "csound=" + (assoc-ref inputs "csound") + "/bin/csound")) + (("/usr/bin/aplay") + (string-append (assoc-ref inputs "aplay") + "/bin/aplay")) + (("/usr/bin/timidity") + (string-append (assoc-ref inputs "timidity") + "/bin/timidity")) + (("/usr/bin/mpg123") + (string-append (assoc-ref inputs "mpg123") + "/bin/mpg123")) + (("/usr/bin/ogg123") + (string-append (assoc-ref inputs "ogg123") + "/bin/ogg123"))) + #t)) + (add-before 'build 'patch-python-shebangs + (lambda _ + ;; Two python scripts begin with a Unicode BOM, so patch-shebang + ;; has no effect. + (substitute* '("solfege/parsetree.py" + "solfege/presetup.py") + (("#!/usr/bin/python") (string-append "#!" (which "python")))) + #t)) + (add-before 'build 'add-sitedirs + ;; .pth files are not automatically interpreted unless the + ;; directories containing them are added as "sites". The directories + ;; are then added to those in the PYTHONPATH. This is required for + ;; the operation of pygtk and pygobject. + (lambda _ + (substitute* "run-solfege.py" + (("import os") + "import os, site +for path in [path for path in sys.path if 'site-packages' in path]: site.addsitedir(path)")) + #t)) + (add-before 'build 'adjust-config-file-prefix (lambda* (#:key outputs #:allow-other-keys) (substitute* "run-solfege.py" (("prefix = os.path.*$") - (string-append "prefix = " (assoc-ref outputs "out"))))) - (alist-cons-after - 'install 'wrap-program - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; Make sure 'solfege' runs with the correct PYTHONPATH. - (let* ((out (assoc-ref outputs "out")) - (path (getenv "PYTHONPATH"))) - (wrap-program (string-append out "/bin/solfege") - `("PYTHONPATH" ":" prefix (,path))))) - %standard-phases))))))) + (string-append "prefix = " (assoc-ref outputs "out")))) + #t)) + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Make sure 'solfege' runs with the correct PYTHONPATH. + (let* ((out (assoc-ref outputs "out")) + (path (getenv "PYTHONPATH"))) + (wrap-program (string-append out "/bin/solfege") + `("PYTHONPATH" ":" prefix (,path)))) + #t))))) (inputs `(("python" ,python-2) ("pygtk" ,python2-pygtk) diff --git a/gnu/packages/noweb.scm b/gnu/packages/noweb.scm index be90e2dc64..0954e79952 100644 --- a/gnu/packages/noweb.scm +++ b/gnu/packages/noweb.scm @@ -35,47 +35,46 @@ "10hdd6mrk26kyh4bnng4ah5h1pnanhsrhqa7qwqy6dyv3rng44y9")))) (build-system gnu-build-system) (arguments - '(#:phases (alist-cons-before - 'install 'pre-install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (mkdir-p (string-append out "/share/texmf/tex/latex")) - #t)) - (alist-cons-after - 'install 'post-install - (lambda* (#:key outputs inputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (cu (assoc-ref inputs "coreutils")) - (du (assoc-ref inputs "diffutils"))) - (with-directory-excursion out - (for-each (lambda (prog) - (substitute* prog - (("nawk") (which "awk")))) - (append (map (lambda (x) - (string-append "bin/" x)) - '("noweb" "nountangle" - "noroots" "noroff" - "noindex")) - (map (lambda (x) - (string-append "lib/" x)) - '("btdefn" "emptydefn" "noidx" - "pipedocs" "toascii" "tohtml" - "toroff" "totex" "unmarkup")))) - (substitute* "bin/cpif" - (("^PATH=.*$") - (string-append "PATH=" cu "/bin:" du "/bin\n")))) - #t)) - (alist-replace - 'configure - (lambda _ - ;; Jump in the source. - (chdir "src") + '(#:phases + (modify-phases %standard-phases + (add-before 'install 'pre-install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/share/texmf/tex/latex")) + #t))) + (add-after 'install 'post-install + (lambda* (#:key outputs inputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (cu (assoc-ref inputs "coreutils")) + (du (assoc-ref inputs "diffutils"))) + (with-directory-excursion out + (for-each (lambda (prog) + (substitute* prog + (("nawk") (which "awk")))) + (append (map (lambda (x) + (string-append "bin/" x)) + '("noweb" "nountangle" + "noroots" "noroff" + "noindex")) + (map (lambda (x) + (string-append "lib/" x)) + '("btdefn" "emptydefn" "noidx" + "pipedocs" "toascii" "tohtml" + "toroff" "totex" "unmarkup")))) + (substitute* "bin/cpif" + (("^PATH=.*$") + (string-append "PATH=" cu "/bin:" du "/bin\n")))) + #t))) + (replace 'configure + (lambda _ + ;; Jump in the source. + (chdir "src") - ;; The makefile reads "source: FAQ", but FAQ isn't - ;; available. - (substitute* "Makefile" - (("FAQ") ""))) - %standard-phases))) + ;; The makefile reads "source: FAQ", but FAQ isn't + ;; available. + (substitute* "Makefile" + (("FAQ") "")) + #t))) #:make-flags (let ((out (assoc-ref %outputs "out"))) (list (string-append "BIN=" out "/bin") (string-append "LIB=" out "/lib") diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm index 42da56194c..f527231aa8 100644 --- a/gnu/packages/patchutils.scm +++ b/gnu/packages/patchutils.scm @@ -53,30 +53,31 @@ (inputs `(("perl" ,perl))) (arguments '(#:parallel-tests? #f - #:phases (alist-cons-before - 'check 'patch-test-scripts - (lambda _ - (let ((echo (which "echo"))) - (substitute* - (find-files "tests" "^run-test$") - (("/bin/echo") echo)))) - (alist-cons-after - 'install 'wrap-program - ;; Point installed scripts to the utilities they need. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (diffutils (assoc-ref inputs "diffutils")) - (sed (assoc-ref inputs "sed")) - (gawk (assoc-ref inputs "gawk"))) - (for-each - (lambda (prog) - (wrap-program (string-append out "/bin/" prog) - `("PATH" ":" prefix - ,(map (lambda (dir) - (string-append dir "/bin")) - (list diffutils sed gawk))))) - '("dehtmldiff" "editdiff" "espdiff")))) - %standard-phases)))) + #:phases + (modify-phases %standard-phases + (add-before 'check 'patch-test-scripts + (lambda _ + (let ((echo (which "echo"))) + (substitute* + (find-files "tests" "^run-test$") + (("/bin/echo") echo))) + #t)) + (add-after 'install 'wrap-program + ;; Point installed scripts to the utilities they need. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (diffutils (assoc-ref inputs "diffutils")) + (sed (assoc-ref inputs "sed")) + (gawk (assoc-ref inputs "gawk"))) + (for-each + (lambda (prog) + (wrap-program (string-append out "/bin/" prog) + `("PATH" ":" prefix + ,(map (lambda (dir) + (string-append dir "/bin")) + (list diffutils sed gawk))))) + '("dehtmldiff" "editdiff" "espdiff"))) + #t))))) (home-page "http://cyberelk.net/tim/software/patchutils") (synopsis "Collection of tools for manipulating patch files") (description @@ -105,39 +106,39 @@ listing the files modified by a patch.") ("ed" ,ed))) (arguments '(#:parallel-tests? #f - #:phases - (alist-cons-before - 'check 'patch-tests - (lambda _ - (substitute* - '("test/run" - "test/edit.test") - (("/bin/sh") (which "sh"))) - ;; TODO: Run the mail tests once the mail feature can be supported. - (delete-file "test/mail.test")) - (alist-cons-after - 'install 'wrap-program - ;; quilt's configure checks for the absolute path to the utilities it - ;; needs, but uses only the name when invoking them, so we need to - ;; make sure the quilt script can find those utilities when run. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (coreutils (assoc-ref inputs "coreutils")) - (diffutils (assoc-ref inputs "diffutils")) - (findutils (assoc-ref inputs "findutils")) - (less (assoc-ref inputs "less")) - (file (assoc-ref inputs "file")) - (ed (assoc-ref inputs "ed")) - (sed (assoc-ref inputs "sed")) - (bash (assoc-ref inputs "bash")) - (grep (assoc-ref inputs "grep"))) - (wrap-program (string-append out "/bin/quilt") - `("PATH" ":" prefix - ,(map (lambda (dir) - (string-append dir "/bin")) - (list coreutils diffutils findutils - less file ed sed bash grep)))))) - %standard-phases)))) + #:phases + (modify-phases %standard-phases + (add-before 'check 'patch-tests + (lambda _ + (substitute* + '("test/run" + "test/edit.test") + (("/bin/sh") (which "sh"))) + ;; TODO: Run the mail tests once the mail feature can be supported. + (delete-file "test/mail.test") + #t)) + (add-after 'install 'wrap-program + ;; quilt's configure checks for the absolute path to the utilities it + ;; needs, but uses only the name when invoking them, so we need to + ;; make sure the quilt script can find those utilities when run. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (coreutils (assoc-ref inputs "coreutils")) + (diffutils (assoc-ref inputs "diffutils")) + (findutils (assoc-ref inputs "findutils")) + (less (assoc-ref inputs "less")) + (file (assoc-ref inputs "file")) + (ed (assoc-ref inputs "ed")) + (sed (assoc-ref inputs "sed")) + (bash (assoc-ref inputs "bash")) + (grep (assoc-ref inputs "grep"))) + (wrap-program (string-append out "/bin/quilt") + `("PATH" ":" prefix + ,(map (lambda (dir) + (string-append dir "/bin")) + (list coreutils diffutils findutils + less file ed sed bash grep))))) + #t))))) (home-page "https://savannah.nongnu.org/projects/quilt/") (synopsis "Script for managing patches to software") (description @@ -164,8 +165,9 @@ refreshed, and more.") #:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out")) "INSTALL_DIR=/bin" "MAN_DIR=/share/man/man1") #:phases - (alist-delete 'configure - (alist-delete 'build %standard-phases)))) + (modify-phases %standard-phases + (delete 'configure) + (delete 'build)))) (inputs `(("perl" ,perl) ("xmlto" ,xmlto))) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 1ee4b819f9..98df90e2d4 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -300,19 +300,19 @@ reading and editing of existing PDF files.") (assoc-ref %build-inputs "freetype") "/include/freetype2")) #:phases - (alist-replace - 'install - (lambda* (#:key outputs inputs #:allow-other-keys #:rest args) - (let* ((install (assoc-ref %standard-phases 'install)) - (out (assoc-ref outputs "out")) - (xpdfrc (string-append out "/etc/xpdfrc")) - (gs-fonts (assoc-ref inputs "gs-fonts"))) - (apply install args) - (substitute* xpdfrc + (modify-phases %standard-phases + (replace 'install + (lambda* (#:key outputs inputs #:allow-other-keys #:rest args) + (let* ((install (assoc-ref %standard-phases 'install)) + (out (assoc-ref outputs "out")) + (xpdfrc (string-append out "/etc/xpdfrc")) + (gs-fonts (assoc-ref inputs "gs-fonts"))) + (apply install args) + (substitute* xpdfrc (("/usr/local/share/ghostscript/fonts") (string-append gs-fonts "/share/fonts/type1/ghostscript")) - (("#fontFile") "fontFile")))) - %standard-phases))) + (("#fontFile") "fontFile"))) + #t))))) (synopsis "Viewer for PDF files based on the Motif toolkit") (description "Xpdf is a viewer for Portable Document Format (PDF) files.") @@ -343,7 +343,7 @@ reading and editing of existing PDF files.") "CC=gcc") #:tests? #f ; Package does not contain tests. #:phases - (alist-delete 'configure %standard-phases))) + (modify-phases %standard-phases (delete 'configure)))) (home-page "https://pwmt.org/projects/zathura-cb/") (synopsis "Comic book support for zathura (libarchive backend)") (description "The zathura-cb plugin adds comic book support to zathura @@ -374,7 +374,7 @@ using libarchive.") "CC=gcc") #:tests? #f ; Package does not contain tests. #:phases - (alist-delete 'configure %standard-phases))) + (modify-phases %standard-phases (delete 'configure)))) (home-page "https://pwmt.org/projects/zathura-ps/") (synopsis "PS support for zathura (libspectre backend)") (description "The zathura-ps plugin adds PS support to zathura @@ -406,7 +406,7 @@ using libspectre.") "CC=gcc") #:tests? #f ; Package does not contain tests. #:phases - (alist-delete 'configure %standard-phases))) + (modify-phases %standard-phases (delete 'configure)))) (home-page "https://pwmt.org/projects/zathura-djvu/") (synopsis "DjVu support for zathura (DjVuLibre backend)") (description "The zathura-djvu plugin adds DjVu support to zathura @@ -439,7 +439,7 @@ using the DjVuLibre library.") "CC=gcc") #:tests? #f ; Package does not include tests. #:phases - (alist-delete 'configure %standard-phases))) + (modify-phases %standard-phases (delete 'configure)))) (home-page "https://pwmt.org/projects/zathura-pdf-poppler/") (synopsis "PDF support for zathura (poppler backend)") (description "The zathura-pdf-poppler plugin adds PDF support to zathura @@ -477,7 +477,7 @@ by using the poppler rendering engine.") #:tests? #f ; Tests fail: "Gtk cannot open display". #:test-target "test" #:phases - (alist-delete 'configure %standard-phases))) + (modify-phases %standard-phases (delete 'configure)))) (home-page "https://pwmt.org/projects/zathura/") (synopsis "Lightweight keyboard-driven PDF viewer") (description "Zathura is a customizable document viewer. It provides a @@ -510,14 +510,14 @@ interaction.") `(#:configure-flags '("-DPODOFO_BUILD_SHARED=ON" "-DPODOFO_BUILD_STATIC=ON") #:phases - (alist-cons-before - 'configure 'patch - (lambda* (#:key inputs #:allow-other-keys) - (let ((freetype (assoc-ref inputs "freetype"))) - ;; Look for freetype include files in the correct place. - (substitute* "cmake/modules/FindFREETYPE.cmake" - (("/usr/local") freetype)))) - %standard-phases))) + (modify-phases %standard-phases + (add-before 'configure 'patch + (lambda* (#:key inputs #:allow-other-keys) + (let ((freetype (assoc-ref inputs "freetype"))) + ;; Look for freetype include files in the correct place. + (substitute* "cmake/modules/FindFREETYPE.cmake" + (("/usr/local") freetype))) + #t))))) (home-page "http://podofo.sourceforge.net") (synopsis "Tools to work with the PDF file format") (description @@ -763,12 +763,13 @@ the PDF pages.") "0bw224vb7jh0lrqaf4jgxk48xglvxs674qcpj5y0axyfbh896cfk")))) (build-system gnu-build-system) (arguments - '(#:phases (alist-cons-after - 'unpack 'patch-ldconfig - (lambda _ - (substitute* "mk/Autoconf.mk" - (("/sbin/ldconfig -p") "echo lib")) #t) - (alist-delete 'configure %standard-phases)) + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-ldconfig + (lambda _ + (substitute* "mk/Autoconf.mk" + (("/sbin/ldconfig -p") "echo lib")) #t)) + (delete 'configure)) #:tests? #f #:make-flags (list "CC=gcc" (string-append "prefix=" (assoc-ref %outputs "out"))))) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 09d6798177..e8e6d64cd3 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -3166,11 +3166,9 @@ at the end of the scope.") (build-system perl-build-system) (arguments `(#:phases - (alist-cons-after - 'unpack 'cd - (lambda* _ - (chdir "List")) - %standard-phases))) + (modify-phases %standard-phases + (add-after 'unpack 'cd + (lambda _ (chdir "List") #t))))) (license (package-license perl)) (synopsis "Perl extension for crawling directory trees and compiling lists of files") @@ -7342,16 +7340,17 @@ contents of a file is equal to a particular string.") "0chiqnzmna2mglm37nzxvn9qhq2j31iwz3i9isqjs7bf3k449gb9")))) (build-system perl-build-system) (arguments - `(#:phases (alist-cons-before - 'check 'patch-test - (lambda* (#:key inputs #:allow-other-keys) - ;; This test looks for "#!/usr/bin/perl" in some source. - ;; Patch what the test looks for. - (substitute* "t/source.t" - (("#!/usr/bin/perl") - (string-append "#!" (assoc-ref inputs "perl") - "/bin/perl")))) - %standard-phases))) + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'patch-test + (lambda* (#:key inputs #:allow-other-keys) + ;; This test looks for "#!/usr/bin/perl" in some source. + ;; Patch what the test looks for. + (substitute* "t/source.t" + (("#!/usr/bin/perl") + (string-append "#!" (assoc-ref inputs "perl") + "/bin/perl"))) + #t))))) (home-page "http://search.cpan.org/dist/Test-Harness") (synopsis "Run Perl standard test scripts with statistics") (description "Simple test harness which allows tests to be run and results diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index f5e43af4f4..c1b196f438 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -152,13 +152,14 @@ from digital cameras.") ("libexif" ,libexif) ("libgphoto2" ,libgphoto2))) (arguments - '(#:phases (alist-cons-before - 'check 'pre-check - (lambda* (#:key inputs #:allow-other-keys) - (substitute* (find-files "tests/data" "\\.param$") - (("/usr/bin/env") - (which "env")))) - %standard-phases) + '(#:phases + (modify-phases %standard-phases + (add-before 'check 'pre-check + (lambda* (#:key inputs #:allow-other-keys) + (substitute* (find-files "tests/data" "\\.param$") + (("/usr/bin/env") + (which "env"))) + #t))) ;; FIXME: There are 2 test failures, most likely related to the build ;; environment. diff --git a/gnu/packages/popt.scm b/gnu/packages/popt.scm index 4978ea7290..9c125dcc4f 100644 --- a/gnu/packages/popt.scm +++ b/gnu/packages/popt.scm @@ -66,14 +66,15 @@ line syntax.") "1j2c61nn2n351nhj4d25mnf3vpiddcykq005w2h6kw79dwlysa77")))) (build-system gnu-build-system) (arguments - '(#:phases (alist-cons-before - 'configure 'patch-test - (lambda _ - (substitute* "test-poptrc.in" - (("/bin/echo") (which "echo"))) - (substitute* "testit.sh" ; don't expect old libtool names - (("lt-test1") "test1"))) - %standard-phases))) + '(#:phases + (modify-phases %standard-phases + (add-before 'configure 'patch-test + (lambda _ + (substitute* "test-poptrc.in" + (("/bin/echo") (which "echo"))) + (substitute* "testit.sh" ; don't expect old libtool names + (("lt-test1") "test1")) + #t))))) (home-page "http://rpm5.org/files/popt/") (synopsis "Command line option parsing library") (description diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm index 9de2819749..e971930035 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -205,22 +205,23 @@ to @code{IOStreams}.") (list (string-append "--with-boost=" (assoc-ref %build-inputs "boost"))) #:parallel-tests? #f ;There appear to be race conditions - #:phases (alist-cons-before - 'check 'patch-test-files - (lambda _ - ;; Unpatch shebangs in test input so that source-highlight - ;; is still able to infer input language - (substitute* '("tests/test.sh" - "tests/test2.sh" - "tests/test.tcl") - (((string-append "#! *" (which "sh"))) "#!/bin/sh")) - ;; Initial patching unrecoverably removes whitespace, so - ;; remove it also in the comparison output. - (substitute* '("tests/test.sh.html" - "tests/test2.sh.html" - "tests/test.tcl.html") - (("#! */bin/sh") "#!/bin/sh"))) - %standard-phases))) + #:phases + (modify-phases %standard-phases + (add-before 'check 'patch-test-files + (lambda _ + ;; Unpatch shebangs in test input so that source-highlight + ;; is still able to infer input language + (substitute* '("tests/test.sh" + "tests/test2.sh" + "tests/test.tcl") + (((string-append "#! *" (which "sh"))) "#!/bin/sh")) + ;; Initial patching unrecoverably removes whitespace, so + ;; remove it also in the comparison output. + (substitute* '("tests/test.sh.html" + "tests/test2.sh.html" + "tests/test.tcl.html") + (("#! */bin/sh") "#!/bin/sh")) + #t))))) (home-page "https://www.gnu.org/software/src-highlite/") (synopsis "Produce a document with syntax highlighting from a source file") (description @@ -292,22 +293,22 @@ highlighting. Language definitions and color themes are customizable.") #:make-flags (list (string-append "prefix=" %output) "INSTALL=install" "all") - #:phases (alist-replace - 'configure - (lambda _ (chdir "build/gcc")) - (alist-cons-after - 'install 'install-libs - (lambda* (#:key outputs #:allow-other-keys) - ;; Libraries are not installed by default - (let* ((output (assoc-ref outputs "out")) - (libdir (string-append output "/lib"))) - (begin - (mkdir-p libdir) - (for-each (lambda (l) - (copy-file - l (string-append libdir "/" (basename l)))) - (find-files "bin" "lib*"))))) - %standard-phases)))) + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda _ (chdir "build/gcc") #t)) + (add-after 'install 'install-libs + (lambda* (#:key outputs #:allow-other-keys) + ;; Libraries are not installed by default + (let* ((output (assoc-ref outputs "out")) + (libdir (string-append output "/lib"))) + (begin + (mkdir-p libdir) + (for-each (lambda (l) + (copy-file + l (string-append libdir "/" (basename l)))) + (find-files "bin" "lib*")))) + #t))))) (home-page "http://astyle.sourceforge.net/") (synopsis "Source code indenter, formatter, and beautifier") (description diff --git a/gnu/packages/pumpio.scm b/gnu/packages/pumpio.scm index a74d474368..e89418b6b1 100644 --- a/gnu/packages/pumpio.scm +++ b/gnu/packages/pumpio.scm @@ -42,22 +42,23 @@ (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) (arguments - '(#:phases (alist-replace - 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; Fix dependency tests. - (substitute* "pumpa.pro" - (("/usr/include/tidy\\.h") - (string-append (assoc-ref inputs "tidy") - "/include/tidy.h")) - (("/usr/include/aspell.h") - (string-append (assoc-ref inputs "aspell") - "/include/aspell.h"))) - ;; Run qmake with proper installation prefix. - (let ((prefix (string-append "PREFIX=" - (assoc-ref outputs "out")))) - (zero? (system* "qmake" prefix)))) - %standard-phases))) + '(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Fix dependency tests. + (substitute* "pumpa.pro" + (("/usr/include/tidy\\.h") + (string-append (assoc-ref inputs "tidy") + "/include/tidy.h")) + (("/usr/include/aspell.h") + (string-append (assoc-ref inputs "aspell") + "/include/aspell.h"))) + ;; Run qmake with proper installation prefix. + (let ((prefix (string-append "PREFIX=" + (assoc-ref outputs "out")))) + (zero? (system* "qmake" prefix))) + #t))))) (inputs `(("aspell" ,aspell) ("qtbase" ,qtbase) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 223a308fb4..86fd00d4fa 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -485,11 +485,10 @@ pidof, tty, taskset, pmap.") `(("python-py-bcrypt" ,python-py-bcrypt))) (arguments `(#:phases - (alist-cons-before - 'check 'set-PYTHON_EGG_CACHE - ;; some tests require access to "$HOME/.cython" - (lambda* _ (setenv "PYTHON_EGG_CACHE" "/tmp")) - %standard-phases))) + (modify-phases %standard-phases + (add-before 'check 'set-PYTHON_EGG_CACHE + ;; some tests require access to "$HOME/.cython" + (lambda* _ (setenv "PYTHON_EGG_CACHE" "/tmp") #t))))) (home-page "https://bitbucket.org/ecollins/passlib") (synopsis "Comprehensive password hashing framework") @@ -1079,12 +1078,10 @@ multiple Unicode code points, e.g. \"G\" + acute-accent) ("gmp" ,gmp))) (arguments `(#:phases - (alist-cons-before - 'build 'set-build-env - ;; pycrypto runs an autoconf configure script behind the scenes - (lambda _ - (setenv "CONFIG_SHELL" (which "bash"))) - %standard-phases))) + (modify-phases %standard-phases + (add-before 'build 'set-build-env + ;; pycrypto runs an autoconf configure script behind the scenes + (lambda _ (setenv "CONFIG_SHELL" (which "bash")) #t))))) (home-page "http://www.pycrypto.org/") (synopsis "Cryptographic modules for Python") (description @@ -1496,11 +1493,11 @@ other Python program.") (build-system python-build-system) (arguments `(#:python ,python-2 - #:phases (alist-replace - 'check - (lambda _ - (zero? (system* "./test.sh"))) - %standard-phases))) + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (zero? (system* "./test.sh"))))))) (home-page "http://www.alcyone.com/software/empy/") (synopsis "Templating system for Python") (description @@ -4665,10 +4662,10 @@ as the original project seems to have been abandoned circa 2007.") ("python-pytest" ,python-pytest) ("python-mock" ,python-mock))) ;for tests (arguments - `(#:phases (alist-replace - 'check - (lambda _ (zero? (system* "py.test"))) - %standard-phases))) + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ (zero? (system* "py.test"))))))) (home-page "http://www.sqlalchemy.org") (synopsis "Database abstraction library") (description @@ -8581,10 +8578,10 @@ automatically detect a wide range of file encodings.") (native-inputs `(("python-pytest" ,python-pytest))) (arguments - `(#:phases (alist-replace - 'check - (lambda _ (zero? (system* "py.test"))) - %standard-phases))) + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ (zero? (system* "py.test"))))))) (home-page "http://docopt.org") (synopsis "Command-line interface description language for Python") (description "This library allows the user to define a command-line diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index 6b5cfb013c..fbd8a45ba0 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -127,26 +127,26 @@ Java Lucene text search engine API to C++.") "18p2flb2sv2hq6w2qkd29z9c7knnwqr3f12i2srshlzx6vwkm05s")))) (build-system gnu-build-system) (arguments - '(#:phases (alist-cons-after - 'remove-out-of-tree-references 'autoreconf - (lambda _ - (zero? (system* "autoreconf" "-vfi"))) - (alist-cons-after - 'unpack 'remove-out-of-tree-references - (lambda _ - ;; remove symlinks to files in /usr/ - (delete-file-recursively "m4") - (for-each delete-file '("config.guess" - "config.sub" - "depcomp" - "install-sh" - "ltmain.sh" - "missing")) - ;; remove_test depends on an out-of-tree RDF file - (substitute* "examples/Makefile.am" - (("instances_test remove_test") "instances_test") - (("\\$\\(TESTS\\) remove_test") "$(TESTS)"))) - %standard-phases)))) + '(#:phases + (modify-phases %standard-phases + (add-after 'remove-out-of-tree-references 'autoreconf + (lambda _ + (zero? (system* "autoreconf" "-vfi")))) + (add-after 'unpack 'remove-out-of-tree-references + (lambda _ + ;; remove symlinks to files in /usr/ + (delete-file-recursively "m4") + (for-each delete-file '("config.guess" + "config.sub" + "depcomp" + "install-sh" + "ltmain.sh" + "missing")) + ;; remove_test depends on an out-of-tree RDF file + (substitute* "examples/Makefile.am" + (("instances_test remove_test") "instances_test") + (("\\$\\(TESTS\\) remove_test") "$(TESTS)")) + #t))))) (inputs `(("raptor" ,raptor2) ("cyrus-sasl" ,cyrus-sasl) diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm index f35d3e63aa..a49fd89bf2 100644 --- a/gnu/packages/regex.scm +++ b/gnu/packages/regex.scm @@ -85,16 +85,16 @@ Python. It is a C++ library.") "0n36cgqys59r2gmb7jzbqiwsy790v8nbxk82d2n2saz0rp145ild")))) (build-system gnu-build-system) (arguments - `(#:phases (alist-cons-before - 'check 'install-locales - (lambda _ - ;; The tests require the availability of the - ;; 'en_US.ISO-8859-1' locale. - (setenv "LOCPATH" (getcwd)) - (zero? (system* "localedef" "--no-archive" - "--prefix" (getcwd) "-i" "en_US" - "-f" "ISO-8859-1" "./en_US.ISO-8859-1"))) - %standard-phases))) + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'install-locales + (lambda _ + ;; The tests require the availability of the + ;; 'en_US.ISO-8859-1' locale. + (setenv "LOCPATH" (getcwd)) + (zero? (system* "localedef" "--no-archive" + "--prefix" (getcwd) "-i" "en_US" + "-f" "ISO-8859-1" "./en_US.ISO-8859-1"))))))) (synopsis "Approximate regex matching library and agrep utility") (description "Superset of the POSIX regex API, enabling approximate matching. Also ships a version of the agrep utility which behaves similar to diff --git a/gnu/packages/rrdtool.scm b/gnu/packages/rrdtool.scm index a07d705373..fbb6a3403b 100644 --- a/gnu/packages/rrdtool.scm +++ b/gnu/packages/rrdtool.scm @@ -53,15 +53,16 @@ (native-inputs `(("pkg-config" ,pkg-config) ("groff" ,groff))) (arguments - '(#:phases (alist-cons-before - 'configure 'pre-configure - (lambda _ - (substitute* "libtool" - (("/bin/sed") (which "sed"))) - (substitute* "src/Makefile.in" - (("^rrdcached_LDADD = librrd_th.la") - "rrdcached_LDADD = librrd_th.la -lglib-2.0"))) - %standard-phases))) + '(#:phases + (modify-phases %standard-phases + (add-before 'configure 'pre-configure + (lambda _ + (substitute* "libtool" + (("/bin/sed") (which "sed"))) + (substitute* "src/Makefile.in" + (("^rrdcached_LDADD = librrd_th.la") + "rrdcached_LDADD = librrd_th.la -lglib-2.0")) + #t))))) (home-page "http://oss.oetiker.ch/rrdtool/") (synopsis "Time-series data storage and display system") (description diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 42a0790522..58549e877d 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -150,16 +150,16 @@ a focus on simplicity and productivity.") `(#:test-target "test" #:parallel-tests? #f #:phases - (alist-cons-before - 'configure 'replace-bin-sh - (lambda _ - (substitute* '("Makefile.in" - "ext/pty/pty.c" - "io.c" - "lib/mkmf.rb" - "process.c") - (("/bin/sh") (which "sh")))) - %standard-phases))) + (modify-phases %standard-phases + (add-before 'configure 'replace-bin-sh + (lambda _ + (substitute* '("Makefile.in" + "ext/pty/pty.c" + "io.c" + "lib/mkmf.rb" + "process.c") + (("/bin/sh") (which "sh"))) + #t))))) (native-search-paths (list (search-path-specification (variable "GEM_PATH") @@ -184,16 +184,16 @@ a focus on simplicity and productivity.") `(#:test-target "test" #:parallel-tests? #f #:phases - (alist-cons-before - 'configure 'replace-bin-sh - (lambda _ - (substitute* '("Makefile.in" - "ext/pty/pty.c" - "io.c" - "lib/mkmf.rb" - "process.c") - (("/bin/sh") (which "sh")))) - %standard-phases))))) + (modify-phases %standard-phases + (add-before 'configure 'replace-bin-sh + (lambda _ + (substitute* '("Makefile.in" + "ext/pty/pty.c" + "io.c" + "lib/mkmf.rb" + "process.c") + (("/bin/sh") (which "sh"))) + #t))))))) (define-public ruby-hoe (package diff --git a/gnu/packages/sawfish.scm b/gnu/packages/sawfish.scm index 535dd8eb06..ebb8c5e1f0 100644 --- a/gnu/packages/sawfish.scm +++ b/gnu/packages/sawfish.scm @@ -138,31 +138,31 @@ backend of Sawfish.") (arguments '(#:tests? #f ; no tests #:phases - (alist-cons-before - 'configure 'patch-exec-rep - (lambda _ - (substitute* '("lisp/sawfish/cfg/main.jl.in" - "scripts/sawfish-about.jl.in" - "scripts/sawfish-client.jl" - "scripts/sawfish-menu.jl") - (("exec rep") (string-append "exec " (which "rep"))))) - (alist-cons-after - 'install 'wrap-scripts - ;; Wrap scripts with REP_DL_LOAD_PATH for finding rep-gtk - ;; and sawfish.client. - (lambda* (#:key outputs #:allow-other-keys) - (define (wrap-script script) - (let ((out (assoc-ref outputs "out"))) - (wrap-program (string-append out script) - `("REP_DL_LOAD_PATH" = - ,(list (getenv "REP_DL_LOAD_PATH") - (string-append out "/lib/rep")))))) - (for-each wrap-script - (list "/bin/sawfish-about" - "/bin/sawfish-client" - "/bin/sawfish-config" - "/lib/sawfish/sawfish-menu"))) - %standard-phases)))) + (modify-phases %standard-phases + (add-before 'configure 'patch-exec-rep + (lambda _ + (substitute* '("lisp/sawfish/cfg/main.jl.in" + "scripts/sawfish-about.jl.in" + "scripts/sawfish-client.jl" + "scripts/sawfish-menu.jl") + (("exec rep") (string-append "exec " (which "rep")))) + #t)) + (add-after 'install 'wrap-scripts + ;; Wrap scripts with REP_DL_LOAD_PATH for finding rep-gtk + ;; and sawfish.client. + (lambda* (#:key outputs #:allow-other-keys) + (define (wrap-script script) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out script) + `("REP_DL_LOAD_PATH" = + ,(list (getenv "REP_DL_LOAD_PATH") + (string-append out "/lib/rep")))))) + (for-each wrap-script + (list "/bin/sawfish-about" + "/bin/sawfish-client" + "/bin/sawfish-config" + "/lib/sawfish/sawfish-menu")) + #t))))) (native-inputs `(("gettext" ,gettext-minimal) ("makeinfo" ,texinfo) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 161138285e..bafc3da332 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -417,73 +417,73 @@ implementation techniques and as an expository tool.") (build-system gnu-build-system) (arguments '(#:phases - (alist-cons-before - 'configure 'pre-configure - (lambda* (#:key inputs #:allow-other-keys) - ;; Patch dynamically loaded libraries with their absolute paths. - (let* ((library-path (search-path-as-string->list - (getenv "LIBRARY_PATH"))) - (find-so (lambda (soname) - (search-path - library-path - (format #f "~a.so" soname)))) - (patch-ffi-libs (lambda (file libs) - (for-each - (lambda (lib) - (substitute* file - (((format #f "\"~a\"" lib)) - (format #f "\"~a\"" (find-so lib))))) - libs)))) - (substitute* "collects/db/private/sqlite3/ffi.rkt" - (("ffi-lib sqlite-so") - (format #f "ffi-lib \"~a\"" (find-so "libsqlite3")))) - (substitute* "collects/openssl/libssl.rkt" - (("ffi-lib libssl-so") - (format #f "ffi-lib \"~a\"" (find-so "libssl")))) - (substitute* "collects/openssl/libcrypto.rkt" - (("ffi-lib libcrypto-so") - (format #f "ffi-lib \"~a\"" (find-so "libcrypto")))) - (substitute* "share/pkgs/math-lib/math/private/bigfloat/gmp.rkt" - (("ffi-lib libgmp-so") - (format #f "ffi-lib \"~a\"" (find-so "libgmp")))) - (substitute* "share/pkgs/math-lib/math/private/bigfloat/mpfr.rkt" - (("ffi-lib libmpfr-so") - (format #f "ffi-lib \"~a\"" (find-so "libmpfr")))) - (for-each - (lambda (x) (apply patch-ffi-libs x)) - '(("share/pkgs/draw-lib/racket/draw/unsafe/cairo-lib.rkt" - ("libfontconfig" "libcairo")) - ("share/pkgs/draw-lib/racket/draw/unsafe/glib.rkt" - ("libglib-2.0" "libgmodule-2.0" "libgobject-2.0")) - ("share/pkgs/draw-lib/racket/draw/unsafe/jpeg.rkt" - ("libjpeg")) - ("share/pkgs/draw-lib/racket/draw/unsafe/pango.rkt" - ("libpango-1.0" "libpangocairo-1.0")) - ("share/pkgs/draw-lib/racket/draw/unsafe/png.rkt" - ("libpng")) - ("share/pkgs/db-lib/db/private/odbc/ffi.rkt" - ("libodbc")) - ("share/pkgs/gui-lib/mred/private/wx/gtk/x11.rkt" - ("libX11")) - ("share/pkgs/gui-lib/mred/private/wx/gtk/gsettings.rkt" - ("libgio-2.0")) - ("share/pkgs/gui-lib/mred/private/wx/gtk/gtk3.rkt" - ("libgdk-3" "libgtk-3")) - ("share/pkgs/gui-lib/mred/private/wx/gtk/unique.rkt" - ("libunique-1.0")) - ("share/pkgs/gui-lib/mred/private/wx/gtk/utils.rkt" - ("libgdk-x11-2.0" "libgdk_pixbuf-2.0" "libgtk-x11-2.0")) - ("share/pkgs/gui-lib/mred/private/wx/gtk/gl-context.rkt" - ("libGL")) - ("share/pkgs/sgl/gl.rkt" - ("libGL" "libGLU"))))) - (chdir "src")) - (alist-cons-after - 'unpack 'patch-/bin/sh - (lambda _ - (substitute* "collects/racket/system.rkt" - (("/bin/sh") (which "sh")))) - %standard-phases)) + (modify-phases %standard-phases + (add-before 'configure 'pre-configure + (lambda* (#:key inputs #:allow-other-keys) + ;; Patch dynamically loaded libraries with their absolute paths. + (let* ((library-path (search-path-as-string->list + (getenv "LIBRARY_PATH"))) + (find-so (lambda (soname) + (search-path + library-path + (format #f "~a.so" soname)))) + (patch-ffi-libs (lambda (file libs) + (for-each + (lambda (lib) + (substitute* file + (((format #f "\"~a\"" lib)) + (format #f "\"~a\"" (find-so lib))))) + libs)))) + (substitute* "collects/db/private/sqlite3/ffi.rkt" + (("ffi-lib sqlite-so") + (format #f "ffi-lib \"~a\"" (find-so "libsqlite3")))) + (substitute* "collects/openssl/libssl.rkt" + (("ffi-lib libssl-so") + (format #f "ffi-lib \"~a\"" (find-so "libssl")))) + (substitute* "collects/openssl/libcrypto.rkt" + (("ffi-lib libcrypto-so") + (format #f "ffi-lib \"~a\"" (find-so "libcrypto")))) + (substitute* "share/pkgs/math-lib/math/private/bigfloat/gmp.rkt" + (("ffi-lib libgmp-so") + (format #f "ffi-lib \"~a\"" (find-so "libgmp")))) + (substitute* "share/pkgs/math-lib/math/private/bigfloat/mpfr.rkt" + (("ffi-lib libmpfr-so") + (format #f "ffi-lib \"~a\"" (find-so "libmpfr")))) + (for-each + (lambda (x) (apply patch-ffi-libs x)) + '(("share/pkgs/draw-lib/racket/draw/unsafe/cairo-lib.rkt" + ("libfontconfig" "libcairo")) + ("share/pkgs/draw-lib/racket/draw/unsafe/glib.rkt" + ("libglib-2.0" "libgmodule-2.0" "libgobject-2.0")) + ("share/pkgs/draw-lib/racket/draw/unsafe/jpeg.rkt" + ("libjpeg")) + ("share/pkgs/draw-lib/racket/draw/unsafe/pango.rkt" + ("libpango-1.0" "libpangocairo-1.0")) + ("share/pkgs/draw-lib/racket/draw/unsafe/png.rkt" + ("libpng")) + ("share/pkgs/db-lib/db/private/odbc/ffi.rkt" + ("libodbc")) + ("share/pkgs/gui-lib/mred/private/wx/gtk/x11.rkt" + ("libX11")) + ("share/pkgs/gui-lib/mred/private/wx/gtk/gsettings.rkt" + ("libgio-2.0")) + ("share/pkgs/gui-lib/mred/private/wx/gtk/gtk3.rkt" + ("libgdk-3" "libgtk-3")) + ("share/pkgs/gui-lib/mred/private/wx/gtk/unique.rkt" + ("libunique-1.0")) + ("share/pkgs/gui-lib/mred/private/wx/gtk/utils.rkt" + ("libgdk-x11-2.0" "libgdk_pixbuf-2.0" "libgtk-x11-2.0")) + ("share/pkgs/gui-lib/mred/private/wx/gtk/gl-context.rkt" + ("libGL")) + ("share/pkgs/sgl/gl.rkt" + ("libGL" "libGLU"))))) + (chdir "src") + #t)) + (add-after 'unpack 'patch-/bin/sh + (lambda _ + (substitute* "collects/racket/system.rkt" + (("/bin/sh") (which "sh"))) + #t))) #:tests? #f ; XXX: how to run them? )) (inputs diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index af598ecb46..ca996e9844 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -405,30 +405,30 @@ directory.") (assoc-ref %build-inputs "sdl-union"))) #:parallel-build? #f ; parallel build fails #:phases - (alist-cons-before - 'configure 'fix-env-and-patch - (lambda* (#:key inputs #:allow-other-keys) - (setenv "GUILE_AUTO_COMPILE" "0") - ;; SDL_image needs to dlopen libjpeg in the test suite. - (setenv "LD_LIBRARY_PATH" - (string-append (assoc-ref inputs "libjpeg") "/lib")) - ;; Change the site directory /site/2.0 like Guile expects. - (substitute* "build-aux/guile-baux/re-prefixed-site-dirs" - (("\"/site\"") "\"/site/2.0\"")) + (modify-phases %standard-phases + (add-before 'configure 'fix-env-and-patch + (lambda* (#:key inputs #:allow-other-keys) + (setenv "GUILE_AUTO_COMPILE" "0") + ;; SDL_image needs to dlopen libjpeg in the test suite. + (setenv "LD_LIBRARY_PATH" + (string-append (assoc-ref inputs "libjpeg") "/lib")) + ;; Change the site directory /site/2.0 like Guile expects. + (substitute* "build-aux/guile-baux/re-prefixed-site-dirs" + (("\"/site\"") "\"/site/2.0\"")) - ;; Skip tests that rely on sound support, which is unavailable in - ;; the build environment. - (substitute* "test/Makefile.in" - (("HAVE_MIXER = .*$") - "HAVE_MIXER = 0\n"))) - (alist-cons-before - 'check 'start-xorg-server - (lambda* (#:key inputs #:allow-other-keys) - ;; The test suite requires a running X server. - (system (format #f "~a/bin/Xvfb :1 &" - (assoc-ref inputs "xorg-server"))) - (setenv "DISPLAY" ":1")) - %standard-phases)))) + ;; Skip tests that rely on sound support, which is unavailable in + ;; the build environment. + (substitute* "test/Makefile.in" + (("HAVE_MIXER = .*$") + "HAVE_MIXER = 0\n")) + #t)) + (add-before 'check 'start-xorg-server + (lambda* (#:key inputs #:allow-other-keys) + ;; The test suite requires a running X server. + (system (format #f "~a/bin/Xvfb :1 &" + (assoc-ref inputs "xorg-server"))) + (setenv "DISPLAY" ":1") + #t))))) (synopsis "Guile interface for SDL (Simple DirectMedia Layer)") (description "Guile-SDL is a set of bindings to the Simple DirectMedia Layer (SDL). With them, Guile programmers can have easy access to graphics, diff --git a/gnu/packages/serveez.scm b/gnu/packages/serveez.scm index 974db86115..871fb00d3b 100644 --- a/gnu/packages/serveez.scm +++ b/gnu/packages/serveez.scm @@ -40,13 +40,14 @@ (inputs `(("guile" ,guile-2.0))) (arguments `(#:configure-flags '("--enable-libserveez-install") - #:phases (alist-cons-before - 'patch-source-shebangs 'patch-test-source - (lambda _ - (substitute* - (find-files "test" "^t[0-9]{3}$") - (("/bin/sh") (which "sh")))) - %standard-phases))) + #:phases + (modify-phases %standard-phases + (add-before 'patch-source-shebangs 'patch-test-source + (lambda _ + (substitute* + (find-files "test" "^t[0-9]{3}$") + (("/bin/sh") (which "sh"))) + #t))))) (home-page "https://www.gnu.org/software/serveez/") (synopsis "Framework for implementing IP-based servers") (description diff --git a/gnu/packages/skribilo.scm b/gnu/packages/skribilo.scm index 458d91e569..87dc3558de 100644 --- a/gnu/packages/skribilo.scm +++ b/gnu/packages/skribilo.scm @@ -46,20 +46,21 @@ (assoc-ref %outputs "out") "/share/guile/site/2.0")) - #:phases (alist-cons-before - 'configure 'pre-configure - (lambda* (#:key inputs #:allow-other-keys) - ;; Make sure the 'skribilo' command gets to see - ;; Guile-Reader, even if Guile-Reader is not in the search - ;; path. - (let ((reader (assoc-ref inputs "guile-reader"))) - (substitute* "src/skribilo.in" - (("^exec (.*) -c" _ things) - (string-append "exec " things - " -L " reader "/share/guile/site/2.0" - " -C " reader "/share/guile/site/2.0" - " -c"))))) - %standard-phases) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'pre-configure + (lambda* (#:key inputs #:allow-other-keys) + ;; Make sure the 'skribilo' command gets to see + ;; Guile-Reader, even if Guile-Reader is not in the search + ;; path. + (let ((reader (assoc-ref inputs "guile-reader"))) + (substitute* "src/skribilo.in" + (("^exec (.*) -c" _ things) + (string-append "exec " things + " -L " reader "/share/guile/site/2.0" + " -C " reader "/share/guile/site/2.0" + " -c")))) + #t))) #:parallel-build? #f)) diff --git a/gnu/packages/smalltalk.scm b/gnu/packages/smalltalk.scm index f4a50ded22..a0d6c86dff 100644 --- a/gnu/packages/smalltalk.scm +++ b/gnu/packages/smalltalk.scm @@ -60,14 +60,15 @@ (inputs `(("zip" ,zip))) (arguments - `(#:phases (alist-cons-before - 'configure 'fix-libc - (lambda _ - (let ((libc (assoc-ref %build-inputs "libc"))) - (substitute* "libc.la.in" - (("@LIBC_SO_NAME@") "libc.so") - (("@LIBC_SO_DIR@") (string-append libc "/lib"))))) - %standard-phases))) + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-libc + (lambda _ + (let ((libc (assoc-ref %build-inputs "libc"))) + (substitute* "libc.la.in" + (("@LIBC_SO_NAME@") "libc.so") + (("@LIBC_SO_DIR@") (string-append libc "/lib")))) + #t))))) (home-page "http://smalltalk.gnu.org/") (synopsis "Smalltalk environment") (description diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm index 1d3d1d367f..15f4755103 100644 --- a/gnu/packages/suckless.scm +++ b/gnu/packages/suckless.scm @@ -154,7 +154,7 @@ optimising the environment for the application in use and the task performed.") (assoc-ref %build-inputs "freetype") "/include/freetype2")) #:phases - (alist-delete 'configure %standard-phases))) + (modify-phases %standard-phases (delete 'configure)))) (inputs `(("freetype" ,freetype) ("libxft" ,libxft) @@ -211,7 +211,7 @@ numbers of user-defined menu items efficiently.") '(#:tests? #f ; no tests #:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)) - #:phases (alist-delete 'configure %standard-phases))) + #:phases (modify-phases %standard-phases (delete 'configure)))) (inputs `(("libx11" ,libx11) ("libxext" ,libxext) diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm index e0ce6df421..a4129e0899 100644 --- a/gnu/packages/tcl.scm +++ b/gnu/packages/tcl.scm @@ -114,13 +114,14 @@ (string-append "--exec-prefix=" out) (string-append "--mandir=" out "/share/man"))) - #:phases (alist-cons-before - 'configure 'set-path-to-stty - (lambda _ - (substitute* "configure" - (("STTY_BIN=/bin/stty") - (string-append "STTY_BIN=" (which "stty"))))) - %standard-phases) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'set-path-to-stty + (lambda _ + (substitute* "configure" + (("STTY_BIN=/bin/stty") + (string-append "STTY_BIN=" (which "stty")))) + #t))) #:test-target "test")) (home-page "http://expect.nist.gov/") diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index 5751015260..5df5e9e4ab 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -56,12 +56,12 @@ "0kmgr5w3b1qwzxnsnw94q6rqs0hr8nbv9clf07ca2a2fyypx9kjk")))) (arguments `(#:phases - (alist-cons-before - 'configure 'pre-configure - (lambda _ - (substitute* "src/applog.cpp" - (("^// TODO sc.*") "#include \n#include \n"))) - %standard-phases))) + (modify-phases %standard-phases + (add-before 'configure 'pre-configure + (lambda _ + (substitute* "src/applog.cpp" + (("^// TODO sc.*") "#include \n#include \n")) + #t))))) (build-system gnu-build-system) (synopsis "(u)Common C++ framework for threaded applications") (description "GNU Common C++ is an portable, optimized class framework for diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 3359ab4845..2007a25d93 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -97,15 +97,15 @@ to DOS format and vice versa.") (native-inputs `(("python" ,python-2))) (arguments '(#:phases - (alist-cons-before - 'check 'pre-check - (lambda _ - (substitute* "tests/setup.py" - (("([[:space:]]*)include_dirs=.*" all space) - (string-append all space "library_dirs=['../src/.libs'],\n"))) - ;; The test extension 'Recode.so' lacks RUNPATH for 'librecode.so'. - (setenv "LD_LIBRARY_PATH" (string-append (getcwd) "/src/.libs"))) - %standard-phases))) + (modify-phases %standard-phases + (add-before 'check 'pre-check + (lambda _ + (substitute* "tests/setup.py" + (("([[:space:]]*)include_dirs=.*" all space) + (string-append all space "library_dirs=['../src/.libs'],\n"))) + ;; The test extension 'Recode.so' lacks RUNPATH for 'librecode.so'. + (setenv "LD_LIBRARY_PATH" (string-append (getcwd) "/src/.libs")) + #t))))) (home-page "https://github.com/pinard/Recode") (synopsis "Text encoding converter") (description "The Recode library converts files between character sets and @@ -208,10 +208,9 @@ encoding, supporting Unicode version 9.0.0.") (build-system gnu-build-system) (arguments '(#:phases - (alist-cons-after - 'unpack 'autoreconf - (lambda _ (zero? (system* "autoreconf" "-vif"))) - %standard-phases))) + (modify-phases %standard-phases + (add-after 'unpack 'autoreconf + (lambda _ (zero? (system* "autoreconf" "-vif"))))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm index 4d3da87174..58055cd13e 100644 --- a/gnu/packages/time.scm +++ b/gnu/packages/time.scm @@ -41,16 +41,16 @@ (build-system gnu-build-system) (arguments '(#:phases - (alist-replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - ;; This old `configure' script doesn't support - ;; variables passed as arguments. - (let ((out (assoc-ref outputs "out"))) - (setenv "CONFIG_SHELL" (which "bash")) - (zero? - (system* "./configure" - (string-append "--prefix=" out))))) - %standard-phases))) + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + ;; This old `configure' script doesn't support + ;; variables passed as arguments. + (let ((out (assoc-ref outputs "out"))) + (setenv "CONFIG_SHELL" (which "bash")) + (zero? + (system* "./configure" + (string-append "--prefix=" out))))))))) (home-page "https://www.gnu.org/software/time/") (synopsis "Run a command, then display its resource usage") (description diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index e2123557c1..fee9753673 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -134,13 +134,13 @@ rejects UDP traffic from the application you're using.") #:configure-flags (list (string-append "--sysconfdir=" (assoc-ref %outputs "out") "/etc/privoxy")) - #:phases (alist-cons-after - 'unpack 'autoconf - (lambda _ - ;; Unfortunately, this is not a tarball produced by - ;; "make dist". - (zero? (system* "autoreconf" "-vfi"))) - %standard-phases) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'autoconf + (lambda _ + ;; Unfortunately, this is not a tarball produced by + ;; "make dist". + (zero? (system* "autoreconf" "-vfi"))))) #:tests? #f)) (inputs `(("w3m" ,w3m) diff --git a/gnu/packages/uucp.scm b/gnu/packages/uucp.scm index 7bfe76365f..f5d9c70052 100644 --- a/gnu/packages/uucp.scm +++ b/gnu/packages/uucp.scm @@ -35,18 +35,18 @@ "0b5nhl9vvif1w3wdipjsk8ckw49jj1w85xw1mmqi3zbcpazia306")))) (build-system gnu-build-system) (arguments - '(#:phases (alist-replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - ;; The old 'configure' script doesn't support the arguments - ;; that we pass by default. - (setenv "CONFIG_SHELL" (which "sh")) - (let ((out (assoc-ref outputs "out"))) - (zero? (system* "./configure" - (string-append "--prefix=" out) - (string-append "--infodir=" out - "/share/info"))))) - %standard-phases))) + '(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + ;; The old 'configure' script doesn't support the arguments + ;; that we pass by default. + (setenv "CONFIG_SHELL" (which "sh")) + (let ((out (assoc-ref outputs "out"))) + (zero? (system* "./configure" + (string-append "--prefix=" out) + (string-append "--infodir=" out + "/share/info"))))))))) (home-page "https://www.gnu.org/software/uucp/uucp.html") (synopsis "UUCP protocol implementation") (description diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index f58d9b9eca..48aac3813c 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1399,11 +1399,10 @@ encapsulated.") ("libtool" ,libtool))) (arguments '(#:phases - (alist-cons-after - 'unpack 'autoreconf - (lambda _ - (zero? (system* "autoreconf" "-vif"))) - %standard-phases))))) + (modify-phases %standard-phases + (add-after 'unpack 'autoreconf + (lambda _ + (zero? (system* "autoreconf" "-vif"))))))))) (define-public libdvdcss (package diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 3e91b4e89b..d401ce31c8 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -165,11 +165,11 @@ features including, tables, builtin image display, bookmarks, SSL and more.") "--enable-nls" "--enable-ipv6")) #:tests? #f ; no check target - #:phases (alist-replace - 'install - (lambda* (#:key (make-flags '()) #:allow-other-keys) - (zero? (apply system* "make" "install-full" make-flags))) - %standard-phases))) + #:phases + (modify-phases %standard-phases + (replace 'install + (lambda* (#:key (make-flags '()) #:allow-other-keys) + (zero? (apply system* "make" "install-full" make-flags))))))) (synopsis "Text Web Browser") (description "Lynx is a fully-featured World Wide Web (WWW) client for users running diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 6c9316a401..c008d8f323 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -677,14 +677,13 @@ used to validate and fix HTML data.") ;; For the log file, etc. "--localstatedir=/var") #:phases - (alist-cons-before - 'build 'pre-build - (lambda* (#:key inputs #:allow-other-keys #:rest args) - ;; Uncommenting the next two lines may assist in debugging - ;; (substitute* "docs/man5/Makefile" (("a2x") "a2x -v")) - ;; (setenv "XML_DEBUG_CATALOG" "1") - #t) - %standard-phases))) + (modify-phases %standard-phases + (add-before 'build 'pre-build + (lambda* (#:key inputs #:allow-other-keys #:rest args) + ;; Uncommenting the next two lines may assist in debugging + ;; (substitute* "docs/man5/Makefile" (("a2x") "a2x -v")) + ;; (setenv "XML_DEBUG_CATALOG" "1") + #t))))) ;; All of the below are used to generate the documentation ;; (Should they be propagated inputs of asciidoc ??) (native-inputs `(("asciidoc" ,asciidoc))) diff --git a/gnu/packages/wicd.scm b/gnu/packages/wicd.scm index 9de956c6ff..4b03c07bc4 100644 --- a/gnu/packages/wicd.scm +++ b/gnu/packages/wicd.scm @@ -71,123 +71,121 @@ ;; we can't easily make setup.py use setuptools. #:use-setuptools? #f #:phases - (alist-cons-before - 'build 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (python (assoc-ref inputs "python"))) - (define (which* cmd) - (cond ((string=? cmd "ping") - "/run/setuid-programs/ping") - ((which cmd) - => identity) - (else - (format (current-error-port) - "WARNING: Unable to find absolute path for ~s~%" - cmd) - #f))) - (substitute* "setup.py" - ;; The handling of unrecognized distros in setup.py is - ;; broken. Work around the problem. - (("\\('init=', " all) - (string-append "#" all)) - ;; Inhibit attempts to install in /var or /etc. - (("\\(wpath\\.(log|etc|networks|.*scripts), " all) - (string-append "#" all))) + (modify-phases %standard-phases + (add-before 'build 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (python (assoc-ref inputs "python"))) + (define (which* cmd) + (cond ((string=? cmd "ping") + "/run/setuid-programs/ping") + ((which cmd) + => identity) + (else + (format (current-error-port) + "WARNING: Unable to find absolute path for ~s~%" + cmd) + #f))) + (substitute* "setup.py" + ;; The handling of unrecognized distros in setup.py is + ;; broken. Work around the problem. + (("\\('init=', " all) + (string-append "#" all)) + ;; Inhibit attempts to install in /var or /etc. + (("\\(wpath\\.(log|etc|networks|.*scripts), " all) + (string-append "#" all))) - ;; Patch references to subprograms with absolute pathnames. - (substitute* "wicd/wnettools.py" - (("(misc\\.Run\\(\\[?[\"'])([^\"' ]*)" all pre cmd) - (string-append pre (which* cmd))) - (("(self\\._find_program_path|misc\\.find_path)\\([\"']([^\"']*)[\"']\\)" - all dummy cmd) - (let ((pathname (which* cmd))) - (if pathname - (string-append "'" pathname "'") - "None"))) - (("([\"'])(ifconfig|route|wpa_cli|wpa_supplicant|iwconfig|iwpriv|iwlist|ping)" - all open-quote cmd) - (string-append open-quote (which* cmd)))) + ;; Patch references to subprograms with absolute pathnames. + (substitute* "wicd/wnettools.py" + (("(misc\\.Run\\(\\[?[\"'])([^\"' ]*)" all pre cmd) + (string-append pre (which* cmd))) + (("(self\\._find_program_path|misc\\.find_path)\\([\"']([^\"']*)[\"']\\)" + all dummy cmd) + (let ((pathname (which* cmd))) + (if pathname + (string-append "'" pathname "'") + "None"))) + (("([\"'])(ifconfig|route|wpa_cli|wpa_supplicant|iwconfig|iwpriv|iwlist|ping)" + all open-quote cmd) + (string-append open-quote (which* cmd)))) - ;; setup.py cannot cope without LANG - (setenv "LANG" "C") + ;; setup.py cannot cope without LANG + (setenv "LANG" "C") - (let ((params - (list - (string-append "--python=" python "/bin/python") - "--no-install-init" - "--no-install-docs" - "--no-install-acpi" - "--no-install-pmutils" - "--no-install-kde" - "--no-install-gnome-shell-extensions" + (let ((params + (list + (string-append "--python=" python "/bin/python") + "--no-install-init" + "--no-install-docs" + "--no-install-acpi" + "--no-install-pmutils" + "--no-install-kde" + "--no-install-gnome-shell-extensions" - "--distro=guixsd" - "--wicdgroup=netdev" - "--loggroup=root" - "--logperms=0640" + "--distro=guixsd" + "--wicdgroup=netdev" + "--loggroup=root" + "--logperms=0640" - ;; XXX setup.py configure asks us to pass --init=, - ;; but if we do it says "no such option 'init'". - ;; (string-append "--init=" out "/etc/init.d") + ;; XXX setup.py configure asks us to pass --init=, + ;; but if we do it says "no such option 'init'". + ;; (string-append "--init=" out "/etc/init.d") - (string-append "--initfile=" out "/etc/init.d/wicd") - (string-append "--lib=" out "/lib/wicd") - (string-append "--share=" out "/share/wicd") + (string-append "--initfile=" out "/etc/init.d/wicd") + (string-append "--lib=" out "/lib/wicd") + (string-append "--share=" out "/share/wicd") - "--etc=/etc/wicd" - "--scripts=/etc/wicd/scripts" - "--pmutils=/etc/pm-utils/sleep.d" + "--etc=/etc/wicd" + "--scripts=/etc/wicd/scripts" + "--pmutils=/etc/pm-utils/sleep.d" - (string-append "--encryption=" - out "/etc/encryption/templates") - (string-append "--bin=" out "/bin") - (string-append "--sbin=" out "/sbin") - (string-append "--daemon=" out "/share/wicd/daemon") - (string-append "--backends=" out "/share/wicd/backends") - (string-append "--curses=" out "/share/wicd/curses") - (string-append "--gtk=" out "/share/wicd/gtk") - (string-append "--cli=" out "/share/wicd/cli") - (string-append "--gnome-shell-extensions=" - out "/share/gnome-shell-extensions") - (string-append "--icons=" out "/share/icons/hicolor") - (string-append "--pixmaps=" out "/share/pixmaps") - (string-append "--images=" out "/share/icons") - (string-append "--dbus=" out "/etc/dbus-1/system.d") - (string-append "--dbus-service=" - out "/share/dbus-1/system-services") - (string-append "--systemd=" out "/lib/systemd/system") - (string-append "--logrotate=" out "/etc/logrotate.d") - (string-append "--desktop=" out "/share/applications") - (string-append "--translations=" out "/share/locale") - (string-append "--autostart=" out "/etc/xdg/autostart") - (string-append "--docdir=" out "/share/doc/wicd") - (string-append "--mandir=" out "/share/man") - (string-append "--kdedir=" out "/share/autostart")))) - (format #t - "running ~s with command ~s and parameters ~s~%" - "python setup.py" "configure" params) - (zero? (apply system* "python" "setup.py" "configure" params))))) - (alist-cons-after - 'install 'post-install - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; wicd's installer tries to put dhclient.conf.template.default - ;; in /etc/wicd/other, which is not available in the build - ;; environment, so here we install it manually in the output - ;; directory. - (let ((dest-dir (string-append out "/etc/wicd")) - (name "dhclient.conf.template.default")) - (install-file (string-append "other/" name) dest-dir)) + (string-append "--encryption=" + out "/etc/encryption/templates") + (string-append "--bin=" out "/bin") + (string-append "--sbin=" out "/sbin") + (string-append "--daemon=" out "/share/wicd/daemon") + (string-append "--backends=" out "/share/wicd/backends") + (string-append "--curses=" out "/share/wicd/curses") + (string-append "--gtk=" out "/share/wicd/gtk") + (string-append "--cli=" out "/share/wicd/cli") + (string-append "--gnome-shell-extensions=" + out "/share/gnome-shell-extensions") + (string-append "--icons=" out "/share/icons/hicolor") + (string-append "--pixmaps=" out "/share/pixmaps") + (string-append "--images=" out "/share/icons") + (string-append "--dbus=" out "/etc/dbus-1/system.d") + (string-append "--dbus-service=" + out "/share/dbus-1/system-services") + (string-append "--systemd=" out "/lib/systemd/system") + (string-append "--logrotate=" out "/etc/logrotate.d") + (string-append "--desktop=" out "/share/applications") + (string-append "--translations=" out "/share/locale") + (string-append "--autostart=" out "/etc/xdg/autostart") + (string-append "--docdir=" out "/share/doc/wicd") + (string-append "--mandir=" out "/share/man") + (string-append "--kdedir=" out "/share/autostart")))) + (format #t + "running ~s with command ~s and parameters ~s~%" + "python setup.py" "configure" params) + (zero? (apply system* "python" "setup.py" "configure" params)))))) + (add-after 'install 'post-install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; wicd's installer tries to put dhclient.conf.template.default + ;; in /etc/wicd/other, which is not available in the build + ;; environment, so here we install it manually in the output + ;; directory. + (let ((dest-dir (string-append out "/etc/wicd")) + (name "dhclient.conf.template.default")) + (install-file (string-append "other/" name) dest-dir)) - ;; Copy index.theme from hicolor-icon-theme. This is needed to - ;; allow wicd-gtk to find its icons. - (let ((hicolor (assoc-ref inputs "hicolor-icon-theme")) - (name "/share/icons/hicolor/index.theme")) - (install-file (string-append hicolor name) - (string-append out "/share/icons/hicolor"))) - #t)) - %standard-phases)))) + ;; Copy index.theme from hicolor-icon-theme. This is needed to + ;; allow wicd-gtk to find its icons. + (let ((hicolor (assoc-ref inputs "hicolor-icon-theme")) + (name "/share/icons/hicolor/index.theme")) + (install-file (string-append hicolor name) + (string-append out "/share/icons/hicolor"))) + #t)))))) (synopsis "Network connection manager") (description "Wicd is a network manager that aims to simplify wired and wireless networking.") diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index ea35a2873d..8b7e1bda53 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -115,7 +115,7 @@ nested include statements).") ("xcb-util-keysyms" ,xcb-util-keysyms) ("xcb-util-wm" ,xcb-util-wm))) (arguments - '(#:phases (alist-delete 'configure %standard-phases) + '(#:phases (modify-phases %standard-phases (delete 'configure)) #:tests? #f ; no check target #:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)))) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index ce3e7c81eb..5cf7596c00 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -689,7 +689,7 @@ Guile will work for XBindKeys.") ("xcb-util-keysyms" ,xcb-util-keysyms) ("xcb-util-wm" ,xcb-util-wm))) (arguments - '(#:phases (alist-delete 'configure %standard-phases) + '(#:phases (modify-phases %standard-phases (delete 'configure)) #:tests? #f ; no check target #:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)))) @@ -796,7 +796,8 @@ within a single process.") (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target - #:phases (alist-delete 'configure %standard-phases) ; no configure script + ;; no configure script + #:phases (modify-phases %standard-phases (delete 'configure)) #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) "MANDIR=/share/man/man1" "CC=gcc"))) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index b936dc45d9..7668a1d380 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -114,17 +114,17 @@ Xfce Desktop Environment.") (arguments '(#:phases ;; Run check after install phase to test dbus activation. - (alist-cons-after - 'install 'check - (lambda _ - (setenv "HOME" (getenv "TMPDIR")) ; xfconfd requires a writable HOME - ;; Run test-suite under a dbus session. - (setenv "XDG_DATA_DIRS" ; for finding org.xfce.Xfconf.service - (string-append %output "/share")) - ;; For the missing '/etc/machine-id'. - (setenv "DBUS_FATAL_WARNINGS" "0"); - (zero? (system* "dbus-launch" "make" "check"))) - (alist-delete 'check %standard-phases)))) + (modify-phases %standard-phases + (add-after 'install 'check + (lambda _ + (setenv "HOME" (getenv "TMPDIR")) ; xfconfd requires a writable HOME + ;; Run test-suite under a dbus session. + (setenv "XDG_DATA_DIRS" ; for finding org.xfce.Xfconf.service + (string-append %output "/share")) + ;; For the missing '/etc/machine-id'. + (setenv "DBUS_FATAL_WARNINGS" "0"); + (zero? (system* "dbus-launch" "make" "check")))) + (delete 'check)))) (native-inputs `(("pkg-config" ,pkg-config) ("intltool" ,intltool))) diff --git a/gnu/packages/xfig.scm b/gnu/packages/xfig.scm index 2e65000eb7..64ca57028f 100644 --- a/gnu/packages/xfig.scm +++ b/gnu/packages/xfig.scm @@ -159,44 +159,42 @@ selected in various ways. For text, 35 fonts are available.") (arguments `(#:tests? #f #:phases - (alist-replace - 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((imake (assoc-ref inputs "imake")) - (out (assoc-ref outputs "out"))) - (substitute* '("fig2dev/Imakefile" - "transfig/Imakefile") - (("XCOMM (BINDIR = )[[:graph:]]*" _ front) - (string-append front out "/bin")) - (("XCOMM USEINLINE") "USEINLINE") - ;; The variable name is deceptive. The directory is used as an - ;; installation path for bitmaps. - (("(XFIGLIBDIR =[[:blank:]]*)[[:graph:]]*" _ front) - (string-append front out "/lib")) - (("(XPMLIBDIR = )[[:graph:]]*" _ front) - (string-append front (assoc-ref inputs "libxpm") "/lib")) - (("(XPMINC = -I)[[:graph:]]*" _ front) - (string-append front (assoc-ref inputs "libxpm") "/include/X11")) - (("/usr/local/lib/fig2dev") (string-append out "/lib"))) - ;; The -a argument is required in order to pick up the correct paths - ;; to several X header files. - (zero? (system* "xmkmf" "-a")) - (substitute* '("Makefile" - "fig2dev/Makefile" - "transfig/Makefile") - ;; These imake variables somehow remain undefined - (("DefaultGcc2[[:graph:]]*Opt") "-O2") - ;; Reset a few variable defaults that are set in imake templates - ((imake) out) - (("(MANPATH = )[[:graph:]]*" _ front) - (string-append front out "/share/man")) - (("(CONFDIR = )([[:graph:]]*)" _ front default) - (string-append front out default))))) - (alist-cons-after - 'install 'install/doc - (lambda _ - (zero? (system* "make" "install.man"))) - %standard-phases)))) + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((imake (assoc-ref inputs "imake")) + (out (assoc-ref outputs "out"))) + (substitute* '("fig2dev/Imakefile" + "transfig/Imakefile") + (("XCOMM (BINDIR = )[[:graph:]]*" _ front) + (string-append front out "/bin")) + (("XCOMM USEINLINE") "USEINLINE") + ;; The variable name is deceptive. The directory is used as an + ;; installation path for bitmaps. + (("(XFIGLIBDIR =[[:blank:]]*)[[:graph:]]*" _ front) + (string-append front out "/lib")) + (("(XPMLIBDIR = )[[:graph:]]*" _ front) + (string-append front (assoc-ref inputs "libxpm") "/lib")) + (("(XPMINC = -I)[[:graph:]]*" _ front) + (string-append front (assoc-ref inputs "libxpm") "/include/X11")) + (("/usr/local/lib/fig2dev") (string-append out "/lib"))) + ;; The -a argument is required in order to pick up the correct paths + ;; to several X header files. + (zero? (system* "xmkmf" "-a")) + (substitute* '("Makefile" + "fig2dev/Makefile" + "transfig/Makefile") + ;; These imake variables somehow remain undefined + (("DefaultGcc2[[:graph:]]*Opt") "-O2") + ;; Reset a few variable defaults that are set in imake templates + ((imake) out) + (("(MANPATH = )[[:graph:]]*" _ front) + (string-append front out "/share/man")) + (("(CONFDIR = )([[:graph:]]*)" _ front default) + (string-append front out default)))))) + (add-after 'install 'install/doc + (lambda _ + (zero? (system* "make" "install.man"))))))) (home-page "http://www.xfig.org/") (synopsis "Create portable LaTeX figures") (description diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 57ba8a2db0..8554060315 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -114,26 +114,25 @@ ("xproto" ,xproto))) (arguments `(#:phases - (alist-cons-after - 'install 'install-data - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((cf-files (assoc-ref inputs "xorg-cf-files")) - (out (assoc-ref outputs "out")) - (unpack (assoc-ref %standard-phases 'unpack)) - (patch-source-shebangs - (assoc-ref %standard-phases 'patch-source-shebangs))) - (mkdir "xorg-cf-files") - (with-directory-excursion "xorg-cf-files" - (apply unpack (list #:source cf-files)) - (apply patch-source-shebangs (list #:source cf-files)) - (substitute* '("mingw.cf" "Imake.tmpl" "nto.cf" "os2.cf" - "linux.cf" "Amoeba.cf" "cygwin.cf") - (("/bin/sh") (which "bash"))) - (and (zero? (system* "./configure" - (string-append "SHELL=" (which "bash")) - (string-append "--prefix=" out))) - (zero? (system* "make" "install")))))) - %standard-phases))) + (modify-phases %standard-phases + (add-after 'install 'install-data + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((cf-files (assoc-ref inputs "xorg-cf-files")) + (out (assoc-ref outputs "out")) + (unpack (assoc-ref %standard-phases 'unpack)) + (patch-source-shebangs + (assoc-ref %standard-phases 'patch-source-shebangs))) + (mkdir "xorg-cf-files") + (with-directory-excursion "xorg-cf-files" + (apply unpack (list #:source cf-files)) + (apply patch-source-shebangs (list #:source cf-files)) + (substitute* '("mingw.cf" "Imake.tmpl" "nto.cf" "os2.cf" + "linux.cf" "Amoeba.cf" "cygwin.cf") + (("/bin/sh") (which "bash"))) + (and (zero? (system* "./configure" + (string-append "SHELL=" (which "bash")) + (string-append "--prefix=" out))) + (zero? (system* "make" "install")))))))))) (home-page "http://www.x.org") (synopsis "Source code configuration and build system") (description From dfe0bac420d97824a0f880344894b5a79600f31f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 21 Sep 2017 20:26:23 +0200 Subject: [PATCH 041/287] gnu: lout: Revert changes from dc1d3cdef70f0e3c047c22. This caused `make` to error out like this: ERROR: In procedure primitive-load-path: ERROR: In procedure read_inner_expression: gnu/packages/lout.scm:31:12: unexpected ")" * gnu/packages/lout.scm (lout)[arguments]: Don't use 'modify-phases'. --- gnu/packages/lout.scm | 119 +++++++++++++++++++++--------------------- 1 file changed, 60 insertions(+), 59 deletions(-) diff --git a/gnu/packages/lout.scm b/gnu/packages/lout.scm index b71abd83fe..f2c724ae07 100644 --- a/gnu/packages/lout.scm +++ b/gnu/packages/lout.scm @@ -28,11 +28,53 @@ ;; rules. Instead, it has a makefile that has to be patched to set the ;; prefix, etc., and it has no makefile rules to build its doc. (let ((configure-phase - ') + '(lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (substitute* "makefile" + (("^PREFIX[[:blank:]]*=.*$") + (string-append "PREFIX = " out "\n")) + (("^LOUTLIBDIR[[:blank:]]*=.*$") + (string-append "LOUTLIBDIR = " out "/lib/lout\n")) + (("^LOUTDOCDIR[[:blank:]]*=.*$") + (string-append "LOUTDOCDIR = " doc "/share/doc/lout\n")) + (("^MANDIR[[:blank:]]*=.*$") + (string-append "MANDIR = " out "/man\n"))) + (mkdir out) + (mkdir (string-append out "/bin")) + (mkdir (string-append out "/lib")) + (mkdir (string-append out "/man")) + (mkdir-p (string-append doc "/share/doc/lout"))))) (install-man-phase - ') + '(lambda* (#:key outputs #:allow-other-keys) + (zero? (system* "make" "installman")))) (doc-phase - ')) + '(lambda* (#:key outputs #:allow-other-keys) + (define out + (assoc-ref outputs "doc")) + + (setenv "PATH" + (string-append (assoc-ref outputs "out") + "/bin:" (getenv "PATH"))) + (chdir "doc") + (every (lambda (doc) + (format #t "doc: building `~a'...~%" doc) + (with-directory-excursion doc + (let ((file (string-append out "/share/doc/lout/" + doc ".ps"))) + (and (or (file-exists? "outfile.ps") + (zero? (system* "lout" "-r4" "-o" + "outfile.ps" "all"))) + (begin + (copy-file "outfile.ps" file) + #t) + (zero? (system* "ps2pdf" + "-dPDFSETTINGS=/prepress" + "-sPAPERSIZE=a4" + file + (string-append out "/share/doc/lout/" + doc ".pdf"))))))) + '("design" "expert" "slides" "user"))))) (package (name "lout") (version "3.40") @@ -47,64 +89,23 @@ (outputs '("out" "doc")) (native-inputs `(("ghostscript" ,ghostscript))) - (arguments - `(#:modules ((guix build utils) - (guix build gnu-build-system) - (srfi srfi-1)) ; we need SRFI-1 - #:tests? #f ; no "check" target + (arguments `(#:modules ((guix build utils) + (guix build gnu-build-system) + (srfi srfi-1)) ; we need SRFI-1 + #:tests? #f ; no "check" target - ;; Customize the build phases. - #:phases - (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (doc (assoc-ref outputs "doc"))) - (substitute* "makefile" - (("^PREFIX[[:blank:]]*=.*$") - (string-append "PREFIX = " out "\n")) - (("^LOUTLIBDIR[[:blank:]]*=.*$") - (string-append "LOUTLIBDIR = " out "/lib/lout\n")) - (("^LOUTDOCDIR[[:blank:]]*=.*$") - (string-append "LOUTDOCDIR = " doc "/share/doc/lout\n")) - (("^MANDIR[[:blank:]]*=.*$") - (string-append "MANDIR = " out "/man\n"))) - (mkdir out) - (mkdir (string-append out "/bin")) - (mkdir (string-append out "/lib")) - (mkdir (string-append out "/man")) - (mkdir-p (string-append doc "/share/doc/lout"))) - #t)) - (add-after 'install 'install-man-pages - (lambda* (#:key outputs #:allow-other-keys) - (zero? (system* "make" "installman")))) - (add-after 'install 'install-doc - (lambda* (#:key outputs #:allow-other-keys) - (define out - (assoc-ref outputs "doc")) + ;; Customize the build phases. + #:phases (alist-replace + 'configure ,configure-phase - (setenv "PATH" - (string-append (assoc-ref outputs "out") - "/bin:" (getenv "PATH"))) - (chdir "doc") - (every (lambda (doc) - (format #t "doc: building `~a'...~%" doc) - (with-directory-excursion doc - (let ((file (string-append out "/share/doc/lout/" - doc ".ps"))) - (and (or (file-exists? "outfile.ps") - (zero? (system* "lout" "-r4" "-o" - "outfile.ps" "all"))) - (begin - (copy-file "outfile.ps" file) - #t) - (zero? (system* "ps2pdf" - "-dPDFSETTINGS=/prepress" - "-sPAPERSIZE=a4" - file - (string-append out "/share/doc/lout/" - doc ".pdf"))))))) - '("design" "expert" "slides" "user"))))))) + (alist-cons-after + 'install 'install-man-pages + ,install-man-phase + + (alist-cons-after + 'install 'install-doc + ,doc-phase + %standard-phases))))) (synopsis "Document layout system") (description "The Lout document formatting system reads a high-level description of From 595dcd48a965462ad45f19e42864ae972f34183d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 21 Sep 2017 20:05:12 +0200 Subject: [PATCH 042/287] gnu: bdb: Update to 6.2.32. * gnu/packages/databases.scm (bdb): Update to 6.2.32. --- 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 dc1f5ecac3..5f01006872 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -152,14 +152,14 @@ and provides interfaces to the traditional file format.") (define-public bdb (package (name "bdb") - (version "6.2.23") + (version "6.2.32") (source (origin (method url-fetch) (uri (string-append "http://download.oracle.com/berkeley-db/db-" version ".tar.gz")) (sha256 (base32 - "1isxx4jfmnh913jzhp8hhfngbk6dsg46f4kjpvvc56maj64jqqa7")))) + "1yx8wzhch5wwh016nh0kfxvknjkafv6ybkqh6nh7lxx50jqf5id9")))) (build-system gnu-build-system) (outputs '("out" ; programs, libraries, headers "doc")) ; 94 MiB of HTML docs From e0afc09de484e7c6fdf111257e9c250bd608ee54 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 21 Sep 2017 20:53:15 +0200 Subject: [PATCH 043/287] gnu: curl: Update to 7.55.1. * gnu/packages/patches/curl-bounds-check.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. * gnu/packages/curl.scm (curl): Update to 7.55.1. [replacement]: Remove field. [source]: Use '.xz' tarball. (curl-7.55.0): Remove variable. --- gnu/local.mk | 1 - gnu/packages/curl.scm | 33 ++------------------ gnu/packages/patches/curl-bounds-check.patch | 19 ----------- 3 files changed, 3 insertions(+), 50 deletions(-) delete mode 100644 gnu/packages/patches/curl-bounds-check.patch diff --git a/gnu/local.mk b/gnu/local.mk index 5731d1ee84..bfa55bfcc6 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -572,7 +572,6 @@ dist_patch_DATA = \ %D%/packages/patches/crda-optional-gcrypt.patch \ %D%/packages/patches/crossmap-allow-system-pysam.patch \ %D%/packages/patches/clucene-contribs-lib.patch \ - %D%/packages/patches/curl-bounds-check.patch \ %D%/packages/patches/cursynth-wave-rand.patch \ %D%/packages/patches/cvs-2017-12836.patch \ %D%/packages/patches/cyrus-sasl-CVE-2013-4122.patch \ diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index 23606b4810..9408af70cc 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -42,15 +42,14 @@ (define-public curl (package (name "curl") - (replacement curl-7.55.0) - (version "7.54.1") + (version "7.55.1") (source (origin (method url-fetch) (uri (string-append "https://curl.haxx.se/download/curl-" - version ".tar.lzma")) + version ".tar.xz")) (sha256 (base32 - "0vnv3cz0s1l5cjby86hm0x6pgzqijmdm97qa9q5px200956z6yib")))) + "1dvbcwcar3dv488h9378hy145ma3ws2fwpbr6mgszd7chipcmbry")))) (build-system gnu-build-system) (outputs '("out" "doc")) ;1.2 MiB of man3 pages @@ -122,29 +121,3 @@ tunneling, and so on.") (license (license:non-copyleft "file://COPYING" "See COPYING in the distribution.")) (home-page "https://curl.haxx.se/"))) - -(define-public curl-7.55.0 - (package - (inherit curl) - (version "7.55.0") - (source - (origin - (method url-fetch) - (uri (string-append "https://curl.haxx.se/download/curl-" - version ".tar.xz")) - (patches (search-patches "curl-bounds-check.patch")) - (sha256 - (base32 - "1785vxi0jamiv9d1wr1l45g0fm9ircxdfyfzf7ld8zv0z0i8bmfd")))) - (arguments - `(,@(substitute-keyword-arguments (package-arguments curl) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'install 'fix-Makefile - ;; Fix a regression in 7.55.0 where docs are not installed. - ;; https://github.com/curl/curl/commit/a7bbbb7c368c6096802007f61f19a02e9d75285b - (lambda _ - (substitute* "Makefile" - (("install-data-hook:\n") - "install-data-hook:\n\tcd docs/libcurl && $(MAKE) install\n")) - #t))))))))) diff --git a/gnu/packages/patches/curl-bounds-check.patch b/gnu/packages/patches/curl-bounds-check.patch deleted file mode 100644 index 4b8ff65304..0000000000 --- a/gnu/packages/patches/curl-bounds-check.patch +++ /dev/null @@ -1,19 +0,0 @@ -Fix test failure on some 32-bit platforms. - -Patch copied from upstream source repository: - -https://github.com/curl/curl/commit/45a560390c4356bcb81d933bbbb229c8ea2acb63 - -diff --git a/src/tool_paramhlp.c b/src/tool_paramhlp.c -index b9dedc989e..85c5e79a7e 100644 ---- a/src/tool_paramhlp.c -+++ b/src/tool_paramhlp.c -@@ -218,7 +218,7 @@ static ParameterError str2double(double *val, const char *str, long max) - num = strtod(str, &endptr); - if(errno == ERANGE) - return PARAM_NUMBER_TOO_LARGE; -- if((long)num > max) { -+ if(num > max) { - /* too large */ - return PARAM_NUMBER_TOO_LARGE; - } From 9b0215deb9de6a2830d5e5c37c0d647efa963be0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 21 Sep 2017 21:10:28 +0200 Subject: [PATCH 044/287] gnu: libuv: Update to 1.14.1. * gnu/packages/libevent.scm (libuv): Update to 1.14.1. [source]: Download from dist.libuv.org. --- gnu/packages/libevent.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm index 4f6064e939..55f39f2a6d 100644 --- a/gnu/packages/libevent.scm +++ b/gnu/packages/libevent.scm @@ -121,15 +121,14 @@ programs.") (define-public libuv (package (name "libuv") - (version "1.12.0") + (version "1.14.1") (source (origin (method url-fetch) - (uri (string-append "https://github.com/libuv/libuv/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (uri (string-append "https://dist.libuv.org/dist/v" version + "/libuv-v" version ".tar.gz")) (sha256 (base32 - "0l0jrb5q3i8br10c8skc6xdwlxkmlpn3n0kngaqd68fsi1593kj1")))) + "08kx4mzjsdv90n9pivqxqjxlxk5vaf9p33zzvx661dwfmp9468pk")))) (build-system gnu-build-system) (arguments '(#:phases (alist-cons-after From 6baf1b72057ccda6e491596ad3715c4f555e6a69 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Fri, 22 Sep 2017 21:16:42 +0200 Subject: [PATCH 045/287] gnu: teckit: Update to 2.5.7. * gnu/packages/fontutils.scm (teckit): Update to 2.5.7. Signed-off-by: Roel Janssen --- gnu/packages/fontutils.scm | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index bd74c4d6aa..de75bd8beb 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -325,33 +325,24 @@ X11-system or any other graphical user interface.") (define-public teckit (package (name "teckit") - (version "2.5.4") + (version "2.5.7") (source (origin - ;; Downloaded tarballs vary with each download, so we use an - ;; svn snapshot. The 2.5.4 release seems to be made in r128, - ;; but r132 updates additional files to contain the correct - ;; version number (r129 to r131 do not concern TRUNK). - (method svn-fetch) - (uri (svn-reference - (url "https://scripts.sil.org/svn-public/teckit/TRUNK") - (revision 132))) - (file-name (string-append name "-" version)) + (method url-fetch) + (uri (string-append + "https://github.com/silnrsi/teckit/releases/download/v" + version "/teckit-" version ".tar.gz")) (sha256 (base32 - "1xqkqgw30pb24snh46srmjs2j4zhz2dfi5pf7znia0k34mrpwivz")))) + "1pbp97vcpj6x4yixx6ww0vsi1rrr99fksxdjafs6gdargzd24cj4")))) (build-system gnu-build-system) - (inputs `(("zlib" ,zlib))) + (inputs + `(("zlib" ,zlib) + ("expat" ,expat))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("libtool" ,libtool) ("perl" ,perl))) ; for the tests - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'autogen - (lambda _ - (zero? (system* "sh" "autogen.sh"))))))) (synopsis "Toolkit for encoding conversions") (description "TECkit is a low-level toolkit intended to be used by other applications From 4f27a3337160da33c5fbc24e97c2428d31a50c90 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 24 Sep 2017 19:26:34 +0200 Subject: [PATCH 046/287] gnu: Fix syntax errors introduced by dc1d3cdef70f0e3c047c229c2a0e56. * gnu/packages/mp3.scm (libmad)[arguments]: Adjust syntax and indentation. * gnu/packages/rdf.scm (lrdf)[arguments]: Adjust phase order. * gnu/packages/audio.scm (vamp)[arguments]: Remove stray character. (zita-convolver)[arguments]: Adjust parsens and indentation. (clalsadrv)[arguments]: Remove stray 'modify-phases'. --- gnu/packages/audio.scm | 24 ++++++++++++------------ gnu/packages/mp3.scm | 9 ++++----- gnu/packages/rdf.scm | 8 ++++---- 3 files changed, 20 insertions(+), 21 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index c295e41450..e06c62a0e8 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -629,9 +629,9 @@ language and software synthesizer.") (lambda _ (symlink "libclalsadrv.so" (string-append (assoc-ref %outputs "out") - "/lib/libclalsadrv.so.2"))) - ;; no configure script - (modify-phases %standard-phases (delete 'configure)))))) + "/lib/libclalsadrv.so.2")))) + ;; no configure script + (delete 'configure)))) (inputs `(("alsa-lib" ,alsa-lib) ("fftw" ,fftw))) @@ -2144,7 +2144,7 @@ disks as various audio file formats.") (let ((out (assoc-ref outputs "out"))) (list (string-append out "/lib/libvamp-sdk.la") (string-append out "/lib/libvamp-hostsdk.la")))) - #t)s)))) + #t))))) (inputs `(("libsndfile" ,libsndfile))) (native-inputs @@ -2589,14 +2589,14 @@ result.") (substitute* "libs/Makefile" (("ldconfig") "true") (("^LIBDIR =.*") "LIBDIR = lib\n")) - (chdir "libs") #t) - (add-after 'install 'install-symlink - (lambda _ - (symlink "libzita-convolver.so" - (string-append (assoc-ref %outputs "out") - "/lib/libzita-convolver.so.3")))) - ;; no configure script - (delete 'configure))))) + (chdir "libs") #t)) + (add-after 'install 'install-symlink + (lambda _ + (symlink "libzita-convolver.so" + (string-append (assoc-ref %outputs "out") + "/lib/libzita-convolver.so.3")))) + ;; no configure script + (delete 'configure)))) (inputs `(("fftwf" ,fftwf))) (home-page "http://kokkinizita.linuxaudio.org") (synopsis "Fast, partitioned convolution engine library") diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index 6412dce16d..7c8f32175d 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -68,11 +68,10 @@ `(#:phases (modify-phases %standard-phases (add-before 'configure 'remove-unsupported-gcc-flags - (lambda _ - ;; remove option that is not supported by gcc any more - (substitute* "configure" ((" -fforce-mem") "")) - #t) - %standard-phases)))) + (lambda _ + ;; remove option that is not supported by gcc any more + (substitute* "configure" ((" -fforce-mem") "")) + #t))))) (synopsis "MPEG audio decoder") (description "MAD (MPEG Audio Decoder) supports MPEG-1 and the MPEG-2 extension to diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index fbd8a45ba0..2ccfc2cec4 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -129,9 +129,6 @@ Java Lucene text search engine API to C++.") (arguments '(#:phases (modify-phases %standard-phases - (add-after 'remove-out-of-tree-references 'autoreconf - (lambda _ - (zero? (system* "autoreconf" "-vfi")))) (add-after 'unpack 'remove-out-of-tree-references (lambda _ ;; remove symlinks to files in /usr/ @@ -146,7 +143,10 @@ Java Lucene text search engine API to C++.") (substitute* "examples/Makefile.am" (("instances_test remove_test") "instances_test") (("\\$\\(TESTS\\) remove_test") "$(TESTS)")) - #t))))) + #t)) + (add-after 'remove-out-of-tree-references 'autoreconf + (lambda _ + (zero? (system* "autoreconf" "-vfi"))))))) (inputs `(("raptor" ,raptor2) ("cyrus-sasl" ,cyrus-sasl) From 859620e51db0b7ffb666cd47146eca4fd4d6ba63 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 24 Sep 2017 20:10:57 +0200 Subject: [PATCH 047/287] gnu: ruby: Fix build failures after updating to 2.4.2. * gnu/packages/ruby.scm (gem-directory): New procedure. (ruby-ansi, ruby-ae)[arguments]: Use it to determine gem install directory instead of relying on the ruby (patch) version. --- gnu/packages/ruby.scm | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 58549e877d..ab8e572175 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -195,6 +195,11 @@ a focus on simplicity and productivity.") (("/bin/sh") (which "sh"))) #t))))))) +(define (gem-directory ruby-version) + "Return the relative gem install directory for RUBY-VERSION." + (string-append "/lib/ruby/gems/" (version-major+minor ruby-version) + ".0/gems")) + (define-public ruby-hoe (package (name "ruby-hoe") @@ -3585,10 +3590,9 @@ It has built-in support for the legacy @code{cookies.txt} and (add-before 'validate-runpath 'replace-broken-symlink (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (file (string-append out "/lib/ruby/gems/" - ,(package-version ruby) - "/gems/ansi-" ,version - "/lib/ansi.yml"))) + (file (string-append out + ,(gem-directory (package-version ruby)) + "/ansi-" ,version "/lib/ansi.yml"))) ;; XXX: This symlink is broken since ruby 2.4. ;; https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00034.html (delete-file file) @@ -3786,10 +3790,9 @@ requirement specifications systems like Cucumber.") (add-before 'validate-runpath 'replace-broken-symlink (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (file (string-append out "/lib/ruby/gems/" - ,(package-version ruby) - "/gems/ae-" ,version - "/lib/ae.yml"))) + (file (string-append out + ,(gem-directory (package-version ruby)) + "/ae-" ,version "/lib/ae.yml"))) ;; XXX: This symlink is broken since ruby 2.4. ;; https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00034.html (delete-file file) From c651cbad1e38f18f98984463d7d50254b019576b Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 22 Sep 2017 23:24:23 -0400 Subject: [PATCH 048/287] gnu: eudev: Update to 3.2.4 and generate manpages. * gnu/packages/linux.scm (eudev)[version]: Bump to 3.2.4. [uri]: Download the release from Github, which contains the script to generate the manpages from source. [file-name]: Add a file-name field to the origin record, per linter recommendation. [sha256]: Adjust accordingly. [phases]: Add a bootstrap phase to regenerate the manpages. [configure-flags]: Add the "--enable-manpages" option, required to install the manpages. [native-inputs]: Add autoconf, automake and libtool for the bootstrap phase. Add python-wrapper to run a test script that was previously skipped. Add docbook-xml, docbook-xsl, libxml2 and libxslt for manpage generation. --- gnu/packages/linux.scm | 50 +++++++++++++++++++++++++++++------------- 1 file changed, 35 insertions(+), 15 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 46434b35c8..dd46b5e506 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2055,30 +2055,50 @@ from the module-init-tools project.") ;; The post-systemd fork, maintained by Gentoo. (package (name "eudev") - (version "3.2.2") + (version "3.2.4") (source (origin (method url-fetch) - (uri (string-append - "http://dev.gentoo.org/~blueness/eudev/eudev-" - version ".tar.gz")) + (uri (string-append "https://github.com/gentoo/eudev/archive/v" + version ".zip")) + (file-name (string-append name "-" version ".zip")) (sha256 (base32 - "0qqgbgpm5wdllk0s04pf80nwc8pr93xazwri1bylm1f15zn5ck1y")) + "1r1ag0snarygrj5qqxi2xdq9w6g3sfjd5jx1b0fl7zmqlsz3vvxx")) (patches (search-patches "eudev-rules-directory.patch")))) (build-system gnu-build-system) (arguments - '(#:phases (modify-phases %standard-phases - (add-after 'install 'build-hwdb - (lambda* (#:key outputs #:allow-other-keys) - ;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and - ;; similar tools to display product names. - (let ((out (assoc-ref outputs "out"))) - (zero? (system* (string-append out "/bin/udevadm") - "hwdb" "--update")))))))) + '(#:phases + (modify-phases %standard-phases + (add-before 'configure 'bootstrap + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "man/make.sh" + (("/usr/bin/xsltproc") + (string-append (assoc-ref inputs "xsltproc") + "/bin/xsltproc"))) + ;; Manual pages are regenerated here. + (zero? (system* "./autogen.sh")))) + (add-after 'install 'build-hwdb + (lambda* (#:key outputs #:allow-other-keys) + ;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and + ;; similar tools to display product names. + (let ((out (assoc-ref outputs "out"))) + (zero? (system* (string-append out "/bin/udevadm") + "hwdb" "--update")))))) + #:configure-flags (list "--enable-manpages"))) (native-inputs - `(("pkg-config" ,pkg-config) + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("gperf" ,gperf) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ;; For tests. ("perl" ,perl) - ("gperf" ,gperf))) + ("python" ,python-wrapper) + ;; For documentation. + ("docbook-xml" ,docbook-xml-4.2) + ("docbook-xsl" ,docbook-xsl) + ("libxml2" ,libxml2) ;for $XML_CATALOG_FILES + ("xsltproc", libxslt))) (inputs ;; When linked against libblkid, eudev can populate /dev/disk/by-label ;; and similar; it also installs the '60-persistent-storage.rules' file, From 710cc1a402062896444c8682939d623986e27d23 Mon Sep 17 00:00:00 2001 From: Theodoros Foradis Date: Sat, 9 Sep 2017 20:57:46 +0300 Subject: [PATCH 049/287] gnu: Add libngspice and ngspice. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/engineering.scm (libngspice, ngspice): New variables. Signed-off-by: Ludovic Courtès --- gnu/packages/engineering.scm | 102 +++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 5492f1c629..0356fbfe9e 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -1178,3 +1178,105 @@ servers, ...") "ASCO brings circuit optimization capabilities to existing SPICE simulators using a high-performance parallel differential evolution (DE) optimization algorithm.") (license license:gpl2+))) + +(define-public libngspice + ;; Note: The ngspice's build system does not allow us to build both the + ;; library and the executables in one go. Thus, we have two packages. + ;; See . + (package + (name "libngspice") + (version "26") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/ngspice/ng-spice-rework/" + version "/ngspice-" version ".tar.gz")) + (sha256 + (base32 + "02019ndcl057nq9z41nxycqba7wxlb081ibvfj9jv010nz431qji")) + (modules '((guix build utils))) + ;; We remove the non-free cider and build without it. + (snippet + '(begin + (delete-file-recursively "src/ciderlib") + (delete-file "src/ciderinit") + (substitute* "configure" + (("src/ciderlib/Makefile") "") + (("src/ciderlib/input/Makefile") "") + (("src/ciderlib/support/Makefile") "") + (("src/ciderlib/oned/Makefile") "") + (("src/ciderlib/twod/Makefile") "")))))) + (build-system gnu-build-system) + (arguments + `(;; No tests for libngspice exist. + ;; The transient tests for ngspice fail. + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-timestamps + (lambda _ + (substitute* "configure" + (("`date`") "Do 1. Jan 00:00:00 UTC 1970")) + #t)) + (add-after 'unpack 'delete-program-manuals + (lambda _ + (substitute* "man/man1/Makefile.in" + (("^man_MANS = ngspice\\.1 ngnutmeg\\.1 ngsconvert\\.1 ngmultidec\\.1") + "man_MANS = ")) + #t)) + (add-after 'install 'delete-script-files + (lambda* (#:key outputs #:allow-other-keys) + (delete-file-recursively + (string-append (assoc-ref outputs "out") + "/share/ngspice/scripts"))))) + #:configure-flags + (list "--enable-openmp" + "--enable-xspice" + "--with-ngshared" + "--with-readline=yes"))) + (native-inputs + `(("bison" ,bison) + ("flex" ,flex))) + (inputs + `(("libxaw" ,libxaw) + ("mpi" ,openmpi) + ("readline" ,readline))) + (home-page "http://ngspice.sourceforge.net/") + (synopsis "Mixed-level/mixed-signal circuit simulator") + (description + "Ngspice is a mixed-level/mixed-signal circuit simulator. It includes +@code{Spice3f5}, a circuit simulator, and @code{Xspice}, an extension that +provides code modeling support and simulation of digital components through +an embedded event driven algorithm.") + (license (list license:lgpl2.0+ ; code in frontend/numparam + (license:non-copyleft "file:///COPYING") ; spice3 bsd-style + license:public-domain)))) ; xspice + +(define-public ngspice + ;; The ngspice executables (see libngpsice above.) + (package (inherit libngspice) + (name "ngspice") + (arguments + (substitute-keyword-arguments (package-arguments libngspice) + ((#:configure-flags flags) + `(delete "--with-ngshared" ,flags)) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'delete-include-files + (lambda _ + (substitute* "src/Makefile.in" + (("^SUBDIRS = misc maths frontend spicelib include/ngspice") + "SUBDIRS = misc maths frontend spicelib")) + #t)) + (add-after 'install 'delete-cmpp-dlmain + (lambda* (#:key outputs #:allow-other-keys) + (for-each (lambda (file) + (delete-file + (string-append (assoc-ref outputs "out") + file))) + '("/bin/cmpp" "/share/ngspice/dlmain.c")) + #t)) + (delete 'delete-program-manuals) + (delete 'delete-script-files))))) + (inputs + `(("libngspice" ,libngspice) + ("readline" ,readline))))) From e153362e4a613a4c559e8e6c0e7e9920feddef19 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 1 Oct 2017 17:30:04 +0200 Subject: [PATCH 050/287] gnu: youtube-dl: Update to 2017.10.01. * gnu/packages/video.scm (youtube-dl): Update to 2017.10.01. --- 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 2b9f5aa06c..7da143b7ac 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1111,7 +1111,7 @@ access to mpv's powerful playback capabilities.") (define-public youtube-dl (package (name "youtube-dl") - (version "2017.09.24") + (version "2017.10.01") (source (origin (method url-fetch) (uri (string-append "https://yt-dl.org/downloads/" @@ -1119,7 +1119,7 @@ access to mpv's powerful playback capabilities.") version ".tar.gz")) (sha256 (base32 - "0j2m75j0d1n83i7jzpkcj7ir0bkskj024j9b0yi88zipcg740wbx")))) + "047zinsczn6c96fzkarlb29y7sjwyh84nxlpfpa6mi4rn090wkqb")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion From ce7393f0b44c5baba0fda1302e559c4804d358bd Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 1 Oct 2017 18:29:50 +0200 Subject: [PATCH 051/287] gnu: knot: update to 2.6.0. * gnu/packages/dns.scm (knot): Update to 2.6.0. --- 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 e0a3f5dc58..4a8e4aa707 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -483,14 +483,14 @@ Extensions} (DNSSEC).") (define-public knot (package (name "knot") - (version "2.5.5") + (version "2.6.0") (source (origin (method url-fetch) (uri (string-append "https://secure.nic.cz/files/knot-dns/" name "-" version ".tar.xz")) (sha256 (base32 - "1bwv2a290inkjb5x9a9sahls39rgaqyq9dwfrk1ilmzy9nmls87f")) + "1zc3ybhcxgbysyy68kbmndh6xzy4jnr5iikyrf9s2sxzs1hlkq38")) (modules '((guix build utils))) (snippet '(begin From 0e42d239ecc7ef16ae6aa0df46ee4e1ff1b2ad3d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 2 Oct 2017 00:17:31 +0200 Subject: [PATCH 052/287] gnu: tor: Update to 0.3.1.7. * gnu/packages/tor.scm (tor): Update to 0.3.1.7. --- gnu/packages/tor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index e2123557c1..12cb5e3a55 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -44,14 +44,14 @@ (define-public tor (package (name "tor") - (version "0.3.0.11") + (version "0.3.1.7") (source (origin (method url-fetch) (uri (string-append "https://dist.torproject.org/tor-" version ".tar.gz")) (sha256 (base32 - "1hjhxkkrx04ydiddhwb3z2xb0vkcwmn1x8jsdcp6kd6i1qa0fp1a")))) + "13y0v4zfla0vziy9kkahmhrwylv32ianjikcr46mwbxvji4dvx8x")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list "--enable-gcc-hardening" From a49d3e377559fdfd78cd5f90d128dbf4a1654eab Mon Sep 17 00:00:00 2001 From: Mohammed Sadiq Date: Sat, 30 Sep 2017 09:06:35 +0530 Subject: [PATCH 053/287] gnu: gnome-calendar: Update to 3.26.1. * gnu/packages/gnome.scm (gnome-calendar): Update to 3.26.1. [build-system]: Move to meson-build-system. [arguments]: Enable gtk+ for meson-build-system, disable tests. [native-inputs]: Add gettext, gtk+-bin and glib-bin, remove intltool. [inputs]: Remove bdb and desktop-file-utils. [description]: Rephrase and add week view. Signed-off-by: Kei Kebreau --- gnu/packages/gnome.scm | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 84c98b0ff8..1940a147d0 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -6065,7 +6065,7 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.") (define-public gnome-calendar (package (name "gnome-calendar") - (version "3.24.3") + (version "3.26.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -6073,22 +6073,27 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.") name "-" version ".tar.xz")) (sha256 (base32 - "1v7k1wcl5yg9bd4l0rz0z03h32d35zgfp4qzz21widjcyis41jry")))) - (build-system glib-or-gtk-build-system) + "0p4xg9sfhcyy2lj9sdg8pk6dmggbi80f038dycr24v0ccy3nk6f2")))) + (build-system meson-build-system) + (arguments + '(#:glib-or-gtk? #t + ;; gnome-calendar has to be installed before the tests can be run + ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224 + #:tests? #f)) (native-inputs - `(("intltool" ,intltool) + `(("gettext" ,gettext-minimal) + ("glib-bin" ,glib "bin") ; For glib-compile-schemas + ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache ("pkg-config" ,pkg-config))) (inputs - `(("bdb" ,bdb) - ("desktop-file-utils" ,desktop-file-utils) - ("evolution-data-server" ,evolution-data-server) + `(("evolution-data-server" ,evolution-data-server) ("gnome-online-accounts" ,gnome-online-accounts) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas))) (home-page "https://wiki.gnome.org/Apps/Calendar") (synopsis "GNOME's calendar application") (description "GNOME Calendar is a simple calendar application designed to fit the GNOME -desktop. It supports multiple calendars, monthly view and yearly view.") +desktop. It supports multiple calendars, month, week and year view.") (license license:gpl3+))) (define-public gnome-todo From 99e28bbf8a0d31ef526c78d561c6f36e60f250bf Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 2 Oct 2017 10:34:25 +0300 Subject: [PATCH 054/287] gnu: tilda: Use glib-or-gtk build system. * gnu/packages/terminals.scm (tilda)[build-system]: Switch to glib-or-gtk build system. [inputs]: Remove glib:bin, gtk+. --- gnu/packages/terminals.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index a9682b685c..2fa5f7e4cd 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016 Efraim Flashner +;;; Copyright © 2015, 2016, 2017 Efraim Flashner ;;; Copyright © 2016 Mckinley Olsen ;;; Copyright © 2016, 2017 Alex Griffin ;;; Copyright © 2016 David Craven @@ -28,6 +28,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build utils) #:use-module (guix build-system gnu) + #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system python) #:use-module (guix download) #:use-module (guix git-download) @@ -63,7 +64,7 @@ (sha256 (base32 "1cc4qbg1m3i04lj5p6i6xbd0zvy1320pxdgmjhz5p3j95ibsbfki")))) - (build-system gnu-build-system) + (build-system glib-or-gtk-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-before 'patch-source-shebangs 'autogen @@ -77,9 +78,7 @@ ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs - `(("glib" ,glib "bin") - ("gtk+" ,gtk+) - ("libconfuse" ,libconfuse) + `(("libconfuse" ,libconfuse) ("vte" ,vte))) (synopsis "GTK+-based drop-down terminal") (description "Tilda is a terminal emulator similar to normal terminals like From 08d97842e1c654b9908470d312e87f034264f5aa Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 2 Oct 2017 11:54:04 +0300 Subject: [PATCH 055/287] gnu: autoconf-archive: Update to 2017.09.28. * gnu/packages/autotools.scm (autoconf-archive): Update to 2017.09.28. --- gnu/packages/autotools.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index 30a9aac824..79ef31fc1b 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2015, 2017 Mark H Weaver ;;; Copyright © 2016 David Thompson ;;; Copyright © 2017 ng0 +;;; Copyright © 2017 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -194,7 +195,7 @@ exec ~a --no-auto-compile \"$0\" \"$@\" (define-public autoconf-archive (package (name "autoconf-archive") - (version "2017.03.21") + (version "2017.09.28") (source (origin (method url-fetch) @@ -202,7 +203,7 @@ exec ~a --no-auto-compile \"$0\" \"$@\" version ".tar.xz")) (sha256 (base32 - "0rfpapadka2023qhy8294ca5awxpb8d4904js6kv7piby5ax8siq")))) + "00gsh9hkrgg291my98plkrwlcpxkfrpq64pglf18kciqbf2bb7sw")))) (build-system gnu-build-system) (home-page "https://www.gnu.org/software/autoconf-archive/") (synopsis "Collection of freely reusable Autoconf macros") From c83550372acf1d1eca92e181e0e689d036963e6d Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Mon, 2 Oct 2017 22:06:25 +1000 Subject: [PATCH 056/287] gnu: ruby-method-source: Update to 0.9.0. * gnu/packages/ruby.scm (ruby-method-source): Update to 0.9.0. [arguments]: Use "spec" test target. [native-inputs]: Remove ruby-bacon, add ruby-rspec. --- gnu/packages/ruby.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 0193076291..256b99c43f 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -2107,17 +2107,19 @@ both CSS3 selector and XPath 1.0 support.") (define-public ruby-method-source (package (name "ruby-method-source") - (version "0.8.2") + (version "0.9.0") (source (origin (method url-fetch) (uri (rubygems-uri "method_source" version)) (sha256 (base32 - "1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2")))) + "0xqj21j3vfq4ldia6i2akhn2qd84m0iqcnsl49kfpq3xk6x0dzgn")))) (build-system ruby-build-system) + (arguments + `(#:test-target "spec")) (native-inputs - `(("ruby-bacon" ,ruby-bacon) + `(("ruby-rspec" ,ruby-rspec) ("git" ,git))) (synopsis "Retrieve the source code for Ruby methods") (description "Method_source retrieves the source code for Ruby methods. From 1960d4fdeacde625c9c710a71efe696db057b926 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Mon, 2 Oct 2017 21:59:15 +1000 Subject: [PATCH 057/287] gnu: ruby-pry: Update to 0.11.1. * gnu/packages/ruby.scm (ruby-pry): Update to 0.11.1. [propagated-inputs]: Remove ruby-slop-3. --- gnu/packages/ruby.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 256b99c43f..f2333dbcba 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -2182,21 +2182,20 @@ rate.") (define-public ruby-pry (package (name "ruby-pry") - (version "0.10.4") + (version "0.11.1") (source (origin (method url-fetch) (uri (rubygems-uri "pry" version)) (sha256 (base32 - "05xbzyin63aj2prrv8fbq2d5df2mid93m81hz5bvf2v4hnzs42ar")))) + "0ci461a55sn50rlrmcl97ycf79681glp443a2gzp23rnm7y70fkj")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; no tests (propagated-inputs `(("ruby-coderay" ,ruby-coderay) - ("ruby-method-source" ,ruby-method-source) - ("ruby-slop" ,ruby-slop-3))) + ("ruby-method-source" ,ruby-method-source))) (synopsis "Ruby REPL") (description "Pry is an IRB alternative and runtime developer console for Ruby. It features syntax highlighting, a plugin architecture, runtime From 76dd04be470ae3d9e6bca35f8d77449fb282216c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 2 Oct 2017 20:32:04 +0300 Subject: [PATCH 058/287] gnu: dnsmasq: Update to 2.78 [Security fixes]. This fixes CVE-2017-13704 and CVE-2017-1449[123456]. * gnu/packages/dns.scm (dnsmasq): Update to 2.78. --- gnu/packages/dns.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 4a8e4aa707..9f4af0dce4 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2016 Mark H Weaver ;;; Copyright © 2016 Ricardo Wurmus -;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2016 John Darrington ;;; Copyright © 2016 ng0 ;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice @@ -59,7 +59,7 @@ (define-public dnsmasq (package (name "dnsmasq") - (version "2.76") + (version "2.78") (source (origin (method url-fetch) (uri (string-append @@ -67,7 +67,7 @@ version ".tar.xz")) (sha256 (base32 - "15lzih6671gh9knzpl8mxchiml7z5lfqzr7jm2r0rjhrxs6nk4jb")))) + "0ar5h5v3kas2qx2wgy5iqin15gc4jhqrqs067xacgc3lii1rz549")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From ab7f51fa344c757fd2825ce1fff7d6c587d1b609 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Fri, 8 Sep 2017 23:20:07 +0200 Subject: [PATCH 059/287] gnu: Add python-pydiff. * gnu/packages/python.scm (python-pydiff, python2-pydiff): New variables. --- gnu/packages/python.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 77c4a8347d..35a2cec798 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -16301,3 +16301,25 @@ Templates.") (define-public python2-uritemplate (package-with-python2 python-uritemplate)) + +(define-public python-pydiff + (package + (name "python-pydiff") + (version "0.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pydiff" version)) + (sha256 + (base32 + "1als83h9w0gab24ipyna6khm390qmpnpkc5jksmdbs2xc8hp2z44")))) + (build-system python-build-system) + (home-page "https://github.com/myint/pydiff") + (synopsis "Library to diff two Python files at the bytecode level") + (description + "@code{pydiff} makes it easy to look for actual code changes while +ignoring formatting changes.") + (license license:expat))) + +(define-public python2-pydiff + (package-with-python2 python-pydiff)) From 8e483fb540dc636c2f00efcda338b0a7d3f6dcdc Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Fri, 8 Sep 2017 23:58:22 +0200 Subject: [PATCH 060/287] gnu: python-autopep8: Update to 1.3.2. * gnu/packages/python.scm (python-autopep8): Update to 1.3.2. --- gnu/packages/python.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 35a2cec798..b566e906de 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -4906,17 +4906,17 @@ SQLAlchemy Database Toolkit for Python.") (define-public python-autopep8 (package (name "python-autopep8") - (version "1.2.4") + (version "1.3.2") (source (origin (method url-fetch) (uri (pypi-uri "autopep8" version)) (sha256 (base32 - "18parm383lfn42a00wklv3qf20p4v277f1x3cn58x019dqk1xqrq")))) + "1p9pa1ffg4iy96l918808jggg9a69iaka5awmj8xid36yc5mk0ky")))) (build-system python-build-system) (propagated-inputs - `(("python-pep8" ,python-pep8))) + `(("python-pycodestyle" ,python-pycodestyle))) (home-page "https://github.com/hhatto/autopep8") (synopsis "Format Python code according to the PEP 8 style guide") (description From 30d7207f2e24f837bba5a4d954143c587b54ef49 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Mon, 11 Sep 2017 04:24:29 +0200 Subject: [PATCH 061/287] gnu: python-requests-toolbelt: Update to 0.8.0. * gnu/packages/python.scm (python-requests-toolbelt): Udpate to 0.8.0. --- gnu/packages/python.scm | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index b566e906de..27f260ce86 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9242,16 +9242,13 @@ for atomic file system operations.") (define-public python-requests-toolbelt (package (name "python-requests-toolbelt") - (version "0.6.2") + (version "0.8.0") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/" - "e1/a4/a94c037bc72ad70441aff1403d3243510d2542ddca7759faaeffeb11aefe/" - "requests-toolbelt-" version ".tar.gz")) + (uri (pypi-uri "requests-toolbelt" version)) (sha256 (base32 - "15q9nrgp85nqlr4kdz1zvj8z2npafi2sr12y7fqgxbkq28j1aci6")))) + "1dc7l42i4080r8i4m9fj51jx367lqkai170vrv7wd93gdj9k39gn")))) (build-system python-build-system) (native-inputs `(("python-betamax" ,python-betamax) From 74e9895f2da73a3ff6d8f79811ec41532402c93d Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Mon, 11 Sep 2017 04:28:26 +0200 Subject: [PATCH 062/287] gnu: Add python2-requests-toolbelt. * gnu/packages/python.scm (python2-requests-toolbelt): New variable. --- gnu/packages/python.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 27f260ce86..55f4f651ed 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9262,6 +9262,9 @@ with python-requests.") (home-page "https://github.com/sigmavirus24/requests-toolbelt") (license license:asl2.0))) +(define-public python2-requests-toolbelt + (package-with-python2 python-requests-toolbelt)) + (define-public python-click-threading (package (name "python-click-threading") From 9bb7c05e3db1adca51f9441c725e34599ba8e44c Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Sat, 9 Sep 2017 04:37:22 +0200 Subject: [PATCH 063/287] gnu: python-tox: Update to 2.8.1. * gnu/packages/python.scm (python-tox): Update to 2.8.1. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 55f4f651ed..94aca8fdce 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9925,14 +9925,14 @@ Pytest but stripped of Pytest specific details.") (define-public python-tox (package (name "python-tox") - (version "2.8.0") + (version "2.8.1") (source (origin (method url-fetch) (uri (pypi-uri "tox" version)) (sha256 (base32 - "00lrql2cfzhb712v70inac6mrgdv8s8fmvz7qpggkk623hkm2pgc")))) + "1drp6mwm8wdypjym15ia8lwjxbhcksb9vzxg4ay5dh4ji57by2ny")))) (build-system python-build-system) (arguments ;; FIXME: Tests require pytest-timeout, which itself requires From 8e6ceb473753de3b17d51410d038bb6ad17decd1 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Sat, 9 Sep 2017 21:34:30 +0200 Subject: [PATCH 064/287] gnu: Add python-nose-timer. * gnu/packages/python.scm (python-nose-time, python2-nose-timer): New variables. --- gnu/packages/python.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 94aca8fdce..2a83da6e9d 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -16323,3 +16323,31 @@ ignoring formatting changes.") (define-public python2-pydiff (package-with-python2 python-pydiff)) + +(define-public python-nose-timer + (package + (name "python-nose-timer") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "nose-timer" version)) + (patches + (search-patches + ;; This patch will not be needed in the next version. + ;; It is taken from the master branch. + "python-nose-timer-drop-ordereddict.patch")) + (sha256 + (base32 + "1s32ymsnby8lz2qk55ifj9zi50dqcg6swnj5cz2rmwxg2jsslsxp")))) + (build-system python-build-system) + (propagated-inputs + `(("python-nose" ,python-nose) + ("python-termcolor" ,python-termcolor))) + (home-page "https://github.com/mahmoudimus/nose-timer") + (synopsis "Timer plugin for nosetests") + (description "Shows how much time was needed to run individual tests.") + (license license:expat))) + +(define-public python2-nose-timer + (package-with-python2 python-nose-timer)) From cf47e34e62ef7547f3596cb652eef2fef7b7a1d2 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Sun, 10 Sep 2017 01:20:57 +0200 Subject: [PATCH 065/287] gnu: Update the propagated inputs of python-urllib3. * gnu/packages/python.scm (python-urllib3, python2-urllib3): Update propagated inputs. --- gnu/packages/python.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 2a83da6e9d..755fd59294 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9839,10 +9839,11 @@ concurrent.futures package from Python 3.2") ("python-mock" ,python-mock) ("python-tornado" ,python-tornado))) (propagated-inputs - `(;; extra packages for https security + `(;; These 5 inputs are used to build urrlib3[secure] ("python-certifi" ,python-certifi) - ("python-ndg-httpsclient" ,python-ndg-httpsclient) - ("python-pyasn1" ,python-pyasn1) + ("python-cryptography" ,python-cryptography) ; + ("python-idna" ,python-idna) + ("python-ipaddress" ,python-ipaddress) ("python-pyopenssl" ,python-pyopenssl))) (home-page "https://urllib3.readthedocs.org/") (synopsis "HTTP library with thread-safe connection pooling") From b84ef9e2246024ca0fbec34d0fb0cc39901f674f Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Sun, 10 Sep 2017 02:13:05 +0200 Subject: [PATCH 066/287] gnu: Add python-tqdm. * gnu/packages/python.scm (python-tqdm, python2-tqdm): New variables. --- gnu/packages/python.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 755fd59294..98fa998042 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -16352,3 +16352,32 @@ ignoring formatting changes.") (define-public python2-nose-timer (package-with-python2 python-nose-timer)) + +(define-public python-tqdm + (package + (name "python-tqdm") + (version "4.15.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "tqdm" version)) + (sha256 + (base32 + "0lwrmby8qz23gvqwkpivfrv4q8nfh90cz9ml6slwvwmcxxsdrhbf")))) + (build-system python-build-system) + (native-inputs + `(("python-flake8" ,python-flake8) + ("python-nose" ,python-nose) + ("python-nose-timer" ,python-nose-timer) + ("python-coverage" ,python-coverage) + ("python-virtualenv" ,python-virtualenv))) + (home-page "https://github.com/tqdm/tqdm") + (synopsis "Fast, extensible progress meter") + (description + "Make loops show a progress bar on the console by just wrapping any +iterable with @code{|tqdm(iterable)|}. Offers many options to define +design and layout.") + (license (list license:mpl2.0 license:expat)))) + +(define-public python2-tqdm + (package-with-python2 python-tqdm)) From 78f46e65bd1433009bd974b9d150e5675e5a7201 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Sun, 10 Sep 2017 02:47:15 +0200 Subject: [PATCH 067/287] gnu: Add python-pkginfo. * gnu/packages/python.scm (python-pkginfo, python2-pkginfo): New variables. --- gnu/packages/python.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 98fa998042..952af29052 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -16381,3 +16381,33 @@ design and layout.") (define-public python2-tqdm (package-with-python2 python-tqdm)) + +(define-public python-pkginfo + (package + (name "python-pkginfo") + (version "1.4.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pkginfo" version)) + (sha256 + (base32 + "17pqjfpq3c6xzdmk8pski6jcjgjv78q00zjf2bgzb668pzm6l6mv")))) + (build-system python-build-system) + (arguments + ;; The tests are broken upstream. + '(#:tests? #f)) + (home-page + "https://code.launchpad.net/~tseaver/pkginfo/trunk") + (synopsis + "Query metadatdata from sdists, bdists, and installed packages") + (description + "API to query the distutils metadata written in @file{PKG-INFO} inside a +source distriubtion (an sdist) or a binary distribution (e.g., created by +running bdist_egg). It can also query the EGG-INFO directory of an installed +distribution, and the *.egg-info stored in a \"development checkout\" (e.g, +created by running @code{python setup.py develop}).") + (license license:expat))) + +(define-public python2-pkginfo + (package-with-python2 python-pkginfo)) From 3ef85c1118e19a66d76f21de67beca6f93c920c3 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Sun, 10 Sep 2017 03:02:50 +0200 Subject: [PATCH 068/287] gnu: Add python-twine. * gnu/packages/python.scm (python-twine, python2-twine): New variables. --- gnu/packages/python.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 952af29052..6ffd468b3e 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -16411,3 +16411,31 @@ created by running @code{python setup.py develop}).") (define-public python2-pkginfo (package-with-python2 python-pkginfo)) + +(define-public python-twine + (package + (name "python-twine") + (version "1.9.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "twine" version)) + (sha256 + (base32 + "1ay1b6kdq6k4bfbjsvf6ymj41wrgpvinhxndb09355pwhxwmp96a")))) + (build-system python-build-system) + (propagated-inputs + `(("python-tqdm" ,python-tqdm) + ("python-pkginfo", python-pkginfo) + ("python-requests" ,python-requests) + ("python-requests-toolbelt" ,python-requests-toolbelt))) + (home-page "https://github.com/pypa/twine") + (synopsis "Collection of utilities for interacting with PyPI") + (description + "@code{twine} currently supports registering projects and uploading +distributions. It authenticates the user over HTTPS, allows them to pre-sign +their files and supports any packaging format (including wheels).") + (license license:asl2.0))) + +(define-public python2-twine + (package-with-python2 python-twine)) From 61ce0998e00db2099fa060f1508bc764b8520fe1 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Fri, 29 Sep 2017 12:53:14 +0200 Subject: [PATCH 069/287] gnu: Add virtuoso-ose. * gnu/packages/databases.scm (virtuoso-ose): New variable. --- gnu/packages/databases.scm | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index bd1c9e55e2..e119b01f5e 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2015 Leo Famulari ;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2016, 2017 ng0 -;;; Copyright © 2016 Roel Janssen +;;; Copyright © 2016, 2017 Roel Janssen ;;; Copyright © 2016 David Craven ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2016 Andy Patterson @@ -1717,3 +1717,28 @@ implementation for Python.") (define-public python2-orator (package-with-python2 (strip-python2-variant python-orator))) + +(define-public virtuoso-ose + (package + (name "virtuoso-ose") + (version "7.2.4.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/openlink/virtuoso-opensource/releases/" + "download/v" version "/virtuoso-opensource-" version ".tar.gz")) + (sha256 + (base32 "12dqam1gc1v93l0bj0vlpvjqppki6y1hqrlznywxnw0rrz9pb002")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f)) ; Tests require a network connection. + (inputs + `(("openssl" ,openssl) + ("net-tools" ,net-tools))) + (home-page "http://vos.openlinksw.com/owiki/wiki/VOS/") + (synopsis "Multi-model database system") + (description "Virtuoso is a scalable cross-platform server that combines +relational, graph, and document data management with web application server +and web services platform functionality.") + (license license:gpl2))) From 1ba940b58bea7f5d1c526b6ea3ed3c9fb39c6286 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 3 Oct 2017 10:10:54 -0400 Subject: [PATCH 070/287] gnu: vdirsyncer: Update to 0.16.3. * gnu/packages/dav.scm (vdirsyncer): Update to 0.16.3. [native-inputs]: Add python-urllib3. --- gnu/packages/dav.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm index 6c466977d2..5a780b9148 100644 --- a/gnu/packages/dav.scm +++ b/gnu/packages/dav.scm @@ -55,13 +55,13 @@ clients.") (define-public vdirsyncer (package (name "vdirsyncer") - (version "0.16.2") + (version "0.16.3") (source (origin (method url-fetch) (uri (pypi-uri name version)) (sha256 (base32 - "19xqzxcgmpm2z56l2d4a1n4sqmhrnzfwx3d9avfzgldwyhlrz0da")))) + "0dpwbfi97ksijqng191659m8k0v215y8ld95w8gb126m4m96qpzw")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -89,6 +89,7 @@ clients.") ("python-pytest" ,python-pytest) ("python-pytest-localserver" ,python-pytest-localserver) ("python-pytest-subtesthack" ,python-pytest-subtesthack) + ("python-urllib3" ,python-urllib3) ("python-wsgi-intercept" ,python-wsgi-intercept) ("radicale" ,radicale))) (propagated-inputs From df71c88c3a3600cc8e58c3343e48e46ccccc531e Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 2 Oct 2017 17:52:34 -0400 Subject: [PATCH 071/287] gnu: Add pulsemixer. * gnu/packages/pulseaudio.scm (pulsemixer): New variable. --- gnu/packages/pulseaudio.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index 846c174fa7..a2ba4613cc 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -27,6 +27,7 @@ #:use-module (guix download) #:use-module ((guix licenses) #:prefix l:) #:use-module (guix build-system gnu) + #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) @@ -259,3 +260,33 @@ easily control the volume of all clients, sinks, etc.") command-line interface. In addition, it is possible to use named sources and sinks.") (license l:expat))) + +(define-public pulsemixer + (package + (name "pulsemixer") + (version "1.3.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/GeorgeFilipkin/" + "pulsemixer/archive/" version ".tar.gz")) + (sha256 + (base32 + "03c94313fhxd5sbkl2ajzb2gmmm4hpv7m5rkbxmahwg9s8ih824r")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-path + (lambda* (#:key inputs #:allow-other-keys) + (let ((pulse (assoc-ref inputs "pulseaudio"))) + (substitute* "pulsemixer" + (("libpulse.so.0") + (string-append pulse "/lib/libpulse.so.0"))) + #t)))))) + (inputs + `(("pulseaudio" ,pulseaudio))) + (home-page "https://github.com/GeorgeFilipkin/pulsemixer/") + (synopsis "Command-line and curses mixer for PulseAudio") + (description "Pulsemixer is a PulseAudio mixer with command-line and +curses-style interfaces.") + (license l:expat))) From e797e94bf5298ed03a6677055d87bb6a9662d0d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 3 Oct 2017 14:48:09 +0200 Subject: [PATCH 072/287] doc: Explain why synopses/descriptions must be literal strings. Suggested by Dave Love . * doc/guix.texi (Synopses and Descriptions): Recommend literal strings. --- doc/guix.texi | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index c57c0bab63..9e301d0072 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -19147,6 +19147,18 @@ Translation Project} so that as many users as possible can read them in their native language. User interfaces search them and display them in the language specified by the current locale. +To allow @command{xgettext} to extract them as translatable strings, +synopses and descriptions @emph{must be literal strings}. This means +that you cannot use @code{string-append} or @code{format} to construct +these strings: + +@lisp +(package + ;; @dots{} + (synopsis "This is translatable") + (description (string-append "This is " "*not*" " translatable."))) +@end lisp + Translation is a lot of work so, as a packager, please pay even more attention to your synopses and descriptions as every change may entail additional work for translators. In order to help them, it is possible From 032a2760eef6dc64fa36f2fb3a211b755d5124bb Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Tue, 3 Oct 2017 10:36:35 +0300 Subject: [PATCH 073/287] gnu: services: Add cgit. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/services/version-control.scm (, ): New record types. (cgit-configuration-robots-string, cgit-activation, cgit-configuration-nginx-config): New procedures. (%cgit-configuration-nginx, cgit-service-type): New variables. * gnu/tests/version-control.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Version Control): Document the cgit service. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 65 ++++++++++++ gnu/local.mk | 1 + gnu/services/version-control.scm | 119 ++++++++++++++++++++- gnu/tests/version-control.scm | 176 +++++++++++++++++++++++++++++++ 4 files changed, 360 insertions(+), 1 deletion(-) create mode 100644 gnu/tests/version-control.scm diff --git a/doc/guix.texi b/doc/guix.texi index 9e301d0072..b9d127c47c 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -17000,6 +17000,71 @@ Extra options will be passed to @code{git daemon}, please run @end table @end deftp +@subsubheading Cgit Service + +@cindex Cgit service +@cindex Git, web interface +@uref{https://git.zx2c4.com/cgit/, Cgit} is a web frontend for Git +repositories written in C. + +The following example will configure the service with default values. +By default, Cgit can be accessed on port 80 (@code{http://localhost:80}). + +@example +(service nginx-service-type) +(service fcgiwrap-service-type) +(service cgit-service-type) +@end example + +@deftp {Data Type} cgit-configuration +Data type representing the configuration of Cgit. +This type has the following parameters: + +@table @asis +@item @code{config-file} (default: @code{(cgit-configuration-file)}) +The configuration file to use for Cgit. This can be set to a +@dfn{cgit-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 cgit-service-type + (cgit-configuration + (config-file (local-file "./my-cgitrc.conf")))) +@end example + +@item @code{package} (default: @code{cgit}) +The Cgit package to use. + +@end table +@end deftp + +@deftp {Data Type} cgit-configuration-file +Data type representing the configuration options for Cgit. +This type has the following parameters: + +@table @asis +@item @code{css} (default: @code{"/share/cgit/cgit.css"}) +URL which specifies the css document to include in all Cgit pages. + +@item @code{logo} (default: @code{"/share/cgit/cgit.png"}) +URL which specifies the source of an image which will be used as a logo +on all Cgit pages. + +@item @code{virtual-root} (default: @code{"/"}) +URL which, if specified, will be used as root for all Cgit links. + +@item @code{repository-directory} (default: @code{"/srv/git"}) +Name of the directory to scan for repositories. + +@item @code{robots} (default: @code{(list "noindex" "nofollow")}) +Text used as content for the ``robots'' meta-tag. + +@end table +@end deftp + @node Setuid Programs @subsection Setuid Programs diff --git a/gnu/local.mk b/gnu/local.mk index edd6d8237e..cceada5ae6 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -501,6 +501,7 @@ GNU_SYSTEM_MODULES = \ %D%/tests/networking.scm \ %D%/tests/rsync.scm \ %D%/tests/ssh.scm \ + %D%/tests/version-control.scm \ %D%/tests/virtualization.scm \ %D%/tests/web.scm diff --git a/gnu/services/version-control.scm b/gnu/services/version-control.scm index 107bc8e77a..e39f4411fd 100644 --- a/gnu/services/version-control.scm +++ b/gnu/services/version-control.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 ng0 ;;; Copyright © 2016 Sou Bunnbu +;;; Copyright © 2017 Oleg Pykhalov ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,18 +22,40 @@ #:use-module (gnu services) #:use-module (gnu services base) #:use-module (gnu services shepherd) + #:use-module (gnu services web) #:use-module (gnu system shadow) #:use-module (gnu packages version-control) #:use-module (gnu packages admin) #:use-module (guix records) #:use-module (guix gexp) + #:use-module (guix store) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (ice-9 match) #:export (git-daemon-service git-daemon-service-type git-daemon-configuration - git-daemon-configuration?)) + git-daemon-configuration? + + + cgit-configuration-file + cgit-configuration-file? + cgit-configuration-file-css + cgit-configuration-file-logo + cgit-configuration-file-robots + cgit-configuration-file-virtual-root + cgit-configuration-file-repository-directory + + + cgit-configuration + cgit-configuration? + cgit-configuration-config-file + cgit-configuration-package + + %cgit-configuration-nginx + cgit-configuration-nginx-config + + cgit-service-type)) ;;; Commentary: ;;; @@ -139,3 +162,97 @@ The optional @var{config} argument should be a @code{} object, by default it allows read-only access to exported repositories under @file{/srv/git}." (service git-daemon-service-type config)) + + +;;; +;;; Cgit +;;; + +(define-record-type* + cgit-configuration-file + make-cgit-configuration-file + cgit-configuration-file? + (css cgit-configuration-file-css ; string + (default "/share/cgit/cgit.css")) + (logo cgit-configuration-file-logo ; string + (default "/share/cgit/cgit.png")) + (robots cgit-configuration-file-robots ; list + (default '("noindex" "nofollow"))) + (virtual-root cgit-configuration-file-virtual-root ; string + (default "/")) + (repository-directory cgit-configuration-file-repository-directory ; string + (default "/srv/git"))) + +(define (cgit-configuration-robots-string robots) + (string-join robots ", ")) + +(define-gexp-compiler (cgit-configuration-file-compiler + (file ) system target) + (match file + (($ css logo + robots virtual-root repository-directory) + (apply text-file* "cgitrc" + (letrec-syntax ((option (syntax-rules () + ((_ key value) + (if value + `(,key "=" ,value "\n") + '())))) + (key/value (syntax-rules () + ((_ (key value) rest ...) + (append (option key value) + (key/value rest ...))) + ((_) + '())))) + (key/value ("css" css) + ("logo" logo) + ("robots" (cgit-configuration-robots-string robots)) + ("virtual-root" virtual-root) + ("scan-path" repository-directory))))))) + +(define %cgit-configuration-nginx + (list + (nginx-server-configuration + (root cgit) + (locations + (list + (nginx-location-configuration + (uri "@cgit") + (body '("fastcgi_param SCRIPT_FILENAME $document_root/lib/cgit/cgit.cgi;" + "fastcgi_param PATH_INFO $uri;" + "fastcgi_param QUERY_STRING $args;" + "fastcgi_param HTTP_HOST $server_name;" + "fastcgi_pass 127.0.0.1:9000;"))))) + (try-files (list "$uri" "@cgit")) + (https-port #f) + (ssl-certificate #f) + (ssl-certificate-key #f)))) + +(define-record-type* + cgit-configuration make-cgit-configuration + cgit-configuration? + (config-file cgit-configuration-config-file + (default (cgit-configuration-file))) + (package cgit-configuration-package + (default cgit)) + (nginx cgit-configuration-nginx + (default %cgit-configuration-nginx))) + +(define (cgit-activation config) + ;; Cgit compiled with default configuration path + #~(begin + (use-modules (guix build utils)) + (mkdir-p "/var/cache/cgit") + (copy-file #$(cgit-configuration-config-file config) "/etc/cgitrc"))) + +(define (cgit-configuration-nginx-config config) + (cgit-configuration-nginx config)) + +(define cgit-service-type + (service-type + (name 'cgit) + (extensions + (list (service-extension activation-service-type + cgit-activation) + (service-extension nginx-service-type + cgit-configuration-nginx-config))) + (default-value (cgit-configuration)))) diff --git a/gnu/tests/version-control.scm b/gnu/tests/version-control.scm new file mode 100644 index 0000000000..5a3937cfed --- /dev/null +++ b/gnu/tests/version-control.scm @@ -0,0 +1,176 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2017 Oleg Pykhalov +;;; Copyright © 2017 Ludovic Courtès +;;; +;;; 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 version-control) + #: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 version-control) + #:use-module (gnu services web) + #:use-module (gnu services networking) + #:use-module (gnu packages version-control) + #:use-module (guix gexp) + #:use-module (guix store) + #:export (%test-cgit)) + +(define %make-git-repository + ;; Create Git repository in /srv/git/test. + #~(begin + (mkdir-p "/srv/git/test") + (system* (string-append #$git "/bin/git") "-C" "/srv/git/test" + "init" "--bare"))) + +(define %cgit-configuration-nginx + (list + (nginx-server-configuration + (root cgit) + (locations + (list + (nginx-location-configuration + (uri "@cgit") + (body '("fastcgi_param SCRIPT_FILENAME $document_root/lib/cgit/cgit.cgi;" + "fastcgi_param PATH_INFO $uri;" + "fastcgi_param QUERY_STRING $args;" + "fastcgi_param HTTP_HOST $server_name;" + "fastcgi_pass 127.0.0.1:9000;"))))) + (try-files (list "$uri" "@cgit")) + (http-port 19418) + (https-port #f) + (ssl-certificate #f) + (ssl-certificate-key #f)))) + +(define %cgit-os + ;; Operating system under test. + (let ((base-os + (simple-operating-system + (dhcp-client-service) + (service nginx-service-type) + (service fcgiwrap-service-type) + (service cgit-service-type + (cgit-configuration + (nginx %cgit-configuration-nginx))) + (simple-service 'make-git-repository activation-service-type + %make-git-repository)))) + (operating-system + (inherit base-os) + (packages (cons* git + (operating-system-packages base-os)))))) + +(define* (run-cgit-test #:optional (http-port 19418)) + "Run tests in %CGIT-OS, which has nginx running and listening on +HTTP-PORT." + (define os + (marionette-operating-system + %cgit-os + #:imported-modules '((gnu services herd) + (guix combinators)))) + + (define vm + (virtual-machine + (operating-system os) + (port-forwardings `((8080 . ,http-port))))) + + (define test + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (srfi srfi-11) (srfi srfi-64) + (gnu build marionette) + (web uri) + (web client) + (web response)) + + (define marionette + (make-marionette (list #$vm))) + + (mkdir #$output) + (chdir #$output) + + (test-begin "cgit") + + ;; Wait for nginx to be up and running. + (test-eq "service running" + 'running! + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (start-service 'nginx) + 'running!) + marionette)) + + ;; Wait for fcgiwrap to be up and running. + (test-eq "service running" + 'running! + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (start-service 'fcgiwrap) + 'running!) + marionette)) + + ;; Make sure the PID file is created. + (test-assert "PID file" + (marionette-eval + '(file-exists? "/var/run/nginx/pid") + marionette)) + + ;; Make sure the configuration file is created. + (test-assert "configuration file" + (marionette-eval + '(file-exists? "/etc/cgitrc") + marionette)) + + ;; Make sure Git test repository is created. + (test-assert "Git test repository" + (marionette-eval + '(file-exists? "/srv/git/test") + marionette)) + + ;; Make sure we can access pages that correspond to our repository. + (letrec-syntax ((test-url + (syntax-rules () + ((_ path code) + (test-equal (string-append "GET " path) + code + (let-values (((response body) + (http-get (string-append + "http://localhost:8080" + path)))) + (response-code response)))) + ((_ path) + (test-url path 200))))) + (test-url "/") + (test-url "/test") + (test-url "/test/log") + (test-url "/test/tree") + (test-url "/test/does-not-exist" 404) + (test-url "/does-not-exist" 404)) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (gexp->derivation "cgit-test" test)) + +(define %test-cgit + (system-test + (name "cgit") + (description "Connect to a running Cgit server.") + (value (run-cgit-test)))) From d109b1e85c5c1438e66dfc05ea4a018418edaf19 Mon Sep 17 00:00:00 2001 From: Theodoros Foradis Date: Fri, 29 Sep 2017 13:36:20 +0300 Subject: [PATCH 074/287] Update e-mail for Theodoros Foradis. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * .mailmap: Add entry. * gnu/packages/aspell.scm: Replace theodoros.for@openmailbox.org with current address. * gnu/packages/compression.scm: Likewise. * gnu/packages/electronics.scm: Likewise. * gnu/packages/engineering.scm: Likewise. * gnu/packages/fpga.scm: Likewise. * gnu/packages/graphviz.scm: Likewise. * gnu/packages/guile.scm: Likewise. * gnu/packages/libusb.scm: Likewise. * gnu/packages/maths.scm: Likewise. * gnu/packages/messaging.scm: Likewise. * gnu/packages/uml.scm: Likewise. * gnu/packages/wxwidgets.scm: Likewise. Signed-off-by: Ludovic Courtès --- .mailmap | 1 + gnu/packages/aspell.scm | 2 +- gnu/packages/compression.scm | 2 +- gnu/packages/electronics.scm | 2 +- gnu/packages/engineering.scm | 2 +- gnu/packages/fpga.scm | 2 +- gnu/packages/graphviz.scm | 2 +- gnu/packages/guile.scm | 2 +- gnu/packages/libusb.scm | 2 +- gnu/packages/maths.scm | 2 +- gnu/packages/messaging.scm | 2 +- gnu/packages/uml.scm | 2 +- gnu/packages/wxwidgets.scm | 2 +- 13 files changed, 13 insertions(+), 12 deletions(-) diff --git a/.mailmap b/.mailmap index 8ff87ed24d..49c266bf72 100644 --- a/.mailmap +++ b/.mailmap @@ -65,6 +65,7 @@ Sou Bunnbu (宋文武) Sou Bunnbu (宋文武) Stefan Reichör Taylan Ulrich Bayırlı/Kammer +Theodoros Foradis Thomas Danckaert Tobias Geerinckx-Rice Tomáš Čech diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 3469c7a3ec..c97d32260b 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016 John Darrington ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Christopher Andersson -;;; Copyright © 2016 Theodoros Foradis +;;; Copyright © 2016 Theodoros Foradis ;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 7eeeaf362d..b7f39a0772 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -16,7 +16,7 @@ ;;; Copyright © 2016 Marius Bakke ;;; Copyright © 2017 ng0 ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis -;;; Copyright © 2017 Theodoros Foradis +;;; Copyright © 2017 Theodoros Foradis ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm index 91209376cd..60dfa509aa 100644 --- a/gnu/packages/electronics.scm +++ b/gnu/packages/electronics.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017 Theodoros Foradis +;;; Copyright © 2017 Theodoros Foradis ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 0356fbfe9e..bff3d96452 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 David Thompson ;;; Copyright © 2016, 2017 Ludovic Courtès -;;; Copyright © 2016, 2017 Theodoros Foradis +;;; Copyright © 2016, 2017 Theodoros Foradis ;;; Copyright © 2017 Julien Lepiller ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm index 2208775772..f3dc805e36 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, 2017 Theodoros Foradis +;;; Copyright © 2016, 2017 Theodoros Foradis ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm index d47d45e527..4adbfa2890 100644 --- a/gnu/packages/graphviz.scm +++ b/gnu/packages/graphviz.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2015 Ludovic Courtès ;;; Copyright © 2015 Efraim Flashner -;;; Copyright © 2016 Theodoros Foradis +;;; Copyright © 2016 Theodoros Foradis ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 0bcc524ed7..65d252617b 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2017 Andy Wingo ;;; Copyright © 2017 David Thompson ;;; Copyright © 2017 Mathieu Othacehe -;;; Copyright © 2017 Theodoros Foradis +;;; Copyright © 2017 Theodoros Foradis ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index f1d75220a9..875d50a4ff 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015 Andy Wingo ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus ;;; Copyright © 2016 Efraim Flashner -;;; Copyright © 2016 Theodoros Foradis +;;; Copyright © 2016 Theodoros Foradis ;;; Copyright © 2017 Jonathan Brielmaier ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index f326f6af72..9aa037838b 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -18,7 +18,7 @@ ;;; Copyright © 2017 Paul Garlick ;;; Copyright © 2017 ng0 ;;; Copyright © 2017 Ben Woodcroft -;;; Copyright © 2017 Theodoros Foradis +;;; Copyright © 2017 Theodoros Foradis ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 8e4b43aaf4..4aa8f25fd1 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2017 Mekeor Melire ;;; Copyright © 2017 Arun Isaac ;;; Copyright © 2017 Tobias Geerinckx-Rice -;;; Copyright © 2017 Theodoros Foradis +;;; Copyright © 2017 Theodoros Foradis ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/uml.scm b/gnu/packages/uml.scm index 8f6e1d8a5e..d598ac04c7 100644 --- a/gnu/packages/uml.scm +++ b/gnu/packages/uml.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016 Theodoros Foradis +;;; Copyright © 2016 Theodoros Foradis ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm index 30a963728a..4804e345c2 100644 --- a/gnu/packages/wxwidgets.scm +++ b/gnu/packages/wxwidgets.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2016 Ricardo Wurmus -;;; Copyright © 2016 Theodoros Foradis +;;; Copyright © 2016 Theodoros Foradis ;;; Copyright © 2016 Danny Milosavljevic ;;; Copyright © 2017 Rene Saavedra ;;; Copyright © 2017 Efraim Flashner From 0ad03eae380f5d3fda4018c07c338727a8943fda Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 29 Sep 2017 09:17:03 -0400 Subject: [PATCH 075/287] gnu: android: Add android-udev-rules package. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/android.scm (android-udev-rules): Add package. Signed-off-by: Ludovic Courtès --- gnu/packages/android.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm index be3f50add2..d9be335be0 100644 --- a/gnu/packages/android.scm +++ b/gnu/packages/android.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016 Marius Bakke ;;; Copyright © 2017 Julien Lepiller ;;; Copyright © 2017 Hartmut Goebel +;;; Copyright © 2017 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,6 +26,7 @@ #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix build-system python) + #:use-module (guix build-system trivial) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages gnupg) @@ -305,6 +307,42 @@ of device actions, such as installing and debugging apps, and it provides access to a Unix shell that can run commands on the connected device or emulator.") (license license:asl2.0))) +(define-public android-udev-rules + (package + (name "android-udev-rules") + (version "20170910") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/M0Rf30/android-udev-rules") + (commit version))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 "0vic40n3si0dxag3dyc3hi3pn7cjpm5q378x8v2ys19n3iz9fp1g")))) + (build-system trivial-build-system) + (native-inputs `(("source" ,source))) + (arguments + '(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((source (assoc-ref %build-inputs "source"))) + (install-file (string-append source "/51-android.rules") + (string-append %output "/lib/udev/rules.d")))))) + (home-page "https://github.com/M0Rf30/android-udev-rules") + (synopsis "udev rules for Android devices") + (description "Provides a set of udev rules to allow using Android devices +with tools such as @command{adb} and @command{fastboot} without root +privileges. This package is intended to be added as a rule to the +@code{udev-service-type} in your @code{operating-system} configuration. +Additionally, an @code{adbusers} group must be defined and your user added to +it. + +@emph{Simply installing this package will not have any effect.} It is meant +to be passed to the @code{udev} service.") + (license license:gpl3+))) + (define-public git-repo (package (name "git-repo") From 65d98906b87ce03e9e991fc3f336e5d62f0571a4 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Mon, 2 Oct 2017 07:38:09 +0300 Subject: [PATCH 076/287] gnu: cflow: Fix preprocess option. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/code.scm (cflow)[arguments]: New field. Signed-off-by: Ludovic Courtès --- gnu/packages/code.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 6e04739f62..859dfd0ca7 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -58,7 +58,11 @@ ;; Needed to have cflow-mode.el installed. (native-inputs `(("emacs" ,emacs-minimal))) - + (arguments + '(#:configure-flags (list (string-append "CPPFLAGS=" + "-D" "CFLOW_PREPROC=\\\"" + (assoc-ref %build-inputs "gcc") + "/bin/cpp\\\"")))) (home-page "https://www.gnu.org/software/cflow/") (synopsis "Create a graph of control flow within a program") (description From 6a3af24f062350751ab70ba21bdcf8792b6624d6 Mon Sep 17 00:00:00 2001 From: Dave Love Date: Mon, 2 Oct 2017 21:48:43 +0100 Subject: [PATCH 077/287] gnu: Add papi. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/profiling.scm: New file. * gnu/local.mk: Add it. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/profiling.scm | 126 +++++++++++++++++++++++++++++++++++++ 2 files changed, 127 insertions(+) create mode 100644 gnu/packages/profiling.scm diff --git a/gnu/local.mk b/gnu/local.mk index cceada5ae6..d5fb935e33 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -326,6 +326,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/plotutils.scm \ %D%/packages/polkit.scm \ %D%/packages/popt.scm \ + %D%/packages/profiling.scm \ %D%/packages/pth.scm \ %D%/packages/pulseaudio.scm \ %D%/packages/pumpio.scm \ diff --git a/gnu/packages/profiling.scm b/gnu/packages/profiling.scm new file mode 100644 index 0000000000..6d62aa2609 --- /dev/null +++ b/gnu/packages/profiling.scm @@ -0,0 +1,126 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2017 Dave Love +;;; +;;; 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 packages profiling) + #:use-module (guix packages) + #:use-module ((guix licenses) #:prefix license:) ; avoid zlib, expat clashes + #:use-module (guix download) + #:use-module (guix utils) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) ;for "which" + #:use-module (gnu packages fabric-management) + #:use-module (gnu packages gcc) + #:use-module (gnu packages libunwind) + #:use-module (gnu packages linux) + #:use-module (gnu packages ncurses)) + +;; Fixme: Separate out lib and fix resulting cycle errors; separate libpfm +;; output(?); build libmsr and add that component. +(define-public papi + (package + (name "papi") + (version "5.5.1") + (source + (origin + (method url-fetch) + (uri (string-append "http://icl.utk.edu/projects/papi/downloads/papi-" + version ".tar.gz")) + (sha256 (base32 "1m62s8fkjjgq04ayf18jcxc33rqfd7nrkdw1gr54q5pn4cijrp29")))) + (build-system gnu-build-system) + (inputs + `(("ncurses" ,ncurses) + ("lm-sensors" ,lm-sensors "lib") + ("rdma-core" ,rdma-core) + ("infiniband-diags" ,infiniband-diags "lib") + ("net-tools" ,net-tools))) + (native-inputs + `(("autoconf" ,autoconf) + ("gfortran" ,gfortran))) + (arguments + '(#:tests? #f ; no check target + #:configure-flags + ;; These are roughly per Fedora, but elide mx (assumed to be dead, even + ;; Open-MX) and add and powercap -- I don't know the pros/cons of + ;; infiniband and infiniband_mad, but you can't use them together, and + ;; the umad version needs at least one patch. + ;; Implicit enabled components: perf_event perf_event_uncore + `("--with-perf-events" "--with-shared-lib=yes" "--with-shlib" + "--with-static-lib=no" + "--with-components=appio coretemp example lustre micpower net rapl \ +stealtime lmsensors infiniband powercap" + ;; So utils get rpath set correctly: + ,(string-append "LDFLAGS=-Xlinker -rpath -Xlinker " + (assoc-ref %outputs "out") "/lib")) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'autoconf + (lambda _ + (chdir "src") + (zero? (system* "autoconf")))) + ;; Amalgamating with the following clause gives double substitution. + (add-before 'patch-source-shebangs 'patch-components + (lambda _ + (with-directory-excursion "src/components" + (substitute* '("lmsensors/configure" "infiniband_umad/configure") + (("/bin/sh") (which "sh")))) + #t)) + (add-after 'configure 'components + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "components" + (and + (with-directory-excursion "infiniband_umad" + (zero? (system* "./configure"))) + (with-directory-excursion "lmsensors" + (let ((base (assoc-ref inputs "lm-sensors"))) + (zero? + (system* + "./configure" + (string-append "--with-sensors_incdir=" base + "/include/sensors") + (string-append "--with-sensors_libdir=" base "/lib"))))))))) + (add-after 'install 'extra-doc + (lambda* (#:key outputs #:allow-other-keys) + (let ((doc (string-append (assoc-ref outputs "out") + "/share/doc"))) + (mkdir-p doc) + (chdir "..") ; we went into src above + (for-each (lambda (file) + (install-file file doc)) + '("README" "RELEASENOTES.txt" "LICENSE.txt")) + #t)))))) + (home-page "http://icl.cs.utk.edu/papi/") + (synopsis "Performance Application Programming Interface") + (description + "PAPI provides the tool designer and application engineer with a consistent +interface and methodology for use of the performance counter hardware found in +most major microprocessors. PAPI enables software engineers to see, in near +real time, the relation between software performance and processor events. + +In addition, PAPI provides access to a collection of components that expose +performance measurement opportunites across the hardware and software stack.") + ;; See Debian papi copyright file. + (license (list license:bsd-3 + license:lgpl2.1+ ;src/components/infiniband/pscanf.h + ;; not used in output + license:gpl2+ ;src/components/appio/tests/iozone/gengnuplot.sh + ;src/libpfm-3.y/*/multiplex* + ;; "BSD-like": src/libpfm-3.y/*, src/libpfm4/* + ;; lgpl2.1+: src/perfctr-2.*/* + )))) From a6121c0a3e75013a463d8e81c8e9fb999650e01b Mon Sep 17 00:00:00 2001 From: Dave Love Date: Mon, 2 Oct 2017 21:48:44 +0100 Subject: [PATCH 078/287] gnu: Add otf2. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/profiling.scm (otf2): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/profiling.scm | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/gnu/packages/profiling.scm b/gnu/packages/profiling.scm index 6d62aa2609..7c0ab6e95e 100644 --- a/gnu/packages/profiling.scm +++ b/gnu/packages/profiling.scm @@ -29,7 +29,8 @@ #:use-module (gnu packages gcc) #:use-module (gnu packages libunwind) #:use-module (gnu packages linux) - #:use-module (gnu packages ncurses)) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages python)) ;; Fixme: Separate out lib and fix resulting cycle errors; separate libpfm ;; output(?); build libmsr and add that component. @@ -124,3 +125,37 @@ performance measurement opportunites across the hardware and software stack.") ;; "BSD-like": src/libpfm-3.y/*, src/libpfm4/* ;; lgpl2.1+: src/perfctr-2.*/* )))) + +;; NB. there's a potential name clash with libotf. +(define-public otf2 + (package + (name "otf2") + (version "2.1") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.vi-hps.org/upload/packages/otf2/otf2-" + version ".tar.gz")) + (sha256 (base32 "1lyaqhdfaqm1kd23yk71g71vkscw83s7m57j017y768h8sh8xlwa")))) + (native-inputs `(("python" ,python))) + (outputs '("doc" ; 18MB + "lib" + "out")) + (build-system gnu-build-system) + (arguments + `(#:configure-flags '("--enable-shared" "--disable-static") + #:phases + (modify-phases %standard-phases + (add-after 'install 'licence + (lambda* (#:key outputs #:allow-other-keys) + (for-each (lambda (output) + (let ((doc (string-append (assoc-ref outputs output) + "/share/doc/otf2"))) + (install-file "COPYING" doc))) + '("lib" "doc")) + #t))))) + (home-page "http://www.vi-hps.org/projects/score-p/") + (synopsis "Open Trace Format 2 library") + (description "The Open Trace Format 2 (OTF2) is a scalable, memory +efficient event trace data format plus support library.") + (license license:bsd-3))) From 3c8d1f9492f3c71eb1d0d75b653ef723e787925e Mon Sep 17 00:00:00 2001 From: Dave Love Date: Mon, 2 Oct 2017 21:48:46 +0100 Subject: [PATCH 079/287] gnu: Add opari2. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/profiling.scm (opari2): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/profiling.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/profiling.scm b/gnu/packages/profiling.scm index 7c0ab6e95e..9a2f2a6642 100644 --- a/gnu/packages/profiling.scm +++ b/gnu/packages/profiling.scm @@ -26,6 +26,7 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages base) ;for "which" #:use-module (gnu packages fabric-management) + #:use-module (gnu packages gawk) #:use-module (gnu packages gcc) #:use-module (gnu packages libunwind) #:use-module (gnu packages linux) @@ -159,3 +160,36 @@ performance measurement opportunites across the hardware and software stack.") (description "The Open Trace Format 2 (OTF2) is a scalable, memory efficient event trace data format plus support library.") (license license:bsd-3))) + +(define-public opari2 + (package + (name "opari2") + (version "2.0.2") + (source + (origin + (method url-fetch) + (uri (let* ((parts (string-split version #\.) ) + (major (car parts)) + (minor (cadr parts))) + (string-append "http://www.vi-hps.org/upload/packages/opari2/opari2-" + version ".tar.gz"))) + (sha256 (base32 "1ph8l5c646bm9l5vcn8rrbjvkyi7y8yvn2ny95r6kmlzs766g3q8")))) + (build-system gnu-build-system) + (inputs `(("gfortran" ,gfortran))) + (native-inputs `(("gawk" ,gawk) ;for tests + ("which" ,which))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'licence + (lambda* (#:key outputs #:allow-other-keys) + (let ((doc (string-append (assoc-ref outputs "out") + "/share/doc/opari2"))) + (install-file "COPYING" doc) + #t)))))) + (home-page "http://www.vi-hps.org/projects/score-p") + (synopsis "OpenMP runtime performance measurement instrumenter") + (description "OPARI2 is a source-to-source instrumentation tool for OpenMP +and hybrid codes. It surrounds OpenMP directives and runtime library calls +with calls to the POMP2 measurement interface.") + (license license:bsd-3))) From a66408f8c0aedce21802e73d3dddda30281e4ef6 Mon Sep 17 00:00:00 2001 From: Dave Love Date: Mon, 2 Oct 2017 21:48:45 +0100 Subject: [PATCH 080/287] gnu: Add cube. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/profiling.scm(cube): New variable. * gnu/packages/patches/cube-nocheck.patch: New file. * gnu/local.mk: Add it. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/patches/cube-nocheck.patch | 16 +++ gnu/packages/profiling.scm | 139 +++++++++++++++++++++++- 3 files changed, 155 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/cube-nocheck.patch diff --git a/gnu/local.mk b/gnu/local.mk index d5fb935e33..6d14f2a47c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -577,6 +577,7 @@ dist_patch_DATA = \ %D%/packages/patches/crda-optional-gcrypt.patch \ %D%/packages/patches/crossmap-allow-system-pysam.patch \ %D%/packages/patches/clucene-contribs-lib.patch \ + %D%/packages/patches/cube-nocheck.patch \ %D%/packages/patches/curl-bounds-check.patch \ %D%/packages/patches/cursynth-wave-rand.patch \ %D%/packages/patches/cvs-2017-12836.patch \ diff --git a/gnu/packages/patches/cube-nocheck.patch b/gnu/packages/patches/cube-nocheck.patch new file mode 100644 index 0000000000..576044e622 --- /dev/null +++ b/gnu/packages/patches/cube-nocheck.patch @@ -0,0 +1,16 @@ +Unconditionally disable network check for new versions (from Fedora). + +diff -u /home/dlove/rpmbuild/BUILD/cube-4.3.4/src/GUI-qt/display/VersionCheckWidget.cpp\~ /home/dlove/rpmbuild/BUILD/cube-4.3.4/src/GUI-qt/display/VersionCheckWidget.cpp +--- cube-4.3.4/src/GUI-qt/display/VersionCheckWidget.cpp~ 2016-04-03 00:05:37.942066948 +0100 ++++ cube-4.3.4/src/GUI-qt/display/VersionCheckWidget.cpp 2016-05-06 17:16:31.648143908 +0100 +@@ -52,7 +52,8 @@ + url = QUrl( UPDATE_CHECK_URL ); + download = NULL; + update_Available = false; +- bool no_http = env_str2bool( getenv( "CUBE_DISABLE_HTTP_DOCS" ) ); ++ // bool no_http = env_str2bool( getenv( "CUBE_DISABLE_HTTP_DOCS" ) ); ++ bool no_http = true; + if ( !no_http ) + { + updateDescription = tr( "Check for update is not performed yet." ); + diff --git a/gnu/packages/profiling.scm b/gnu/packages/profiling.scm index 9a2f2a6642..598633c3e5 100644 --- a/gnu/packages/profiling.scm +++ b/gnu/packages/profiling.scm @@ -25,13 +25,18 @@ #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages base) ;for "which" + #:use-module (gnu packages compression) + #:use-module (gnu packages documentation) #:use-module (gnu packages fabric-management) #:use-module (gnu packages gawk) #:use-module (gnu packages gcc) + #:use-module (gnu packages glib) #:use-module (gnu packages libunwind) #:use-module (gnu packages linux) #:use-module (gnu packages ncurses) - #:use-module (gnu packages python)) + #:use-module (gnu packages perl) + #:use-module (gnu packages python) + #:use-module (gnu packages qt)) ;; Fixme: Separate out lib and fix resulting cycle errors; separate libpfm ;; output(?); build libmsr and add that component. @@ -193,3 +198,135 @@ efficient event trace data format plus support library.") and hybrid codes. It surrounds OpenMP directives and runtime library calls with calls to the POMP2 measurement interface.") (license license:bsd-3))) + +(define-public cube + (package + (name "cube") + (version "4.3.5") + (source + (origin + (method url-fetch) + (uri (string-append + "http://apps.fz-juelich.de/scalasca/releases/cube/4.3/dist/cube-" + version ".tar.gz")) + (sha256 (base32 "04irflia4rfw02093w9nx7rr98r640y4q8hisjywvd4b7r3nzhhx")) + (patches (search-patches "cube-nocheck.patch")))) + (inputs `(("dbus" ,dbus) + ("zlib" ,zlib))) + (native-inputs `(("perl" ,perl) + ("qtbase" ,qtbase) ; native because of qmake + ("which" ,which))) + + ;; FIXME: The doc is 14MB, but adding a doc output results in a cycle. + (outputs '("out" ;"doc" + "lib")) + + (build-system gnu-build-system) + (arguments + `(#:configure-flags + `("--enable-shared" "--disable-static" "--disable-silent-rules" + ,(string-append "LDFLAGS=-L" (assoc-ref %outputs "lib") "/lib")) + #:parallel-tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'configure 'rpath + ;; Account for moving GUI stuff + (lambda* (#:key outputs #:allow-other-keys) + (let ((wl (string-append "-Wl,-rpath=" (assoc-ref outputs "out") + "/lib"))) + (substitute* "build-backend/Makefile" + (("^cube_LDFLAGS =") (string-append "cube_LDFLAGS = " wl)) + (("^libheatmap_plugin_la_LDFLAGS =") + (string-append "libheatmap_plugin_la_LDFLAGS = " wl)) + (("^libbarplot_plugin_la_LDFLAGS =") + (string-append "libbarplot_plugin_la_LDFLAGS = " wl))) + #t))) + (add-before 'install 'includes-cube + ;; It tries to install here before include exists. + (lambda* (#:key outputs #:allow-other-keys) + (let ((inc (string-append (assoc-ref outputs "lib") "/include"))) + (mkdir-p (string-append inc "/cube")) + (mkdir-p (string-append inc "/cubew")) + #t))) + (add-after 'install 'licence + (lambda* (#:key outputs #:allow-other-keys) + (let ((doc (string-append (assoc-ref outputs "lib") + "/share/doc/cube"))) + (install-file "COPYING" doc) + #t))) + ;; XXX: Commented due to cycle (see comment above.) + ;; (add-after 'install 'doc + ;; (lambda _ + ;; (let ((share (string-append (assoc-ref %outputs "doc") + ;; "/share"))) + ;; (mkdir-p share) + ;; (rename-file (string-append %output "/share/doc") + ;; (string-append share "/doc"))))) + (add-after 'install 'gui-stuff + ;; Get the Qt horror dependencies out of the lib closure + (lambda _ + (let ((outlib (string-append (assoc-ref %outputs "out") "/lib")) + (lib (string-append (assoc-ref %outputs "lib") "/lib"))) + (mkdir-p outlib) + (rename-file (string-append lib "/cube-plugins") + (string-append outlib "/cube-plugins")) + (for-each (lambda (file) + (rename-file + file (string-append outlib "/" (basename file)))) + (append (find-files lib "libgraphwidgetcommon-plugin\\..*") + (find-files lib "libcube4gui\\.so.*"))) + #t))) + (add-after 'install 'move-include + ;; Most of the headers end up under %output for some reason, + ;; despite --includedir in configure. + (lambda* (#:key outputs #:allow-other-keys) + (let ((outinc (string-append (assoc-ref outputs "out") + "/include")) + (libinc (string-append (assoc-ref outputs "lib") + "/include"))) + (for-each (lambda (file) + (let ((from (string-append outinc "/" file))) + (copy-recursively from libinc) + (delete-file-recursively from))) + '("cube" "cubew")) + #t))) + + ;; XXX: This doesn't work because cube-config, which is needed for + ;; building stuff, sources cube-config-frontend. We don't want that + ;; in the lib output because it pulls in >1GB via QT. + ;; + ;; (add-after 'install 'cube-config + ;; (lambda _ + ;; (let* ((lib (assoc-ref %outputs "lib")) + ;; (libbin (string-append lib "/bin"))) + ;; (mkdir-p libbin) + ;; (system (string-append "mv " (assoc-ref %outputs "out") + ;; "/bin/cube-config* " libbin)) + ;; (substitute* (list (string-append libbin "/cube-config")) + ;; (("^prefix=.*") (string-append "prefix=" lib)) + ;; (("^exec_prefix=\"\\$\\{prefix\\}\"") + ;; (string-append "exec_prefix=" lib)))))) + (add-after 'install 'cube-config + (lambda* (#:key outputs #:allow-other-keys) + (let* ((lib (assoc-ref outputs "lib")) + (libbin (string-append lib "/bin"))) + (mkdir-p libbin) + (install-file (string-append %output "/bin/cube-config") libbin) + (install-file (string-append %output "/bin/cube-config-backend") + libbin) + (substitute* (list (string-append libbin "/cube-config")) + (("^source .*frontend.*$") "") + (((assoc-ref outputs "out")) lib)) + #t)))))) + (home-page "http://www.scalasca.org/software/cube-4.x/download.html") + (synopsis "Performance report explorer for parallel programs") + (description + "CUBE (CUBE Uniform Behavioral Encoding) is a tool to display a variety +of performance metrics for parallel programs including MPI and OpenMP +applications. CUBE allows interactive exploration of a multidimensional +performance space in a scalable fashion. Scalability is achieved in two ways: +hierarchical decomposition of individual dimensions and aggregation across +different dimensions. All performance metrics are uniformly accommodated in +the same display and thus provide the ability to easily compare the effects of +different kinds of performance behavior.") + (license license:bsd-3))) From fb993719720164384b56319eea17c6199ed82392 Mon Sep 17 00:00:00 2001 From: Dave Love Date: Mon, 2 Oct 2017 21:48:48 +0100 Subject: [PATCH 081/287] gnu: Add scorep-openmpi. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/profiling.scm (make-scorep): New function. (scorep-openmpi): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/profiling.scm | 67 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/gnu/packages/profiling.scm b/gnu/packages/profiling.scm index 598633c3e5..4fdf260c67 100644 --- a/gnu/packages/profiling.scm +++ b/gnu/packages/profiling.scm @@ -25,16 +25,20 @@ #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages base) ;for "which" + #:use-module (gnu packages bison) #:use-module (gnu packages compression) #:use-module (gnu packages documentation) #:use-module (gnu packages fabric-management) + #:use-module (gnu packages flex) #:use-module (gnu packages gawk) #:use-module (gnu packages gcc) #:use-module (gnu packages glib) #:use-module (gnu packages libunwind) #:use-module (gnu packages linux) + #:use-module (gnu packages mpi) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) + #:use-module (gnu packages perl) #:use-module (gnu packages python) #:use-module (gnu packages qt)) @@ -330,3 +334,66 @@ different dimensions. All performance metrics are uniformly accommodated in the same display and thus provide the ability to easily compare the effects of different kinds of performance behavior.") (license license:bsd-3))) + +(define (make-scorep mpi) + (package + (name (string-append "scorep-" (package-name mpi))) + (version "3.1") + (source (origin + (method url-fetch) + (uri (string-append + "http://www.vi-hps.org/upload/packages/scorep/scorep-" + version ".tar.gz")) + (sha256 + (base32 + "0h45357djna4dn9jyxx0n36fhhms3jrf22988m9agz1aw2jfivs9")) + (modules '((guix build utils))) + (snippet + ;; Remove bundled software. + '(for-each delete-file-recursively + '("vendor/opari2" "vendor/cube"))))) + (build-system gnu-build-system) + (inputs + `(("mpi" ,mpi) + ("papi" ,papi) + ("opari2" ,opari2) + ("libunwind" ,libunwind) + ("otf2" ,otf2) + ("cubelib" ,cube "lib") ;for lib, include + ("openmpi" ,openmpi) + ("zlib" ,zlib))) + (native-inputs + `(("gfortran" ,gfortran) + ("flex" ,flex) + ("cube" ,cube) ;for cube-config + ("bison" ,bison) + ("python" ,python) + ("doxygen" ,doxygen) + ("which" ,which))) + (arguments + `(#:configure-flags + (list "--enable-shared" "--disable-static" + (string-append "--with-opari2=" + (assoc-ref %build-inputs "opari2")) + (string-append "--with-cube=" + (assoc-ref %build-inputs "cube"))) + #:parallel-tests? #f + #:make-flags '("V=1") + #:phases + (modify-phases %standard-phases + (add-after 'install 'licence + (lambda* (#:key outputs #:allow-other-keys) + (let ((doc (string-append (assoc-ref outputs "out") + "/share/doc/scorep"))) + (install-file "COPYING" doc) + #t)))))) + (home-page "http://www.vi-hps.org/projects/score-p/") + (synopsis "Performance measurement infrastructure for parallel code") + (description + "The Score-P (Scalable Performance Measurement Infrastructure for +Parallel Codes) measurement infrastructure is a scalable and easy-to-use tool +suite for profiling, event trace recording, and online analysis of +high-performance computing (HPC) applications.") + (license license:cpl1.0))) + +(define-public scorep-openmpi (make-scorep openmpi)) From c971d9ef29a22f99565a92e55cacf1b06c8d1011 Mon Sep 17 00:00:00 2001 From: Dave Love Date: Mon, 2 Oct 2017 21:54:43 +0100 Subject: [PATCH 082/287] gnu: openmpi: Add "debug" output. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is necessary for one mechanism for attaching parallel debuggers and is also relevant for the runtime backtrace facility. * gnu/packages/mpi.scm (openmpi)[outputs]: New field. Signed-off-by: Ludovic Courtès --- gnu/packages/mpi.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index 517f912417..98b21219f5 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -131,6 +131,7 @@ bind processes, and much more.") (native-inputs `(("pkg-config" ,pkg-config) ("perl" ,perl))) + (outputs '("out" "debug")) (arguments `(#:configure-flags `("--enable-mpi-ext=affinity" ;cr doesn't work "--enable-memchecker" From 0750cf7ebd779d3c52e160a663eb2a7e4d1a3515 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Tue, 3 Oct 2017 08:25:28 +0200 Subject: [PATCH 083/287] gnu: mgba: Update to 0.6.1. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/games.scm (mgba): Update to 0.6.1. Signed-off-by: Ludovic Courtès --- gnu/packages/games.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index aef6f01215..7729c5b3bd 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -3045,7 +3045,7 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.") (define-public mgba (package (name "mgba") - (version "0.6.0") + (version "0.6.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/mgba-emu/mgba/archive/" @@ -3053,7 +3053,7 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "01zy2w5pihlkrmbm51icgyff6iqyqa5ha6qrm4aj8ibzznz03kyq")) + "0xmq1q1j71hnpd49wm91cqq8w5zdhb921cm17jchp4qjmaqgwy3w")) (modules '((guix build utils))) (snippet ;; Make sure we don't use the bundled software. From 3d7a15963e9c7a96c4aad720f2c1b5a6b63be4d0 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Tue, 3 Oct 2017 08:46:19 +0200 Subject: [PATCH 084/287] gnu: qtox: Update to 1.12.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/messaging.scm (qtox): Update to 1.12.0. Signed-off-by: Ludovic Courtès --- gnu/packages/messaging.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 4aa8f25fd1..ae0bb69a15 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -90,6 +90,7 @@ #:use-module (gnu packages guile) #:use-module (gnu packages less) #:use-module (gnu packages readline) + #:use-module (gnu packages photo) #:use-module (gnu packages texinfo)) (define-public libotr @@ -801,14 +802,14 @@ instant messenger with audio and video chat capabilities.") (define-public qtox (package (name "qtox") - (version "1.11.0") + (version "1.12.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/qTox/qTox/archive/v" version ".tar.gz")) (sha256 (base32 - "1m1ca1ybgj4yfm6a61yyj21f5jpip8dsbliwkfypswhmv5y52f5y")) + "0ycgvcfn8hchc775dcn1wpdqff8chvzz1svx9g99wa5vcns9pflg")) (file-name (string-append name "-" version ".tar.gz")))) (build-system cmake-build-system) (arguments @@ -830,6 +831,8 @@ instant messenger with audio and video chat capabilities.") ("libvpx" ,libvpx) ("libxscrnsaver" ,libxscrnsaver) ("libx11" ,libx11) + ("libexif" ,libexif) + ("sqlite" ,sqlite) ("openal" ,openal) ("qrencode" ,qrencode) ("qtbase" ,qtbase) From 4d6801b735550ee804454a6d4f0d44c3372e0ae9 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 30 Sep 2017 09:11:43 -0400 Subject: [PATCH 085/287] gnu: graphicsmagick: Fix CVE-2017-14649. * gnu/packages/imagemagick.scm (graphicsmagick)[source]: Add patch. * gnu/packages/patches/graphicsmagick-CVE-2017-14649.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. --- gnu/local.mk | 1 + gnu/packages/imagemagick.scm | 3 +- .../graphicsmagick-CVE-2017-14649.patch | 210 ++++++++++++++++++ 3 files changed, 213 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/graphicsmagick-CVE-2017-14649.patch diff --git a/gnu/local.mk b/gnu/local.mk index 6d14f2a47c..88d24fab27 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -691,6 +691,7 @@ dist_patch_DATA = \ %D%/packages/patches/graphicsmagick-CVE-2017-13776+CVE-2017-13777.patch \ %D%/packages/patches/graphicsmagick-CVE-2017-14042.patch \ %D%/packages/patches/graphicsmagick-CVE-2017-14165.patch \ + %D%/packages/patches/graphicsmagick-CVE-2017-14649.patch \ %D%/packages/patches/graphite2-ffloat-store.patch \ %D%/packages/patches/grep-gnulib-lock.patch \ %D%/packages/patches/grep-timing-sensitive-test.patch \ diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 7599f87311..b22799eea2 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -185,7 +185,8 @@ script.") "graphicsmagick-CVE-2017-13775.patch" "graphicsmagick-CVE-2017-13776+CVE-2017-13777.patch" "graphicsmagick-CVE-2017-14042.patch" - "graphicsmagick-CVE-2017-14165.patch")))) + "graphicsmagick-CVE-2017-14165.patch" + "graphicsmagick-CVE-2017-14649.patch")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/patches/graphicsmagick-CVE-2017-14649.patch b/gnu/packages/patches/graphicsmagick-CVE-2017-14649.patch new file mode 100644 index 0000000000..8e1166ba7a --- /dev/null +++ b/gnu/packages/patches/graphicsmagick-CVE-2017-14649.patch @@ -0,0 +1,210 @@ +http://hg.code.sf.net/p/graphicsmagick/code/rev/358608a46f0a +http://www.openwall.com/lists/oss-security/2017/09/22/2 + +Some changes were made to make the patch apply. + +Notably, the DestroyJNG() function in the upstream diff has been replaced by +its equivalent, a series of calls to MagickFreeMemory(), DestroyImageInfo(), +and DestroyImage(). See +http://hg.code.sf.net/p/graphicsmagick/code/rev/d445af60a8d5. + +# HG changeset patch +# User Glenn Randers-Pehrson +# Date 1504014487 14400 +# Node ID 358608a46f0a9c55e9bb8b37d09bf1ac9bc87f06 +# Parent 38c362f0ae5e7a914c3fe822284c6953f8e6eee2 +Fix Issue 439 + +diff -ru a/coders/png.c b/coders/png.c +--- a/coders/png.c 1969-12-31 19:00:00.000000000 -0500 ++++ b/coders/png.c 2017-09-30 08:20:16.218944991 -0400 +@@ -1176,15 +1176,15 @@ + /* allocate space */ + if (length == 0) + { +- (void) ThrowException2(&image->exception,CoderWarning, +- "invalid profile length",(char *) NULL); ++ (void) LogMagickEvent(CoderEvent,GetMagickModule(), ++ "invalid profile length"); + return (MagickFail); + } + info=MagickAllocateMemory(unsigned char *,length); + if (info == (unsigned char *) NULL) + { +- (void) ThrowException2(&image->exception,CoderWarning, +- "unable to copy profile",(char *) NULL); ++ (void) LogMagickEvent(CoderEvent,GetMagickModule(), ++ "Unable to copy profile"); + return (MagickFail); + } + /* copy profile, skipping white space and column 1 "=" signs */ +@@ -1197,8 +1197,8 @@ + if (*sp == '\0') + { + MagickFreeMemory(info); +- (void) ThrowException2(&image->exception,CoderWarning, +- "ran out of profile data",(char *) NULL); ++ (void) LogMagickEvent(CoderEvent,GetMagickModule(), ++ "ran out of profile data"); + return (MagickFail); + } + sp++; +@@ -1234,8 +1234,9 @@ + if(SetImageProfile(image,profile_name,info,length) == MagickFail) + { + MagickFreeMemory(info); +- (void) ThrowException(&image->exception,ResourceLimitError, +- MemoryAllocationFailed,"unable to copy profile"); ++ (void) LogMagickEvent(CoderEvent,GetMagickModule(), ++ "unable to copy profile"); ++ return MagickFail; + } + MagickFreeMemory(info); + return MagickTrue; +@@ -3285,7 +3286,6 @@ + if (status == MagickFalse) + { + DestroyJNGInfo(color_image_info,alpha_image_info); +- DestroyImage(alpha_image); + (void) LogMagickEvent(CoderEvent,GetMagickModule(), + " could not allocate alpha_image blob"); + return ((Image *)NULL); +@@ -3534,7 +3534,7 @@ + CloseBlob(color_image); + if (logging) + (void) LogMagickEvent(CoderEvent,GetMagickModule(), +- " Reading jng_image from color_blob."); ++ " Reading jng_image from color_blob."); + + FormatString(color_image_info->filename,"%.1024s",color_image->filename); + +@@ -3558,13 +3558,18 @@ + + if (logging) + (void) LogMagickEvent(CoderEvent,GetMagickModule(), +- " Copying jng_image pixels to main image."); ++ " Copying jng_image pixels to main image."); + image->rows=jng_height; + image->columns=jng_width; + length=image->columns*sizeof(PixelPacket); ++ if ((jng_height == 0 || jng_width == 0) && logging) ++ (void) LogMagickEvent(CoderEvent,GetMagickModule(), ++ " jng_width=%lu jng_height=%lu", ++ (unsigned long)jng_width,(unsigned long)jng_height); + for (y=0; y < (long) image->rows; y++) + { +- s=AcquireImagePixels(jng_image,0,y,image->columns,1,&image->exception); ++ s=AcquireImagePixels(jng_image,0,y,image->columns,1, ++ &image->exception); + q=SetImagePixels(image,0,y,image->columns,1); + (void) memcpy(q,s,length); + if (!SyncImagePixels(image)) +@@ -3589,45 +3594,79 @@ + CloseBlob(alpha_image); + if (logging) + (void) LogMagickEvent(CoderEvent,GetMagickModule(), +- " Reading opacity from alpha_blob."); ++ " Reading opacity from alpha_blob."); + + FormatString(alpha_image_info->filename,"%.1024s", + alpha_image->filename); + + jng_image=ReadImage(alpha_image_info,exception); + +- for (y=0; y < (long) image->rows; y++) ++ if (jng_image == (Image *)NULL) + { +- s=AcquireImagePixels(jng_image,0,y,image->columns,1, +- &image->exception); +- if (image->matte) +- { +- q=SetImagePixels(image,0,y,image->columns,1); +- for (x=(long) image->columns; x > 0; x--,q++,s++) +- q->opacity=(Quantum) MaxRGB-s->red; +- } +- else ++ (void) LogMagickEvent(CoderEvent,GetMagickModule(), ++ " jng_image is NULL."); ++ if (color_image_info) ++ DestroyImageInfo(color_image_info); ++ if (alpha_image_info) ++ DestroyImageInfo(alpha_image_info); ++ if (color_image) ++ DestroyImage(color_image); ++ if (alpha_image) ++ DestroyImage(alpha_image); ++ } ++ else ++ { ++ ++ if (logging) + { +- q=SetImagePixels(image,0,y,image->columns,1); +- for (x=(long) image->columns; x > 0; x--,q++,s++) +- { +- q->opacity=(Quantum) MaxRGB-s->red; +- if (q->opacity != OpaqueOpacity) +- image->matte=MagickTrue; +- } ++ (void) LogMagickEvent(CoderEvent,GetMagickModule(), ++ " Read jng_image."); ++ (void) LogMagickEvent(CoderEvent,GetMagickModule(), ++ " jng_image->width=%lu, jng_image->height=%lu", ++ (unsigned long)jng_width,(unsigned long)jng_height); ++ (void) LogMagickEvent(CoderEvent,GetMagickModule(), ++ " image->rows=%lu, image->columns=%lu", ++ (unsigned long)image->rows, ++ (unsigned long)image->columns); + } +- if (!SyncImagePixels(image)) +- break; +- } +- (void) LiberateUniqueFileResource(alpha_image->filename); +- DestroyImage(alpha_image); +- alpha_image = (Image *)NULL; +- DestroyImageInfo(alpha_image_info); +- alpha_image_info = (ImageInfo *)NULL; +- (void) LogMagickEvent(CoderEvent,GetMagickModule(), +- " Destroy the JNG image"); +- DestroyImage(jng_image); +- jng_image = (Image *)NULL; ++ ++ for (y=0; y < (long) image->rows; y++) ++ { ++ s=AcquireImagePixels(jng_image,0,y,image->columns,1, ++ &image->exception); ++ if (image->matte) ++ { ++ q=SetImagePixels(image,0,y,image->columns,1); ++ for (x=(long) image->columns; x > 0; x--,q++,s++) ++ q->opacity=(Quantum) MaxRGB-s->red; ++ } ++ else ++ { ++ q=SetImagePixels(image,0,y,image->columns,1); ++ for (x=(long) image->columns; x > 0; x--,q++,s++) ++ { ++ q->opacity=(Quantum) MaxRGB-s->red; ++ if (q->opacity != OpaqueOpacity) ++ image->matte=MagickTrue; ++ } ++ } ++ if (!SyncImagePixels(image)) ++ break; ++ } ++ (void) LiberateUniqueFileResource(alpha_image->filename); ++ if (color_image_info) ++ DestroyImageInfo(color_image_info); ++ if (alpha_image_info) ++ DestroyImageInfo(alpha_image_info); ++ if (color_image) ++ DestroyImage(color_image); ++ if (alpha_image) ++ DestroyImage(alpha_image); ++ (void) LogMagickEvent(CoderEvent,GetMagickModule(), ++ " Destroy the JNG image"); ++ DestroyImage(jng_image); ++ jng_image = (Image *)NULL; ++ } + } + } From 8df1faa047870c51954275664e8e7efc94e6fc56 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Tue, 5 Sep 2017 19:04:38 +0200 Subject: [PATCH 086/287] guix: ant-build-system: Add main-class support. * guix/build-system/ant.scm: New #:main-class argument * guix/build/ant-build-system.scm: Generate a manifest file with additional properties. * doc/guix.texi (Build Systems): Document it. --- doc/guix.texi | 4 ++++ guix/build-system/ant.scm | 2 ++ guix/build/ant-build-system.scm | 27 ++++++++++++++++++++++----- 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index b9d127c47c..312f5e7822 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -3479,6 +3479,10 @@ build file @file{build.xml} with tasks to build the specified jar archive. In this case the parameter @code{#:source-dir} can be used to specify the source sub-directory, defaulting to ``src''. +The @code{#:main-class} parameter can be used with the minimal ant +buildfile to specify the main class of the resulting jar. This makes the +jar file executable. + The parameter @code{#:build-target} can be used to specify the Ant task that should be run during the @code{build} phase. By default the ``jar'' task will be run. diff --git a/guix/build-system/ant.scm b/guix/build-system/ant.scm index e0870a605c..a700230ece 100644 --- a/guix/build-system/ant.scm +++ b/guix/build-system/ant.scm @@ -99,6 +99,7 @@ (make-flags ''()) (build-target "jar") (jar-name #f) + (main-class #f) (source-dir "src") (test-dir "src/test") (phases '(@ (guix build ant-build-system) @@ -130,6 +131,7 @@ #:test-target ,test-target #:build-target ,build-target #:jar-name ,jar-name + #:main-class ,main-class #:source-dir ,source-dir #:test-dir ,test-dir #:phases ,phases diff --git a/guix/build/ant-build-system.scm b/guix/build/ant-build-system.scm index 4042630a10..727d3a3b25 100644 --- a/guix/build/ant-build-system.scm +++ b/guix/build/ant-build-system.scm @@ -36,7 +36,7 @@ ;; Code: (define* (default-build.xml jar-name prefix #:optional - (source-dir ".") (test-dir "./test")) + (source-dir ".") (test-dir "./test") (main-class #f)) "Create a simple build.xml with standard targets for Ant." (call-with-output-file "build.xml" (lambda (port) @@ -44,6 +44,10 @@ `(project (@ (basedir ".")) (property (@ (name "classes.dir") (value "${basedir}/build/classes"))) + (property (@ (name "manifest.dir") + (value "${basedir}/build/manifest"))) + (property (@ (name "manifest.file") + (value "${manifest.dir}/MANIFEST.MF"))) (property (@ (name "jar.dir") (value "${basedir}/build/jar"))) (property (@ (name "dist.dir") @@ -60,6 +64,17 @@ (path (@ (id "classpath")) (pathelement (@ (location "${env.CLASSPATH}")))) + (target (@ (name "manifest")) + (mkdir (@ (dir "${manifest.dir}"))) + (echo (@ (file "${manifest.file}") + (message ,(string-append + (if main-class + (string-append + "Main-Class: " main-class + "${line.separator}") + "") + ""))))) + (target (@ (name "compile")) (mkdir (@ (dir "${classes.dir}"))) (javac (@ (includeantruntime "false") @@ -97,10 +112,11 @@ (include (@ (name "**/*Test.java" ))))))) (target (@ (name "jar") - (depends "compile")) + (depends "compile, manifest")) (mkdir (@ (dir "${jar.dir}"))) (exec (@ (executable "jar")) - (arg (@ (line ,(string-append "-cf ${jar.dir}/" jar-name + (arg (@ (line ,(string-append "-cmf ${manifest.file} " + "${jar.dir}/" jar-name " -C ${classes.dir} .")))))) (target (@ (name "install")) @@ -133,12 +149,13 @@ to the default GNU unpack strategy." (define* (configure #:key inputs outputs (jar-name #f) (source-dir "src") - (test-dir "src/test") #:allow-other-keys) + (test-dir "src/test") + (main-class #f) #:allow-other-keys) (when jar-name (default-build.xml jar-name (string-append (assoc-ref outputs "out") "/share/java") - source-dir test-dir)) + source-dir test-dir main-class)) (setenv "JAVA_HOME" (assoc-ref inputs "jdk")) (setenv "CLASSPATH" (generate-classpath inputs))) From f403d7abdf28d2d6e4446a2989e0d37d023b6b53 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Tue, 5 Sep 2017 22:14:11 +0200 Subject: [PATCH 087/287] guix: ant-build-system: Add #:test-include and #:test-exclude arguments. * guix/build-system/ant.scm: Add #:test-include and #:test-exclude arguments. * guix/build/ant-build-system.scm: Generate test list from arguments. * doc/guix.texi (Build Systems): Document it. --- doc/guix.texi | 6 +++++- guix/build-system/ant.scm | 4 ++++ guix/build/ant-build-system.scm | 17 +++++++++++++---- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 312f5e7822..f0a59a6b4b 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -3481,7 +3481,11 @@ specify the source sub-directory, defaulting to ``src''. The @code{#:main-class} parameter can be used with the minimal ant buildfile to specify the main class of the resulting jar. This makes the -jar file executable. +jar file executable. The @code{#:test-include} parameter can be used to +specify the list of junit tests to run. It defaults to +@code{(list "**/*Test.java")}. The @code{#:test-exclude} can be used to +disable some tests. It defaults to @code{(list "**/Abstract*.java")}, +because abstract classes cannot be run as tests. The parameter @code{#:build-target} can be used to specify the Ant task that should be run during the @code{build} phase. By default the diff --git a/guix/build-system/ant.scm b/guix/build-system/ant.scm index a700230ece..b5626bd42d 100644 --- a/guix/build-system/ant.scm +++ b/guix/build-system/ant.scm @@ -100,6 +100,8 @@ (build-target "jar") (jar-name #f) (main-class #f) + (test-include (list "**/*Test.java")) + (test-exclude (list "**/Abstract*.java")) (source-dir "src") (test-dir "src/test") (phases '(@ (guix build ant-build-system) @@ -132,6 +134,8 @@ #:build-target ,build-target #:jar-name ,jar-name #:main-class ,main-class + #:test-include (list ,@test-include) + #:test-exclude (list ,@test-exclude) #:source-dir ,source-dir #:test-dir ,test-dir #:phases ,phases diff --git a/guix/build/ant-build-system.scm b/guix/build/ant-build-system.scm index 727d3a3b25..a440daf054 100644 --- a/guix/build/ant-build-system.scm +++ b/guix/build/ant-build-system.scm @@ -36,7 +36,9 @@ ;; Code: (define* (default-build.xml jar-name prefix #:optional - (source-dir ".") (test-dir "./test") (main-class #f)) + (source-dir ".") (test-dir "./test") (main-class #f) + (test-include '("**/*Test.java")) + (test-exclude '("**/Abstract*Test.java"))) "Create a simple build.xml with standard targets for Ant." (call-with-output-file "build.xml" (lambda (port) @@ -109,7 +111,12 @@ (batchtest (@ (fork "yes") (todir "${test.home}/test-reports")) (fileset (@ (dir "${test.home}/java")) - (include (@ (name "**/*Test.java" ))))))) + ,@(map (lambda (file) + `(include (@ (name ,file)))) + test-include) + ,@(map (lambda (file) + `(exclude (@ (name ,file)))) + test-exclude))))) (target (@ (name "jar") (depends "compile, manifest")) @@ -150,12 +157,14 @@ to the default GNU unpack strategy." (define* (configure #:key inputs outputs (jar-name #f) (source-dir "src") (test-dir "src/test") - (main-class #f) #:allow-other-keys) + (main-class #f) + (test-include '("**/*Test.java")) + (test-exclude '("**/Abstract*.java")) #:allow-other-keys) (when jar-name (default-build.xml jar-name (string-append (assoc-ref outputs "out") "/share/java") - source-dir test-dir main-class)) + source-dir test-dir main-class test-include test-exclude)) (setenv "JAVA_HOME" (assoc-ref inputs "jdk")) (setenv "CLASSPATH" (generate-classpath inputs))) From 30deadee1a8d5d073fd35a8637b76e5e7d5ddac7 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 1 Oct 2017 17:09:04 +0200 Subject: [PATCH 088/287] gnu: Add java-microemulator-cldc. * gnu/packages/java.scm (java-microemulator-cldc): New variable. --- gnu/packages/java.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 806f13ab89..fd6d9aa694 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4716,3 +4716,32 @@ complex transformations and code analysis tools.") #t))))) (native-inputs `(("java-junit" ,java-junit))))) + +(define-public java-microemulator-cldc + (package + (name "java-microemulator-cldc") + (version "2.0.4") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/barteo/microemu/archive/" + "microemulator_" + (string-map (lambda (c) (if (char=? c #\.) #\_ c)) + version) + ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1x1apmz38gkppxnwnygwmi12j54v4p258v8ddzn6dldkk7vak1ll")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "microemulator-cldc.jar" + #:source-dir "microemu-cldc/src/main/java" + #:tests? #f)); Requires even older software + (home-page "https://github.com/barteo/microemu") + (synopsis "J2ME CLDC emulator") + (description "Microemulator is a Java 2 Micro Edition (J2ME) CLDC/MIDP +Emulator. It allows to demonstrate MIDlet based applications in web browser +applet and can be run as a standalone java application.") + (license (list license:asl2.0 + ;; or altenatively: + license:lgpl2.1+)))) From 8e2f3e5e036336482b57b81bc443b0ef892efe5e Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 1 Oct 2017 17:13:54 +0200 Subject: [PATCH 089/287] gnu: Add java-datanucleus-javax-persistence. * gnu/packages/java.scm (java-datanucleus-javax-persistence): New variable. --- gnu/packages/java.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index fd6d9aa694..f60198ea08 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4745,3 +4745,29 @@ applet and can be run as a standalone java application.") (license (list license:asl2.0 ;; or altenatively: license:lgpl2.1+)))) + +(define-public java-datanucleus-javax-persistence + (package + (name "java-datanucleus-javax-persistence") + (version "2.2.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/datanucleus/" + "javax.persistence/archive/javax.persistence-" + version "-release.tar.gz")) + (sha256 + (base32 + "11jx0fjwgc2hhbqqgdd6m1pf2fplf9vslppygax0y1z5csnqjhpx")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "java-datanucleus-javax-persistence.jar" + #:jdk ,icedtea-8 + #:source-dir "src/main/java" + #:tests? #f)); no tests + (home-page "https://github.com/datanucleus/javax.persistence") + (synopsis "JPA API") + (description "This package contains a clean definition of JPA API intended +for use with DataNucleus JPA since the JCP haven't provided an official JPA API +jar. See @url{http://java.net/projects/jpa-spec/downloads} for the specification +used to generate this API.") + (license (list license:edl1.0 license:epl1.0)))) From 3240ddbfb1de54e1139bb6e0f6f86ef70f82ec45 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 1 Oct 2017 17:17:44 +0200 Subject: [PATCH 090/287] gnu: Add java-osgi-cmpn. * gnu/packages/java.scm (java-osgi-cmpn): New variable. --- gnu/packages/java.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index f60198ea08..cd21d790ef 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4771,3 +4771,34 @@ for use with DataNucleus JPA since the JCP haven't provided an official JPA API jar. See @url{http://java.net/projects/jpa-spec/downloads} for the specification used to generate this API.") (license (list license:edl1.0 license:epl1.0)))) + +(define-public java-osgi-cmpn + (package + (name "java-osgi-cmpn") + (version "6.0.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/" + "org/osgi/osgi.cmpn/" version "/osgi.cmpn-" + version "-sources.jar")) + (sha256 + (base32 + "1lmb6xyrmkqdhv1kayf0514rlwq6ypvs4m44ibrck3snp8241wys")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-cmpn.jar" + #:tests? #f)); no tests + (inputs + `(("annotation" ,java-osgi-annotation) + ("core" ,java-osgi-core) + ("java-datanucleus-javax-persistence" ,java-datanucleus-javax-persistence) + ("microemulator" ,java-microemulator-cldc) + ("servlet" ,java-classpathx-servletapi))) + (home-page "http://www.osgi.org") + (synopsis "Compendium specification module of OSGi framework") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +the compendium specification module, providing interfaces and classes for use +in compiling bundles.") + (license license:asl2.0))) From 747c75746f32d1f4e6467223d787444ad6bddf4a Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 1 Oct 2017 17:19:35 +0200 Subject: [PATCH 091/287] gnu: Add java-osgi-service-component-annotations. * gnu/packages/java.scm (java-osgi-service-component-annotations): New variable. --- gnu/packages/java.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index cd21d790ef..eb06415834 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4802,3 +4802,30 @@ and service platform for the Java programming language. This package contains the compendium specification module, providing interfaces and classes for use in compiling bundles.") (license license:asl2.0))) + +(define-public java-osgi-service-component-annotations + (package + (name "java-osgi-service-component-annotations") + (version "1.3.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.service.component.annotations/" + version "/org.osgi.service.component.annotations-" + version "-sources.jar")) + (sha256 + (base32 + "15rq9cmp4fpn74q44m4j35qsqmjf5lx3hcrk6pzvbhc08igic2f0")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-service-component-annotations.jar" + #:tests? #f)); no tests + (inputs + `(("annotation" ,java-osgi-annotation))) + (home-page "http://www.osgi.org") + (synopsis "Support annotations for osgi-service-component") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +the support annotations for osgi-service-component.") + (license license:asl2.0))) From 999b5fb4d266b94c9af4387756a09d23e651606f Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 1 Oct 2017 18:32:04 +0200 Subject: [PATCH 092/287] gnu: Add java-osgi-dto. * gnu/packages/java.scm (java-osgi-dto): New variable. --- gnu/packages/java.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index eb06415834..ef4199cbc4 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4829,3 +4829,32 @@ in compiling bundles.") and service platform for the Java programming language. This package contains the support annotations for osgi-service-component.") (license license:asl2.0))) + +(define-public java-osgi-dto + (package + (name "java-osgi-dto") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.dto/" version "/org.osgi.dto-" + version "-sources.jar")) + (sha256 + (base32 + "0f4bqjzadn0hwk6sd3h5gvbyfp3yci1s6r0v770cc15p0pg627yr")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-dto.jar" + #:tests? #f)); no tests + (inputs + `(("annotation" ,java-osgi-annotation))) + (home-page "http://www.osgi.org") + (synopsis "Data Transfer Objects") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +the Data Transfer Objects. It is easily serializable having only public fields +of primitive types and their wrapper classes, Strings, and DTOs. List, Set, +Map and array aggregates may also be used. The aggregates must only hold +objects of the listed types or aggregates.") + (license license:asl2.0))) From c304ce6aa11121b1bc0ad067908123688aeba999 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 1 Oct 2017 18:45:19 +0200 Subject: [PATCH 093/287] gnu: Add java-osgi-resource. * gnu/packages/java.scm (java-osgi-resource): New variable. --- gnu/packages/java.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index ef4199cbc4..841122e81c 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4858,3 +4858,31 @@ of primitive types and their wrapper classes, Strings, and DTOs. List, Set, Map and array aggregates may also be used. The aggregates must only hold objects of the listed types or aggregates.") (license license:asl2.0))) + +(define-public java-osgi-resource + (package + (name "java-osgi-resource") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.resource/" + version "/org.osgi.resource-" + version "-sources.jar")) + (sha256 + (base32 + "0hi0fsc5v99q22bd7lrkvpz1y0ds4w9arjldpwsrcpqvz2js7q2d")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-resource.jar" + #:tests? #f)); no tests + (inputs + `(("annotation" ,java-osgi-annotation) + ("dto" ,java-osgi-dto))) + (home-page "http://www.osgi.org") + (synopsis "OSGI Resource") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +the definition of common types in osgi packages.") + (license license:asl2.0))) From c2b14516e8f813a87c4aa9a29970226d5ec969b0 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 1 Oct 2017 18:48:34 +0200 Subject: [PATCH 094/287] gnu: Add java-osgi-namespace-contract. * gnu/packages/java.scm (java-osgi-namespace-contract): New variable. --- gnu/packages/java.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 841122e81c..515188b04f 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4886,3 +4886,31 @@ objects of the listed types or aggregates.") and service platform for the Java programming language. This package contains the definition of common types in osgi packages.") (license license:asl2.0))) + +(define-public java-osgi-namespace-contract + (package + (name "java-osgi-namespace-contract") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.namespace.contract/" + version "/org.osgi.namespace.contract-" + version "-sources.jar")) + (sha256 + (base32 + "1iz4f2i0fvqrlq90ki9nfzcfpvy2av434ri25bglywqssx8mmp36")))) + (build-system ant-build-system) + (inputs + `(("resource" ,java-osgi-resource) + ("annotation" ,java-osgi-annotation))) + (arguments + `(#:jar-name "osgi-namespace-contract.jar" + #:tests? #f)); no tests + (home-page "http://www.osgi.org") + (synopsis "Contract Capability and Requirement Namespace") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +the names for the attributes and directives for a namespace with contracts.") + (license license:asl2.0))) From f809c963c21596a0b14d9554ea34ab7ddb293b5e Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 1 Oct 2017 18:50:57 +0200 Subject: [PATCH 095/287] gnu: Add java-osgi-namespace-extender. * gnu/packages/java.scm (java-osgi-namespace-extender): New variable. --- gnu/packages/java.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 515188b04f..ae51769331 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4914,3 +4914,31 @@ the definition of common types in osgi packages.") and service platform for the Java programming language. This package contains the names for the attributes and directives for a namespace with contracts.") (license license:asl2.0))) + +(define-public java-osgi-namespace-extender + (package + (name "java-osgi-namespace-extender") + (version "1.0.1") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.namespace.extender/" + version "/org.osgi.namespace.extender-" + version "-sources.jar")) + (sha256 + (base32 + "0jgqiak2i05qv6j3gd33xlaifzzc0ylxxk376v2x0apfg3vvixmz")))) + (build-system ant-build-system) + (inputs + `(("resource" ,java-osgi-resource) + ("annotation" ,java-osgi-annotation))) + (arguments + `(#:jar-name "osgi-namespace-extendent.jar" + #:tests? #f)); no tests + (home-page "http://www.osgi.org") + (synopsis "Extender Capability and Requirement Namespace") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +the names for the attributes and directives for a namespace with extensions.") + (license license:asl2.0))) From b784962d966c5e6b63f1d55e4f11d68c431d1e49 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 1 Oct 2017 18:53:40 +0200 Subject: [PATCH 096/287] gnu: Add java-osgi-namespace-service. * gnu/packages/java.scm (java-osgi-namespace-service): New variable. --- gnu/packages/java.scm | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index ae51769331..8cc79b1234 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4940,5 +4940,33 @@ the names for the attributes and directives for a namespace with contracts.") (description "OSGi, for Open Services Gateway initiative framework, is a module system and service platform for the Java programming language. This package contains -the names for the attributes and directives for a namespace with extensions.") +the names for the attributes and directives for an extender namespace.") + (license license:asl2.0))) + +(define-public java-osgi-namespace-service + (package + (name "java-osgi-namespace-service") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.namespace.service/" + version "/org.osgi.namespace.service-" + version "-sources.jar")) + (sha256 + (base32 + "0qmw8n2449nkmm56d1znz9zhazb6ya3vsimd5bf5jg23zzhgl8c8")))) + (build-system ant-build-system) + (inputs + `(("resource" ,java-osgi-resource) + ("annotation" ,java-osgi-annotation))) + (arguments + `(#:jar-name "osgi-namespace-service.jar" + #:tests? #f)); no tests + (home-page "http://www.osgi.org") + (synopsis "Service Capability and Requirement Namespace") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +the names for the attributes and directives for a service namespace.") (license license:asl2.0))) From 0f0c52187bf8ace8d45c58acab4091fefe6835de Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 1 Oct 2017 18:56:47 +0200 Subject: [PATCH 097/287] gnu: Add java-osgi-util-function. * gnu/packages/java.scm (java-osgi-util-function): New variable. --- gnu/packages/java.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 8cc79b1234..c0bbce31f7 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4970,3 +4970,30 @@ the names for the attributes and directives for an extender namespace.") and service platform for the Java programming language. This package contains the names for the attributes and directives for a service namespace.") (license license:asl2.0))) + +(define-public java-osgi-util-function + (package + (name "java-osgi-util-function") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.util.function/" + version "/org.osgi.util.function-" + version "-sources.jar")) + (sha256 + (base32 + "04l7j3hwmmj28w23m7paca0afzncs42j2mdr3liqq8kvp548sc6x")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-util-function.jar" + #:tests? #f)); no tests + (inputs + `(("annotation" ,java-osgi-annotation))) + (home-page "http://www.osgi.org") + (synopsis "OSGI Util Function") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +an interface for a function that accepts a single argument and produces a result.") + (license license:asl2.0))) From 27103135ddbdfc3b2b6819c2706658834e5e9987 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 1 Oct 2017 18:58:47 +0200 Subject: [PATCH 098/287] gnu: Add java-osgi-util-promise. * gnu/packages/java.scm (java-osgi-util-promise): New variable. --- gnu/packages/java.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index c0bbce31f7..17c05f3f23 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4997,3 +4997,32 @@ the names for the attributes and directives for a service namespace.") and service platform for the Java programming language. This package contains an interface for a function that accepts a single argument and produces a result.") (license license:asl2.0))) + +(define-public java-osgi-util-promise + (package + (name "java-osgi-util-promise") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.util.promise/" + version "/org.osgi.util.promise-" + version "-sources.jar")) + (sha256 + (base32 + "0y34dwiflg1c4ahvkswpf9z02xph2sr9fm04ia5493x3lshpw22c")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-util-promise.jar" + #:tests? #f)); no tests + (inputs + `(("annotation" ,java-osgi-annotation) + ("function" ,java-osgi-util-function))) + (home-page "http://www.osgi.org") + (synopsis "Promise of a value") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +an interface and utilitary classes for promises. A Promise represents a future +value. It handles the interactions for asynchronous processing.") + (license license:asl2.0))) From 2b1fdb2b65690df1a4ef0a45280af0564870909f Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 1 Oct 2017 18:59:49 +0200 Subject: [PATCH 099/287] gnu: Add java-osgi-service-metatype-annotations. * gnu/packages/java.scm (java-osgi-service-metatype-annotations): New variable. --- gnu/packages/java.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 17c05f3f23..5e825485cd 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5026,3 +5026,30 @@ and service platform for the Java programming language. This package contains an interface and utilitary classes for promises. A Promise represents a future value. It handles the interactions for asynchronous processing.") (license license:asl2.0))) + +(define-public java-osgi-service-metatype-annotations + (package + (name "java-osgi-service-metatype-annotations") + (version "1.3.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.service.metatype.annotations/" + version "/org.osgi.service.metatype.annotations-" + version "-sources.jar")) + (sha256 + (base32 + "12rwm3349wk80vm88rcdgs4435m4jxkpkj5mrx326skkz2c6hyw6")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-service-metatype-annotations.jar" + #:tests? #f)); no tests + (inputs + `(("annotation" ,java-osgi-annotation))) + (home-page "http://www.osgi.org") + (synopsis "Support annotations for metatype") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +the support annotations for metatype.") + (license license:asl2.0))) From a13acfbe5fd046b361190bcca52120f42108af9e Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 1 Oct 2017 19:01:50 +0200 Subject: [PATCH 100/287] gnu: Add java-osgi-service-repository. * gnu/packages/java.scm (java-osgi-service-repository): New variable. --- gnu/packages/java.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 5e825485cd..207352b8b5 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5053,3 +5053,32 @@ value. It handles the interactions for asynchronous processing.") and service platform for the Java programming language. This package contains the support annotations for metatype.") (license license:asl2.0))) + +(define-public java-osgi-service-repository + (package + (name "java-osgi-service-repository") + (version "1.1.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.service.repository/" + version "/org.osgi.service.repository-" + version "-sources.jar")) + (sha256 + (base32 + "1k41mhg7b58pd8nsghr2qwcjrxdnf1p9spsw9v11k4257g6rl06n")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-service-repository.jar" + #:tests? #f)); no tests + (inputs + `(("annotation" ,java-osgi-annotation) + ("promise" ,java-osgi-util-promise) + ("resource" ,java-osgi-resource))) + (home-page "http://www.osgi.org") + (synopsis "OSGI service repository") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +a repository service that contains resources.") + (license license:asl2.0))) From dfd91541805d5d63ad70c701168758eea5a32e1c Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 1 Oct 2017 19:03:15 +0200 Subject: [PATCH 101/287] gnu: Add java-osgi-framework. * gnu/packages/java.scm (java-osgi-framework): New variable. --- gnu/packages/java.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 207352b8b5..9237cca55c 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5082,3 +5082,30 @@ the support annotations for metatype.") and service platform for the Java programming language. This package contains a repository service that contains resources.") (license license:asl2.0))) + +(define-public java-osgi-framework + (package + (name "java-osgi-framework") + (version "1.8.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.framework/" version "/org.osgi.framework-" + version "-sources.jar")) + (sha256 + (base32 + "1lwp2zfad3rybcc6q9bwz8xsgkc92ypzy5p6x54387f1qj65m73s")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-framework.jar" + #:tests? #f)); no tests + (inputs + `(("annotation" ,java-osgi-annotation) + ("resource" ,java-osgi-resource) + ("dto" ,java-osgi-dto))) + (home-page "http://www.osgi.org") + (synopsis "OSGi framework") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language.") + (license license:asl2.0))) From 98c9f16c17f9283c584a5d99713aa18ce7310c69 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 1 Oct 2017 19:05:28 +0200 Subject: [PATCH 102/287] gnu: Add java-osgi-service-log. * gnu/packages/java.scm (java-osgi-service-log): New variable. --- gnu/packages/java.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 9237cca55c..0b5591b8aa 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5109,3 +5109,30 @@ a repository service that contains resources.") "OSGi, for Open Services Gateway initiative framework, is a module system and service platform for the Java programming language.") (license license:asl2.0))) + +(define-public java-osgi-service-log + (package + (name "java-osgi-service-log") + (version "1.3.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.service.log/" + version "/org.osgi.service.log-" + version "-sources.jar")) + (sha256 + (base32 + "1029j30dzcwializzca0j3fkhwwz08kmmsha5agw1iccscimj6r0")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-service-log.jar" + #:tests? #f)); no tests + (inputs + `(("java-osgi-framework" ,java-osgi-framework))) + (home-page "http://www.osgi.org") + (synopsis "Provides methods for bundles to write messages to the log") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +the log service.") + (license license:asl2.0))) From dd76d44b79f44b7900d9a1a0eb67af0e8ac0e5ba Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 1 Oct 2017 19:08:40 +0200 Subject: [PATCH 103/287] gnu: Add java-osgi-service-jdbc. * gnu/packages/java.scm (java-osgi-service-jdbc): New variable. --- gnu/packages/java.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 0b5591b8aa..a4b877cec3 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5136,3 +5136,35 @@ and service platform for the Java programming language.") and service platform for the Java programming language. This package contains the log service.") (license license:asl2.0))) + +(define-public java-osgi-service-jdbc + (package + (name "java-osgi-service-jdbc") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.service.jdbc/" + version "/org.osgi.service.jdbc-" + version "-sources.jar")) + (sha256 + (base32 + "11iln5v7bk469cgb9ddkrz9sa95b3733gqgaqw9xf5g6wq652yjz")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-service-jdbc.jar" + #:tests? #f)); no tests + (home-page "http://www.osgi.org") + (synopsis "Factory for JDBC connection factories") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +a factory for JDBC connection factories. There are 3 preferred connection +factories for getting JDBC connections: + +@itemize +@item @code{javax.sql.DataSource}; +@item @code{javax.sql.ConnectionPoolDataSource}; +@item @code{javax.sql.XADataSource}. +@end itemize") + (license license:asl2.0))) From 291d3f22d65fbf34ccd85fbeab1708480857290d Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 1 Oct 2017 19:11:00 +0200 Subject: [PATCH 104/287] gnu: Add java-osgi-service-resolver. * gnu/packages/java.scm (java-osgi-service-resolver): New variable. --- gnu/packages/java.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index a4b877cec3..61d97e4eef 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5168,3 +5168,32 @@ factories for getting JDBC connections: @item @code{javax.sql.XADataSource}. @end itemize") (license license:asl2.0))) + +(define-public java-osgi-service-resolver + (package + (name "java-osgi-service-resolver") + (version "1.0.1") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.service.resolver/" + version "/org.osgi.service.resolver-" + version "-sources.jar")) + (sha256 + (base32 + "1dzqn1ryfi2rq4zwsgp44bmj2wlfydjg1qbxw2b0z4xdjjy55vxd")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-service-resolver.jar" + #:tests? #f)); no tests + (inputs + `(("annotation" ,java-osgi-annotation) + ("resource" ,java-osgi-resource))) + (home-page "http://www.osgi.org") + (synopsis "OSGI Resolver service") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +a resolver service that resolves the specified resources in the context supplied +by the caller.") + (license license:asl2.0))) From 1884bb81983cde85f475d9db74fb884439ab650d Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 1 Oct 2017 19:25:35 +0200 Subject: [PATCH 105/287] gnu: Add java-osgi-util-tracker. * gnu/packages/java.scm (java-osgi-util-tracker): New variable. --- gnu/packages/java.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 61d97e4eef..8edf05a0da 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5197,3 +5197,31 @@ and service platform for the Java programming language. This package contains a resolver service that resolves the specified resources in the context supplied by the caller.") (license license:asl2.0))) + +(define-public java-osgi-util-tracker + (package + (name "java-osgi-util-tracker") + (version "1.5.1") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.util.tracker/" + version "/org.osgi.util.tracker-" + version "-sources.jar")) + (sha256 + (base32 + "0c4fh9vxwzsx59r8dygda0gq2gx3z5vfhc3jsphlqwf5w0h403lz")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-util-tracker.jar" + #:tests? #f)); no tests + (inputs + `(("framework" ,java-osgi-framework) + ("annotation" ,java-osgi-annotation))) + (home-page "http://www.osgi.org") + (synopsis "Bundle tracking") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +bundle tracking utility classes.") + (license license:asl2.0))) From fb9c48b8294c35ba31ccd7e40b4491f4e94575d4 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 1 Oct 2017 19:28:13 +0200 Subject: [PATCH 106/287] gnu: Add java-osgi-service-cm. * gnu/packages/java.scm (java-osgi-service-cm): New variable. --- gnu/packages/java.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 8edf05a0da..de0162284d 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5225,3 +5225,31 @@ by the caller.") and service platform for the Java programming language. This package contains bundle tracking utility classes.") (license license:asl2.0))) + +(define-public java-osgi-service-cm + (package + (name "java-osgi-service-cm") + (version "1.5.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.service.cm/" + version "/org.osgi.service.cm-" + version "-sources.jar")) + (sha256 + (base32 + "1z8kap48y3xi0ggj8v6czglfnpnd94mmismgi2wbqhj1nl5fzbp6")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-service-cm.jar" + #:tests? #f)); no tests + (inputs + `(("framework" ,java-osgi-framework) + ("annotation" ,java-osgi-annotation))) + (home-page "http://www.osgi.org") + (synopsis "OSGI Configuration Management") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +utility classes for the configuration of services.") + (license license:asl2.0))) From 500aac750ee133a774d39b463eabe51758c048d8 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 1 Oct 2017 19:29:18 +0200 Subject: [PATCH 107/287] gnu: Add java-osgi-service-packageadmin. * gnu/packages/java.scm (java-osgi-service-packageadmin): New variable. --- gnu/packages/java.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index de0162284d..4418b67ea8 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5253,3 +5253,30 @@ bundle tracking utility classes.") and service platform for the Java programming language. This package contains utility classes for the configuration of services.") (license license:asl2.0))) + +(define-public java-osgi-service-packageadmin + (package + (name "java-osgi-service-packageadmin") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.service.packageadmin/" + version "/org.osgi.service.packageadmin-" + version "-sources.jar")) + (sha256 + (base32 + "041mpxzi7g36wmcily6y4ccn3jx15akpdy8gmhyb7m98x7qfvn52")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-service-packageadmin.jar" + #:tests? #f)); no tests + (inputs + `(("framework" ,java-osgi-framework))) + (home-page "http://www.osgi.org") + (synopsis "OSGI Package Administration") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +the packageadmin service.") + (license license:asl2.0))) From f282aa530b91c8fecb910bc0a3323fcbd4d39ffb Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Tue, 29 Aug 2017 23:54:16 +0200 Subject: [PATCH 108/287] gnu: Add heimdall. * gnu/packages/flashing-tools.scm (heimdall): New variable. Co-Authored-By: Danny Milosavljevic --- gnu/packages/flashing-tools.scm | 67 +++++++++++++++++++++++++++++---- 1 file changed, 59 insertions(+), 8 deletions(-) diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm index 127fc795a3..6a600bd0bc 100644 --- a/gnu/packages/flashing-tools.scm +++ b/gnu/packages/flashing-tools.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2016 Ludovic Courtès ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2017 Jonathan Brielmaier +;;; Copyright © 2017 Julien Lepiller ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,19 +23,22 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages flashing-tools) - #:use-module (guix licenses) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix packages) #:use-module (gnu packages) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (gnu packages bison) + #:use-module (gnu packages compression) #:use-module (gnu packages flex) #:use-module (gnu packages elf) #:use-module (gnu packages pkg-config) #:use-module (gnu packages libusb) #:use-module (gnu packages libftdi) #:use-module (gnu packages pciutils) + #:use-module (gnu packages qt) #:use-module (gnu packages autotools) #:use-module (gnu packages admin)) @@ -81,7 +85,7 @@ verifying and erasing flash chips. It is designed to flash BIOS/EFI/coreboot/firmware/optionROM images on mainboards, network/graphics/storage controller cards, and various other programmer devices.") - (license gpl2))) + (license license:gpl2))) (define-public 0xffff (package @@ -112,7 +116,7 @@ programmer devices.") for FIASCO images. It supports generating, unpacking, editing and flashing of FIASCO images for Maemo devices. Use it with care. It can brick your device.") - (license gpl3+))) + (license license:gpl3+))) (define-public avrdude (package @@ -140,7 +144,7 @@ brick your device.") "AVRDUDE is a utility to download/upload/manipulate the ROM and EEPROM contents of AVR microcontrollers using the in-system programming technique (ISP).") - (license gpl2+))) + (license license:gpl2+))) (define-public dfu-programmer (package @@ -166,7 +170,7 @@ technique (ISP).") "Dfu-programmer is a multi-platform command-line programmer for Atmel (8051, AVR, XMEGA & AVR32) chips with a USB bootloader supporting ISP.") - (license gpl2+))) + (license license:gpl2+))) (define-public dfu-util (package @@ -193,7 +197,7 @@ ranges from small devices like micro-controller boards up to mobile phones. With dfu-util you are able to download firmware to your device or upload firmware from it.") (home-page "http://dfu-util.sourceforge.net/") - (license gpl2+))) + (license license:gpl2+))) (define-public teensy-loader-cli ;; The repo does not tag versions nor does it use releases, but a commit @@ -244,7 +248,7 @@ HalfKay bootloader is running, so you can upload new programs and run them. You need to add the udev rules to make the Teensy update available for non-root users.") (home-page "https://www.pjrc.com/teensy/loader_cli.html") - (license gpl3)))) + (license license:gpl3)))) (define-public rkflashtool (let ((commit "094bd6410cb016e487e2ccb1050c59eeac2e6dd1") @@ -278,4 +282,51 @@ non-root users.") (description "Allows flashing of Rockchip based embedded linux devices. The list of currently supported devices is: RK2818, RK2918, RK2928, RK3026, RK3036, RK3066, RK312X, RK3168, RK3188, RK3288, RK3368.") - (license bsd-2)))) + (license license:bsd-2)))) + +(define-public heimdall + (package + (name "heimdall") + (version "1.4.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/Benjamin-Dobell/Heimdall" + "/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1y7gwg3lipyp2zcysm2vid1qg5nwin9bxbvgzs28lz2rya4fz6sq")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release") + #:tests? #f; no tests + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-invocations + (lambda* (#:key outputs #:allow-other-keys) + (substitute* '("heimdall-frontend/source/aboutform.cpp" + "heimdall-frontend/source/mainwindow.cpp") + (("start[(]\"heimdall\"") + (string-append "start(\"" (assoc-ref outputs "out") + "/bin/heimdall\""))) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin")) + (lib (string-append (assoc-ref outputs "out") "/lib"))) + (install-file "bin/heimdall" bin) + (install-file "bin/heimdall-frontend" bin) + (install-file "libpit/libpit.a" lib) + #t)))))) + (inputs + `(("libusb" ,libusb) + ("qtbase" ,qtbase) + ("zlib" ,zlib))) + (home-page "http://glassechidna.com.au/heimdall/") + (synopsis "Flash firmware onto Samsung mobile devices") + (description "@command{heimdall} is a tool suite used to flash firmware (aka +ROMs) onto Samsung mobile devices. Heimdall connects to a mobile device over +USB and interacts with low-level software running on the device, known as Loke. +Loke and Heimdall communicate via the custom Samsung-developed protocol typically +referred to as the \"Odin 3 protocol\".") + (license license:expat))) From 2299f5cd78a9874ec7797d02d9bd53cc3c30b698 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Tue, 3 Oct 2017 22:28:51 +0200 Subject: [PATCH 109/287] gnu: python-nose-timer: Add missing patch. * gnu/packages/patches/python-nose-timer-drop-ordereddict.patch: New file. * gnu/local.mk: Add it. --- gnu/local.mk | 1 + .../python-nose-timer-drop-ordereddict.patch | 44 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 gnu/packages/patches/python-nose-timer-drop-ordereddict.patch diff --git a/gnu/local.mk b/gnu/local.mk index 88d24fab27..c802b7b340 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -984,6 +984,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-genshi-isstring-helper.patch \ %D%/packages/patches/python-genshi-stripping-of-unsafe-script-tags.patch \ %D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \ + %D%/packages/patches/python-nose-timer-drop-ordereddict.patch \ %D%/packages/patches/python-parse-too-many-fields.patch \ %D%/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \ %D%/packages/patches/python-statsmodels-fix-tests.patch \ diff --git a/gnu/packages/patches/python-nose-timer-drop-ordereddict.patch b/gnu/packages/patches/python-nose-timer-drop-ordereddict.patch new file mode 100644 index 0000000000..e1e71a332a --- /dev/null +++ b/gnu/packages/patches/python-nose-timer-drop-ordereddict.patch @@ -0,0 +1,44 @@ +From 700076019b5aff72aac7651cc830aaef21ee9a47 Mon Sep 17 00:00:00 2001 +From: jakirkham +Date: Fri, 7 Jul 2017 05:57:56 -0400 +Subject: [PATCH] Drop ordereddict requirement (#84) + +* Drop ordereddict requirement + +As Python 2.7 is the minimum Python supported, every version of Python +should have `ordereddict` preincluded in the standard library one way or +another. So we can drop this dependency and just handle the differences +between Python 2 and Python 3. +--- + nosetimer/plugin.py | 5 +---- + setup.py | 1 - + 2 files changed, 1 insertion(+), 5 deletions(-) + +diff --git a/nosetimer/plugin.py b/nosetimer/plugin.py +index ef28e11..d093a51 100644 +--- a/nosetimer/plugin.py ++++ b/nosetimer/plugin.py +@@ -12,10 +12,7 @@ + except ImportError: + import queue as Queue + +-try: +- from collections import OrderedDict +-except ImportError: +- from ordereddict import OrderedDict ++from collections import OrderedDict + + + # define constants +diff --git a/setup.py b/setup.py +index 6a55b82..d249325 100755 +--- a/setup.py ++++ b/setup.py +@@ -27,7 +27,6 @@ + install_requires=[ + 'nose', + 'termcolor', +- 'ordereddict', + ], + license='MIT', + entry_points={ From 79ed92be6fb99af36f4173acade384c21acbbd90 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Oct 2017 22:44:27 +0200 Subject: [PATCH 110/287] gnu: libsodium: Update to 1.0.15. * gnu/packages/crypto.scm (libsodium): Update to 1.0.15. --- gnu/packages/crypto.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 9c657cd1f6..0f017888b2 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -58,7 +58,7 @@ (define-public libsodium (package (name "libsodium") - (version "1.0.14") + (version "1.0.15") (source (origin (method url-fetch) (uri (list (string-append @@ -69,7 +69,7 @@ "releases/old/libsodium-" version ".tar.gz"))) (sha256 (base32 - "1rvylybhxyn6ap3hrcingsl737zrqg12l7r91ns93j7xjz889z1w")))) + "1x3qw7lsz44vcxpcn1dvwig410phg6gmv31jwj94arrgka3rwspv")))) (build-system gnu-build-system) (synopsis "Portable NaCl-based crypto library") (description From 2a6e049a2f850aaa11e0ccabd94415e695e32c81 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Oct 2017 22:51:01 +0200 Subject: [PATCH 111/287] gnu: p11-kit: Update to 0.23.9. * gnu/packages/tls.scm (p11-kit): Update to 0.23.9. --- gnu/packages/tls.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 0e59d7df10..bb005f3682 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -113,7 +113,7 @@ in intelligent transportation networks.") (define-public p11-kit (package (name "p11-kit") - (version "0.23.8") + (version "0.23.9") (source (origin (method url-fetch) @@ -121,7 +121,7 @@ in intelligent transportation networks.") "download/" version "/p11-kit-" version ".tar.gz")) (sha256 (base32 - "0gqk1d09yyin75lvlywpbf3kxlnrcwbq8ridgapvqqjbzvjk98ab")))) + "0qyvnkb5hfi94wv3bn67y20hcbbvynvjwxpk7k9sh1si6ff69hg1")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From 87a9c53b7ca08bd490c94fe5579c3f26c19be78c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Oct 2017 22:58:15 +0200 Subject: [PATCH 112/287] gnu: imagemagick: Update to 6.9.9-17. * gnu/packages/imagemagick.scm (imagemagick): Update to 6.9.9-17. --- gnu/packages/imagemagick.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index b22799eea2..5840ad665a 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -46,14 +46,14 @@ ;; The 7 release series has an incompatible API, while the 6 series is still ;; maintained. Don't update to 7 until we've made sure that the ImageMagick ;; users are ready for the 7-series API. - (version "6.9.9-15") + (version "6.9.9-17") (source (origin (method url-fetch) (uri (string-append "mirror://imagemagick/ImageMagick-" version ".tar.xz")) (sha256 (base32 - "0bxgdc1qiyvag6a2iiqcbwp4ak0m1mzi9qhs51fbrvv6syy12m6c")))) + "0y39jcd6358dph51ch5w43sqk9lv079jhgg3l7g5mks6m25f49gz")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch") From f9bd2051f041d5530f88fb2e8b183193209b5f41 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Oct 2017 23:00:23 +0200 Subject: [PATCH 113/287] gnu: qemu: Update to 2.10.1. * gnu/packages/patches/qemu-CVE-2017-13711.patch, gnu/packages/patches/qemu-CVE-2017-14167.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Remove them. * gnu/packages/virtualization.scm (qemu): Update to 2.10.1. [source](patches): Remove. --- gnu/local.mk | 2 - .../patches/qemu-CVE-2017-13711.patch | 89 ------------------- .../patches/qemu-CVE-2017-14167.patch | 69 -------------- gnu/packages/virtualization.scm | 6 +- 4 files changed, 2 insertions(+), 164 deletions(-) delete mode 100644 gnu/packages/patches/qemu-CVE-2017-13711.patch delete mode 100644 gnu/packages/patches/qemu-CVE-2017-14167.patch diff --git a/gnu/local.mk b/gnu/local.mk index c802b7b340..9f4c6398b2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -999,8 +999,6 @@ dist_patch_DATA = \ %D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \ %D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \ %D%/packages/patches/python2-subprocess32-disable-input-test.patch \ - %D%/packages/patches/qemu-CVE-2017-13711.patch \ - %D%/packages/patches/qemu-CVE-2017-14167.patch \ %D%/packages/patches/qt4-ldflags.patch \ %D%/packages/patches/qtscript-disable-tests.patch \ %D%/packages/patches/quagga-reproducible-build.patch \ diff --git a/gnu/packages/patches/qemu-CVE-2017-13711.patch b/gnu/packages/patches/qemu-CVE-2017-13711.patch deleted file mode 100644 index 4070115419..0000000000 --- a/gnu/packages/patches/qemu-CVE-2017-13711.patch +++ /dev/null @@ -1,89 +0,0 @@ -Fix CVE-2017-13711: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13711 - -Patch copied from upstream source repository: - -https://git.qemu.org/?p=qemu.git;a=commitdiff;h=1201d308519f1e915866d7583d5136d03cc1d384 - -From 1201d308519f1e915866d7583d5136d03cc1d384 Mon Sep 17 00:00:00 2001 -From: Samuel Thibault -Date: Fri, 25 Aug 2017 01:35:53 +0200 -Subject: [PATCH] slirp: fix clearing ifq_so from pending packets -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The if_fastq and if_batchq contain not only packets, but queues of packets -for the same socket. When sofree frees a socket, it thus has to clear ifq_so -from all the packets from the queues, not only the first. - -Signed-off-by: Samuel Thibault -Reviewed-by: Philippe Mathieu-Daudé -Cc: qemu-stable@nongnu.org -Signed-off-by: Peter Maydell ---- - slirp/socket.c | 39 +++++++++++++++++++++++---------------- - 1 file changed, 23 insertions(+), 16 deletions(-) - -diff --git a/slirp/socket.c b/slirp/socket.c -index ecec0295a9..cb7b5b608d 100644 ---- a/slirp/socket.c -+++ b/slirp/socket.c -@@ -59,6 +59,27 @@ socreate(Slirp *slirp) - return(so); - } - -+/* -+ * Remove references to so from the given message queue. -+ */ -+static void -+soqfree(struct socket *so, struct quehead *qh) -+{ -+ struct mbuf *ifq; -+ -+ for (ifq = (struct mbuf *) qh->qh_link; -+ (struct quehead *) ifq != qh; -+ ifq = ifq->ifq_next) { -+ if (ifq->ifq_so == so) { -+ struct mbuf *ifm; -+ ifq->ifq_so = NULL; -+ for (ifm = ifq->ifs_next; ifm != ifq; ifm = ifm->ifs_next) { -+ ifm->ifq_so = NULL; -+ } -+ } -+ } -+} -+ - /* - * remque and free a socket, clobber cache - */ -@@ -66,23 +87,9 @@ void - sofree(struct socket *so) - { - Slirp *slirp = so->slirp; -- struct mbuf *ifm; - -- for (ifm = (struct mbuf *) slirp->if_fastq.qh_link; -- (struct quehead *) ifm != &slirp->if_fastq; -- ifm = ifm->ifq_next) { -- if (ifm->ifq_so == so) { -- ifm->ifq_so = NULL; -- } -- } -- -- for (ifm = (struct mbuf *) slirp->if_batchq.qh_link; -- (struct quehead *) ifm != &slirp->if_batchq; -- ifm = ifm->ifq_next) { -- if (ifm->ifq_so == so) { -- ifm->ifq_so = NULL; -- } -- } -+ soqfree(so, &slirp->if_fastq); -+ soqfree(so, &slirp->if_batchq); - - if (so->so_emu==EMU_RSH && so->extra) { - sofree(so->extra); --- -2.14.1 - diff --git a/gnu/packages/patches/qemu-CVE-2017-14167.patch b/gnu/packages/patches/qemu-CVE-2017-14167.patch deleted file mode 100644 index a6007ac082..0000000000 --- a/gnu/packages/patches/qemu-CVE-2017-14167.patch +++ /dev/null @@ -1,69 +0,0 @@ -Fix CVE-2017-14167: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14167 -http://seclists.org/oss-sec/2017/q3/407 - -Patch copied from upstream development mailing list: - -https://lists.nongnu.org/archive/html/qemu-devel/2017-09/msg01483.html - -From: Prasad J Pandit - -While loading kernel via multiboot-v1 image, (flags & 0x00010000) -indicates that multiboot header contains valid addresses to load -the kernel image. These addresses are used to compute kernel -size and kernel text offset in the OS image. Validate these -address values to avoid an OOB access issue. - -This is CVE-2017-14167. - -Reported-by: Thomas Garnier -Signed-off-by: Prasad J Pandit ---- - hw/i386/multiboot.c | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - -Update: add CVE-ID to the commit message. - -diff --git a/hw/i386/multiboot.c b/hw/i386/multiboot.c -index 6001f4caa2..c7b70c91d5 100644 ---- a/hw/i386/multiboot.c -+++ b/hw/i386/multiboot.c -@@ -221,15 +221,34 @@ int load_multiboot(FWCfgState *fw_cfg, - uint32_t mh_header_addr = ldl_p(header+i+12); - uint32_t mh_load_end_addr = ldl_p(header+i+20); - uint32_t mh_bss_end_addr = ldl_p(header+i+24); -+ - mh_load_addr = ldl_p(header+i+16); -+ if (mh_header_addr < mh_load_addr) { -+ fprintf(stderr, "invalid mh_load_addr address\n"); -+ exit(1); -+ } -+ - uint32_t mb_kernel_text_offset = i - (mh_header_addr - mh_load_addr); - uint32_t mb_load_size = 0; - mh_entry_addr = ldl_p(header+i+28); - - if (mh_load_end_addr) { -+ if (mh_bss_end_addr < mh_load_addr) { -+ fprintf(stderr, "invalid mh_bss_end_addr address\n"); -+ exit(1); -+ } - mb_kernel_size = mh_bss_end_addr - mh_load_addr; -+ -+ if (mh_load_end_addr < mh_load_addr) { -+ fprintf(stderr, "invalid mh_load_end_addr address\n"); -+ exit(1); -+ } - mb_load_size = mh_load_end_addr - mh_load_addr; - } else { -+ if (kernel_file_size < mb_kernel_text_offset) { -+ fprintf(stderr, "invalid kernel_file_size\n"); -+ exit(1); -+ } - mb_kernel_size = kernel_file_size - mb_kernel_text_offset; - mb_load_size = mb_kernel_size; - } --- -2.13.5 - diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 344ffc786b..a8e54d6840 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -72,16 +72,14 @@ (define-public qemu (package (name "qemu") - (version "2.10.0") + (version "2.10.1") (source (origin (method url-fetch) (uri (string-append "https://download.qemu.org/qemu-" version ".tar.xz")) - (patches (search-patches "qemu-CVE-2017-13711.patch" - "qemu-CVE-2017-14167.patch")) (sha256 (base32 - "0dgk7zcni41nf1jp84y0m6dk2nb4frnh571m8hkiv0m4hz4imn2m")))) + "1ahwl7r18iw2ds0q3c51nlivqsan9hcgnc8bbf9pv366iy81mm8x")))) (build-system gnu-build-system) (arguments '(;; Running tests in parallel can occasionally lead to failures, like: From 71977abc0e2d12a89de79c59469eab3e852eee5c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Oct 2017 23:14:53 +0200 Subject: [PATCH 114/287] gnu: vte-ng: Update to 0.50.0.a. * gnu/packages/gnome.scm (vte-ng): Update to 0.50.0.a. --- 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 1940a147d0..653fdad7fd 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2053,7 +2053,7 @@ editors, IDEs, etc.") (package (inherit vte) (name "vte-ng") - (version "0.48.3.a") + (version "0.50.0.a") (native-inputs `(("gtk-doc" ,gtk-doc) ("gperf" ,gperf) @@ -2068,7 +2068,7 @@ editors, IDEs, etc.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1wdkf090zclqy11hxdjgy8f6fgzajl0xzzirajikhbaiill7f8zh")))) + "0h5ifg6xpix074k445bmnd39mc75llrfkrsr9vw98dxa4rffxrgf")))) (arguments `(#:configure-flags '("CXXFLAGS=-Wformat=0") #:phases (modify-phases %standard-phases From 072acc6144fbc1e662b623f3ebddc835b43b5cc5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Oct 2017 23:17:21 +0200 Subject: [PATCH 115/287] gnu: openssh: Update to 7.6p1. * gnu/packages/ssh.scm (openssh): Update to 7.6p1. --- gnu/packages/ssh.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 55689a6c6d..1dac85d74a 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -128,14 +128,14 @@ a server that supports the SSH-2 protocol.") (define-public openssh (package (name "openssh") - (version "7.5p1") + (version "7.6p1") (source (origin (method url-fetch) (uri (string-append "mirror://openbsd/OpenSSH/portable/" name "-" version ".tar.gz")) (sha256 (base32 - "1w7rb5gbrikxdkp8w7zxnci4549gk4bw1lml01s59w5rzb2y6ilq")))) + "08qpsb8mrzcx8wgvz9insiyvq7sbg26yj5nvl2m5n57yvppcl8x3")))) (build-system gnu-build-system) (native-inputs `(("groff" ,groff))) (inputs `(("openssl" ,openssl) From 86edcc53382c66be06165c62a3934d60ae7aabd8 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Oct 2017 01:15:06 +0200 Subject: [PATCH 116/287] Revert "gnu: eudev: Update to 3.2.4 and generate manpages." This reverts commit c651cbad1e38f18f98984463d7d50254b019576b. --- gnu/packages/linux.scm | 50 +++++++++++++----------------------------- 1 file changed, 15 insertions(+), 35 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index dd46b5e506..46434b35c8 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2055,50 +2055,30 @@ from the module-init-tools project.") ;; The post-systemd fork, maintained by Gentoo. (package (name "eudev") - (version "3.2.4") + (version "3.2.2") (source (origin (method url-fetch) - (uri (string-append "https://github.com/gentoo/eudev/archive/v" - version ".zip")) - (file-name (string-append name "-" version ".zip")) + (uri (string-append + "http://dev.gentoo.org/~blueness/eudev/eudev-" + version ".tar.gz")) (sha256 (base32 - "1r1ag0snarygrj5qqxi2xdq9w6g3sfjd5jx1b0fl7zmqlsz3vvxx")) + "0qqgbgpm5wdllk0s04pf80nwc8pr93xazwri1bylm1f15zn5ck1y")) (patches (search-patches "eudev-rules-directory.patch")))) (build-system gnu-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (add-before 'configure 'bootstrap - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "man/make.sh" - (("/usr/bin/xsltproc") - (string-append (assoc-ref inputs "xsltproc") - "/bin/xsltproc"))) - ;; Manual pages are regenerated here. - (zero? (system* "./autogen.sh")))) - (add-after 'install 'build-hwdb - (lambda* (#:key outputs #:allow-other-keys) - ;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and - ;; similar tools to display product names. - (let ((out (assoc-ref outputs "out"))) - (zero? (system* (string-append out "/bin/udevadm") - "hwdb" "--update")))))) - #:configure-flags (list "--enable-manpages"))) + '(#:phases (modify-phases %standard-phases + (add-after 'install 'build-hwdb + (lambda* (#:key outputs #:allow-other-keys) + ;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and + ;; similar tools to display product names. + (let ((out (assoc-ref outputs "out"))) + (zero? (system* (string-append out "/bin/udevadm") + "hwdb" "--update")))))))) (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("gperf" ,gperf) - ("libtool" ,libtool) - ("pkg-config" ,pkg-config) - ;; For tests. + `(("pkg-config" ,pkg-config) ("perl" ,perl) - ("python" ,python-wrapper) - ;; For documentation. - ("docbook-xml" ,docbook-xml-4.2) - ("docbook-xsl" ,docbook-xsl) - ("libxml2" ,libxml2) ;for $XML_CATALOG_FILES - ("xsltproc", libxslt))) + ("gperf" ,gperf))) (inputs ;; When linked against libblkid, eudev can populate /dev/disk/by-label ;; and similar; it also installs the '60-persistent-storage.rules' file, From 7e2c67ca6ab0107484bd6820768d7af48b3e2709 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Tue, 3 Oct 2017 16:35:59 -0400 Subject: [PATCH 117/287] gnu: awscli: Update to 1.11.164. * gnu/packages/python.scm (awscli): Update to 1.11.164. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 6ffd468b3e..c0173c51fe 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -10020,14 +10020,14 @@ interface to the Amazon Web Services (AWS) API.") (define-public awscli (package (name "awscli") - (version "1.11.151") + (version "1.11.164") (source (origin (method url-fetch) (uri (pypi-uri name version)) (sha256 (base32 - "0h6rirbfy0f9cxm7ikll0kr720dircfmxf2vslmhn4n325831wsp")))) + "05r8cw7i7ff6barpmyxxk3i52gzb1xyxwj8isynmiyqlmk3c9r8w")))) (build-system python-build-system) (propagated-inputs `(("python-colorama" ,python-colorama) From d0c8e5249dbf7d0c8b0faa8c39b3bf7effc444b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Tue, 3 Oct 2017 11:13:05 +0800 Subject: [PATCH 118/287] gnu: Add snd. * gnu/packages/audio.scm (snd): New variable. --- gnu/packages/audio.scm | 62 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 95a5fdd7c8..a28dcaeaf0 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -36,6 +36,7 @@ #:use-module (guix build-system trivial) #:use-module (guix build-system cmake) #:use-module (guix build-system python) + #:use-module (guix build-system glib-or-gtk) #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) @@ -79,6 +80,8 @@ #:use-module (gnu packages xiph) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) + #:use-module (gnu packages maths) + #:use-module (gnu packages multiprecision) #:use-module (srfi srfi-1)) (define-public alsa-modular-synth @@ -2926,3 +2929,62 @@ mixers.") (define-public python2-pyalsaaudio (package-with-python2 python-pyalsaaudio)) + +(define-public snd + (package + (name "snd") + (version "17.7") + (source (origin + (method url-fetch) + (uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/" + "snd-" version ".tar.gz")) + (sha256 + (base32 + "1vm0dy5qlycqkima7y5ajzvazyjybifa803fabjcpncjz08c26vp")))) + (build-system glib-or-gtk-build-system) + (arguments + '(#:tests? #f ; no tests + #:out-of-source? #f ; for the 'install-doc' phase + #:configure-flags + (let* ((out (assoc-ref %outputs "out")) + (docdir (string-append out "/share/doc/snd"))) + (list "--with-alsa" "--with-jack" "--with-gmp" + (string-append "--with-doc-dir=" docdir))) + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (docdir (string-append out "/share/doc/snd"))) + (mkdir-p docdir) + (for-each + (lambda (f) + (install-file f docdir)) + (find-files "." "\\.html$|COPYING")) + (copy-recursively "pix" (string-append docdir "/pix")) + #t)))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("fftw" ,fftw) + ("flac" ,flac) + ("gmp" ,gmp) + ("gsl" ,gsl) + ("gtk+" ,gtk+) + ("jack" ,jack-1) + ("libsamplerate" ,libsamplerate) + ("mpc" ,mpc) + ("mpfr" ,mpfr) + ("mpg123" ,mpg123) + ("speex" ,speex) + ("timidity++" ,timidity++) + ("vorbis-tools" ,vorbis-tools) + ("wavpack" ,wavpack))) + (synopsis "Sound editor") + (home-page "https://ccrma.stanford.edu/software/snd/") + (description + "Snd is a sound editor modelled loosely after Emacs. It can be +customized and extended using either the s7 Scheme implementation (included in +the Snd sources), Ruby, or Forth.") + (license (license:non-copyleft "file://COPYING")))) From 0c75a4de497991912af0e4d252b90c283e162e5d Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Thu, 28 Sep 2017 18:57:09 +0100 Subject: [PATCH 119/287] vm: Add a minimum root size. * gnu/system/vm.scm (qemu-image): When guessing the root-size, use a lower bound of 20 MiB, otherwise the root file system size is sometimes 0 MiB in size. --- gnu/system/vm.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 78143e4f7a..d340a8563f 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -304,9 +304,12 @@ the image." #:register-closures? #$register-closures? #:system-directory #$os-drv)) (root-size #$(if (eq? 'guess disk-image-size) - #~(estimated-partition-size - (map (cut string-append "/xchg/" <>) - graphs)) + #~(max + ;; Minimum 20 MiB root size + (* 20 (expt 2 20)) + (estimated-partition-size + (map (cut string-append "/xchg/" <>) + graphs))) (- disk-image-size (* 50 (expt 2 20))))) (partitions (list (partition From eb152070f1598769390a294e6d33f902b2d7be2b Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Thu, 28 Sep 2017 18:57:18 +0100 Subject: [PATCH 120/287] vm: Add disk-image-size to . * gnu/system/vm.scm (): Add disk-image-size. (port-forwardings->qemu-options): Use disk-image-size from . --- gnu/system/vm.scm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index d340a8563f..273a895bef 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -709,6 +709,8 @@ it is mostly useful when FULL-BOOT? is true." (default #f)) (memory-size virtual-machine-memory-size ;integer (MiB) (default 256)) + (disk-image-size virtual-machine-disk-image-size ;integer (bytes) + (default 'guess)) (port-forwardings virtual-machine-port-forwardings ;list of integer pairs (default '()))) @@ -737,12 +739,15 @@ FORWARDINGS is a list of host-port/guest-port pairs." system target) ;; XXX: SYSTEM and TARGET are ignored. (match vm - (($ os qemu graphic? memory-size ()) + (($ os qemu graphic? memory-size disk-image-size ()) (system-qemu-image/shared-store-script os #:qemu qemu #:graphic? graphic? - #:memory-size memory-size)) - (($ os qemu graphic? memory-size forwardings) + #:memory-size memory-size + #:disk-image-size + disk-image-size)) + (($ os qemu graphic? memory-size disk-image-size + forwardings) (let ((options `("-net" ,(string-append "user," @@ -751,6 +756,8 @@ FORWARDINGS is a list of host-port/guest-port pairs." #:qemu qemu #:graphic? graphic? #:memory-size memory-size + #:disk-image-size + disk-image-size #:options options))))) ;;; vm.scm ends here From fa4f95a7c4ebc59f5f91499cd99400fc76e39001 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Fri, 29 Sep 2017 07:01:34 +0100 Subject: [PATCH 121/287] gnu: Standardise indentation of finance module imports. * gnu/packages/finance.scm (define-module): Use 2 space indentation. --- gnu/packages/finance.scm | 62 ++++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 9e346a6625..f82accb038 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -22,37 +22,37 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages finance) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (guix build-system cmake) - #:use-module (guix build-system python) - #:use-module (gnu packages base) - #:use-module (gnu packages boost) - #:use-module (gnu packages check) - #:use-module (gnu packages databases) - #:use-module (gnu packages documentation) - #:use-module (gnu packages dns) - #:use-module (gnu packages emacs) - #:use-module (gnu packages graphviz) - #:use-module (gnu packages groff) - #:use-module (gnu packages libedit) - #:use-module (gnu packages libevent) - #:use-module (gnu packages libunwind) - #:use-module (gnu packages linux) - #:use-module (gnu packages multiprecision) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages protobuf) - #:use-module (gnu packages python) - #:use-module (gnu packages qt) - #:use-module (gnu packages texinfo) - #:use-module (gnu packages textutils) - #:use-module (gnu packages tls) - #:use-module (gnu packages upnp) - #:use-module (gnu packages web) - #:use-module (gnu packages xml) - #:use-module (gnu packages gnuzilla)) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (guix build-system cmake) + #:use-module (guix build-system python) + #:use-module (gnu packages base) + #:use-module (gnu packages boost) + #:use-module (gnu packages check) + #:use-module (gnu packages databases) + #:use-module (gnu packages documentation) + #:use-module (gnu packages dns) + #:use-module (gnu packages emacs) + #:use-module (gnu packages graphviz) + #:use-module (gnu packages groff) + #:use-module (gnu packages libedit) + #:use-module (gnu packages libevent) + #:use-module (gnu packages libunwind) + #:use-module (gnu packages linux) + #:use-module (gnu packages multiprecision) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages protobuf) + #:use-module (gnu packages python) + #:use-module (gnu packages qt) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages textutils) + #:use-module (gnu packages tls) + #:use-module (gnu packages upnp) + #:use-module (gnu packages web) + #:use-module (gnu packages xml) + #:use-module (gnu packages gnuzilla)) (define-public bitcoin-core (package From f473b8f1f7db695dce1ed5b145be501424e76b34 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 3 Oct 2017 22:46:40 +0300 Subject: [PATCH 122/287] gnu: clisp: Update to 2.49-60. * gnu/packages/lisp.scm (clisp): Update to 2.49-60. [source]: Download mercurial repository, apply patch. [inputs]: Replace readline@6.2 with readline, add ncurses. [arguments]: Add multiple configure flags. Remove build phase to build in "src" directory. Remove more uses of a timestamp. --- gnu/local.mk | 1 + gnu/packages/lisp.scm | 32 +++++++++----- .../patches/clisp-remove-failing-test.patch | 43 +++++++++++++++++++ 3 files changed, 65 insertions(+), 11 deletions(-) create mode 100644 gnu/packages/patches/clisp-remove-failing-test.patch diff --git a/gnu/local.mk b/gnu/local.mk index 9f4c6398b2..ad8b02a082 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -560,6 +560,7 @@ dist_patch_DATA = \ %D%/packages/patches/chmlib-inttypes.patch \ %D%/packages/patches/clang-libc-search-path.patch \ %D%/packages/patches/clang-3.8-libc-search-path.patch \ + %D%/packages/patches/clisp-remove-failing-test.patch \ %D%/packages/patches/clucene-pkgconfig.patch \ %D%/packages/patches/clx-remove-demo.patch \ %D%/packages/patches/cmake-fix-tests.patch \ diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 224cea56f6..f5840e1b28 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -33,6 +33,7 @@ #:use-module (gnu packages m4) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix hg-download) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system asdf) @@ -42,6 +43,7 @@ #:use-module (gnu packages fontutils) #:use-module (gnu packages maths) #:use-module (gnu packages multiprecision) + #:use-module (gnu packages ncurses) #:use-module (gnu packages bdw-gc) #:use-module (gnu packages libffi) #:use-module (gnu packages libffcall) @@ -228,21 +230,31 @@ supporting ASDF, Sockets, Gray streams, MOP, and other useful components.") (define-public clisp (package (name "clisp") - (version "2.49") + (version "2.49-60") (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/clisp/release/" version - "/clisp-" version ".tar.gz")) + (method hg-fetch) + (uri (hg-reference + (url "http://hg.code.sf.net/p/clisp/clisp") + (changeset "clisp_2_49_60-2017-06-25"))) + (file-name (string-append name "-" version "-checkout")) (sha256 - (base32 "0rp82nqp5362isl9i34rwgg04cidz7izljd9d85pqcw1qr964bxx")))) + (base32 "0qjv3z274rbdmb941hy03hl63f4z7bmci234f8dyz4skgfr82d3i")) + (patches (search-patches "clisp-remove-failing-test.patch")))) (build-system gnu-build-system) (inputs `(("libffcall" ,libffcall) - ("readline" ,readline-6.2) + ("ncurses" ,ncurses) + ("readline" ,readline) ("libsigsegv" ,libsigsegv))) (arguments '(;; XXX The custom configure script does not cope well when passed ;; --build=. + #:configure-flags '("CFLAGS=-falign-functions=4" + "--enable-portability" + "--with-dynamic-ffi" + "--with-dynamic-modules" + "--with-module=bindings/glibc" + "--with-module=rawsock") #:build #f #:phases (modify-phases %standard-phases @@ -262,11 +274,9 @@ supporting ASDF, Sockets, Gray streams, MOP, and other useful components.") (lambda _ (substitute* "src/constobj.d" (("__DATE__ __TIME__") "\"1\"")) - #t)) - (add-before 'build 'chdir-to-source - (lambda _ - ;; We are supposed to call make under the src sub-directory. - (chdir "src") + (substitute* "src/genclisph.d" + (("__DATE__") "\"1\"") + (("__TIME__") "\"1\"")) #t))) ;; Makefiles seem to have race conditions. #:parallel-build? #f)) diff --git a/gnu/packages/patches/clisp-remove-failing-test.patch b/gnu/packages/patches/clisp-remove-failing-test.patch new file mode 100644 index 0000000000..e44ce80f74 --- /dev/null +++ b/gnu/packages/patches/clisp-remove-failing-test.patch @@ -0,0 +1,43 @@ +This test doesn't ever complete or timeout + +--- + tests/socket.tst | 24 ------------------------ + 1 file changed, 24 deletions(-) + +diff --git a/tests/socket.tst b/tests/socket.tst +index 93c6310..1d976ff 100644 +--- a/tests/socket.tst ++++ b/tests/socket.tst +@@ -551,30 +551,6 @@ T + interfaces)) + ("0.0.0.0" "127.0.0.1" "0.0.0.0" "127.0.0.1") + +-(multiple-value-bind (run args) (cmd-args) +- (let ((se (socket:socket-server))) +- (ext:run-program run :arguments (append args (list "-q" "-q" "-x" (format nil "(close (socket:socket-connect ~D))" (socket:socket-server-port se)))) +- :wait nil :input nil :output nil) +- (unwind-protect +- (with-open-stream (so (socket:socket-accept se)) +- (list +- (socket:socket-status so) +- (write-line "foo" so) +- (socket:socket-status so) +- #+macos (handler-case (read-char so) +- (end-of-file (c) +- (princ 'read-char) (princ-error c) t)) +- #-macos (check-os-error (read-char so) (:ECONNRESET 104)) +- (null (member (socket:socket-status so) '(:EOF :APPEND))) +- #+macos (string= (write-line "bar" so) "bar") +- #-macos (check-os-error (write-line "bar" so) (:EPIPE 32)) +- (null (member (socket:socket-status so) '(:EOF :APPEND))) +- (handler-case (read-char so) +- (end-of-file (c) +- (princ 'read-char) (princ-error c) 'end-of-file)))) +- (socket:socket-server-close se)))) +-(:OUTPUT "foo" :OUTPUT T NIL T NIL END-OF-FILE) +- + ;; https://sourceforge.net/p/clisp/feature-requests/46/ + (check-os-error (socket:socket-connect 0) + #-(or win32 macos) (:ECONNREFUSED 111) +-- + From d2f93e61dbcd89252ed1d6a1adfb53554ee842e4 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sun, 1 Oct 2017 19:02:55 +0300 Subject: [PATCH 123/287] gnu: emacs-slime: Update to 2.20. * gnu/packages/emacs.scm (emacs-slime): Update to 2.20. Signed-off-by: Christopher Baines --- 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 5d1090fb7e..4ead640ce6 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -2461,7 +2461,7 @@ in @code{html-mode}.") (define-public emacs-slime (package (name "emacs-slime") - (version "2.19") + (version "2.20") (source (origin (file-name (string-append name "-" version ".tar.gz")) @@ -2471,7 +2471,7 @@ in @code{html-mode}.") version ".tar.gz")) (sha256 (base32 - "1jhaq5cn89k45nzyl0jd12gmjxnh1bq9jlfwrxba342agxsscb0p")))) + "086lq5y4pvj9wihy0si02xxvyzpzz8mcg3hz1cvy9zxlyjwzr1gk")))) (build-system emacs-build-system) (native-inputs `(("texinfo" ,texinfo))) From 6fe2d37ccf549eb6975ef7faa3db91cc4c4c4b5a Mon Sep 17 00:00:00 2001 From: Feng Shu Date: Tue, 3 Oct 2017 20:46:33 +0800 Subject: [PATCH 124/287] gnu: emacs-pyim: Fix error input name * gnu/packages/emacs.scm (emacs-pyim): Fix error input name. Signed-off-by: Christopher Baines --- gnu/packages/emacs.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 4ead640ce6..13c6f00d06 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4973,7 +4973,7 @@ containing words from the rime project.") (build-system emacs-build-system) (propagated-inputs `(("emacs-async" ,emacs-async) - ("emacs-exwm" ,emacs-pyim-basedict) + ("emacs-pyim-basedict" ,emacs-pyim-basedict) ("emacs-popup" ,emacs-popup) ("emacs-pos-tip" ,emacs-pos-tip))) (home-page "https://github.com/tumashu/pyim") From 48b68c61789ee1ade873e316cb69b2b87a18123d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 4 Oct 2017 10:49:26 +0300 Subject: [PATCH 125/287] gnu: virtuoso-ose: Limit to 64-bit platforms. * gnu/packages/databases.scm (virtuoso-ose)[supported-systems]: New field. --- gnu/packages/databases.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index e119b01f5e..fbfb341026 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1741,4 +1741,6 @@ implementation for Python.") (description "Virtuoso is a scalable cross-platform server that combines relational, graph, and document data management with web application server and web services platform functionality.") + ;; configure: error: ... can only be build on 64bit platforms + (supported-systems '("x86_64-linux" "mips64el-linux" "aarch64-linux")) (license license:gpl2))) From 1033cdbb0c27a75b77a05a97fbbe776060d5c6e7 Mon Sep 17 00:00:00 2001 From: Thomas Danckaert Date: Sun, 1 Oct 2017 14:32:04 +0200 Subject: [PATCH 126/287] gnu: python-numpy: Give sh store location instead of setting $SHELL. * gnu/packages/python.scm (python-numpy): [arguments] Don't set $SHELL in the environment, but embed the store location of bash-minimal as a default shell. Otherwise, we have to set $SHELL for every package which uses numpy's distutils. --- gnu/packages/python.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index c0173c51fe..bf451ab06d 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3742,8 +3742,6 @@ between language specification and implementation aspects.") (modify-phases %standard-phases (add-before 'build 'set-environment-variables (lambda* (#:key inputs #:allow-other-keys) - ;; numpy's distutils uses $SHELL to run external commands. - (setenv "SHELL" "bash") (call-with-output-file "site.cfg" (lambda (port) (format port @@ -3762,6 +3760,11 @@ include_dirs = ~a/include (assoc-ref inputs "openblas") (assoc-ref inputs "lapack") (assoc-ref inputs "lapack")))) + ;; Make /gnu/store/...-bash-.../bin/sh the default shell, instead of + ;; /bin/sh. + (substitute* "numpy/distutils/exec_command.py" + (("(os.environ.get\\('SHELL', ')(/bin/sh'\\))" match match-start match-end) + (string-append match-start (assoc-ref inputs "bash") match-end))) ;; Use "gcc" executable, not "cc". (substitute* "numpy/distutils/system_info.py" (("c = distutils\\.ccompiler\\.new_compiler\\(\\)") From cb91edebdaef4d9512100ed5328b09a151d83d65 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 4 Oct 2017 14:36:50 +0200 Subject: [PATCH 127/287] gnu: python-numexpr: Update to 2.6.4. * gnu/packages/python.scm (python-numexpr): Update to 2.6.4. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index bf451ab06d..5052b65022 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -4142,14 +4142,14 @@ that client code uses to construct the grammar directly in Python code.") (define-public python-numexpr (package (name "python-numexpr") - (version "2.6.1") + (version "2.6.4") (source (origin (method url-fetch) (uri (pypi-uri "numexpr" version)) (sha256 (base32 - "01lsja72m32z0i5p8rwxbfyzk4mplh72k2a140nwh8vv4wpyfbnv")))) + "1kpnbb5d5n927113zccfibn16z7gidjipyac6kbbhzs0lnizkgph")))) (build-system python-build-system) (arguments `(#:tests? #f)) ; no tests included (propagated-inputs From 63aa8558ada81b291723796d940d430067ac7270 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 4 Oct 2017 15:03:48 +0200 Subject: [PATCH 128/287] gnu: Add python-parameterized. * gnu/packages/check.scm (python-parameterized, python2-parameterized): New variables. --- gnu/packages/check.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index fcfedb99aa..45ac7d786c 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017 Kei Kebreau ;;; Copyright © 2017 ng0 +;;; Copyright © 2017 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -294,3 +295,26 @@ generation.") C++ but is used in C and C++ projects and frequently used in embedded systems but it works for any C/C++ project.") (license bsd-3))) + +(define-public python-parameterized + (package + (name "python-parameterized") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "parameterized" version)) + (sha256 + (base32 + "1qj1939shm48d9ql6fm1nrdy4p7sdyj8clz1szh5swwpf1qqxxfa")))) + (build-system python-build-system) + (arguments '(#:tests? #f)) ; there are no tests + (home-page "https://github.com/wolever/parameterized") + (synopsis "Parameterized testing with any Python test framework") + (description + "Parameterized is a Python library that aims to fix parameterized testing +for every Python test framework. It supports nose, py.test, and unittest.") + (license bsd-2))) + +(define-public python2-parameterized + (package-with-python2 python-parameterized)) From 49490231379ad860420f721bc24e0014c87448c2 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 4 Oct 2017 15:56:48 -0400 Subject: [PATCH 129/287] gnu: isync: Update to 1.3.0. * gnu/packages/mail.scm (isync): Update to 1.3.0. [native-inputs]: Add perl. --- gnu/packages/mail.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 8c376b1e45..cea79e6da3 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1244,15 +1244,17 @@ hashing schemes plugin for @code{Dovecot}.") (define-public isync (package (name "isync") - (version "1.2.1") + (version "1.3.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/isync/isync/" version "/isync-" version ".tar.gz")) (sha256 (base32 - "1bij6nm06ghkg98n2pdyacam2fyg5y8f7ajw0d5653m0r4ldw5p7")))) + "173wd7x8y5sp94slzwlnb7zhgs32r57zl9xspl2rf4g3fqwmhpwd")))) (build-system gnu-build-system) + (native-inputs + `(("perl" ,perl))) (inputs `(("bdb" ,bdb) ("openssl" ,openssl))) From f120b4abe51159919268a38d3b6e519df7d09680 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 4 Oct 2017 16:32:39 -0400 Subject: [PATCH 130/287] gnu: mutt: Update to 1.9.1. * gnu/packages/mail.scm (mutt): Update to 1.9.1. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index cea79e6da3..cc3977e2c3 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -225,14 +225,14 @@ aliasing facilities to work just as they would on normal mail.") (define-public mutt (package (name "mutt") - (version "1.8.3") + (version "1.9.1") (source (origin (method url-fetch) (uri (string-append "https://bitbucket.org/mutt/mutt/downloads/" "mutt-" version ".tar.gz")) (sha256 (base32 - "0hpd896mw630sd6ps60hpka8cg691nvr627n8kmabv7zcxnp90cv")) + "1c8vv4anl555a03pbnwf8wnf0d8pcnd4p35y3q8f5ikkcflq76vl")) (patches (search-patches "mutt-store-references.patch")))) (build-system gnu-build-system) (inputs From a35532f52df3ba3bc360346938aa90806cad493e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Oct 2017 00:34:53 +0200 Subject: [PATCH 131/287] gnu: xorg-server: Update to 1.19.4 [fixes CVE-2017-13721, CVE-2017-13723]. The GPG signature for the bz2 tarball is bad, but the checksum matches the signed release announcement, and contents are identical to the good .gz. * gnu/packages/xorg.scm (xorg-server): Update to 1.19.4. [source]: Remove obsolete patches. * gnu/packages/patches/xorg-server-CVE-2017-10971.patch, gnu/packages/patches/xorg-server-CVE-2017-10972.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. --- gnu/local.mk | 2 - .../patches/xorg-server-CVE-2017-10971.patch | 153 ------------------ .../patches/xorg-server-CVE-2017-10972.patch | 35 ---- gnu/packages/xorg.scm | 10 +- 4 files changed, 4 insertions(+), 196 deletions(-) delete mode 100644 gnu/packages/patches/xorg-server-CVE-2017-10971.patch delete mode 100644 gnu/packages/patches/xorg-server-CVE-2017-10972.patch diff --git a/gnu/local.mk b/gnu/local.mk index ad8b02a082..6db176b767 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1124,8 +1124,6 @@ dist_patch_DATA = \ %D%/packages/patches/xinetd-fix-fd-leak.patch \ %D%/packages/patches/xinetd-CVE-2013-4342.patch \ %D%/packages/patches/xmodmap-asprintf.patch \ - %D%/packages/patches/xorg-server-CVE-2017-10971.patch \ - %D%/packages/patches/xorg-server-CVE-2017-10972.patch \ %D%/packages/patches/libyaml-CVE-2014-9130.patch \ %D%/packages/patches/zathura-plugindir-environment-variable.patch \ %D%/packages/patches/zziplib-CVE-2017-5974.patch \ diff --git a/gnu/packages/patches/xorg-server-CVE-2017-10971.patch b/gnu/packages/patches/xorg-server-CVE-2017-10971.patch deleted file mode 100644 index 2696033e58..0000000000 --- a/gnu/packages/patches/xorg-server-CVE-2017-10971.patch +++ /dev/null @@ -1,153 +0,0 @@ -From 215f894965df5fb0bb45b107d84524e700d2073c Mon Sep 17 00:00:00 2001 -From: Michal Srb -Date: Wed, 24 May 2017 15:54:40 +0300 -Subject: dix: Disallow GenericEvent in SendEvent request. - -The SendEvent request holds xEvent which is exactly 32 bytes long, no more, -no less. Both ProcSendEvent and SProcSendEvent verify that the received data -exactly match the request size. However nothing stops the client from passing -in event with xEvent::type = GenericEvent and any value of -xGenericEvent::length. - -In the case of ProcSendEvent, the event will be eventually passed to -WriteEventsToClient which will see that it is Generic event and copy the -arbitrary length from the receive buffer (and possibly past it) and send it to -the other client. This allows clients to copy unitialized heap memory out of X -server or to crash it. - -In case of SProcSendEvent, it will attempt to swap the incoming event by -calling a swapping function from the EventSwapVector array. The swapped event -is written to target buffer, which in this case is local xEvent variable. The -xEvent variable is 32 bytes long, but the swapping functions for GenericEvents -expect that the target buffer has size matching the size of the source -GenericEvent. This allows clients to cause stack buffer overflows. - -Signed-off-by: Michal Srb -Reviewed-by: Peter Hutterer -Signed-off-by: Peter Hutterer - -diff --git a/dix/events.c b/dix/events.c -index 3e3a01e..d3a33ea 100644 ---- a/dix/events.c -+++ b/dix/events.c -@@ -5366,6 +5366,12 @@ ProcSendEvent(ClientPtr client) - client->errorValue = stuff->event.u.u.type; - return BadValue; - } -+ /* Generic events can have variable size, but SendEvent request holds -+ exactly 32B of event data. */ -+ if (stuff->event.u.u.type == GenericEvent) { -+ client->errorValue = stuff->event.u.u.type; -+ return BadValue; -+ } - if (stuff->event.u.u.type == ClientMessage && - stuff->event.u.u.detail != 8 && - stuff->event.u.u.detail != 16 && stuff->event.u.u.detail != 32) { -diff --git a/dix/swapreq.c b/dix/swapreq.c -index 719e9b8..6785059 100644 ---- a/dix/swapreq.c -+++ b/dix/swapreq.c -@@ -292,6 +292,13 @@ SProcSendEvent(ClientPtr client) - swapl(&stuff->destination); - swapl(&stuff->eventMask); - -+ /* Generic events can have variable size, but SendEvent request holds -+ exactly 32B of event data. */ -+ if (stuff->event.u.u.type == GenericEvent) { -+ client->errorValue = stuff->event.u.u.type; -+ return BadValue; -+ } -+ - /* Swap event */ - proc = EventSwapVector[stuff->event.u.u.type & 0177]; - if (!proc || proc == NotImplemented) /* no swapping proc; invalid event type? */ --- -cgit v0.10.2 - -From 8caed4df36b1f802b4992edcfd282cbeeec35d9d Mon Sep 17 00:00:00 2001 -From: Michal Srb -Date: Wed, 24 May 2017 15:54:41 +0300 -Subject: Xi: Verify all events in ProcXSendExtensionEvent. - -The requirement is that events have type in range -EXTENSION_EVENT_BASE..lastEvent, but it was tested -only for first event of all. - -Signed-off-by: Michal Srb -Reviewed-by: Peter Hutterer -Signed-off-by: Peter Hutterer - -diff --git a/Xi/sendexev.c b/Xi/sendexev.c -index 1cf118a..5e63bfc 100644 ---- a/Xi/sendexev.c -+++ b/Xi/sendexev.c -@@ -117,7 +117,7 @@ SProcXSendExtensionEvent(ClientPtr client) - int - ProcXSendExtensionEvent(ClientPtr client) - { -- int ret; -+ int ret, i; - DeviceIntPtr dev; - xEvent *first; - XEventClass *list; -@@ -141,10 +141,12 @@ ProcXSendExtensionEvent(ClientPtr client) - /* The client's event type must be one defined by an extension. */ - - first = ((xEvent *) &stuff[1]); -- if (!((EXTENSION_EVENT_BASE <= first->u.u.type) && -- (first->u.u.type < lastEvent))) { -- client->errorValue = first->u.u.type; -- return BadValue; -+ for (i = 0; i < stuff->num_events; i++) { -+ if (!((EXTENSION_EVENT_BASE <= first[i].u.u.type) && -+ (first[i].u.u.type < lastEvent))) { -+ client->errorValue = first[i].u.u.type; -+ return BadValue; -+ } - } - - list = (XEventClass *) (first + stuff->num_events); --- -cgit v0.10.2 - -From ba336b24052122b136486961c82deac76bbde455 Mon Sep 17 00:00:00 2001 -From: Michal Srb -Date: Wed, 24 May 2017 15:54:42 +0300 -Subject: Xi: Do not try to swap GenericEvent. - -The SProcXSendExtensionEvent must not attempt to swap GenericEvent because -it is assuming that the event has fixed size and gives the swapping function -xEvent-sized buffer. - -A GenericEvent would be later rejected by ProcXSendExtensionEvent anyway. - -Signed-off-by: Michal Srb -Reviewed-by: Peter Hutterer -Signed-off-by: Peter Hutterer - -diff --git a/Xi/sendexev.c b/Xi/sendexev.c -index 5e63bfc..5c2e0fc 100644 ---- a/Xi/sendexev.c -+++ b/Xi/sendexev.c -@@ -95,9 +95,17 @@ SProcXSendExtensionEvent(ClientPtr client) - - eventP = (xEvent *) &stuff[1]; - for (i = 0; i < stuff->num_events; i++, eventP++) { -+ if (eventP->u.u.type == GenericEvent) { -+ client->errorValue = eventP->u.u.type; -+ return BadValue; -+ } -+ - proc = EventSwapVector[eventP->u.u.type & 0177]; -- if (proc == NotImplemented) /* no swapping proc; invalid event type? */ -+ /* no swapping proc; invalid event type? */ -+ if (proc == NotImplemented) { -+ client->errorValue = eventP->u.u.type; - return BadValue; -+ } - (*proc) (eventP, &eventT); - *eventP = eventT; - } --- -cgit v0.10.2 - diff --git a/gnu/packages/patches/xorg-server-CVE-2017-10972.patch b/gnu/packages/patches/xorg-server-CVE-2017-10972.patch deleted file mode 100644 index f24e9c0ae6..0000000000 --- a/gnu/packages/patches/xorg-server-CVE-2017-10972.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 05442de962d3dc624f79fc1a00eca3ffc5489ced Mon Sep 17 00:00:00 2001 -From: Michal Srb -Date: Wed, 24 May 2017 15:54:39 +0300 -Subject: Xi: Zero target buffer in SProcXSendExtensionEvent. - -Make sure that the xEvent eventT is initialized with zeros, the same way as -in SProcSendEvent. - -Some event swapping functions do not overwrite all 32 bytes of xEvent -structure, for example XSecurityAuthorizationRevoked. Two cooperating -clients, one swapped and the other not, can send -XSecurityAuthorizationRevoked event to each other to retrieve old stack data -from X server. This can be potentialy misused to go around ASLR or -stack-protector. - -Signed-off-by: Michal Srb -Reviewed-by: Peter Hutterer -Signed-off-by: Peter Hutterer - -diff --git a/Xi/sendexev.c b/Xi/sendexev.c -index 11d8202..1cf118a 100644 ---- a/Xi/sendexev.c -+++ b/Xi/sendexev.c -@@ -78,7 +78,7 @@ SProcXSendExtensionEvent(ClientPtr client) - { - CARD32 *p; - int i; -- xEvent eventT; -+ xEvent eventT = { .u.u.type = 0 }; - xEvent *eventP; - EventSwapPtr proc; - --- -cgit v0.10.2 - diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index d66cf417f6..f3d415c096 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5067,7 +5067,7 @@ over Xlib, including: (define-public xorg-server (package (name "xorg-server") - (version "1.19.3") + (version "1.19.4") (source (origin (method url-fetch) @@ -5076,9 +5076,9 @@ over Xlib, including: name "-" version ".tar.bz2")) (sha256 (base32 - "162s1v901djr57gxmmk4airk8hiwcz79dqyz72972x1lw1k82yk7")) + "1a690fzv5l5ks45g9zhlzdskdq8q73mcbpb9a3wz3shxm778lxda")) (patches - (cons + (list ;; See: ;; https://lists.fedoraproject.org/archives/list/devel@lists. ;; fedoraproject.org/message/JU655YB7AM4OOEQ4MOMCRHJTYJ76VFOK/ @@ -5090,9 +5090,7 @@ over Xlib, including: (sha256 (base32 "0mm70y058r8s9y9jiv7q2myv0ycnaw3iqzm7d274410s0ik38w7q")) - (file-name "xorg-server-use-intel-only-on-pre-gen4.diff")) - (search-patches "xorg-server-CVE-2017-10971.patch" - "xorg-server-CVE-2017-10972.patch"))))) + (file-name "xorg-server-use-intel-only-on-pre-gen4.diff")))))) (build-system gnu-build-system) (propagated-inputs `(("dri2proto" ,dri2proto) From 488d380c82c0b4aac631e15099eb8d40551d49e0 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 4 Oct 2017 18:50:31 -0400 Subject: [PATCH 132/287] gnu: go: update to 1.9.1 [security fixes]. See the release announcement and bug reports for more details about the security issues fixed in this release: https://groups.google.com/forum/m/#!topic/golang-nuts/sHfMg4gZNps https://golang.org/issue/22125 https://golang.org/issue/22134 * gnu/packages/golang.scm (go-1.9): Update to 1.9.1. --- gnu/packages/golang.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 9f3ccc8f69..b1967b3f1a 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -204,7 +204,7 @@ sequential processes (CSP) concurrent programming features added.") (package (inherit go-1.4) (name "go") - (version "1.9") + (version "1.9.1") (source (origin (method url-fetch) @@ -212,7 +212,7 @@ sequential processes (CSP) concurrent programming features added.") name version ".src.tar.gz")) (sha256 (base32 - "14z9azh8pk5cwyl2qdk893j68lk0cca7a9b8k2hpn5pd52825ax4")))) + "03jmrgqq852wqyphvd8p46i32f72xki3bmylhkxf0kynqyfzqjm8")))) (arguments (substitute-keyword-arguments (package-arguments go-1.4) ((#:phases phases) From 46cf31868c1b12eec50bc9b8dda64604dd81f986 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Wed, 4 Oct 2017 10:28:42 -0400 Subject: [PATCH 133/287] gnu: curl: Update replacement to 7.56.0 [security fixes]. Fixes CVE-2017-1000254. See for details. * gnu/packages/curl.scm (curl)[replacement]: Update to 7.56.0. (curl-7.55.0): Rename to ... (curl-7.56.0): ... this. [arguments]: Remove 'fix-Makefile' phase. [source]: Remove patch. * gnu/packages/patches/curl-bounds-check.patch: Delete it. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/curl.scm | 21 ++++---------------- gnu/packages/patches/curl-bounds-check.patch | 19 ------------------ 3 files changed, 4 insertions(+), 37 deletions(-) delete mode 100644 gnu/packages/patches/curl-bounds-check.patch diff --git a/gnu/local.mk b/gnu/local.mk index 6db176b767..f3baadd8ab 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -579,7 +579,6 @@ dist_patch_DATA = \ %D%/packages/patches/crossmap-allow-system-pysam.patch \ %D%/packages/patches/clucene-contribs-lib.patch \ %D%/packages/patches/cube-nocheck.patch \ - %D%/packages/patches/curl-bounds-check.patch \ %D%/packages/patches/cursynth-wave-rand.patch \ %D%/packages/patches/cvs-2017-12836.patch \ %D%/packages/patches/cyrus-sasl-CVE-2013-4122.patch \ diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index 23606b4810..ef1b6c74ba 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -42,7 +42,7 @@ (define-public curl (package (name "curl") - (replacement curl-7.55.0) + (replacement curl-7.56.0) (version "7.54.1") (source (origin (method url-fetch) @@ -123,28 +123,15 @@ tunneling, and so on.") "See COPYING in the distribution.")) (home-page "https://curl.haxx.se/"))) -(define-public curl-7.55.0 +(define-public curl-7.56.0 (package (inherit curl) - (version "7.55.0") + (version "7.56.0") (source (origin (method url-fetch) (uri (string-append "https://curl.haxx.se/download/curl-" version ".tar.xz")) - (patches (search-patches "curl-bounds-check.patch")) (sha256 (base32 - "1785vxi0jamiv9d1wr1l45g0fm9ircxdfyfzf7ld8zv0z0i8bmfd")))) - (arguments - `(,@(substitute-keyword-arguments (package-arguments curl) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'install 'fix-Makefile - ;; Fix a regression in 7.55.0 where docs are not installed. - ;; https://github.com/curl/curl/commit/a7bbbb7c368c6096802007f61f19a02e9d75285b - (lambda _ - (substitute* "Makefile" - (("install-data-hook:\n") - "install-data-hook:\n\tcd docs/libcurl && $(MAKE) install\n")) - #t))))))))) + "0wni3zkw7jyrwgwkqnrkf2x2b7c78wsp7p4z6a246hz9l367nhrj")))))) diff --git a/gnu/packages/patches/curl-bounds-check.patch b/gnu/packages/patches/curl-bounds-check.patch deleted file mode 100644 index 4b8ff65304..0000000000 --- a/gnu/packages/patches/curl-bounds-check.patch +++ /dev/null @@ -1,19 +0,0 @@ -Fix test failure on some 32-bit platforms. - -Patch copied from upstream source repository: - -https://github.com/curl/curl/commit/45a560390c4356bcb81d933bbbb229c8ea2acb63 - -diff --git a/src/tool_paramhlp.c b/src/tool_paramhlp.c -index b9dedc989e..85c5e79a7e 100644 ---- a/src/tool_paramhlp.c -+++ b/src/tool_paramhlp.c -@@ -218,7 +218,7 @@ static ParameterError str2double(double *val, const char *str, long max) - num = strtod(str, &endptr); - if(errno == ERANGE) - return PARAM_NUMBER_TOO_LARGE; -- if((long)num > max) { -+ if(num > max) { - /* too large */ - return PARAM_NUMBER_TOO_LARGE; - } From eaa1db1de615bc0ed51b295a0a191ce2c816ee7e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 5 Oct 2017 11:56:45 +0200 Subject: [PATCH 134/287] Revert "gnu: python-numpy: Update to 1.13.1." This reverts commit 025b196d9b739418dd9d305864fdb1fb1d0d5af2. This is necessary as neither the current release nor the latest development version of python-pandas can be build with numpy 1.13.x. --- gnu/packages/python.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 5052b65022..271f147b43 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3720,21 +3720,22 @@ between language specification and implementation aspects.") (define-public python-numpy (package (name "python-numpy") - (version "1.13.1") + (version "1.12.0") (source (origin (method url-fetch) - (uri (pypi-uri "numpy" version ".zip")) + (uri (string-append + "https://github.com/numpy/numpy/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1fsgkhh1vdkhmlz8vmdgxnj9n9yaanckxxzz9s0b4p08fqvjic69")))) + "025d4j4aakcp8w5i5diqh812cbbjgac7jszx1j56ivrbi1i8vv7d")))) (build-system python-build-system) (inputs `(("openblas" ,openblas) ("lapack" ,lapack))) (native-inputs - `(("unzip" ,unzip) - ("python-cython" ,python-cython) + `(("python-cython" ,python-cython) ("python-nose" ,python-nose) ("gfortran" ,gfortran))) (arguments From 67a08f1809c5a67dfb862ccdc3dc4e13ae35dcbf Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 5 Oct 2017 11:56:46 +0200 Subject: [PATCH 135/287] gnu: Add python-numpy-next. * gnu/packages/python.scm (python-numpy-next, python2-numpy-next): New variables. --- gnu/packages/python.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 271f147b43..594dd38e42 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3717,6 +3717,8 @@ producing implementations of dynamic languages, emphasizing a clean separation between language specification and implementation aspects.") (license license:expat))) +;; NOTE: when upgrading numpy please make sure that python-pandas and +;; python-scipy still build, as these three packages are often used together. (define-public python-numpy (package (name "python-numpy") @@ -3793,6 +3795,26 @@ capabilities.") (define-public python2-numpy (package-with-python2 python-numpy)) +(define-public python-numpy-next + (package (inherit python-numpy) + (name "python-numpy-next") + (version "1.13.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "numpy" version ".zip")) + (sha256 + (base32 + "1fsgkhh1vdkhmlz8vmdgxnj9n9yaanckxxzz9s0b4p08fqvjic69")))) + (native-inputs + `(("unzip" ,unzip) + ("python-cython" ,python-cython) + ("python-nose" ,python-nose) + ("gfortran" ,gfortran))))) + +(define-public python2-numpy-next + (package-with-python2 python-numpy-next)) + (define-public python-munch (package (name "python-munch") From aed1f1b049f6e7ef9f2f2db58bdca6cd3effe94b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 4 Oct 2017 21:34:09 +0200 Subject: [PATCH 136/287] =?UTF-8?q?uuid:=20Add=20'uuid=3D=3F'=20and=20use?= =?UTF-8?q?=20it.?= * gnu/system/uuid.scm (uuid=?): New procedure. * tests/uuid.scm ("uuid=?"): New test. * gnu/build/file-systems.scm (partition-uuid-predicate) (luks-partition-uuid-predicate): Use it instead of 'bytevector=?'. --- gnu/build/file-systems.scm | 4 ++-- gnu/system/uuid.scm | 13 +++++++++++++ tests/uuid.scm | 6 ++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm index 32885f1d2e..140bcb414b 100644 --- a/gnu/build/file-systems.scm +++ b/gnu/build/file-systems.scm @@ -415,12 +415,12 @@ was READ is = to the given value." (partition-predicate read-partition-label string=?)) (define partition-uuid-predicate - (partition-predicate read-partition-uuid bytevector=?)) + (partition-predicate read-partition-uuid uuid=?)) (define luks-partition-uuid-predicate (partition-predicate (partition-field-reader read-luks-header luks-header-uuid) - bytevector=?)) + uuid=?)) (define (find-partition predicate) "Return the first partition found that matches PREDICATE, or #f if none diff --git a/gnu/system/uuid.scm b/gnu/system/uuid.scm index 6470abb8cc..e422e06a6d 100644 --- a/gnu/system/uuid.scm +++ b/gnu/system/uuid.scm @@ -29,6 +29,7 @@ uuid? uuid-type uuid-bytevector + uuid=? bytevector->uuid @@ -281,3 +282,15 @@ corresponding bytevector; otherwise return #f." ((_ . (? procedure? unparse)) (unparse bv)))) (((? uuid? uuid)) (uuid->string (uuid-bytevector uuid) (uuid-type uuid))))) + +(define uuid=? + ;; Return true if A is equal to B, comparing only the actual bits. + (match-lambda* + (((? bytevector? a) (? bytevector? b)) + (bytevector=? a b)) + (((? uuid? a) (? bytevector? b)) + (bytevector=? (uuid-bytevector a) b)) + (((? uuid? a) (? uuid? b)) + (bytevector=? (uuid-bytevector a) (uuid-bytevector b))) + ((a b) + (uuid=? b a)))) diff --git a/tests/uuid.scm b/tests/uuid.scm index aacce77233..68676f775d 100644 --- a/tests/uuid.scm +++ b/tests/uuid.scm @@ -57,4 +57,10 @@ "1234-ABCD" (uuid->string (uuid "1234-abcd" 'fat32))) +(test-equal "uuid=?" + (and (uuid=? (uuid-bytevector (uuid "1234-abcd" 'fat32)) + (uuid "1234-abcd" 'fat32)) + (uuid=? (uuid "1234-abcd" 'fat32) + (uuid "1234-abcd" 'fat)))) + (test-end) From dd41a7f8d8d07a8638a19404072c78e9d0ac01b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 4 Oct 2017 21:35:31 +0200 Subject: [PATCH 137/287] file-systems: Add a 'location' field to . * gnu/system/file-systems.scm ()[location]: New field. --- gnu/system/file-systems.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index 52f16676f5..92f040425d 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm @@ -38,6 +38,7 @@ file-system-check? file-system-create-mount-point? file-system-dependencies + file-system-location file-system-type-predicate @@ -101,7 +102,10 @@ (create-mount-point? file-system-create-mount-point? ; Boolean (default #f)) (dependencies file-system-dependencies ; list of - (default '()))) ; or + (default '())) ; or + (location file-system-location + (default (current-source-location)) + (innate))) ;; Note: This module is used both on the build side and on the host side. ;; Arrange not to pull (guix store) and (guix config) because the latter From 9d80d0e95c9eab042ddd8250ad9a231ed0c458dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 4 Oct 2017 21:39:20 +0200 Subject: [PATCH 138/287] guix system: Error out when passed a wrong file system UUID/label. * guix/scripts/system.scm (check-file-system-availability): New procedure. (perform-action): Use it. --- guix/scripts/system.scm | 65 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 567d8bb643..e50f1d8ac7 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -37,6 +37,8 @@ #:use-module (guix scripts graph) #:use-module (guix build utils) #:use-module (gnu build install) + #:autoload (gnu build file-systems) + (find-partition-by-label find-partition-by-uuid) #:use-module (gnu system) #:use-module (gnu bootloader) #:use-module (gnu system file-systems) @@ -404,6 +406,7 @@ NUMBERS, which is a list of generation numbers." "Roll back the system profile to its previous generation. STORE is an open connection to the store." (switch-to-system-generation store "-1")) + ;;; ;;; Switch generations. @@ -554,6 +557,61 @@ PATTERN, a string. When PATTERN is #f, display all the system generations." (else (leave (G_ "invalid syntax: ~a~%") pattern)))) + +;;; +;;; File system declaration checks. +;;; + +(define (check-file-system-availability file-systems) + "Check whether the UUIDs or partition labels that FILE-SYSTEMS refer to, if +any, are available. Raise an error if they're not." + (define relevant + (filter (lambda (fs) + (and (file-system-mount? fs) + (not (string=? "tmpfs" (file-system-type fs))) + (not (memq 'bind-mount (file-system-flags fs))))) + file-systems)) + + (define labeled + (filter (lambda (fs) + (eq? (file-system-title fs) 'label)) + relevant)) + + (define uuid + (filter (lambda (fs) + (eq? (file-system-title fs) 'uuid)) + relevant)) + + (define fail? #f) + + (define (file-system-location* fs) + (location->string + (source-properties->location + (file-system-location fs)))) + + (let-syntax ((error (syntax-rules () + ((_ args ...) + (begin + (set! fail? #t) + (format (current-error-port) + args ...)))))) + (for-each (lambda (fs) + (unless (find-partition-by-label (file-system-device fs)) + (error (G_ "~a: error: file system with label '~a' not found~%") + (file-system-location* fs) + (file-system-device fs)))) + labeled) + (for-each (lambda (fs) + (unless (find-partition-by-uuid (file-system-device fs)) + (error (G_ "~a: error: file system with UUID '~a' not found~%") + (file-system-location* fs) + (uuid->string (file-system-device fs))))) + uuid) + + (when fail? + ;; Better be safe than sorry. + (exit 1)))) + ;;; ;;; Action. @@ -637,6 +695,13 @@ output when building a system derivation, such as a disk image." (when (eq? action 'reconfigure) (maybe-suggest-running-guix-pull)) + ;; Check whether the declared file systems exist. This is better than + ;; instantiating a broken configuration. Assume that we can only check if + ;; running as root. + (when (and (memq action '(init reconfigure)) + (zero? (getuid))) + (check-file-system-availability (operating-system-file-systems os))) + (mlet* %store-monad ((sys (system-derivation-for-action os action #:file-system-type file-system-type From 04717e9406f3b5171ad28ed67d926ce0e25da94d Mon Sep 17 00:00:00 2001 From: Dave Love Date: Tue, 3 Oct 2017 19:14:50 +0100 Subject: [PATCH 139/287] gnu: Add imb-openmpi. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/benchmark.scm (imb): New procedure. (imb-openmpi): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/benchmark.scm | 67 +++++++++++++++++++++++++++++++++++++- 1 file changed, 66 insertions(+), 1 deletion(-) diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm index 136f141d8b..feed7b545b 100644 --- a/gnu/packages/benchmark.scm +++ b/gnu/packages/benchmark.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017 Marius Bakke +;;; Copyright © 2017 Dave Love ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,8 +25,10 @@ #:use-module (gnu packages compression) #:use-module (gnu packages linux) #:use-module (gnu packages maths) + #:use-module (gnu packages mpi) #:use-module (gnu packages python) - #:use-module (gnu packages storage)) + #:use-module (gnu packages storage) + #:use-module (ice-9 match)) (define-public fio (package @@ -103,3 +106,65 @@ is to write a job file matching the I/O load one wants to simulate.") ;; are covered by other licenses. (license (list license:gpl2 license:gpl2+ license:bsd-2 license:public-domain)))) + +;; Parameterized in anticipation of m(va)pich support +(define (imb mpi) + (package + (name (string-append "imb-" (package-name mpi))) + (version "2017.2") + (source + (origin + (method url-fetch) + (uri (match (string-split version #\.) + ((major minor) + (string-append + "https://software.intel.com/sites/default/files/managed/76/6c/IMB_" + major "_Update" minor ".tgz")))) + (sha256 (base32 "11nczxm686rsppmw9gjc2p2sxc0jniv5kv18yxm1lzp5qfh5rqyb")))) + (build-system gnu-build-system) + (inputs + `(("mpi" ,mpi))) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'check) + (replace 'build + (lambda* (#:key inputs #:allow-other-keys) + (let ((mpi-home (assoc-ref inputs "mpi"))) + (zero? + ;; Not safe for parallel build + (system* "make" "-C" "imb/src" "-f" "make_mpich" "SHELL=sh" + (string-append "MPI_HOME=" mpi-home)))))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" ,name)) + (bin (string-append out "/bin"))) + (with-directory-excursion "imb/src" + (for-each + (lambda (file) + (install-file file bin)) + '("IMB-IO" "IMB-EXT" "IMB-MPI1" "IMB-NBC" "IMB-RMA"))) + (mkdir-p doc) + (with-directory-excursion "imb" + (copy-recursively "license" doc))) + #t))))) + (home-page "https://software.intel.com/en-us/articles/intel-mpi-benchmarks") + (synopsis "Intel MPI Benchmarks") + (description + "This package provides benchmarks for implementations of the @dfn{Message +Passing Interface} (MPI). It contains MPI performance measurements for +point-to-point and global communication, and file, operations for a range of +message sizes. The generated benchmark data fully characterize: + +@itemize +@item +Performance of a cluster system, including node performance, network latency, +and throughput; +@item +Efficiency of the MPI implementation. +@end itemize") + (license license:cpl1.0))) + +(define-public imb-openmpi (imb openmpi)) From 227dbd841a630034a508ccd2718609a5113a0a5d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 29 Sep 2017 16:15:57 +0200 Subject: [PATCH 140/287] gnu: Add pdsh. * gnu/packages/ssh.scm (pdsh): New variable. --- gnu/packages/ssh.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 1dac85d74a..8317f29cd8 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2016 Christopher Allan Webber ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Stefan Reichör +;;; Copyright © 2017 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -603,3 +604,40 @@ monitor it, restarting it as necessary should it die or stop passing traffic.") ;; copy of this license in their headers, but there's no separate file ;; with that information. (license:non-copyleft "file://autossh.c")))) + +(define-public pdsh + (package + (name "pdsh") + (version "2.29") + (source + (origin + (method url-fetch) + (uri (string-append "https://storage.googleapis.com/" + "google-code-archive-downloads/v2/code.google.com/" + "pdsh/pdsh-" version ".tar.bz2")) + (sha256 + (base32 "1kvzz01fyaxfqmbh53f4ljfsgvxdykh5jyr6fh4f1bw2ywxr1w2p")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "--with-ssh") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-/bin/sh + (lambda _ + (substitute* '("tests/runtests.sh" + "tests/test-lib.sh" + "tests/test-modules/pcptest.c") + (("/bin/sh") (which "bash"))) + #t))))) + (inputs + `(("openssh" ,openssh) + ("mit-krb5" ,mit-krb5) + ("perl" ,perl))) + (home-page "https://code.google.com/archive/p/pdsh") + (synopsis "Parallel distributed shell") + (description "Pdsh is a an efficient, multithreaded remote shell client +which executes commands on multiple remote hosts in parallel. Pdsh implements +dynamically loadable modules for extended functionality such as new remote +shell services and remote host selection.") + (license license:gpl2+))) From 5fe56448f3fa61902521c41ab00cf4aa1c672c92 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Thu, 5 Oct 2017 10:35:07 -0400 Subject: [PATCH 141/287] gnu: lightning: Update to 2.1.2. * gnu/packages/assembly.scm (lightning): Update to 2.1.2. --- gnu/packages/assembly.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm index 27db8fc559..769e5d2fca 100644 --- a/gnu/packages/assembly.scm +++ b/gnu/packages/assembly.scm @@ -103,14 +103,14 @@ debugging information in STABS, DWARF 2, and CodeView 8 formats.") (define-public lightning (package (name "lightning") - (version "2.1.0") + (version "2.1.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/lightning/lightning-" version ".tar.gz")) (sha256 (base32 - "19j9nwl88k660045s40cbz5zrl1wpd2mcxnnc8qqnnaj311a58qz")))) + "0sbs2lm8b9in2m8d52zf0x9gpp40x6r7sl6sha92yq3pr78rwa4v")))) (build-system gnu-build-system) (native-inputs `(("zlib" ,zlib))) (synopsis "Library for generating assembly code at runtime") From eb93f1c9c44bb9173b7c691971f098a378e3ac7c Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 5 Oct 2017 08:03:00 -0400 Subject: [PATCH 142/287] gnu: certbot, python-acme: Update to 0.19.0. * gnu/packages/tls.scm (certbot, python-acme): Update to 0.19.0. --- gnu/packages/tls.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index bb005f3682..075ea7a1c2 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -498,13 +498,13 @@ netcat implementation that supports TLS.") (package (name "python-acme") ;; Remember to update the hash of certbot when updating python-acme. - (version "0.18.2") + (version "0.19.0") (source (origin (method url-fetch) (uri (pypi-uri "acme" version)) (sha256 (base32 - "1xiy8m7501g5l9kpdmyvyz72nfnl72l19qkrf76fyvby7adzm3ki")))) + "08p8w50zciqlhgn3ab0wbbvi1zyg3x37r1gywq0z1allsij3v8hz")))) (build-system python-build-system) (arguments `(#:phases @@ -552,7 +552,7 @@ netcat implementation that supports TLS.") (uri (pypi-uri name version)) (sha256 (base32 - "16lw4n7kwnkvh9sz2f97c7ad1wwp33mg5fc332lpy5n17zpfc8h1")))) + "0lwxqz3r0fg3dy06fgba1dfs7n6ribc25z0rh5rqbl7mvy8hf8x7")))) (build-system python-build-system) (arguments `(,@(substitute-keyword-arguments (package-arguments python-acme) From 6cdd8c97b7d22d8c719e785a9948ed5832fe2448 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 5 Oct 2017 10:42:07 -0400 Subject: [PATCH 143/287] gnu: libpng@1.2: Update to 1.2.59. * gnu/packages/image.scm (libpng-1.2): Update to 1.2.59. --- gnu/packages/image.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index e525c75693..5dbf5b18e2 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -167,7 +167,7 @@ APNG patch provides APNG support to libpng.") (define-public libpng-1.2 (package (inherit libpng) - (version "1.2.57") + (version "1.2.59") (source (origin (method url-fetch) @@ -180,7 +180,8 @@ APNG patch provides APNG support to libpng.") "ftp://ftp.simplesystems.org/pub/libpng/png/src/history" "/libpng12/libpng-" version ".tar.xz"))) (sha256 - (base32 "1n2lrzjkm5jhfg2bs10q398lkwbbx742fi27zgdgx0x23zhj0ihg")))))) + (base32 + "1izw9ybm27llk8531w6h4jp4rk2rxy2s9vil16nwik5dp0amyqxl")))))) (define-public r-png (package From 6d89a1ab4e1d886e857e8490091a61f91603f5b9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Oct 2017 20:14:13 +0200 Subject: [PATCH 144/287] gnu: imagemagick: Update to 6.9.9-18. Fixes . Reported by Diego Nicola Barbato . * gnu/packages/imagemagick.scm (imagemagick): Update to 6.9.9-18. --- gnu/packages/imagemagick.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 5840ad665a..fabbd707ac 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -46,14 +46,14 @@ ;; The 7 release series has an incompatible API, while the 6 series is still ;; maintained. Don't update to 7 until we've made sure that the ImageMagick ;; users are ready for the 7-series API. - (version "6.9.9-17") + (version "6.9.9-18") (source (origin (method url-fetch) (uri (string-append "mirror://imagemagick/ImageMagick-" version ".tar.xz")) (sha256 (base32 - "0y39jcd6358dph51ch5w43sqk9lv079jhgg3l7g5mks6m25f49gz")))) + "1d70dvrgcasa3cla4c1dag4mw7vq4jk1nzbd604fk20l0l6xa78j")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch") From 3f697ff2e8b44941749ce54ca9dfbe0cc388a764 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Oct 2017 20:23:06 +0200 Subject: [PATCH 145/287] gnu: openjpeg: Update to 2.3.0. * gnu/packages/patches/openjpeg-CVE-2017-12982.patch, gnu/packages/patches/openjpeg-CVE-2017-14040.patch, gnu/packages/patches/openjpeg-CVE-2017-14041.patch, gnu/packages/patches/openjpeg-CVE-2017-14151.patch, gnu/packages/patches/openjpeg-CVE-2017-14152.patch, gnu/packages/patches/openjpeg-CVE-2017-14164.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Remove them. * gnu/packages/image.scm (openjpeg): Update to 2.3.0. [source](patches): Remove. * gnu/packages/gstreamer.scm (gst-plugins-bad)[arguments]: Adjust openjpeg substitution. --- gnu/local.mk | 6 -- gnu/packages/gstreamer.scm | 4 +- gnu/packages/image.scm | 10 +-- .../patches/openjpeg-CVE-2017-12982.patch | 28 ------ .../patches/openjpeg-CVE-2017-14040.patch | 83 ----------------- .../patches/openjpeg-CVE-2017-14041.patch | 25 ------ .../patches/openjpeg-CVE-2017-14151.patch | 46 ---------- .../patches/openjpeg-CVE-2017-14152.patch | 38 -------- .../patches/openjpeg-CVE-2017-14164.patch | 89 ------------------- 9 files changed, 4 insertions(+), 325 deletions(-) delete mode 100644 gnu/packages/patches/openjpeg-CVE-2017-12982.patch delete mode 100644 gnu/packages/patches/openjpeg-CVE-2017-14040.patch delete mode 100644 gnu/packages/patches/openjpeg-CVE-2017-14041.patch delete mode 100644 gnu/packages/patches/openjpeg-CVE-2017-14151.patch delete mode 100644 gnu/packages/patches/openjpeg-CVE-2017-14152.patch delete mode 100644 gnu/packages/patches/openjpeg-CVE-2017-14164.patch diff --git a/gnu/local.mk b/gnu/local.mk index f3baadd8ab..e10d7ec2fb 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -904,12 +904,6 @@ dist_patch_DATA = \ %D%/packages/patches/openscenegraph-ffmpeg3.patch \ %D%/packages/patches/openexr-missing-samples.patch \ %D%/packages/patches/openfoam-4.1-cleanup.patch \ - %D%/packages/patches/openjpeg-CVE-2017-12982.patch \ - %D%/packages/patches/openjpeg-CVE-2017-14040.patch \ - %D%/packages/patches/openjpeg-CVE-2017-14041.patch \ - %D%/packages/patches/openjpeg-CVE-2017-14151.patch \ - %D%/packages/patches/openjpeg-CVE-2017-14152.patch \ - %D%/packages/patches/openjpeg-CVE-2017-14164.patch \ %D%/packages/patches/openldap-CVE-2017-9287.patch \ %D%/packages/patches/openocd-nrf52.patch \ %D%/packages/patches/openssl-runpath.patch \ diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index bc8f75ba12..c308dc9f34 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -280,10 +280,10 @@ developers consider to have good quality code and correct functionality.") (modify-phases %standard-phases (add-after 'unpack 'patch-openjpeg-reference (lambda _ - ;; Remove hard-coded openjpeg-2.1 path. 2.2 is API- and + ;; Remove hard-coded openjpeg-2.2 path. 2.3 is API- and ;; ABI-compatible. (substitute* "ext/openjpeg/gstopenjpeg.h" - ((" -Date: Mon, 14 Aug 2017 17:26:58 +0200 -Subject: [PATCH] bmp_read_info_header(): reject bmp files with biBitCount == 0 - (#983) - ---- - src/bin/jp2/convertbmp.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/bin/jp2/convertbmp.c b/src/bin/jp2/convertbmp.c -index b49e7a080..2715fdf24 100644 ---- a/src/bin/jp2/convertbmp.c -+++ b/src/bin/jp2/convertbmp.c -@@ -392,6 +392,10 @@ static OPJ_BOOL bmp_read_info_header(FILE* IN, OPJ_BITMAPINFOHEADER* header) - - header->biBitCount = (OPJ_UINT16)getc(IN); - header->biBitCount |= (OPJ_UINT16)((OPJ_UINT32)getc(IN) << 8); -+ if (header->biBitCount == 0) { -+ fprintf(stderr, "Error, invalid biBitCount %d\n", 0); -+ return OPJ_FALSE; -+ } - - if (header->biSize >= 40U) { - header->biCompression = (OPJ_UINT32)getc(IN); diff --git a/gnu/packages/patches/openjpeg-CVE-2017-14040.patch b/gnu/packages/patches/openjpeg-CVE-2017-14040.patch deleted file mode 100644 index bd7473ba0d..0000000000 --- a/gnu/packages/patches/openjpeg-CVE-2017-14040.patch +++ /dev/null @@ -1,83 +0,0 @@ -http://openwall.com/lists/oss-security/2017/08/28/3 -https://github.com/uclouvain/openjpeg/commit/2cd30c2b06ce332dede81cccad8b334cde997281.patch - -From 2cd30c2b06ce332dede81cccad8b334cde997281 Mon Sep 17 00:00:00 2001 -From: Even Rouault -Date: Thu, 17 Aug 2017 11:47:40 +0200 -Subject: [PATCH] tgatoimage(): avoid excessive memory allocation attempt, and - fixes unaligned load (#995) - ---- - src/bin/jp2/convert.c | 39 +++++++++++++++++++++++++++------------ - 1 file changed, 27 insertions(+), 12 deletions(-) - -diff --git a/src/bin/jp2/convert.c b/src/bin/jp2/convert.c -index a4eb81f6a..73dfc8d5f 100644 ---- a/src/bin/jp2/convert.c -+++ b/src/bin/jp2/convert.c -@@ -580,13 +580,10 @@ struct tga_header { - }; - #endif /* INFORMATION_ONLY */ - --static unsigned short get_ushort(const unsigned char *data) -+/* Returns a ushort from a little-endian serialized value */ -+static unsigned short get_tga_ushort(const unsigned char *data) - { -- unsigned short val = *(const unsigned short *)data; --#ifdef OPJ_BIG_ENDIAN -- val = ((val & 0xffU) << 8) | (val >> 8); --#endif -- return val; -+ return data[0] | (data[1] << 8); - } - - #define TGA_HEADER_SIZE 18 -@@ -613,17 +610,17 @@ static int tga_readheader(FILE *fp, unsigned int *bits_per_pixel, - id_len = tga[0]; - /*cmap_type = tga[1];*/ - image_type = tga[2]; -- /*cmap_index = get_ushort(&tga[3]);*/ -- cmap_len = get_ushort(&tga[5]); -+ /*cmap_index = get_tga_ushort(&tga[3]);*/ -+ cmap_len = get_tga_ushort(&tga[5]); - cmap_entry_size = tga[7]; - - - #if 0 -- x_origin = get_ushort(&tga[8]); -- y_origin = get_ushort(&tga[10]); -+ x_origin = get_tga_ushort(&tga[8]); -+ y_origin = get_tga_ushort(&tga[10]); - #endif -- image_w = get_ushort(&tga[12]); -- image_h = get_ushort(&tga[14]); -+ image_w = get_tga_ushort(&tga[12]); -+ image_h = get_tga_ushort(&tga[14]); - pixel_depth = tga[16]; - image_desc = tga[17]; - -@@ -817,6 +814,24 @@ opj_image_t* tgatoimage(const char *filename, opj_cparameters_t *parameters) - color_space = OPJ_CLRSPC_SRGB; - } - -+ /* If the declared file size is > 10 MB, check that the file is big */ -+ /* enough to avoid excessive memory allocations */ -+ if (image_height != 0 && image_width > 10000000 / image_height / numcomps) { -+ char ch; -+ OPJ_UINT64 expected_file_size = -+ (OPJ_UINT64)image_width * image_height * numcomps; -+ long curpos = ftell(f); -+ if (expected_file_size > (OPJ_UINT64)INT_MAX) { -+ expected_file_size = (OPJ_UINT64)INT_MAX; -+ } -+ fseek(f, (long)expected_file_size - 1, SEEK_SET); -+ if (fread(&ch, 1, 1, f) != 1) { -+ fclose(f); -+ return NULL; -+ } -+ fseek(f, curpos, SEEK_SET); -+ } -+ - subsampling_dx = parameters->subsampling_dx; - subsampling_dy = parameters->subsampling_dy; - diff --git a/gnu/packages/patches/openjpeg-CVE-2017-14041.patch b/gnu/packages/patches/openjpeg-CVE-2017-14041.patch deleted file mode 100644 index 6e3fccf3c0..0000000000 --- a/gnu/packages/patches/openjpeg-CVE-2017-14041.patch +++ /dev/null @@ -1,25 +0,0 @@ -http://openwall.com/lists/oss-security/2017/08/28/4 -https://github.com/uclouvain/openjpeg/commit/e5285319229a5d77bf316bb0d3a6cbd3cb8666d9.patch - -From e5285319229a5d77bf316bb0d3a6cbd3cb8666d9 Mon Sep 17 00:00:00 2001 -From: Even Rouault -Date: Fri, 18 Aug 2017 13:39:20 +0200 -Subject: [PATCH] pgxtoimage(): fix write stack buffer overflow (#997) - ---- - src/bin/jp2/convert.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/bin/jp2/convert.c b/src/bin/jp2/convert.c -index 5459f7d44..e606c9be7 100644 ---- a/src/bin/jp2/convert.c -+++ b/src/bin/jp2/convert.c -@@ -1185,7 +1185,7 @@ opj_image_t* pgxtoimage(const char *filename, opj_cparameters_t *parameters) - } - - fseek(f, 0, SEEK_SET); -- if (fscanf(f, "PG%[ \t]%c%c%[ \t+-]%d%[ \t]%d%[ \t]%d", temp, &endian1, -+ if (fscanf(f, "PG%31[ \t]%c%c%31[ \t+-]%d%31[ \t]%d%31[ \t]%d", temp, &endian1, - &endian2, signtmp, &prec, temp, &w, temp, &h) != 9) { - fclose(f); - fprintf(stderr, diff --git a/gnu/packages/patches/openjpeg-CVE-2017-14151.patch b/gnu/packages/patches/openjpeg-CVE-2017-14151.patch deleted file mode 100644 index 4fcf6af6db..0000000000 --- a/gnu/packages/patches/openjpeg-CVE-2017-14151.patch +++ /dev/null @@ -1,46 +0,0 @@ -https://github.com/uclouvain/openjpeg/commit/afb308b9ccbe129608c9205cf3bb39bbefad90b9.patch -http://openwall.com/lists/oss-security/2017/09/06/1 - -From afb308b9ccbe129608c9205cf3bb39bbefad90b9 Mon Sep 17 00:00:00 2001 -From: Even Rouault -Date: Mon, 14 Aug 2017 17:20:37 +0200 -Subject: [PATCH] Encoder: grow buffer size in - opj_tcd_code_block_enc_allocate_data() to avoid write heap buffer overflow in - opj_mqc_flush (#982) - ---- - src/lib/openjp2/tcd.c | 7 +++++-- - tests/nonregression/test_suite.ctest.in | 2 ++ - 2 files changed, 7 insertions(+), 2 deletions(-) - -diff --git a/src/lib/openjp2/tcd.c b/src/lib/openjp2/tcd.c -index 301c7213e..53cdcf64d 100644 ---- a/src/lib/openjp2/tcd.c -+++ b/src/lib/openjp2/tcd.c -@@ -1187,8 +1187,11 @@ static OPJ_BOOL opj_tcd_code_block_enc_allocate_data(opj_tcd_cblk_enc_t * - { - OPJ_UINT32 l_data_size; - -- /* The +1 is needed for https://github.com/uclouvain/openjpeg/issues/835 */ -- l_data_size = 1 + (OPJ_UINT32)((p_code_block->x1 - p_code_block->x0) * -+ /* +1 is needed for https://github.com/uclouvain/openjpeg/issues/835 */ -+ /* and actually +2 required for https://github.com/uclouvain/openjpeg/issues/982 */ -+ /* TODO: is there a theoretical upper-bound for the compressed code */ -+ /* block size ? */ -+ l_data_size = 2 + (OPJ_UINT32)((p_code_block->x1 - p_code_block->x0) * - (p_code_block->y1 - p_code_block->y0) * (OPJ_INT32)sizeof(OPJ_UINT32)); - - if (l_data_size > p_code_block->data_size) { -diff --git a/tests/nonregression/test_suite.ctest.in b/tests/nonregression/test_suite.ctest.in -index aaf40d7d0..ffd964c2a 100644 ---- a/tests/nonregression/test_suite.ctest.in -+++ b/tests/nonregression/test_suite.ctest.in -@@ -169,6 +169,8 @@ opj_compress -i @INPUT_NR_PATH@/Bretagne2.ppm -o @TEMP_PATH@/Bretagne2_empty_ban - # Same rate as Bretagne2_4.j2k - opj_compress -i @INPUT_NR_PATH@/Bretagne2.ppm -o @TEMP_PATH@/Bretagne2_empty_band_r800.j2k -t 2591,1943 -n 2 -r 800 - -+opj_compress -i @INPUT_NR_PATH@/issue982.bmp -o @TEMP_PATH@/issue982.j2k -n 1 -+ - # DECODER TEST SUITE - opj_decompress -i @INPUT_NR_PATH@/Bretagne2.j2k -o @TEMP_PATH@/Bretagne2.j2k.pgx - opj_decompress -i @INPUT_NR_PATH@/_00042.j2k -o @TEMP_PATH@/_00042.j2k.pgx diff --git a/gnu/packages/patches/openjpeg-CVE-2017-14152.patch b/gnu/packages/patches/openjpeg-CVE-2017-14152.patch deleted file mode 100644 index 6c083be123..0000000000 --- a/gnu/packages/patches/openjpeg-CVE-2017-14152.patch +++ /dev/null @@ -1,38 +0,0 @@ -https://github.com/uclouvain/openjpeg/commit/4241ae6fbbf1de9658764a80944dc8108f2b4154.patch -http://openwall.com/lists/oss-security/2017/09/06/2 - -From 4241ae6fbbf1de9658764a80944dc8108f2b4154 Mon Sep 17 00:00:00 2001 -From: Even Rouault -Date: Tue, 15 Aug 2017 11:55:58 +0200 -Subject: [PATCH] Fix assertion in debug mode / heap-based buffer overflow in - opj_write_bytes_LE for Cinema profiles with numresolutions = 1 (#985) - ---- - src/lib/openjp2/j2k.c | 14 ++++++++++---- - 1 file changed, 10 insertions(+), 4 deletions(-) - -diff --git a/src/lib/openjp2/j2k.c b/src/lib/openjp2/j2k.c -index a2521ebbc..54b490a8c 100644 ---- a/src/lib/openjp2/j2k.c -+++ b/src/lib/openjp2/j2k.c -@@ -6573,10 +6573,16 @@ static void opj_j2k_set_cinema_parameters(opj_cparameters_t *parameters, - - /* Precincts */ - parameters->csty |= 0x01; -- parameters->res_spec = parameters->numresolution - 1; -- for (i = 0; i < parameters->res_spec; i++) { -- parameters->prcw_init[i] = 256; -- parameters->prch_init[i] = 256; -+ if (parameters->numresolution == 1) { -+ parameters->res_spec = 1; -+ parameters->prcw_init[0] = 128; -+ parameters->prch_init[0] = 128; -+ } else { -+ parameters->res_spec = parameters->numresolution - 1; -+ for (i = 0; i < parameters->res_spec; i++) { -+ parameters->prcw_init[i] = 256; -+ parameters->prch_init[i] = 256; -+ } - } - - /* The progression order shall be CPRL */ diff --git a/gnu/packages/patches/openjpeg-CVE-2017-14164.patch b/gnu/packages/patches/openjpeg-CVE-2017-14164.patch deleted file mode 100644 index 2bfc5a6a85..0000000000 --- a/gnu/packages/patches/openjpeg-CVE-2017-14164.patch +++ /dev/null @@ -1,89 +0,0 @@ -https://github.com/uclouvain/openjpeg/commit/dcac91b8c72f743bda7dbfa9032356bc8110098a.patch -http://openwall.com/lists/oss-security/2017/09/06/3 - -From dcac91b8c72f743bda7dbfa9032356bc8110098a Mon Sep 17 00:00:00 2001 -From: Even Rouault -Date: Wed, 16 Aug 2017 17:09:10 +0200 -Subject: [PATCH] opj_j2k_write_sot(): fix potential write heap buffer overflow - (#991) - ---- - src/lib/openjp2/j2k.c | 25 ++++++++++++++++++++----- - 1 file changed, 20 insertions(+), 5 deletions(-) - -diff --git a/src/lib/openjp2/j2k.c b/src/lib/openjp2/j2k.c -index 54b490a8c..16915452e 100644 ---- a/src/lib/openjp2/j2k.c -+++ b/src/lib/openjp2/j2k.c -@@ -832,13 +832,15 @@ static OPJ_BOOL opj_j2k_write_tlm(opj_j2k_t *p_j2k, - * Writes the SOT marker (Start of tile-part) - * - * @param p_j2k J2K codec. -- * @param p_data FIXME DOC -- * @param p_data_written FIXME DOC -+ * @param p_data Output buffer -+ * @param p_total_data_size Output buffer size -+ * @param p_data_written Number of bytes written into stream - * @param p_stream the stream to write data to. - * @param p_manager the user event manager. - */ - static OPJ_BOOL opj_j2k_write_sot(opj_j2k_t *p_j2k, - OPJ_BYTE * p_data, -+ OPJ_UINT32 p_total_data_size, - OPJ_UINT32 * p_data_written, - const opj_stream_private_t *p_stream, - opj_event_mgr_t * p_manager); -@@ -4201,6 +4203,7 @@ static OPJ_BOOL opj_j2k_write_tlm(opj_j2k_t *p_j2k, - - static OPJ_BOOL opj_j2k_write_sot(opj_j2k_t *p_j2k, - OPJ_BYTE * p_data, -+ OPJ_UINT32 p_total_data_size, - OPJ_UINT32 * p_data_written, - const opj_stream_private_t *p_stream, - opj_event_mgr_t * p_manager -@@ -4214,6 +4217,12 @@ static OPJ_BOOL opj_j2k_write_sot(opj_j2k_t *p_j2k, - OPJ_UNUSED(p_stream); - OPJ_UNUSED(p_manager); - -+ if (p_total_data_size < 12) { -+ opj_event_msg(p_manager, EVT_ERROR, -+ "Not enough bytes in output buffer to write SOT marker\n"); -+ return OPJ_FALSE; -+ } -+ - opj_write_bytes(p_data, J2K_MS_SOT, - 2); /* SOT */ - p_data += 2; -@@ -11480,7 +11489,8 @@ static OPJ_BOOL opj_j2k_write_first_tile_part(opj_j2k_t *p_j2k, - - l_current_nb_bytes_written = 0; - l_begin_data = p_data; -- if (! opj_j2k_write_sot(p_j2k, p_data, &l_current_nb_bytes_written, p_stream, -+ if (! opj_j2k_write_sot(p_j2k, p_data, p_total_data_size, -+ &l_current_nb_bytes_written, p_stream, - p_manager)) { - return OPJ_FALSE; - } -@@ -11572,7 +11582,10 @@ static OPJ_BOOL opj_j2k_write_all_tile_parts(opj_j2k_t *p_j2k, - l_part_tile_size = 0; - l_begin_data = p_data; - -- if (! opj_j2k_write_sot(p_j2k, p_data, &l_current_nb_bytes_written, p_stream, -+ if (! opj_j2k_write_sot(p_j2k, p_data, -+ p_total_data_size, -+ &l_current_nb_bytes_written, -+ p_stream, - p_manager)) { - return OPJ_FALSE; - } -@@ -11615,7 +11628,9 @@ static OPJ_BOOL opj_j2k_write_all_tile_parts(opj_j2k_t *p_j2k, - l_part_tile_size = 0; - l_begin_data = p_data; - -- if (! opj_j2k_write_sot(p_j2k, p_data, &l_current_nb_bytes_written, p_stream, -+ if (! opj_j2k_write_sot(p_j2k, p_data, -+ p_total_data_size, -+ &l_current_nb_bytes_written, p_stream, - p_manager)) { - return OPJ_FALSE; - } From 7006370e5970198706b8110ef39a31860300c49d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Oct 2017 20:26:38 +0200 Subject: [PATCH 146/287] gnu: vte-ng: Update to 0.50.1.a. * gnu/packages/gnome.scm (vte-ng): Update to 0.50.1.a. --- 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 653fdad7fd..fcd107af99 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2053,7 +2053,7 @@ editors, IDEs, etc.") (package (inherit vte) (name "vte-ng") - (version "0.50.0.a") + (version "0.50.1.a") (native-inputs `(("gtk-doc" ,gtk-doc) ("gperf" ,gperf) @@ -2068,7 +2068,7 @@ editors, IDEs, etc.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0h5ifg6xpix074k445bmnd39mc75llrfkrsr9vw98dxa4rffxrgf")))) + "1r70jysdrc7r1vyn3mikpc8hh7rm4lpr0psakj8yssy11p451pja")))) (arguments `(#:configure-flags '("CXXFLAGS=-Wformat=0") #:phases (modify-phases %standard-phases From c4787c78311c40aab8d8e25352f6190ca0177130 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Oct 2017 22:32:23 +0200 Subject: [PATCH 147/287] gnu: inkscape: Fix FTBFS with Poppler >= 0.58. * gnu/packages/inkscape.scm (inkscape)[source]: Add upstream patch. --- gnu/packages/inkscape.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm index 0f28e640ab..4c68af0088 100644 --- a/gnu/packages/inkscape.scm +++ b/gnu/packages/inkscape.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014 John Darrington ;;; Copyright © 2014, 2016 Mark H Weaver ;;; Copyright © 2016 Ricardo Wurmus +;;; Copyright © 2017 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -50,6 +51,16 @@ (uri (string-append "https://media.inkscape.org/dl/" "resources/file/" "inkscape-" version ".tar.bz2")) + (patches + (list + ;; Fix compatibility with poppler >= 0.58. + (origin + (method url-fetch) + (uri (string-append "https://gitlab.com/inkscape/inkscape/commit/" + "9418824967eb4c53371ef8588243fed4cab496e0.patch")) + (sha256 + (base32 + "0wwyhkqb1qyazz5f6wqrc223l6k8qnmadiw28q8gihlgvh38rvll"))))) (sha256 (base32 "01chr3vh728dkg7l7lilwgmh5nrp784khdhjgpqjbq9dh2zhax15")))) From e5788ebbe1f45a1088249b9138de17b330609712 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 5 Oct 2017 22:15:19 +0200 Subject: [PATCH 148/287] publish: Cache uncompressed nars as well. Fixes . Reported by Maxim Cournoyer . * guix/scripts/publish.scm (bake-narinfo+nar): When COMPRESSION is 'none, write NAR instead of doing nothing. (make-request-handler): Use 'render-nar/cached' for /nar URLs with no compression. * tests/publish.scm ("with cache", "with cache, uncompressed"): Adjust expected result accordingly. --- guix/scripts/publish.scm | 15 ++++++++++----- tests/publish.scm | 4 ++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/guix/scripts/publish.scm b/guix/scripts/publish.scm index ade3c49a54..dd54f03996 100644 --- a/guix/scripts/publish.scm +++ b/guix/scripts/publish.scm @@ -484,9 +484,11 @@ requested using POOL." #:buffer-size (* 128 1024)) (rename-file (string-append nar ".tmp") nar)) ('none - ;; When compression is disabled, we retrieve files directly from the - ;; store; no need to cache them. - #t)) + ;; Cache nars even when compression is disabled so that we can + ;; guarantee the TTL (see .) + (with-atomic-file-output nar + (lambda (port) + (write-file item port))))) (mkdir-p (dirname narinfo)) (with-atomic-file-output narinfo @@ -788,8 +790,11 @@ blocking." ;; /nar/ ((components ... store-item) (if (nar-path? components) - (render-nar store request store-item - #:compression %no-compression) + (if cache + (render-nar/cached store cache request store-item + #:compression %no-compression) + (render-nar store request store-item + #:compression %no-compression)) (not-found request))) (x (not-found request))) diff --git a/tests/publish.scm b/tests/publish.scm index 31043f71fa..f33898fd58 100644 --- a/tests/publish.scm +++ b/tests/publish.scm @@ -340,7 +340,7 @@ FileSize: ~a~%" 200 ;nar/gzip/… #t ;Content-Length #t ;FileSize - 200) ;nar/… + 404) ;nar/… (call-with-temporary-directory (lambda (cache) (let ((thread (with-separate-output-ports @@ -393,7 +393,7 @@ FileSize: ~a~%" (let ((item (add-text-to-store %store "fake-compressed-thing.tar.gz" (random-text)))) (test-equal "with cache, uncompressed" - (list #f + (list #t `(("StorePath" . ,item) ("URL" . ,(string-append "nar/" (basename item))) ("Compression" . "none")) From 5ca4fe96969b5016e4e8a97131eb8b6b74f17620 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Mon, 7 Aug 2017 16:13:17 +0530 Subject: [PATCH 149/287] gnu: octave: Reference makeinfo with absolute path. * gnu/packages/maths.scm (octave)[arguments]: Add configure-makeinfo phase. [inputs]: Add texinfo. [native-inputs]: Remove texinfo. --- gnu/packages/maths.scm | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 9aa037838b..088f47f1d6 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -19,6 +19,7 @@ ;;; Copyright © 2017 ng0 ;;; Copyright © 2017 Ben Woodcroft ;;; Copyright © 2017 Theodoros Foradis +;;; Copyright © 2017 Arun Isaac ;;; ;;; This file is part of GNU Guix. ;;; @@ -1126,7 +1127,7 @@ can solve two kinds of problems: (license license:bsd-3))) ;; For a fully featured Octave, users are strongly recommended also to install -;; the following packages: texinfo, less, ghostscript, gnuplot. +;; the following packages: less, ghostscript, gnuplot. (define-public octave (package (name "octave") @@ -1158,6 +1159,7 @@ can solve two kinds of problems: ("glu" ,glu) ("zlib" ,zlib) ("curl" ,curl) + ("texinfo" ,texinfo) ("graphicsmagick" ,graphicsmagick))) (native-inputs `(("lzip" ,lzip) @@ -1172,14 +1174,23 @@ can solve two kinds of problems: ;; will still run without them, albeit without the features they ;; provide. ("less" ,less) - ("texinfo" ,texinfo) ("ghostscript" ,ghostscript) ("gnuplot" ,gnuplot))) (arguments `(#:configure-flags (list (string-append "--with-shell=" (assoc-ref %build-inputs "bash") - "/bin/sh")))) + "/bin/sh")) + #:phases + (modify-phases %standard-phases + (add-after 'configure 'configure-makeinfo + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "libinterp/corefcn/help.cc" + (("Vmakeinfo_program = \"makeinfo\"") + (string-append "Vmakeinfo_program = \"" + (assoc-ref inputs "texinfo") + "/bin/makeinfo\""))) + #t))))) (home-page "https://www.gnu.org/software/octave/") (synopsis "High-level language for numerical computation") (description "GNU Octave is a high-level interpreted language that is From 594156ec6f0132c81c734dd3b790989623ef7632 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 6 Oct 2017 00:49:50 +0200 Subject: [PATCH 150/287] gnu: texlive-bin: Fix FTBFS with Poppler >= 0.58. * gnu/packages/tex.scm (texlive-bin)[source](patches): Add patch from Arch Linux. [arguments]<#:configure-flags>: Add CXXFLAGS=-std=gnu++11. --- gnu/packages/tex.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index a38b2afc0c..fef81c6931 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2016 Thomas Danckaert ;;; Copyright © 2016, 2017 Ricardo Wurmus ;;; Copyright © 2017 Leo Famulari +;;; Copyright © 2017 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -87,6 +88,20 @@ (method url-fetch) (uri (string-append "ftp://tug.org/historic/systems/texlive/2017/" "texlive-" version "-source.tar.xz")) + (patches + (list + ;; This is required for compatibility with Poppler >= 0.58. + ;; See + ;; and for some discussion. + (origin + (method url-fetch) + (uri (string-append "https://git.archlinux.org/svntogit/packages.git/plain" + "/trunk/texlive-poppler-0.59.patch?h=packages/texlive-bin" + "&id=ba2de374e2b21ecc4b85cc9777f2f15c4d356c61")) + (file-name "texlive-poppler-compat.patch") + (sha256 + (base32 + "1c4ikq4kxw48bi3i33bzpabrjvbk01fwjr2lz20gkc9kv8l0bg3n"))))) (sha256 (base32 "1amjrxyasplv4alfwcxwnw4nrx7dz2ydmddkq16k6hg90i9njq81")))) (build-system gnu-build-system) @@ -123,6 +138,9 @@ `(#:out-of-source? #t #:configure-flags `("--disable-native-texlive-build" + ;; XXX: This is needed because recent Poppler requires C++11 or later. + ;; Remove after switch to GCC >= 6. + "CXXFLAGS=-std=gnu++11" "--with-system-cairo" "--with-system-freetype2" "--with-system-gd" From b519d4626947443561b8a4d4163574b74fde5247 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 3 Oct 2017 15:40:41 +0200 Subject: [PATCH 151/287] gnu: tor: Fix typo. * gnu/packages/tor.scm (tor)[inputs]: Move unquote to its operand. --- gnu/packages/tor.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 12cb5e3a55..39c4ebcb9e 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -62,7 +62,7 @@ `(("zlib" ,zlib) ("openssl" ,openssl) ("libevent" ,libevent) - ("libseccomp", libseccomp))) + ("libseccomp" ,libseccomp))) (home-page "https://www.torproject.org/") (synopsis "Anonymous network router to improve privacy on the Internet") (description From 6c97f17fa1b56afd6c4b281837d1102c84b4022c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 3 Oct 2017 14:49:37 +0200 Subject: [PATCH 152/287] gnu: tor: Enable directory protocol compression. * gnu/packages/tor.scm (tor)[native-inputs]: Add pkg-config. [inputs]: Add xz and zstd. --- gnu/packages/tor.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 39c4ebcb9e..352e7f10a8 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -35,6 +35,7 @@ #:use-module (gnu packages linux) #:use-module (gnu packages compression) #:use-module (gnu packages pcre) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages qt) #:use-module (gnu packages autotools) @@ -57,12 +58,15 @@ `(#:configure-flags (list "--enable-gcc-hardening" "--enable-linker-hardening"))) (native-inputs - `(("python" ,python-2))) ; for tests + `(("pkg-config" ,pkg-config) + ("python" ,python-2))) ; for tests (inputs `(("zlib" ,zlib) ("openssl" ,openssl) ("libevent" ,libevent) - ("libseccomp" ,libseccomp))) + ("libseccomp" ,libseccomp) + ("xz" ,xz) + ("zstd" ,zstd))) (home-page "https://www.torproject.org/") (synopsis "Anonymous network router to improve privacy on the Internet") (description From 4a79befe2cf944958f5b45be682bee290a64998f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 6 Oct 2017 00:56:13 +0200 Subject: [PATCH 153/287] gnu: glade: Update to 3.20.1. * gnu/packages/gnome.scm (glade): Update to 3.20.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 fcd107af99..a0a7cd329d 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1055,7 +1055,7 @@ API add-ons to make GTK+ widgets OpenGL-capable.") (define-public glade3 (package (name "glade") - (version "3.20.0") + (version "3.20.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1063,7 +1063,7 @@ API add-ons to make GTK+ widgets OpenGL-capable.") name "-" version ".tar.xz")) (sha256 (base32 - "1zhqvhagy0m85p54jfiayfl0v9af7g0lj7glw8sfwh7cbp56vnc2")))) + "1pxikhzdzd092d4x3nacf5gfzi3mvhywrhcfqc07xakbsinnfr40")))) (build-system glib-or-gtk-build-system) (arguments `(#:tests? #f ; needs X, GL, and software rendering From 8bde6a524e19d2bc9763b84dbf99959faf653bf8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 6 Oct 2017 00:56:38 +0200 Subject: [PATCH 154/287] gnu: dconf: Update to 0.26.1. * gnu/packages/gnome.scm (dconf): Update to 0.26.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 a0a7cd329d..50bd011e4b 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2172,7 +2172,7 @@ and RDP protocols.") (define-public dconf (package (name "dconf") - (version "0.26.0") + (version "0.26.1") (source (origin (method url-fetch) (uri (string-append @@ -2181,7 +2181,7 @@ and RDP protocols.") name "-" version ".tar.xz")) (sha256 (base32 - "1jaqsr1r0grpd25rbsc2v3vb0sc51lia9w31wlqswgqsncp2k0w6")))) + "0da587hpiqy8h3pswn1102h4b905x8k6mk3ajpi7kf4kzkvv30ym")))) (build-system glib-or-gtk-build-system) (inputs `(("gtk+" ,gtk+) From 68932812b8f6581dda4bf1896235492f687b7cc9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 6 Oct 2017 11:00:52 +0200 Subject: [PATCH 155/287] gnu: libdrm: Disable etnaviv driver. * gnu/packages/xdisorg.scm (libdrm)<#:configure-flags>: On armhf-linux, don't build etnaviv driver. --- gnu/packages/xdisorg.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index ed682263c4..918b994615 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -307,7 +307,10 @@ rasterisation.") ("armhf-linux" '("--enable-exynos-experimental-api" "--enable-omap-experimental-api" - "--enable-etnaviv-experimental-api" + ;; XXX: This fails a symbol check on a build machine: + ;; + ;; TODO: Update the list of symbols. + ;;"--enable-etnaviv-experimental-api" "--enable-tegra-experimental-api" "--enable-freedreno-kgsl")) ("aarch64-linux" From 0b12324284f3fbf378d363070f91b794058ae570 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 6 Oct 2017 14:15:08 +0200 Subject: [PATCH 156/287] =?UTF-8?q?uuid:=20Fix=20typo=20in=20'uuid=3D=3F'?= =?UTF-8?q?=20test.?= * tests/uuid.scm ("uuid=?"): Change to 'test-assert'. --- tests/uuid.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/uuid.scm b/tests/uuid.scm index 68676f775d..91a3482490 100644 --- a/tests/uuid.scm +++ b/tests/uuid.scm @@ -57,7 +57,7 @@ "1234-ABCD" (uuid->string (uuid "1234-abcd" 'fat32))) -(test-equal "uuid=?" +(test-assert "uuid=?" (and (uuid=? (uuid-bytevector (uuid "1234-abcd" 'fat32)) (uuid "1234-abcd" 'fat32)) (uuid=? (uuid "1234-abcd" 'fat32) From 8b920d707ed07a3251227f77526cf875d86a4417 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 6 Oct 2017 14:15:34 +0200 Subject: [PATCH 157/287] import: Use a 'file://' URL in 'alist->package' test. * tests/import-utils.scm ("alist->package with simple source"): Use a 'file://' URL. --- tests/import-utils.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/import-utils.scm b/tests/import-utils.scm index 3d8d2c698d..f4bbd335b9 100644 --- a/tests/import-utils.scm +++ b/tests/import-utils.scm @@ -43,7 +43,10 @@ (test-assert "alist->package with simple source" (let* ((meta '(("name" . "hello") ("version" . "2.10") - ("source" . "mirror://gnu/hello/hello-2.10.tar.gz") + ("source" . + ;; Use a 'file://' URI so that we don't cause a download. + ,(string-append "file://" + (search-path %load-path "guix.scm"))) ("build-system" . "gnu") ("home-page" . "https://gnu.org") ("synopsis" . "Say hi") From 1738e24455cd43f4e8c061fdf377331550c1f99b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 6 Oct 2017 14:43:31 +0200 Subject: [PATCH 158/287] gnu: guix: Update development snapshot. * gnu/packages/package-management.scm (guix): Update to 8b920d7. --- 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 197a7a0142..91e44ec6fe 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -78,8 +78,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "0.13.0") - (commit "a9468b422b6df2349a3f4d1451c9302c3d77011b") - (revision 6)) + (commit "8b920d707ed07a3251227f77526cf875d86a4417") + (revision 7)) (package (name "guix") @@ -95,7 +95,7 @@ (commit commit))) (sha256 (base32 - "0bv323yp657x0a2aa2z5pp5541hjqmn908kh9jqlbdw5gpx9vg3d")) + "15phwcadkw44mr4hnv1dxzzw9an6x7sbdfzwy4iciqw6y2wckncd")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments From 2320d4f0581bd996f38b2be6c6f513545cf160ec Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 6 Oct 2017 15:42:00 +0300 Subject: [PATCH 159/287] gnu: glibc-locales: Use 'modify-phases' syntax. * gnu/packages/base.scm (glibc-locales)[arguments]: Use 'modify-phases' syntax. --- gnu/packages/base.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 972ffeeecb..bc745351af 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -883,12 +883,12 @@ the 'share/locale' sub-directory of this package.") ,@(package-arguments glibc)))) (substitute-keyword-arguments args ((#:phases phases) - `(alist-replace - 'build - (lambda* (#:key outputs #:allow-other-keys) - (zero? (system* "make" "localedata/install-locales" - "-j" (number->string (parallel-job-count))))) - (alist-delete 'install ,phases))) + `(modify-phases ,phases + (replace 'build + (lambda _ + (zero? (system* "make" "localedata/install-locales" + "-j" (number->string (parallel-job-count)))))) + (delete 'install))) ((#:configure-flags flags) `(append ,flags ;; Use $(libdir)/locale/X.Y as is the case by default. From 4bbc27aca039e9babedb5a1dad474c19e8f84a2f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 6 Oct 2017 17:33:28 +0200 Subject: [PATCH 160/287] gnu: btrfs-progs: Update to 4.13.2. * gnu/packages/linux.scm (btrfs-progs): Update to 4.13.2. --- 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 8ef7a105d3..3103656b75 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -3175,7 +3175,7 @@ and copy/paste text in the console and in xterm.") (define-public btrfs-progs (package (name "btrfs-progs") - (version "4.13.1") + (version "4.13.2") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/kernel/" @@ -3183,7 +3183,7 @@ and copy/paste text in the console and in xterm.") "btrfs-progs-v" version ".tar.xz")) (sha256 (base32 - "1clavvrlkswgicqsm2yfsxqw04lsn8dra0db84jqm6j2apz80kz0")))) + "1ga8jk2hkaxpm17z3gdfrpq0i62kqpv2wm5yzbzmsj862cgk7ivm")))) (build-system gnu-build-system) (outputs '("out" "static")) ; static versions of the binaries in "out" From 6bbbca90736b6a34776a4ef15e954c80d8085878 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Fri, 6 Oct 2017 21:24:23 +0100 Subject: [PATCH 161/287] gnu: Add mongodb. * gnu/packages/databases.scm (mongodb): New variable. --- gnu/packages/databases.scm | 94 +++++++++++++++++++ ...-support-unknown-linux-distributions.patch | 55 +++++++++++ 2 files changed, 149 insertions(+) create mode 100644 gnu/packages/patches/mongodb-support-unknown-linux-distributions.patch diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index fbfb341026..62f940e909 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -69,8 +69,10 @@ #:use-module (gnu packages rdf) #:use-module (gnu packages readline) #:use-module (gnu packages ruby) + #:use-module (gnu packages serialization) #:use-module (gnu packages tcl) #:use-module (gnu packages tls) + #:use-module (gnu packages valgrind) #:use-module (gnu packages xml) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) @@ -357,6 +359,98 @@ and generic API, and was originally intended for use with dynamic web applications.") (license license:bsd-3))) +(define-public mongodb + (package + (name "mongodb") + (version "3.4.9") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/mongodb/mongo/archive/r" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0gidwyvh3bdwmk2pccgkqkaln4ysgn8iwa7ihjzllsq0rdg95045")) + (patches + (list + (search-patch "mongodb-support-unknown-linux-distributions.patch"))))) + (build-system gnu-build-system) + (inputs + `(("openssl" ,openssl) + ("pcre" ,pcre) + ("yaml-cpp" ,yaml-cpp) + ("zlib" ,zlib) + ("snappy" ,snappy) + ("boost" ,boost))) + (native-inputs + `(("scons" ,scons) + ("python" ,python-2) + ("valgrind" ,valgrind) + ("perl" ,perl))) + (arguments + `(#:phases + (let ((common-options + `(;; "--use-system-tcmalloc" TODO: Missing gperftools + "--use-system-pcre" + ;; TODO + ;; build/opt/mongo/db/fts/unicode/string.o failed: Error 1 + ;; --use-system-boost + "--use-system-snappy" + "--use-system-zlib" + "--use-system-valgrind" + ;; "--use-system-stemmer" TODO: Missing relevant package + "--use-system-yaml" + "--disable-warnings-as-errors" + ,(format #f "--jobs=~a" (parallel-job-count)) + "--ssl"))) + (modify-phases %standard-phases + (delete 'configure) ; There is no configure phase + (add-after 'unpack 'scons-propagate-environment + (lambda _ + ;; Modify the SConstruct file to arrange for + ;; environment variables to be propagated. + (substitute* "SConstruct" + (("^env = Environment\\(") + "env = Environment(ENV=os.environ, ")) + #t)) + (add-after 'unpack 'create-version-file + (lambda _ + (call-with-output-file "version.json" + (lambda (port) + (display ,(simple-format #f "{ + \"version\": \"~A\" +}" version) port))) + #t)) + (replace 'build + (lambda _ + (zero? (apply system* + `("scons" + ,@common-options + "mongod" "mongo" "mongos"))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (or (not tests?) + (zero? (apply system* + `("scons" + ,@common-options + "dbtest" "unittests")))))) + (replace 'install + (lambda _ + (let ((bin (string-append (assoc-ref %outputs "out") "/bin"))) + (install-file "mongod" bin) + (install-file "mongos" bin) + (install-file "mongo" bin)) + #t)))))) + (home-page "https://www.mongodb.org/") + (synopsis "High performance and high availability document database") + (description + "Mongo is a high-performance, high availability, schema-free +document-oriented database. A key goal of MongoDB is to bridge the gap +between key/value stores (which are fast and highly scalable) and traditional +RDBMS systems (which are deep in functionality).") + (license (list license:agpl3 + ;; Some parts are licensed under the Apache License + license:asl2.0)))) + (define-public mysql (package (name "mysql") diff --git a/gnu/packages/patches/mongodb-support-unknown-linux-distributions.patch b/gnu/packages/patches/mongodb-support-unknown-linux-distributions.patch new file mode 100644 index 0000000000..6057ebeb08 --- /dev/null +++ b/gnu/packages/patches/mongodb-support-unknown-linux-distributions.patch @@ -0,0 +1,55 @@ +From e724bb7018a482640c4f194f88b554af2c59d76e Mon Sep 17 00:00:00 2001 +From: Mark Benvenuto +Date: Wed, 20 Sep 2017 11:50:02 -0400 +Subject: [PATCH] SERVER-30857 Support unknown Linux distributions + +--- + src/mongo/rpc/metadata/client_metadata.cpp | 6 ------ + src/mongo/util/processinfo_linux.cpp | 9 ++++++--- + 2 files changed, 6 insertions(+), 9 deletions(-) + +diff --git a/src/mongo/rpc/metadata/client_metadata.cpp b/src/mongo/rpc/metadata/client_metadata.cpp +index 845a315dd74..a959a4e31e9 100644 +--- a/src/mongo/rpc/metadata/client_metadata.cpp ++++ b/src/mongo/rpc/metadata/client_metadata.cpp +@@ -302,9 +302,6 @@ void ClientMetadata::serializePrivate(StringData driverName, + StringData osArchitecture, + StringData osVersion, + BSONObjBuilder* builder) { +- invariant(!driverName.empty() && !driverVersion.empty() && !osType.empty() && !osName.empty() && +- !osArchitecture.empty() && !osVersion.empty()); +- + BSONObjBuilder metaObjBuilder(builder->subobjStart(kMetadataDocumentName)); + + { +@@ -347,9 +344,6 @@ Status ClientMetadata::serializePrivate(StringData driverName, + StringData osVersion, + StringData appName, + BSONObjBuilder* builder) { +- invariant(!driverName.empty() && !driverVersion.empty() && !osType.empty() && !osName.empty() && +- !osArchitecture.empty() && !osVersion.empty()); +- + if (appName.size() > kMaxApplicationNameByteLength) { + return Status(ErrorCodes::ClientMetadataAppNameTooLarge, + str::stream() << "The '" << kApplication << "." << kName +diff --git a/src/mongo/util/processinfo_linux.cpp b/src/mongo/util/processinfo_linux.cpp +index c3debf377bd..c2813b026b0 100644 +--- a/src/mongo/util/processinfo_linux.cpp ++++ b/src/mongo/util/processinfo_linux.cpp +@@ -376,10 +376,13 @@ class LinuxSysHelper { + if ((nl = name.find('\n', nl)) != string::npos) + // stop at first newline + name.erase(nl); +- // no standard format for name and version. use kernel version +- version = "Kernel "; +- version += LinuxSysHelper::readLineFromFile("/proc/sys/kernel/osrelease"); ++ } else { ++ name = "unknown"; + } ++ ++ // There is no standard format for name and version so use the kernel version. ++ version = "Kernel "; ++ version += LinuxSysHelper::readLineFromFile("/proc/sys/kernel/osrelease"); + } + + /** From 5266ff719e274056cb3e2b9740183f0063177255 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Fri, 6 Oct 2017 21:24:30 +0100 Subject: [PATCH 162/287] services: Add MongoDB. * gnu/services/databases.scm (%default-mongodb-configuration-file, %mongodb-accounts, mongodb-service-type): New variables. (): New record type. (mongodb-activation, mongodb-shepherd-service): New procedures. * gnu/tests/databases.scm (%test-mongodb): New variable. * doc/guix.texi (Database Services): Add MongoDB documentation. --- doc/guix.texi | 26 +++++++++++ gnu/services/databases.scm | 89 ++++++++++++++++++++++++++++++++++++++ gnu/tests/databases.scm | 86 +++++++++++++++++++++++++++++++++++- 3 files changed, 200 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index f0a59a6b4b..c10fc649d1 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -12120,6 +12120,32 @@ Additional command line options to pass to @code{memcached}. @end table @end deftp +@defvr {Scheme Variable} mongodb-service-type +This is the service type for @uref{https://www.mongodb.com/, MongoDB}. +The value for the service type is a @code{mongodb-configuration} object. +@end defvr + +@example +(service mongodb-service-type) +@end example + +@deftp {Data Type} mongodb-configuration +Data type representing the configuration of mongodb. + +@table @asis +@item @code{mongodb} (default: @code{mongodb}) +The MongoDB package to use. + +@item @code{config-file} (default: @code{%default-mongodb-configuration-file}) +The configuration file for MongoDB. + +@item @code{data-directory} (default: @code{"/var/lib/mongodb"}) +This value is used to create the directory, so that it exists and is +owned by the mongodb user. It should match the data-directory which +MongoDB is configured to use through the configuration file. +@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/services/databases.scm b/gnu/services/databases.scm index de1f6b8411..6a01cb1ce6 100644 --- a/gnu/services/databases.scm +++ b/gnu/services/databases.scm @@ -44,6 +44,14 @@ memcached-configuration-udp-port memcached-configuration-additional-options + + mongodb-configuration + mongodb-configuration? + mongodb-configuration-mongodb + mongodb-configuration-config-file + mongodb-configuration-data-directory + mongodb-service-type + mysql-service mysql-service-type mysql-configuration @@ -262,6 +270,87 @@ and stores the database cluster in @var{data-directory}." (const %memcached-accounts)))) (default-value (memcached-configuration)))) + +;;; +;;; MongoDB +;;; + +(define %default-mongodb-configuration-file + (plain-file + "mongodb.yaml" + "# GNU Guix: MongoDB default configuration file +processManagement: + pidFilePath: /var/run/mongodb/pid +storage: + dbPath: /var/lib/mongodb +")) + + +(define-record-type* + mongodb-configuration make-mongodb-configuration + mongodb-configuration? + (mongodb mongodb-configuration-mongodb + (default mongodb)) + (config-file mongodb-configuration-config-file + (default %default-mongodb-configuration-file)) + (data-directory mongodb-configuration-data-directory + (default "/var/lib/mongodb"))) + +(define %mongodb-accounts + (list (user-group (name "mongodb") (system? #t)) + (user-account + (name "mongodb") + (group "mongodb") + (system? #t) + (comment "Mongodb server user") + (home-directory "/var/lib/mongodb") + (shell (file-append shadow "/sbin/nologin"))))) + +(define mongodb-activation + (match-lambda + (($ mongodb config-file data-directory) + #~(begin + (use-modules (guix build utils)) + (let ((user (getpwnam "mongodb"))) + (for-each + (lambda (directory) + (mkdir-p directory) + (chown directory + (passwd:uid user) (passwd:gid user))) + '("/var/run/mongodb" #$data-directory))))))) + +(define mongodb-shepherd-service + (match-lambda + (($ mongodb config-file data-directory) + (shepherd-service + (provision '(mongodb)) + (documentation "Run the Mongodb daemon.") + (requirement '(user-processes loopback)) + (start #~(make-forkexec-constructor + `(,(string-append #$mongodb "/bin/mongod") + "--config" + ,#$config-file) + #:user "mongodb" + #:group "mongodb" + #:pid-file "/var/run/mongodb/pid" + #:log-file "/var/log/mongodb.log")) + (stop #~(make-kill-destructor)))))) + +(define mongodb-service-type + (service-type + (name 'mongodb) + (description "Run the MongoDB document database server.") + (extensions + (list (service-extension shepherd-root-service-type + (compose list + mongodb-shepherd-service)) + (service-extension activation-service-type + mongodb-activation) + (service-extension account-service-type + (const %mongodb-accounts)))) + (default-value + (mongodb-configuration)))) + ;;; ;;; MySQL. diff --git a/gnu/tests/databases.scm b/gnu/tests/databases.scm index 9d9a753747..9e335b27c6 100644 --- a/gnu/tests/databases.scm +++ b/gnu/tests/databases.scm @@ -25,9 +25,11 @@ #:use-module (gnu services) #:use-module (gnu services databases) #:use-module (gnu services networking) + #:use-module (gnu packages databases) #:use-module (guix gexp) #:use-module (guix store) - #:export (%test-memcached)) + #:export (%test-memcached + %test-mongodb)) (define %memcached-os (simple-operating-system @@ -121,3 +123,85 @@ (name "memcached") (description "Connect to a running MEMCACHED server.") (value (run-memcached-test)))) + +(define %mongodb-os + (operating-system + (inherit + (simple-operating-system + (dhcp-client-service) + (service mongodb-service-type))) + (packages (cons* mongodb + %base-packages)))) + +(define* (run-mongodb-test #:optional (port 27017)) + "Run tests in %MONGODB-OS, forwarding PORT." + (define os + (marionette-operating-system + %mongodb-os + #:imported-modules '((gnu services herd) + (guix combinators)))) + + (define vm + (virtual-machine + (operating-system os) + (memory-size 1024) + (disk-image-size (* 1024 (expt 2 20))) + (port-forwardings `((27017 . ,port))))) + + (define test + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (srfi srfi-11) (srfi srfi-64) + (gnu build marionette) + (ice-9 popen) + (ice-9 rdelim)) + + (define marionette + (make-marionette (list #$vm))) + + (mkdir #$output) + (chdir #$output) + + (test-begin "mongodb") + + (test-assert "service running" + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (match (start-service 'mongodb) + (#f #f) + (('service response-parts ...) + (match (assq-ref response-parts 'running) + ((pid) (number? pid)))))) + marionette)) + + (test-eq "test insert" + 0 + (system* (string-append #$mongodb "/bin/mongo") + "test" + "--eval" + "db.testCollection.insert({data: 'test-data'})")) + + (test-equal "test find" + "test-data" + (let* ((port (open-pipe* + OPEN_READ + (string-append #$mongodb "/bin/mongo") + "test" + "--quiet" + "--eval" + "db.testCollection.findOne().data")) + (output (read-line port)) + (status (close-pipe port))) + output)) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (gexp->derivation "mongodb-test" test)) + +(define %test-mongodb + (system-test + (name "mongodb") + (description "Connect to a running MONGODB server.") + (value (run-mongodb-test)))) From 90d23ed9df33e35e157fecd8ab60f55e716ca42f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 6 Oct 2017 23:09:48 +0200 Subject: [PATCH 163/287] system: Really filter out Linux device names for the store. This is a followup to db4e8fd5d4a07d3be8ce68fb96722ef7077c0eee. Fixes . Reported by Mark H Weaver . * gnu/system.scm (ensure-not-/dev): New procedure. (read-boot-parameters)[ensure-not-/dev]: Remove. (operating-system-boot-parameters): Use it. --- gnu/system.scm | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index 8ab4801b74..0e834ba5ed 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -231,6 +231,14 @@ directly by the user." (kernel-arguments boot-parameters-kernel-arguments) (initrd boot-parameters-initrd)) +(define (ensure-not-/dev device) + "If DEVICE starts with a slash, return #f. This is meant to filter out +Linux device names such as /dev/sda, and to preserve GRUB device names and +file system labels." + (if (and (string? device) (string-prefix? "/" device)) + #f + device)) + (define (read-boot-parameters port) "Read boot parameters from PORT and return the corresponding object or #f if the format is unrecognized." @@ -243,11 +251,6 @@ directly by the user." ((? string? device) device))) - (define (ensure-not-/dev device) - (if (and (string? device) (string-prefix? "/" device)) - #f - device)) - (match (read port) (('boot-parameters ('version 0) ('label label) ('root-device root) @@ -939,7 +942,7 @@ kernel arguments for that derivation to ." (operating-system-user-kernel-arguments os))) (initrd initrd) (bootloader-name bootloader-name) - (store-device (fs->boot-device store)) + (store-device (ensure-not-/dev (fs->boot-device store))) (store-mount-point (file-system-mount-point store)))))) (define (device->sexp device) From 428951b84f1b704fbc792bbd0304bda9b8f71cfe Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 6 Oct 2017 18:27:45 -0400 Subject: [PATCH 164/287] gnu: linux-libre@4.4: Update to 4.4.90. * gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.90. --- 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 3103656b75..44f5a5fb91 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -383,8 +383,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.89" - "1bw1cma8hxcj6wi8znc4nvw1p6dlc1lgciqak6n6ijn53xdd242h" + (make-linux-libre "4.4.90" + "1sqzvz8yrcf99vhphkxp1wm2agq6q9nshxb1mkypspm8rhm11vhw" %intel-compatible-systems #:configuration-file kernel-config)) From 455670378370518a9bc6a7d1e51e8e0c62426f1d Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 6 Oct 2017 18:28:26 -0400 Subject: [PATCH 165/287] gnu: linux-libre@4.9: Update to 4.9.53. * gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.53. --- 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 44f5a5fb91..bdd45ddee2 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -377,8 +377,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.52" - "0zl1z13r4gg6r2sbx8mrif2cnjkjlfrswiap7wzb22jyfnlyj5nb" + (make-linux-libre "4.9.53" + "174i53cd090akbjq34dj4z00h1nyfmy3sl3fk6svcmbx6h34381h" %intel-compatible-systems #:configuration-file kernel-config)) From ecfcb2e0482f74a9ab29cb9ac8579093f74d2379 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 6 Oct 2017 18:29:05 -0400 Subject: [PATCH 166/287] gnu: linux-libre: Update to 4.13.5. * gnu/packages/linux.scm (%linux-libre-version): Update to 4.13.5. (%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 bdd45ddee2..6257c8b47f 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -367,8 +367,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.13.4") -(define %linux-libre-hash "028dww9c6x22mvd0jd87bmibqiz5lrsyynrbzka18gh39sk0v8j7") +(define %linux-libre-version "4.13.5") +(define %linux-libre-hash "1crw61x7qrijhpw0azxf9b3fra0cxq87ncni2419p0s23jfdpc4m") (define-public linux-libre (make-linux-libre %linux-libre-version From 3ae76f7f57706cf5cc4144d4ff62968e3d4c3aa4 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Sat, 7 Oct 2017 09:42:55 +1000 Subject: [PATCH 167/287] gnu: vsearch: Update to 2.5.0. * gnu/packages/bioinformatics.scm (vsearch): Update to 2.5.0. --- 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 5e98aea91f..0a957139c9 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -6163,7 +6163,7 @@ SELECT or UPDATE queries to an end-point.") (define-public vsearch (package (name "vsearch") - (version "2.4.4") + (version "2.5.0") (source (origin (method url-fetch) @@ -6173,7 +6173,7 @@ SELECT or UPDATE queries to an end-point.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1d8a4gjwaqdv57krlr80x18mg5py1bbdiqs5m0jdn38filc9z40k")) + "1k8wf3qns4mqrsizywbkqcasqjw000m4drxsag3qd7390pwvf9kz")) (patches (search-patches "vsearch-unbundle-cityhash.patch")) (snippet '(begin From eca16a3d1d9e6b2c064e0105c1015258bf2755f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 7 Oct 2017 15:44:23 +0200 Subject: [PATCH 168/287] guix package: '--upgrade' no longer reverses package order. Reported by Oleg Pykhalov at . * guix/scripts/package.scm (options->installable)[upgraded]: Use 'fold-right' instead of 'fold'. --- guix/scripts/package.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index 4adc705220..0e365018a9 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -604,12 +604,12 @@ and upgrades." (options->upgrade-predicate opts)) (define upgraded - (fold (lambda (entry transaction) - (if (upgrade? (manifest-entry-name entry)) - (transaction-upgrade-entry entry transaction) - transaction)) - transaction - (manifest-entries manifest))) + (fold-right (lambda (entry transaction) + (if (upgrade? (manifest-entry-name entry)) + (transaction-upgrade-entry entry transaction) + transaction)) + transaction + (manifest-entries manifest))) (define to-install (filter-map (match-lambda From 9070ca4479273d9a79f00a99da1d6406cb1d6e36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 7 Oct 2017 16:09:45 +0200 Subject: [PATCH 169/287] gnu: zile: Update to 2.4.14. * gnu/packages/zile.scm (zile): Update to 2.4.14. --- gnu/packages/zile.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/zile.scm b/gnu/packages/zile.scm index dfa9d7373d..c0bbafdd59 100644 --- a/gnu/packages/zile.scm +++ b/gnu/packages/zile.scm @@ -40,14 +40,14 @@ (define-public zile (package (name "zile") - (version "2.4.13") + (version "2.4.14") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/zile/zile-" version ".tar.gz")) (sha256 (base32 - "03mcg0bxkzprlsx8y6h22w924pzx4a9zr7zm3g11j8j3x9lz75f7")))) + "0x3byaddms8l3g7igx6njycqsq98wgapysdb5c7lhcnajlkp8y3s")))) (build-system gnu-build-system) (arguments '(#:phases From 1f3ea898719cf802d14deeb161a41d1b3967ddad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 7 Oct 2017 16:14:16 +0200 Subject: [PATCH 170/287] store: Add missing import. * guix/store.scm: Use (ice-9 format). --- guix/store.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/guix/store.scm b/guix/store.scm index d571122021..f336df85cc 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -41,6 +41,7 @@ #:use-module (ice-9 vlist) #:use-module (ice-9 popen) #:use-module (ice-9 threads) + #:use-module (ice-9 format) #:use-module (web uri) #:export (%daemon-socket-uri %gc-roots-directory From aba219af0fed6a349af930f19c913fb87e6a69dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 7 Oct 2017 16:34:59 +0200 Subject: [PATCH 171/287] pull: Honor 'parallel-job-count'. * guix/build/pull.scm (build-guix): Use 'n-par-for-each' and honor 'parallel-job-count'. --- guix/build/pull.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guix/build/pull.scm b/guix/build/pull.scm index 03b0f925a7..1ae35ab382 100644 --- a/guix/build/pull.scm +++ b/guix/build/pull.scm @@ -178,7 +178,8 @@ containing the source code. Write any debugging output to DEBUG-PORT." ;; Make sure compilation related modules are loaded before starting to ;; compile files in parallel. (compile #f) - (par-for-each + (n-par-for-each + (parallel-job-count) (lambda (file) (with-mutex mutex (display #\cr log-port) From 3202d601a82022c5e9563b60db5b9a6458593ac8 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 2 Jul 2017 07:54:09 -0400 Subject: [PATCH 172/287] gnu: khal: Update to 0.9.8. * gnu/packages/calendar.scm (khal): Update to 0.9.8. [arguments]: Make sure to stop building if the documentation fails to build. Skip some failing tests. --- gnu/packages/calendar.scm | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index 9a3aab33ab..f208bc0803 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -84,13 +84,13 @@ data units.") (define-public khal (package (name "khal") - (version "0.9.5") + (version "0.9.8") (source (origin (method url-fetch) (uri (pypi-uri "khal" version)) (sha256 (base32 - "0fvv0kjym9q8v20zbpr5m8ig65b8hva4p0c935qsdvgdni68jidr")))) + "1blx3gxnv7sj302biqphfw7i6ilzl2xlmvzp130n3113scg9w17y")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -99,18 +99,24 @@ data units.") (lambda* (#:key inputs outputs #:allow-other-keys) ;; Make installed package available for running the tests (add-installed-pythonpath inputs outputs) - (zero? (system* "make" "--directory=doc/" "man")) - (install-file - "doc/build/man/khal.1" - (string-append (assoc-ref outputs "out") "/share/man/man1")))) - - ;; The tests require us to choose a timezone. + (and + (zero? (system* "make" "--directory=doc/" "man")) + (install-file + "doc/build/man/khal.1" + (string-append (assoc-ref outputs "out") "/share/man/man1"))))) (replace 'check (lambda* (#:key inputs #:allow-other-keys) + ;; The tests require us to choose a timezone. (setenv "TZ" (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo/Zulu")) - (zero? (system* "py.test" "tests"))))))) + (zero? (system* "py.test" "tests" "-k" + (string-append + ;; These tests are known to fail in when not + ;; running in a TTY: + ;; https://github.com/pimutils/khal/issues/683 + "not test_printics_read_from_stdin " + "and not test_import_from_stdin")))))))) (native-inputs ;; XXX Uses tmpdir_factory, introduced in pytest 2.8. `(("python-pytest" ,python-pytest-3.0) From 06ebba151b336000e158549515ca569d7b795b04 Mon Sep 17 00:00:00 2001 From: ng0 Date: Thu, 5 Oct 2017 19:12:56 +0000 Subject: [PATCH 173/287] gnu: getmail: Update to 5.4. * gnu/packages/mail.scm (getmail): Update to 5.4. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index cc3977e2c3..e856a85531 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -811,7 +811,7 @@ and search library.") (define-public getmail (package (name "getmail") - (version "5.1") + (version "5.4") (source (origin (method url-fetch) @@ -819,7 +819,7 @@ and search library.") name "-" version ".tar.gz")) (sha256 (base32 - "0zh220vx10wi6x61qi0mjayjxgvllk9f6vd4hjrgzha1xbjj0vix")))) + "1iwss9z94p165gxr2yw7s9q12a0bn71fcdbikzkykr5s7xxnz2ds")))) (build-system python-build-system) (arguments `(#:tests? #f ; no tests From 3803331803dc954903112fbcef0d00c918cd0410 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Fri, 6 Oct 2017 06:26:10 +0300 Subject: [PATCH 174/287] gnu: sdl: Add debug output. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/sdl.scm (sdl, sdl-gfx, sdl-image, sdl-mixer, sdl-net, sdl-ttf): Add debug output. Signed-off-by: Ludovic Courtès --- gnu/packages/sdl.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index af598ecb46..fa126afd92 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -83,6 +83,7 @@ ("glu" ,glu) ("alsa-lib" ,alsa-lib) ("pulseaudio" ,pulseaudio))) + (outputs '("out" "debug")) (synopsis "Cross platform game development library") (description "Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, @@ -157,6 +158,7 @@ system, such as sound redirection over the network.") (base32 "0ijljhs0v99dj6y27hc10z6qchyp8gdp4199y6jzngy6dzxlzsvw")))) (build-system gnu-build-system) + (outputs '("out" "debug")) (arguments `(,@(if (any (cute string-prefix? <> (or (%current-system) (%current-target-system))) @@ -184,6 +186,7 @@ other supporting functions for SDL.") (base32 "16an9slbb8ci7d89wakkmyfvp7c0cval8xw4hkg0842nhhlp540b")))) (build-system gnu-build-system) + (outputs '("out" "debug")) (arguments ;; Explicitly link against shared libraries instead of dlopening them. '(#:configure-flags '("--disable-jpg-shared" @@ -220,6 +223,7 @@ WEBP, XCF, XPM, and XV.") (base32 "0alrhqgm40p4c92s26mimg9cm1y7rzr6m0p49687jxd9g6130i0n")))) (build-system gnu-build-system) + (outputs '("out" "debug")) ;; no check target ;; use libmad instead of smpeg ;; explicitly link against shared libraries instead of dlopening them @@ -260,6 +264,7 @@ MIDI, Ogg Vorbis, and MP3.") (build-system gnu-build-system) (propagated-inputs `(("sdl" ,sdl))) (native-inputs `(("pkg-config" ,pkg-config))) + (outputs '("out" "debug")) (synopsis "SDL networking library") (description "SDL_net is a small, cross-platform networking library for SDL.") @@ -283,6 +288,7 @@ SDL.") (inputs `(("freetype" ,freetype) ("mesa" ,mesa))) (native-inputs `(("pkg-config" ,pkg-config))) + (outputs '("out" "debug")) (synopsis "SDL TrueType font library") (description "SDL_ttf is a TrueType font rendering library for SDL.") (home-page "https://www.libsdl.org/projects/SDL_ttf/") From cca6941feed56b6bcd767c2619b99cd619e91f0c Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Wed, 4 Oct 2017 12:01:41 +0300 Subject: [PATCH 175/287] pull: Add GUIX_PULL_URL environment variable. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/scripts/pull.scm (%repository-url): Add GUIX_PULL_URL environment variable. * doc/guix.texi (Invoking guix pull): Mention GUIX_PULL_URL. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 4 +++- guix/scripts/pull.scm | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index c10fc649d1..7b5b711793 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2532,8 +2532,10 @@ Produce verbose output, writing build logs to the standard error output. @item --url=@var{url} Download Guix from the Git repository at @var{url}. +@vindex GUIX_PULL_URL By default, the source is taken from its canonical Git repository at -@code{gnu.org}, for the stable branch of Guix. +@code{gnu.org}, for the stable branch of Guix. To use a different source, +set the @code{GUIX_PULL_URL} environment variable. @item --commit=@var{commit} Deploy @var{commit}, a valid Git commit ID represented as a hexadecimal diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm index b1c87c870e..2400198000 100644 --- a/guix/scripts/pull.scm +++ b/guix/scripts/pull.scm @@ -82,7 +82,7 @@ Install it by running: (resolve-interface '(git)))) (define %repository-url - "https://git.savannah.gnu.org/git/guix.git") + (or (getenv "GUIX_PULL_URL") "https://git.savannah.gnu.org/git/guix.git")) ;;; From 3eabcc787897ab951386ea35f36d124d6468b8ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20=C4=8Cech?= Date: Wed, 4 Oct 2017 00:47:21 +0200 Subject: [PATCH 176/287] gnu: Add missing input to python-py3status and fix call path. file is used to determine configuration file encoding and py3status fails to start when this tool is missing. * gnu/packages/python.scm (python-py3status)[inputs]: Add file. [arguments]: Modify phases to patch py3status to call file with an absolute path. --- gnu/packages/python.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 594dd38e42..cc7aa8fa4e 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -11494,8 +11494,21 @@ to occurrences in strings and comments.") (base32 "0i283z1pivmir61z8kbiycigc94l61v33ygzkhczf1ifq7cppyds")))) (build-system python-build-system) + (inputs + `(("file" ,file))) (arguments - '(#:tests? #f)) ; TODO: Requires many libraries not in Guix. + '(#:phases + (modify-phases %standard-phases + ;; 'file' is used for detection of configuration file encoding + ;; let's make link the dependency to particular input + (add-before 'build 'patch-file-path + (lambda* (#:key inputs #:allow-other-keys) + (let ((file-path (assoc-ref inputs "file"))) + (substitute* "py3status/parse_config.py" + (("check_output\\(\\['file'") + (string-append "check_output(['" file-path "/bin/file'"))) + #t)))) + #:tests? #f)) ; TODO: Requires many libraries not in Guix. (home-page "https://github.com/ultrabug/py3status") (synopsis "Extensible i3status wrapper written in Python") (description "py3status is an i3status wrapper which extends i3status From 024d37d119fac78cf1d80aab41285e4651bd08d8 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Thu, 3 Aug 2017 15:46:37 +0100 Subject: [PATCH 177/287] perl: Add perl-parse-recdescent. * gnu/packages/perl.scm (perl-parse-recdescent): New variable. --- gnu/packages/perl.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 09d6798177..815a212d1a 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -8885,6 +8885,31 @@ YAML-style files, written with as little code as possible, reducing load time and memory overhead.") (license (package-license perl)))) +(define-public perl-parse-recdescent + (package + (name "perl-parse-recdescent") + (version "1.967015") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/J/JT/JTBRAUN/Parse-RecDescent-" + version + ".tar.gz")) + (sha256 + (base32 + "0dvfcn2xvj9r4ra5xqgasl847nsm1iy85w1kly41fkxm9im36hqr")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build))) + (home-page + "http://search.cpan.org/dist/Parse-RecDescent") + (synopsis "Generate recursive-descent parsers") + (description + "@code{Parse::RecDescent} can incrementally generate top-down +recursive-descent text parsers from simple yacc-like grammar specifications.") + (license perl-license))) + (define-public perl-parse-yapp (package (name "perl-parse-yapp") From 834dc83069d4d97ff929fbcb0a3dd5f0954823df Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Thu, 3 Aug 2017 15:47:06 +0100 Subject: [PATCH 178/287] web: Add nginx-documentation. * gnu/packages/web.scm (nginx): Add comment about updating the documentation. (nginx-xslscript): New variable. (nginx-documentation): New variable. --- gnu/packages/web.scm | 98 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index a2af98da53..a612be0130 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -43,6 +43,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix cvs-download) + #:use-module (guix hg-download) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system glib-or-gtk) @@ -139,6 +140,8 @@ and its related documentation.") (define-public nginx (package (name "nginx") + ;; Consider updating the nginx-docs package if the nginx package is + ;; updated. (version "1.12.1") (source (origin (method url-fetch) @@ -225,6 +228,101 @@ and as a proxy to reduce the load on back-end HTTP or mail servers.") ;; except for two source files which are bsd-4 licensed. (license (list l:bsd-2 l:expat l:bsd-3 l:bsd-4)))) +(define nginx-xslscript + (let ((revision 11) + (changeset "01dc9ba12e1b")) + (package + (name "nginx-xslscript") + (version + (simple-format #f "2014-03-31-~A-~A" revision changeset)) + (source (origin + (method hg-fetch) + (uri (hg-reference + (url "http://hg.nginx.org/xslscript") + (changeset changeset))) + (file-name (string-append name "-" version)) + (sha256 + (base32 + "0am8zvdx3jmiwkg5q07qjaw5r26r4i2v5i4yr8a1k0jgib6ii08g")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; No test suite + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out-bin (string-append + (assoc-ref outputs "out") + "/bin"))) + (mkdir-p out-bin) + (copy-file "xslscript.pl" + (string-append + out-bin + "/xslscript.pl")) + #t)))))) + (home-page "http://hg.nginx.org/xslscript") + (synopsis "XSLScript with NGinx specific modifications") + (description + "XSLScript is a terse notation for writing complex XSLT stylesheets. +This is modified version, specifically intended for use with the NGinx +documentation.") + (license l:bsd-2)))) + +(define-public nginx-documentation + ;; This documentation should be relevant for nginx-1.12.0 + (let ((revision 1961) + (changeset "dd4b6c564e10")) + (package + (name "nginx-documentation") + (version + (simple-format #f "2017-04-12-~A-~A" revision changeset)) + (source + (origin (method hg-fetch) + (uri (hg-reference + (url "http://hg.nginx.org/nginx.org") + (changeset changeset))) + (file-name (string-append name "-" version)) + (sha256 + (base32 + "0rycfnnm2xkm777769h1zib428q45j64mx8nzzfzs4v07jbfc8m5")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; No test suite + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda* (#:key outputs #:allow-other-keys) + (let ((output (assoc-ref outputs "out"))) + (substitute* "umasked.sh" + ((" /bin/sh") (string-append " " (which "sh")))) + ;; The documentation includes a banner, which makes sense on + ;; the NGinx website, but doesn't make much sense when + ;; viewing locally. Therefore, modify the CSS to remove the + ;; banner. + (substitute* "xslt/style.xslt" + (("#banner \\{ background: black;") + "#banner { background: black; + display: none;")) + (zero? (system* "make"))))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((output (assoc-ref outputs "out"))) + (mkdir-p output) + (copy-recursively "libxslt" output) + #t)))))) + (native-inputs + `(("libxml2" ,libxml2) + ("libxslt" ,libxslt) + ("nginx-xslscript" ,nginx-xslscript))) + (home-page "https://nginx.org") + (synopsis "Documentation for nginx web server") + (description + "This package provides HTML documentation for the nginx web server.") + (license l:bsd-2)))) + (define-public fcgi (package (name "fcgi") From 6626c54ddf62648a2eb89640ab09ecc928450116 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 8 Oct 2017 14:42:07 +0100 Subject: [PATCH 179/287] gnu: Add missing mongodb patch to local.mk. * gnu/local.mk (dist_patch_DATA): Add the mongodb-support-unknown-linux-distributions.patch. --- gnu/local.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/local.mk b/gnu/local.mk index e10d7ec2fb..b71b36024e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -866,6 +866,7 @@ dist_patch_DATA = \ %D%/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch \ %D%/packages/patches/mpc123-initialize-ao.patch \ %D%/packages/patches/module-init-tools-moduledir.patch \ + %D%/packages/patches/mongodb-support-unknown-linux-distributions.patch \ %D%/packages/patches/mozjs17-aarch64-support.patch \ %D%/packages/patches/mozjs24-aarch64-support.patch \ %D%/packages/patches/mozjs38-pkg-config-version.patch \ From 226e57d674c1a718fb8f27a2cc25224ed42a7235 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sun, 8 Oct 2017 10:56:42 -0400 Subject: [PATCH 180/287] gnu: aisleriot: Update to 3.22.3. * gnu/packages/gnome.scm (aisleriot): Update to 3.22.3. [inputs]: Use guile-2.2 instead of guile-2.0. --- gnu/packages/gnome.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 50bd011e4b..87e60635e8 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3091,7 +3091,7 @@ playlists in a variety of formats.") (define-public aisleriot (package (name "aisleriot") - (version "3.22.2") + (version "3.22.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -3099,7 +3099,7 @@ playlists in a variety of formats.") name "-" version ".tar.xz")) (sha256 (base32 - "0a8cir7vgi67sncl0m7cypq11amardm7r68gr3q52a11l8ajycdx")))) + "12bqbyiqn2dwknz7ndgwgqqqz993s1ynh8qb82sshr7fy4zw8qph")))) (build-system glib-or-gtk-build-system) (arguments '(#:configure-flags @@ -3114,7 +3114,7 @@ playlists in a variety of formats.") ("xmllint" ,libxml2))) (inputs `(("gtk+" ,gtk+) - ("guile" ,guile-2.0) + ("guile" ,guile-2.2) ("libcanberra" ,libcanberra) ("librsvg" ,librsvg))) (home-page "https://wiki.gnome.org/Apps/Aisleriot") From 5578a9c64bb0846be4bd6dfde977d2ef68b41c53 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 6 Oct 2017 22:17:12 +0200 Subject: [PATCH 181/287] gnu: munge: Update to 0.5.13. * gnu/packages/admin.scm (munge): Update to 0.5.13. --- gnu/packages/admin.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 8e98174f47..7bbb68ebf1 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1535,7 +1535,7 @@ displays a table of current bandwidth usage by pairs of hosts.") (define-public munge (package (name "munge") - (version "0.5.12") + (version "0.5.13") (source (origin (method url-fetch) (uri (string-append "https://github.com/dun/munge/releases/" @@ -1543,7 +1543,7 @@ displays a table of current bandwidth usage by pairs of hosts.") version ".tar.xz")) (sha256 (base32 - "1s0vlwgm3hcx75vcmjf2y3icy5nv8y07bx93w2cmm6a7x71y6wp9")))) + "1nj486bbg1adfg298zck96vgx57kchcypc1zdz1n7w540vyksxcr")))) (inputs `(("openssl" ,openssl) ("libgcrypt" ,libgcrypt))) From de1a32a41acd882d1d249b455158fc3298367076 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 8 Oct 2017 11:30:43 +0200 Subject: [PATCH 182/287] gnu: par2cmdline: Update to 0.7.4. * gnu/packages/backup.scm (par2cmdline): Update to 0.7.4. --- gnu/packages/backup.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 006d00ef0c..476ca68c66 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -118,7 +118,7 @@ spying and/or modification by the server.") (define-public par2cmdline (package (name "par2cmdline") - (version "0.7.3") + (version "0.7.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/Parchive/par2cmdline/archive/v" @@ -126,7 +126,7 @@ spying and/or modification by the server.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0dqwarc2aw5clgpf24d9dxh43b0k0z3l6kksn30arx9bdlmrk5rx")))) + "0iwwskiag3262mvhinvnbk6n0qh6sh56m86y4d0m285v0jl0y9pa")))) (native-inputs `(("automake" ,automake) ("autoconf" ,autoconf))) From be6a1c2d39688efcc6f354a91b5f1de73ba576d1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 8 Oct 2017 12:49:03 +0200 Subject: [PATCH 183/287] gnu: gnome-calendar: Update to 3.26.2. * gnu/packages/gnome.scm (gnome-calendar): Update to 3.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 87e60635e8..b0c733ab55 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -6065,7 +6065,7 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.") (define-public gnome-calendar (package (name "gnome-calendar") - (version "3.26.1") + (version "3.26.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -6073,7 +6073,7 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.") name "-" version ".tar.xz")) (sha256 (base32 - "0p4xg9sfhcyy2lj9sdg8pk6dmggbi80f038dycr24v0ccy3nk6f2")))) + "03n51mvlc0vabr1rx9577z927icl3mrxrrv8zckfjav6p4vwg8hr")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t From 60273031e895ce6ee4e35fd387b630cf56f8df63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 8 Oct 2017 17:41:37 +0200 Subject: [PATCH 184/287] services: Remove unneeded imported. This caused a circular dependency. Reported by Oleg Pykhalov at . * gnu/services/networking.scm: Remove unneeded import of (gnu system base). --- gnu/services/networking.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index 42b96b417e..b0c23aafc7 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -25,7 +25,6 @@ #:use-module (gnu services) #:use-module (gnu services shepherd) #:use-module (gnu services dbus) - #:use-module (gnu services base) #:use-module (gnu system shadow) #:use-module (gnu system pam) #:use-module (gnu packages admin) From 71b7950e24e599bd0b3dee85b550eaa62015d053 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 8 Oct 2017 17:40:45 +0200 Subject: [PATCH 185/287] gnu: offlineimap: Update to 7.1.3. * gnu/packages/mail.scm (offlineimap): Update to 7.1.3. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index e856a85531..ddf5836490 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -416,7 +416,7 @@ and corrections. It is based on a Bayesian filter.") (define-public offlineimap (package (name "offlineimap") - (version "7.1.2") + (version "7.1.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/OfflineIMAP/offlineimap/" @@ -424,7 +424,7 @@ and corrections. It is based on a Bayesian filter.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0rnw7gpx3cp4irja5143haszgv4xhndc8wivhg8r0gpp6ig460vj")))) + "0iaznh8q3fmia43r0600vrd3w8njis1x65ry9fv3zsyx0ili1z02")))) (build-system python-build-system) (native-inputs `(("asciidoc" ,asciidoc))) From fe90a6e08b1e82d13cf1604322235c78a3278fb9 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 8 Oct 2017 17:41:09 +0200 Subject: [PATCH 186/287] gnu: youtube-dl: Update to 2017.10.07. * gnu/packages/video.scm (youtube-dl): Update to 2017.10.07. --- 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 7da143b7ac..7ba755cd0c 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1111,7 +1111,7 @@ access to mpv's powerful playback capabilities.") (define-public youtube-dl (package (name "youtube-dl") - (version "2017.10.01") + (version "2017.10.07") (source (origin (method url-fetch) (uri (string-append "https://yt-dl.org/downloads/" @@ -1119,7 +1119,7 @@ access to mpv's powerful playback capabilities.") version ".tar.gz")) (sha256 (base32 - "047zinsczn6c96fzkarlb29y7sjwyh84nxlpfpa6mi4rn090wkqb")))) + "10xs3d3ksfhalmvacpw2drkzi84y3rgy2jjr0wrzmqn1hx897a6r")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion From b36e06c2b0889f1d0f939465589d36887ff24d33 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 8 Oct 2017 09:52:24 +0100 Subject: [PATCH 187/287] linux-initrd: Ensure that the guile used in the initrd is referenced. By referencing guile from the initrd output explicitly, it will be present in the store when this initrd is used. If the exact guile used within the initrd isn't present in the store, then after root is switched during the boot process, loading modules (such as (ice-9 popen)) won't work. This fixes guix-patches bug #28399, "Fix mysql activation, and add a basic test". * gnu/system/linux-initrd.scm (expression->initrd)[builder]: Write out a file called references in to the initrd output, which includes the store path for guile. --- gnu/system/linux-initrd.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index 5a7aec5c87..969a89266c 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -78,6 +78,19 @@ the derivations referenced by EXP are automatically copied to the initrd." (use-modules (gnu build linux-initrd)) (mkdir #$output) + + ;; The guile used in the initrd must be present in the store, so + ;; that module loading works once the root is switched. + ;; + ;; To ensure that is the case, add an explicit reference to the + ;; guile package used in the initrd to the output. + ;; + ;; This fixes guix-patches bug #28399, "Fix mysql activation, and + ;; add a basic test". + (call-with-output-file (string-append #$ output "/references") + (lambda (port) + (simple-format port "~A\n" #$guile))) + (build-initrd (string-append #$output "/initrd") #:guile #$guile #:init #$init From 02bc41c4cedd15c6a76ecd5218f9b5848de8baea Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 9 Sep 2017 15:31:38 +0100 Subject: [PATCH 188/287] tests: databases: Add a simple test for MySQL. Previously, the activation phase for this service caused some systems using it to not boot. This test checks that it's possible to boot a system using it, and at least start the service. * gnu/tests/databases.scm (%mysql-os, %test-mysql): New variables. (run-mysql-test): New procedure. --- gnu/tests/databases.scm | 61 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/gnu/tests/databases.scm b/gnu/tests/databases.scm index 9e335b27c6..e7097690a0 100644 --- a/gnu/tests/databases.scm +++ b/gnu/tests/databases.scm @@ -29,7 +29,8 @@ #:use-module (guix gexp) #:use-module (guix store) #:export (%test-memcached - %test-mongodb)) + %test-mongodb + %test-mysql)) (define %memcached-os (simple-operating-system @@ -205,3 +206,61 @@ (name "mongodb") (description "Connect to a running MONGODB server.") (value (run-mongodb-test)))) + + +;;; +;;; The MySQL service. +;;; + +(define %mysql-os + (simple-operating-system + (mysql-service))) + +(define* (run-mysql-test) + "Run tests in %MYSQL-OS." + (define os + (marionette-operating-system + %mysql-os + #:imported-modules '((gnu services herd) + (guix combinators)))) + + (define vm + (virtual-machine + (operating-system os) + (memory-size 512))) + + (define test + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (srfi srfi-11) (srfi srfi-64) + (gnu build marionette)) + + (define marionette + (make-marionette (list #$vm))) + + (mkdir #$output) + (chdir #$output) + + (test-begin "mysql") + + (test-assert "service running" + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (match (start-service 'mysql) + (#f #f) + (('service response-parts ...) + (match (assq-ref response-parts 'running) + ((pid) (number? pid)))))) + marionette)) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (gexp->derivation "mysql-test" test)) + +(define %test-mysql + (system-test + (name "mysql") + (description "Start the MySQL service.") + (value (run-mysql-test)))) From 3ceb70e1e68f8e57fd3e9368cd3e0650ab5e4987 Mon Sep 17 00:00:00 2001 From: Thomas Danckaert Date: Sun, 8 Oct 2017 19:01:59 +0200 Subject: [PATCH 189/287] gnu: kdevelop: Do not hardcode user profile locations in wrapper. * gnu/packages/kde.scm (kdevelop): [arguments]: Do not add ${HOME}/.guix-profile/{share,lib/plugins} to XDG_DATA_DIRS and QT_PLUGIN_PATH when wrapping the executable. --- gnu/packages/kde.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 91a7b6208c..57d4492fb8 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -102,17 +102,16 @@ (qtquickcontrols (assoc-ref inputs "qtquickcontrols")) (qtbase (assoc-ref inputs "qtbase")) (qtdeclarative (assoc-ref inputs "qtdeclarative")) - (profile "$HOME/.guix-profile") (qml "/qml")) (wrap-program (string-append out "/bin/kdevelop") `("XDG_DATA_DIRS" ":" prefix ,(map (lambda (s) (string-append s "/share")) - (list profile out kdevplatform kcmutils))) + (list out kdevplatform kcmutils))) `("QT_QPA_PLATFORM_PLUGIN_PATH" ":" = (,(string-append qtbase "/plugins/platforms"))) `("QT_PLUGIN_PATH" ":" prefix ,(map (lambda (s) (string-append s "/lib/plugins")) - (list profile out kdevplatform kio))) + (list out kdevplatform kio))) `("QML2_IMPORT_PATH" ":" prefix (,(string-append qtquickcontrols qml) ,(string-append qtdeclarative qml)))))))))) From d7eb680d85af810886af908916204a9ee7e68f10 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 23 Jul 2017 21:09:32 -0400 Subject: [PATCH 190/287] gnu: Add python-guzzle-sphinx-theme. * gnu/packages/python.scm (python-guzzle-sphinx-theme, python2-guzzle-sphinx-theme): New variables. Co-authored-by: Tobias Geerinckx-Rice --- gnu/packages/python.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index cc7aa8fa4e..8521ab352a 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3390,6 +3390,30 @@ sources.") (define-public python2-sphinx-rtd-theme (package-with-python2 python-sphinx-rtd-theme)) +(define-public python-guzzle-sphinx-theme + (package + (name "python-guzzle-sphinx-theme") + (version "0.7.11") + (source + (origin + (method url-fetch) + (uri (pypi-uri "guzzle_sphinx_theme" version)) + (sha256 + (base32 + "1rnkzrrsbnifn3vsb4pfaia3nlvgvw6ndpxp7lzjrh23qcwid34v")))) + (build-system python-build-system) + (propagated-inputs + `(("python-sphinx" ,python-sphinx))) + (home-page "https://github.com/guzzle/guzzle_sphinx_theme") + (synopsis "Sphinx theme used by Guzzle") + (description "This package provides guzzle_sphinx_theme, a theme for the +Sphinx documentation system, used by @uref{http://docs.guzzlephp.org, Guzzle} +and several other projects.") + (license license:expat))) + +(define-public python2-guzzle-sphinx-theme + (package-with-python2 python-guzzle-sphinx-theme)) + (define-public python-rst.linker (package (name "python-rst.linker") From d265169b364ebf38b616c19a97fd8448f8a31273 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 23 Jul 2017 21:09:52 -0400 Subject: [PATCH 191/287] gnu: borg: Update to 1.1.0. * gnu/packages/backup.scm (borg): Update to 1.1.0. [native-inputs]: Replace python-sphinx-rtd-theme with python-guzzle-sphinx-theme. --- gnu/packages/backup.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 476ca68c66..a85f9f39c9 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015 Eric Bavier ;;; Copyright © 2014 Ian Denhardt -;;; Copyright © 2015, 2016 Leo Famulari +;;; Copyright © 2015, 2016, 2017 Leo Famulari ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2017 Arun Isaac @@ -462,13 +462,13 @@ detection, and lossless compression.") (define-public borg (package (name "borg") - (version "1.0.11") + (version "1.1.0") (source (origin (method url-fetch) (uri (pypi-uri "borgbackup" version)) (sha256 (base32 - "14fjk5dfwmjkn7nmkbhhbrk3g1wfrn8arvqd5r9jaij534nzsvpw")) + "0vwyg0b4kxb0rspqwhvgi5c78dzimgkydf03wif27a40qhh1235l")) (modules '((guix build utils))) (snippet '(for-each @@ -540,7 +540,7 @@ detection, and lossless compression.") ("python-pytest" ,python-pytest-3.0) ;; For generating the documentation. ("python-sphinx" ,python-sphinx) - ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme))) + ("python-guzzle-sphinx-theme" ,python-guzzle-sphinx-theme))) (inputs `(("acl" ,acl) ("lz4" ,lz4) From 5e66574a128937e7f2fcf146d146225703ccfd5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 8 Oct 2017 21:25:32 +0200 Subject: [PATCH 192/287] activation: Do not create setuid binaries in the store [security fix]. Fixes . * gnu/build/activation.scm (activate-setuid-programs)[link-or-copy]: Remove. Use 'copy-file' instead. --- gnu/build/activation.scm | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm index 9c58370ec3..6c0d603ddf 100644 --- a/gnu/build/activation.scm +++ b/gnu/build/activation.scm @@ -353,24 +353,13 @@ they already exist." ;; Place where setuid programs are stored. "/run/setuid-programs") -(define (link-or-copy source target) - "Attempt to make TARGET a hard link to SOURCE; if it fails, fall back to -copy SOURCE to TARGET." - (catch 'system-error - (lambda () - (link source target)) - (lambda args - ;; Perhaps SOURCE and TARGET live in a different file system, so copy - ;; SOURCE. - (copy-file source target)))) - (define (activate-setuid-programs programs) "Turn PROGRAMS, a list of file names, into setuid programs stored under %SETUID-DIRECTORY." (define (make-setuid-program prog) (let ((target (string-append %setuid-directory "/" (basename prog)))) - (link-or-copy prog target) + (copy-file prog target) (chown target 0 0) (chmod target #o6555))) From fa12a41030472427fcc43de2190c9670353a42e8 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 8 Oct 2017 20:02:29 +0200 Subject: [PATCH 193/287] gnu: mesa: Disable etnaviv driver. * gnu/packages/gl.scm (mesa)<#:configure-flags>: On armhf-linux, disable etnaviv driver. --- gnu/packages/gl.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 9b18d06491..7df62aceac 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -271,7 +271,8 @@ also known as DXTn or DXTC) for Mesa.") `(#:configure-flags '(,@(match (%current-system) ("armhf-linux" - '("--with-gallium-drivers=etnaviv,freedreno,imx,nouveau,r300,r600,svga,swrast,vc4,virgl")) + ;; TODO: Add etnaviv when enabled in libdrm. + '("--with-gallium-drivers=freedreno,imx,nouveau,r300,r600,svga,swrast,vc4,virgl")) ("aarch64-linux" '("--with-gallium-drivers=freedreno,nouveau,r300,r600,svga,swrast,vc4,virgl")) (_ From e076d56a6f5f9b9134fb0f164caf44d496c4a0e9 Mon Sep 17 00:00:00 2001 From: ng0 Date: Sun, 8 Oct 2017 10:30:39 +0000 Subject: [PATCH 194/287] gnu: Add guile-colorized. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/guile.scm (guile-colorized): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/guile.scm | 46 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 65d252617b..e32ca84a7f 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2017 David Thompson ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017 Theodoros Foradis +;;; Copyright © 2017 ng0 ;;; ;;; This file is part of GNU Guix. ;;; @@ -1966,4 +1967,49 @@ HTML (via SXML) or any other format for rendering.") It has a nice, simple s-expression based syntax.") (license license:lgpl3+))) +(define-public guile-colorized + (package + (name "guile-colorized") + (version "0.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/NalaGinrut/guile-colorized/" + "archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "16xhc3an6aglnca8xl3mvgi8hsqzqn68vsl5ga4bz8bvbap5fn4p")))) + (build-system gnu-build-system) + (arguments + `(#:modules ((system base compile) + ,@%gnu-build-system-modules) + #:tests? #f ;No tests included + #:phases + (modify-phases %standard-phases + (delete 'configure) ;No configure script + (replace 'install + (lambda* (#:key outputs inputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (module-dir (string-append out "/share/guile/site/2.2")) + (language-dir (string-append module-dir "/ice-9")) + (guild (string-append (assoc-ref inputs "guile") + "/bin/guild"))) + ;; The original 'make install' is too primitive. + + ;; copy the source + (install-file "ice-9/colorized.scm" language-dir) + + ;; compile to the destination + (compile-file "ice-9/colorized.scm" + #:output-file (string-append + language-dir "/colorized.go")) + #t)))))) + (inputs + `(("guile" ,guile-2.2))) + (home-page "https://github.com/NalaGinrut/guile-colorized") + (synopsis "Colorized REPL for Guile") + (description + "Guile-colorized provides you with a colorized REPL for GNU Guile.") + (license license:gpl3+))) + ;;; guile.scm ends here From 5130e54cabda9f1e773760aa328fa9c3a531b4fa Mon Sep 17 00:00:00 2001 From: ng0 Date: Sun, 8 Oct 2017 17:32:48 +0000 Subject: [PATCH 195/287] gnu: gnurl: Update to 7.56.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gnunet.scm (gnurl): Update to 7.56.0. Signed-off-by: Ludovic Courtès --- gnu/packages/gnunet.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 9a2713e66a..e28bac6e87 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -186,14 +186,14 @@ and support for SSL3 and TLS.") (define-public gnurl (package (name "gnurl") - (version "7.55.1-4") + (version "7.56.0") (source (origin (method url-fetch) (uri (string-append "https://gnunet.org/sites/default/files/" name "-" version ".tar.bz2")) (sha256 (base32 - "09c1bfwiwxqlh0dl839lslwhvkf98bvpyg9x4pcn3sagz0i8hxfl")))) + "18inbbqg7jygxa37x313ivc51p215fkp0ppw3xznk6d5ci4bs8fg")))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 1.5 MiB of man3 pages From c723271f30ac500472d8068b090bc8e6df78fce0 Mon Sep 17 00:00:00 2001 From: ng0 Date: Sun, 8 Oct 2017 20:32:01 +0000 Subject: [PATCH 196/287] gnu: gnurl: Let the testsuite run test1026. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gnunet.scm (gnurl)[argument]: Remove '(delete-file "tests/data/test1026")' and the comments related to it. Signed-off-by: Ludovic Courtès --- gnu/packages/gnunet.scm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index e28bac6e87..9b79dfd9d3 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -234,10 +234,6 @@ and support for SSL3 and TLS.") #t))) (replace 'check (lambda _ - ;; It is unclear why test1026 fails, however the content of it - ;; suggests that it is not vital for gnurl. - (delete-file "tests/data/test1026") - (substitute* "tests/runtests.pl" (("/bin/sh") (which "sh"))) From adf0c531a845fb03c92e1f28e26e5c31adb95e4a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 6 Jul 2017 09:13:31 +0300 Subject: [PATCH 197/287] guix: lint: Add checker for new upstream versions. * guix/scripts/lint.scm (check-for-updates): New procedure. (%checkers): Add it. * guix/scripts/refresh.scm (importer-modules, %updaters): Move from here ... * guix/upstream.scm: ... to here. --- guix/scripts/lint.scm | 17 +++++++++++++++++ guix/scripts/refresh.scm | 20 +------------------- guix/upstream.scm | 18 ++++++++++++++++++ 3 files changed, 36 insertions(+), 19 deletions(-) diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm index 57bbeec465..cd90257de3 100644 --- a/guix/scripts/lint.scm +++ b/guix/scripts/lint.scm @@ -33,6 +33,7 @@ #:use-module (guix licenses) #:use-module (guix records) #:use-module (guix ui) + #:use-module (guix upstream) #:use-module (guix utils) #:use-module (guix memoization) #:use-module (guix scripts) @@ -73,6 +74,7 @@ check-mirror-url check-license check-vulnerabilities + check-for-updates check-formatting run-checkers @@ -826,6 +828,17 @@ from ~s: ~a (~s)~%") (string-join (map vulnerability-id unpatched) ", "))))))))) +(define (check-for-updates package) + "Check if there is an update available for PACKAGE." + (match (package-latest-release* package (force %updaters)) + ((? upstream-source? source) + (when (version>? (upstream-source-version source) + (package-version package)) + (emit-warning package + (format #f (G_ "can be upgraded to ~a~%") + (upstream-source-version source))))) + (#f #f))) ; cannot find newer upstream release + ;;; ;;; Source code formatting. @@ -991,6 +1004,10 @@ or a list thereof") (description "Check the Common Vulnerabilities and Exposures\ (CVE) database") (check check-vulnerabilities)) + (lint-checker + (name 'refresh) + (description "Check the package for new upstream releases") + (check check-for-updates)) (lint-checker (name 'formatting) (description "Look for formatting issues in the source") diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm index 5add64d8e8..d638d744af 100644 --- a/guix/scripts/refresh.scm +++ b/guix/scripts/refresh.scm @@ -30,7 +30,6 @@ #:use-module (guix packages) #:use-module (guix profiles) #:use-module (guix upstream) - #:use-module (guix discovery) #:use-module (guix graph) #:use-module (guix scripts graph) #:use-module (guix monads) @@ -46,8 +45,7 @@ #:use-module (srfi srfi-26) #:use-module (srfi srfi-37) #:use-module (ice-9 binary-ports) - #:export (guix-refresh - %updaters)) + #:export (guix-refresh)) ;;; @@ -162,22 +160,6 @@ specified with `--select'.\n")) ;;; Updates. ;;; -(define (importer-modules) - "Return the list of importer modules." - (cons (resolve-interface '(guix gnu-maintenance)) - (all-modules (map (lambda (entry) - `(,entry . "guix/import")) - %load-path)))) - -(define %updaters - ;; The list of publically-known updaters. - (delay (fold-module-public-variables (lambda (obj result) - (if (upstream-updater? obj) - (cons obj result) - result)) - '() - (importer-modules)))) - (define (lookup-updater-by-name name) "Return the updater called NAME." (or (find (lambda (updater) diff --git a/guix/upstream.scm b/guix/upstream.scm index 6ad52ac960..0fe3308876 100644 --- a/guix/upstream.scm +++ b/guix/upstream.scm @@ -20,6 +20,7 @@ (define-module (guix upstream) #:use-module (guix records) #:use-module (guix utils) + #:use-module (guix discovery) #:use-module ((guix download) #:select (download-to-store)) #:use-module (guix gnupg) @@ -55,6 +56,7 @@ upstream-updater-predicate upstream-updater-latest + %updaters lookup-updater download-tarball @@ -146,6 +148,22 @@ correspond to the same version." (pred upstream-updater-predicate) (latest upstream-updater-latest)) +(define (importer-modules) + "Return the list of importer modules." + (cons (resolve-interface '(guix gnu-maintenance)) + (all-modules (map (lambda (entry) + `(,entry . "guix/import")) + %load-path)))) + +(define %updaters + ;; The list of publically-known updaters. + (delay (fold-module-public-variables (lambda (obj result) + (if (upstream-updater? obj) + (cons obj result) + result)) + '() + (importer-modules)))) + (define (lookup-updater package updaters) "Return an updater among UPDATERS that matches PACKAGE, or #f if none of them matches." From 719f353405886822676da20b873e5fd452a1bc3b Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 8 Oct 2017 21:54:56 -0400 Subject: [PATCH 198/287] gnu: mit-krb5: Replace with 1.15.2 [fixes CVE-2017-{11368,11462}]. * gnu/packages/kerberos.scm (mit-krb5)[replacement]: New field. (mit-krb5-1.15.2): New variable. --- gnu/packages/kerberos.scm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/gnu/packages/kerberos.scm b/gnu/packages/kerberos.scm index 48b2204190..801b4e44a9 100644 --- a/gnu/packages/kerberos.scm +++ b/gnu/packages/kerberos.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013 Andreas Enge ;;; Copyright © 2014, 2015, 2016 Mark H Weaver -;;; Copyright © 2016 Leo Famulari +;;; Copyright © 2016, 2017 Leo Famulari ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2012, 2013 Nikita Karetnikov ;;; Copyright © 2012, 2017 Ludovic Courtès @@ -46,6 +46,7 @@ (define-public mit-krb5 (package (name "mit-krb5") + (replacement mit-krb5-1.15.2) (version "1.15.1") (source (origin (method url-fetch) @@ -93,6 +94,19 @@ cryptography.") (home-page "http://web.mit.edu/kerberos/") (properties '((cpe-name . "kerberos"))))) +(define mit-krb5-1.15.2 ; CVE-2017-{11368,11462} + (package + (inherit mit-krb5) + (version "1.15.2") + (source (origin + (method url-fetch) + (uri (string-append "http://web.mit.edu/kerberos/dist/krb5/" + (version-major+minor version) + "/krb5-" version ".tar.gz")) + (sha256 + (base32 + "0zn8s7anb10hw3nzwjz7vg10fgmmgvwnibn2zrn3nppjxn9f6f8n")))))) + (define-public shishi (package (name "shishi") From 51b6a1dd13d15218610ea82e9f8452010fae96d6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 9 Oct 2017 20:01:45 +0200 Subject: [PATCH 199/287] gnu: smartmontools: Use HTTPS home page. * gnu/packages/admin.scm (smartmontools)[home-page]: Use HTTPS. --- gnu/packages/admin.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 7bbb68ebf1..3b26e74245 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1296,7 +1296,7 @@ various ways that may be running with too much privilege.") "1g25r6sx85b5lay5n6sbnqv05qxzj6xsafsp93hnrg1h044bps49")))) (build-system gnu-build-system) (inputs `(("libcap-ng" ,libcap-ng))) - (home-page "http://www.smartmontools.org/") + (home-page "https://www.smartmontools.org/") (synopsis "S.M.A.R.T. harddisk control and monitoring tools") (description "The smartmontools package contains utility programs to control and From 137adfa3f87b91a8e3030fbbc05455b1d716db42 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 9 Oct 2017 20:12:47 +0200 Subject: [PATCH 200/287] gnu: meson: Update to 0.42.1. * gnu/packages/build-tools.scm (meson, meson-for-build): Update to 0.42.1. --- gnu/packages/build-tools.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index c535f52400..a35ce3b067 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -70,7 +70,7 @@ makes a few sacrifices to acquire fast full and incremental build times.") (define-public meson (package (name "meson") - (version "0.42.0") + (version "0.42.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/mesonbuild/meson/" @@ -78,7 +78,7 @@ makes a few sacrifices to acquire fast full and incremental build times.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0vyp9rkymzzzilhnf04ryszslyp9a0y0wf4agyijd4w5lcnqlcbc")))) + "1494hdnd40g2v6pky34j0f2iwc6kwn51vck37qwz7nl2xr17b18q")))) (build-system python-build-system) (inputs `(("ninja", ninja))) (propagated-inputs `(("python" ,python))) @@ -97,7 +97,7 @@ Python.") (package (inherit meson) (name "meson-for-build") - (version "0.42.0") + (version "0.42.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/mesonbuild/meson/" @@ -105,7 +105,7 @@ Python.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0vyp9rkymzzzilhnf04ryszslyp9a0y0wf4agyijd4w5lcnqlcbc")) + "1494hdnd40g2v6pky34j0f2iwc6kwn51vck37qwz7nl2xr17b18q")) (patches (search-patches "meson-for-build-rpath.patch")))) ;; People should probably install "meson", not "meson-for-build". From 4c4f1871ae7005debf172edc66f80fcd98e35a90 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 9 Oct 2017 20:47:54 +0200 Subject: [PATCH 201/287] gnu: no-more-secrets: Update to 0.3.3. * gnu/packages/games.scm (no-more-secrets): Update to 0.3.3. --- gnu/packages/games.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 7729c5b3bd..acffd2150c 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -3898,7 +3898,7 @@ to the Space Age.") (define-public no-more-secrets (package (name "no-more-secrets") - (version "0.3.2") + (version "0.3.3") (source (origin (method url-fetch) @@ -3907,7 +3907,7 @@ to the Space Age.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "00mzdif859vm75n1igrffh8c07p1nr4rlm3yb7lrkwwxhrw8xzla")))) + "1kpx1rirc3i7fb4lymp0hx5rqr0s2ay4za261rw3bcy6d23l1kyg")))) (build-system gnu-build-system) (arguments `(#:tests? #f From 5b38c3e6d81a43c5ba93e8a90d52ae27a9437099 Mon Sep 17 00:00:00 2001 From: Feng Shu Date: Wed, 4 Oct 2017 16:58:56 +0800 Subject: [PATCH 202/287] gnu: Add emacs-mustache. * gnu/packages/emacs.scm (emacs-mustache): New variable. Signed-off-by: Leo Famulari --- gnu/packages/emacs.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 13c6f00d06..73ccf1bdc8 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4982,6 +4982,33 @@ containing words from the rime project.") and cangjie.") (license license:gpl2+))) +(define-public emacs-mustache + (package + (name "emacs-mustache") + (version "0.23") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/Wilfred/mustache.el/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0k9lcgil7kykkv1ylrgwy1g13ldjjmgi2cwmysgyb2vlj3jbwpdj")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-ht" ,emacs-ht) + ("emacs-s" ,emacs-s))) + (home-page "https://github.com/Wilfred/mustache.el") + (synopsis "Mustache templating library for Emacs") + (description "Mustache templating library for Emacs, mustache is +a simple web template system, which is described as a logic-less system +because it lacks any explicit control flow statements, both looping and +conditional evaluation can be achieved using section tags processing lists +and lambdas.") + (license license:gpl3+))) + (define-public emacs-xelb (package (name "emacs-xelb") From 2f1524d083ed4a0a88d83eaf6717664f24bbf9ca Mon Sep 17 00:00:00 2001 From: Feng Shu Date: Wed, 4 Oct 2017 17:28:32 +0800 Subject: [PATCH 203/287] gnu: Add emacs-el2org. * gnu/packages/emacs.scm (emacs-el2org): New variable. Signed-off-by: Leo Famulari --- gnu/packages/emacs.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 73ccf1bdc8..0b2234bd0c 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4982,6 +4982,26 @@ containing words from the rime project.") and cangjie.") (license license:gpl2+))) +(define-public emacs-el2org + (package + (name "emacs-el2org") + (version "0.6.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/tumashu/el2org/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0gd3km1swwvg2w0kdi7370f54wgrflxn63gjgssfjc1iyc9sbqwq")))) + (build-system emacs-build-system) + (home-page "https://github.com/tumashu/el2org") + (synopsis "Convert Emacs-lisp file to org file") + (description "El2org is a simple tool, which can convert Emacs-lisp file +to org file, you can use this tool to write orgify commentary.") + (license license:gpl2+))) + (define-public emacs-mustache (package (name "emacs-mustache") From f03e15ec584762a9018ffe9854353d98eacc42bb Mon Sep 17 00:00:00 2001 From: Feng Shu Date: Fri, 6 Oct 2017 07:22:08 +0800 Subject: [PATCH 204/287] gnu: Add emacs-org2web. * gnu/packages/emacs.scm (emacs-org2web): New variable. Signed-off-by: Leo Famulari --- gnu/packages/emacs.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 0b2234bd0c..0dc056eff2 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -5029,6 +5029,32 @@ conditional evaluation can be achieved using section tags processing lists and lambdas.") (license license:gpl3+))) +(define-public emacs-org2web + (package + (name "emacs-org2web") + (version "0.9.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/tumashu/org2web/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1c0ixcphlhp4c4qdiwq40bc3yp1gp1llp8pxrk4s7ny9n68s52zp")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-el2org" ,emacs-el2org) + ("emacs-ht" ,emacs-ht) + ("emacs-mustache" ,emacs-mustache) + ("emacs-simple-httpd" ,emacs-simple-httpd))) + (home-page "https://github.com/tumashu/org2web") + (synopsis "Static site generator based on org-mode ") + (description "Org2web is a static site generator based on org-mode, +which code derived from Kelvin H's org-page.") + (license license:gpl2+))) + (define-public emacs-xelb (package (name "emacs-xelb") From aaba12041546e75566e25ebe670d0b6e0171bcdb Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Fri, 6 Oct 2017 06:24:58 +0300 Subject: [PATCH 205/287] gnu: qemu: Add sysconfdir to configure-flags. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/virtualization.scm (qemu): Add sysconfdir to configure-flags. Signed-off-by: Ludovic Courtès --- gnu/packages/virtualization.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index a8e54d6840..4e384e79ae 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -111,6 +111,7 @@ "--disable-debug-info" ; save build space "--enable-virtfs" ; just to be sure ,(string-append "--prefix=" out) + ,(string-append "--sysconfdir=/etc") ,@configure-flags)))))) (add-after 'install 'install-info (lambda* (#:key inputs outputs #:allow-other-keys) From 40a17c3ba9e4e94e80726d69386f03f44dcaafab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 9 Oct 2017 22:03:59 +0200 Subject: [PATCH 206/287] gnu: network-manager: Update to 1.8.4. * gnu/packages/gnome.scm (network-manager): Update to 1.8.4. (network-manager-applet): Likewise. --- gnu/packages/gnome.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index b0c733ab55..27bdd387f6 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4933,7 +4933,7 @@ users.") (define-public network-manager (package (name "network-manager") - (version "1.8.2") + (version "1.8.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/NetworkManager/" @@ -4941,7 +4941,7 @@ users.") "NetworkManager-" version ".tar.xz")) (sha256 (base32 - "1x0vzxvrck0snga2n3pc7g74m20zz74cr4r8gfspl8sckv6yz9bi")) + "04lj081a5cdkhcnj1xs77chhy08d2h0648kmj1csxp46cfrjwpk2")) (snippet '(begin (use-modules (guix build utils)) @@ -5111,7 +5111,7 @@ to virtual private networks (VPNs) via OpenVPN.") (define-public network-manager-applet (package (name "network-manager-applet") - (version "1.8.2") + (version "1.8.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -5119,7 +5119,7 @@ to virtual private networks (VPNs) via OpenVPN.") name "-" version ".tar.xz")) (sha256 (base32 - "09f9hjpn9nkhw57mk6pi7q1bq3lhf5hvmwas0fknscssak7yjmry")))) + "0ag3pvjp58ykrzsjfbdxi0j5xd2i796jk7nns67zy03xwg9i0l0h")))) (build-system glib-or-gtk-build-system) (arguments '(#:configure-flags '("--disable-migration"))) (native-inputs From 3d9637a93df2bd8e77f4faff6ad775d145073145 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 9 Oct 2017 22:04:46 +0200 Subject: [PATCH 207/287] gnu: network-manager-openvpn: Update to 1.8.10. * gnu/packages/gnome.scm (network-manager-openvpn): Update to 1.8.10. --- 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 27bdd387f6..58caa56161 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5057,7 +5057,7 @@ services.") (define-public network-manager-openvpn (package (name "network-manager-openvpn") - (version "1.2.10") + (version "1.8.0") (source (origin (method url-fetch) (uri (string-append @@ -5066,7 +5066,7 @@ services.") "/NetworkManager-openvpn-" version ".tar.xz")) (sha256 (base32 - "0q9x61fq509gybz3ljzyvf9zn8nlya1r2vk7jl0gk3fp76jsg1mc")))) + "1973n89g66a3jfx8r45a811fga4kadh6r1w35cb25cz1mlii2vhn")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--enable-absolute-paths"))) From 735f6b63d05a55fb8e72d8678c06700cb7ef8059 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 9 Oct 2017 23:17:49 +0200 Subject: [PATCH 208/287] lint: Remove extra newline. * guix/scripts/lint.scm (check-for-updates): Remove trailing "~%". --- guix/scripts/lint.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm index cd90257de3..fc61f0b547 100644 --- a/guix/scripts/lint.scm +++ b/guix/scripts/lint.scm @@ -835,7 +835,7 @@ from ~s: ~a (~s)~%") (when (version>? (upstream-source-version source) (package-version package)) (emit-warning package - (format #f (G_ "can be upgraded to ~a~%") + (format #f (G_ "can be upgraded to ~a") (upstream-source-version source))))) (#f #f))) ; cannot find newer upstream release From 7f0bb6540ac05c080a4e76c9363018050c9661e8 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 9 Oct 2017 14:40:19 -0500 Subject: [PATCH 209/287] syscalls: clone: Define syscall-id for aarch64. * guix/build/syscalls.scm (clone): Define syscall-id for aarch64 machines. --- guix/build/syscalls.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm index 55b0df3911..e5779cbd0b 100644 --- a/guix/build/syscalls.scm +++ b/guix/build/syscalls.scm @@ -773,6 +773,7 @@ Turning finalization off shuts down the finalization thread as a side effect." ("x86_64" 56) ("mips64" 5055) ("armv7l" 120) + ("aarch64" 220) (_ #f)))) (lambda (flags) "Create a new child process by duplicating the current parent process. From 05c4e379b7a9911b47bc4cff8dc1aa7b432e83b6 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 6 Oct 2017 12:27:20 -0500 Subject: [PATCH 210/287] build: Update automake version requirement to 1.14. For '%D%' support. * configure.ac (AM_INIT_AUTOMAKE): Update version requirement to 1.14. --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 5120df53fd..aa70f140d3 100644 --- a/configure.ac +++ b/configure.ac @@ -8,7 +8,7 @@ AC_INIT([GNU Guix], [https://www.gnu.org/software/guix/]) AC_CONFIG_AUX_DIR([build-aux]) -AM_INIT_AUTOMAKE([1.12 gnu silent-rules subdir-objects \ +AM_INIT_AUTOMAKE([1.14 gnu silent-rules subdir-objects \ color-tests parallel-tests -Woverride -Wno-portability]) # Enable silent rules by default. From a9769a290fb7bd2c554280b98b573e6b552491be Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Sat, 7 Oct 2017 03:23:40 +0200 Subject: [PATCH 211/287] gnu: python-apispec: Update to 0.25.3. * gnu/packages/python.scm (python-apispec, python2-apispec): Update to 0.25.3. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 8521ab352a..0c3aecf636 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -15951,14 +15951,14 @@ complex datatypes to and from native Python datatypes.") (define-public python-apispec (package (name "python-apispec") - (version "0.22.0") + (version "0.25.3") (source (origin (method url-fetch) (uri (pypi-uri "apispec" version)) (sha256 (base32 - "0y3jxmgp2d24am3hxl40f5rw9abb0r8037sagax3dv64h4n1azwq")))) + "0kxa8723zbisx10363yh4mmmn4higxrspymbjfz5zq8f644zagm9")))) (build-system python-build-system) (propagated-inputs `(("python-pyyaml" ,python-pyyaml))) From 79cb661fc705607ed117b71fc58ec7a0adc4d826 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Sat, 7 Oct 2017 03:27:49 +0200 Subject: [PATCH 212/287] gnu: python-arrow: Update to 0.10.0. * gnu/packages/python.scm (python-arrow, python2-arrow): Update to 0.10.0. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 0c3aecf636..84428f7253 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -11976,13 +11976,13 @@ objects, patterned after the Mocha library for Ruby.") (define-public python-arrow (package (name "python-arrow") - (version "0.8.0") + (version "0.10.0") (source (origin (method url-fetch) (uri (pypi-uri "arrow" version)) (sha256 (base32 - "1bz7hkdgpqcjs866y58z8jywpy7al0f4rxdr00bh2l5qddyw245j")))) + "08n7q2l69hlainds1byd4lxhwrq7zsw7s640zkqc3bs5jkq0cnc0")))) (build-system python-build-system) (native-inputs `(;; For testing From 96d63eead24bd5ed85e5607121cf68ec0639ddb9 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Sat, 7 Oct 2017 03:14:39 +0200 Subject: [PATCH 213/287] gnu: python-alembic: Update to 0.9.5. * gnu/packages/python.scm (python-alembic, python2-alembic): Update to 0.9.5. --- gnu/packages/python.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 84428f7253..b2af477a23 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -4926,20 +4926,21 @@ You might also want to install the following optional dependencies: (define-public python-alembic (package (name "python-alembic") - (version "0.8.10") + (version "0.9.5") (source (origin (method url-fetch) (uri (pypi-uri "alembic" version)) (sha256 (base32 - "06br9sfqypnjlal6fsbnky3zb0askwcn3diz8k3kwa0qcblm0fqf")))) + "01gx2syqbaxh4hr9pf7pxhlb6p36qaf99140dy19lsx1paxb9p4b")))) (build-system python-build-system) (native-inputs `(("python-mock" ,python-mock) ("python-pytest-cov" ,python-pytest-cov))) (propagated-inputs - `(("python-sqlalchemy" ,python-sqlalchemy) + `(("python-dateutil" ,python-dateutil) + ("python-sqlalchemy" ,python-sqlalchemy) ("python-mako" ,python-mako) ("python-editor" ,python-editor))) (home-page "http://bitbucket.org/zzzeek/alembic") From 64791fae633038614d59b679c1026c22650ef38d Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Sat, 7 Oct 2017 03:19:21 +0200 Subject: [PATCH 214/287] gnu: python-aniso8601: Update to 1.3.0. * gnu/packages/python.scm (python-aniso8601, python2-aniso8601): Update to 1.3.0. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index b2af477a23..6433ea4ae5 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -13464,14 +13464,14 @@ useful as a validator for JSON data.") (define-public python-aniso8601 (package (name "python-aniso8601") - (version "1.1.0") + (version "1.3.0") (source (origin (method url-fetch) (uri (pypi-uri "aniso8601" version)) (sha256 (base32 - "1k5mjg9iqbjfslb5prrsfz7dhlvi6s35p1jxq8dm87w1b7dn5i2g")))) + "1waj54iv3n3lw1fapbz8a93yjgrybgpc86wif5baxdh1arpj9df3")))) (build-system python-build-system) (propagated-inputs `(("python-dateutil" ,python-dateutil))) From cb95e5e50eb672d36202e481035981653faa5cf5 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Sat, 7 Oct 2017 05:44:31 +0200 Subject: [PATCH 215/287] gnu: Add python2-aniso8601. * gnu/packages/python.scm (python2-aniso8601): New variable. --- gnu/packages/python.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 6433ea4ae5..3ae84251df 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -13483,6 +13483,9 @@ useful as a validator for JSON data.") "This package contains a library for parsing ISO 8601 datetime strings.") (license license:bsd-3))) +(define-public python2-aniso8601 + (package-with-python2 python-aniso8601)) + (define-public python-flask-restful (package (name "python-flask-restful") From 576c0e29cdcf5c344f19bd2e099e3545b4a2c185 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Wed, 13 Sep 2017 03:17:03 +0200 Subject: [PATCH 216/287] gnu: python-netaddr: Fix the source URL. * gnu/packages/python.scm (python-netaddr, python2-netaddr): Fix the source URL. --- gnu/packages/python.scm | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 3ae84251df..ee37ebb1fe 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -7570,10 +7570,7 @@ reading and writing MessagePack data.") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/source/n/netaddr/netaddr-" - version - ".tar.gz")) + (uri (pypi-uri "netaddr" version)) (sha256 (base32 "1zdfadvpq4lmcqzr383gywxn4xyn355kj1n3lk9q2l03vmyfrbiq")))) From ab28aa229bff7af49ee9a413366000dd61755878 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Tue, 12 Sep 2017 00:29:35 +0200 Subject: [PATCH 217/287] gnu: Add python-linecache2. * gnu/packages/python.scm (python-linecache2, python2-linecache2): New variables. --- gnu/packages/python.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index ee37ebb1fe..395e39911c 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -16503,3 +16503,32 @@ their files and supports any packaging format (including wheels).") (define-public python2-twine (package-with-python2 python-twine)) + +(define-public python-linecache2 + (package + (name "python-linecache2") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "linecache2" version)) + (sha256 + (base32 + "0z79g3ds5wk2lvnqw0y2jpakjf32h95bd9zmnvp7dnqhf57gy9jb")))) + (build-system python-build-system) + (arguments + `(;; The tests depend on unittest2, and our version is a bit too old. + #:tests? #f)) + (native-inputs + `(("python-pbr" ,python-pbr))) + (home-page + "https://github.com/testing-cabal/linecache2") + (synopsis "Backports of the linecache module") + (description + "The linecache module allows one to get any line from any file, while +attempting to optimize internally, using a cache, the common case where many +lines are read from a single file.") + (license license:psfl))) + +(define-public python2-linecache2 + (package-with-python2 python-linecache2)) From 1898eaa3357124034fecfbeb157b39b0f4e8c0c0 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Tue, 12 Sep 2017 00:41:38 +0200 Subject: [PATCH 218/287] gnu: Add python-traceback2. * gnu/packages/python.scm (python-traceback2, python2-traceback2): New variables. --- gnu/packages/python.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 395e39911c..fd08f1a469 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -16532,3 +16532,34 @@ lines are read from a single file.") (define-public python2-linecache2 (package-with-python2 python-linecache2)) + +(define-public python-traceback2 + (package + (name "python-traceback2") + (version "1.4.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "traceback2" version)) + (sha256 + (base32 + "0c1h3jas1jp1fdbn9z2mrgn3jj0hw1x3yhnkxp7jw34q15xcdb05")))) + (build-system python-build-system) + (arguments + `(;; python-traceback2 and python-unittest2 depend on one another. + #:tests? #f)) + (native-inputs + `(("python-pbr" ,python-pbr))) + (propagated-inputs + `(("python-linecache2" ,python-linecache2))) + (home-page + "https://github.com/testing-cabal/traceback2") + (synopsis "Backports of the traceback module") + (description + "This module provides a standard interface to extract, format and print +stack traces of Python programs. It exactly mimics the behavior of the Python +interpreter when it prints a stack trace.") + (license license:psfl))) + +(define-public python2-traceback2 + (package-with-python2 python-traceback2)) From 4792a0321a5163ed043d404925c8ab03efae1223 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Tue, 12 Sep 2017 21:27:06 +0200 Subject: [PATCH 219/287] gnu: python2-unittest2: Update to 1.1.0. * gnu/packages/python.scm (python2-unittest2): Update to 1.1.0. * gnu/packages/patches/python2-unittest2-remove-argparse.patch: New file. * gnu/local.mk: Add it. --- gnu/local.mk | 1 + .../patches/python2-unittest2-remove-argparse.patch | 11 +++++++++++ gnu/packages/python.scm | 9 +++++++-- 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/python2-unittest2-remove-argparse.patch diff --git a/gnu/local.mk b/gnu/local.mk index b71b36024e..a866c9084a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -994,6 +994,7 @@ dist_patch_DATA = \ %D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \ %D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \ %D%/packages/patches/python2-subprocess32-disable-input-test.patch \ + %D%/packages/patches/python2-unittest2-remove-argparse.patch \ %D%/packages/patches/qt4-ldflags.patch \ %D%/packages/patches/qtscript-disable-tests.patch \ %D%/packages/patches/quagga-reproducible-build.patch \ diff --git a/gnu/packages/patches/python2-unittest2-remove-argparse.patch b/gnu/packages/patches/python2-unittest2-remove-argparse.patch new file mode 100644 index 0000000000..c96738757e --- /dev/null +++ b/gnu/packages/patches/python2-unittest2-remove-argparse.patch @@ -0,0 +1,11 @@ +--- a/setup.py 2017-09-12 01:22:06.273997788 +0200 ++++ b/setup.py 2017-09-12 01:22:14.297918757 +0200 +@@ -57,7 +57,7 @@ + # Both install and setup requires - because we read VERSION from within the + # package, and the package also exports all the APIs. + # six for compat helpers +-REQUIRES = ['argparse', 'six>=1.4', 'traceback2'], ++REQUIRES = ['six>=1.4', 'traceback2'], + + params = dict( + name=NAME, diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index fd08f1a469..f5e92d8890 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1843,7 +1843,7 @@ standard library.") (define-public python2-unittest2 (package (inherit python-unittest2) (name "python2-unittest2") - (version "0.5.1") + (version "1.1.0") (source (origin (method url-fetch) @@ -1852,7 +1852,12 @@ standard library.") version ".tar.gz")) (sha256 (base32 - "0wbs4i4x3x7klr3v35ss6p9mcqz883i1xgcpkhvl7n2lyv6yhpda")))) + "0y855kmx7a8rnf81d3lh5lyxai1908xjp0laf4glwa4c8472m212")) + (patches + (search-patches "python2-unittest2-remove-argparse.patch")))) + (propagated-inputs + `(("python2-six" ,python2-six) + ("python2-traceback2" ,python2-traceback2))) (arguments `(#:python ,python-2 #:tests? #f)))) ; no setup.py test command From ce3801506652dcfeec983a66c4cba88c270891e8 Mon Sep 17 00:00:00 2001 From: Thomas Danckaert Date: Sun, 8 Oct 2017 17:21:09 +0200 Subject: [PATCH 220/287] system: operating-system-etc-service: Set XCURSOR_PATH. * gnu/system.scm (operating-system-etc-service): Set XCURSOR_PATH environment variable so that libxcursor finds cursors in user and system profiles. * gnu/packages/xorg.scm (libxcursor): Add a TODO for better handling of XCURSOR_PATH in other profiles. --- gnu/packages/xorg.scm | 9 +++++++++ gnu/system.scm | 3 +++ 2 files changed, 12 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index f3d415c096..c2023dead2 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5300,6 +5300,15 @@ draggable titlebars and borders.") ("xproto" ,xproto))) (native-inputs `(("pkg-config" ,pkg-config))) +;; TODO: add XCURSOR_PATH=.../share/icons to profile search paths, so +;; libXcursor finds cursors installed into a profile. If we solve bugs +;; and , we can fix +;; this with a search-path as follows: +;; +;; (native-search-paths +;; (list (search-path-specification +;; (variable "XCURSOR_PATH") +;; (files '("share/icons"))))) (home-page "https://www.x.org/wiki/") (synopsis "Xorg Cursor management library") (description "Xorg Cursor management library.") diff --git a/gnu/system.scm b/gnu/system.scm index 0e834ba5ed..5f562b48bb 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -583,6 +583,9 @@ export INFOPATH=$HOME/.guix-profile/share/info:/run/current-system/profile/share export XDG_DATA_DIRS=$HOME/.guix-profile/share:/run/current-system/profile/share export XDG_CONFIG_DIRS=$HOME/.guix-profile/etc/xdg:/run/current-system/profile/etc/xdg +# Make sure libXcursor finds cursors installed into user or system profiles. See +export XCURSOR_PATH=$HOME/.icons:$HOME/.guix-profile/share/icons:/run/current-system/profile/share/icons + # Ignore the default value of 'PATH'. unset PATH From 88f256a192710fbd8cc07eb4253df02b63b52c85 Mon Sep 17 00:00:00 2001 From: Thomas Danckaert Date: Fri, 6 Oct 2017 12:38:34 +0200 Subject: [PATCH 221/287] gnu: Add java-slf4-simple. * gnu/packages/java.scm (java-slf4j-simple): New variable. --- gnu/packages/java.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 4418b67ea8..60590b1179 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016, 2017 Roel Janssen ;;; Copyright © 2017 Carlo Zancanaro ;;; Copyright © 2017 Julien Lepiller +;;; Copyright © 2017 Thomas Danckaert ;;; ;;; This file is part of GNU Guix. ;;; @@ -4207,6 +4208,40 @@ allowing the end user to plug in the desired logging framework at deployment time.") (license license:expat))) +(define-public java-slf4j-simple + (package + (name "java-slf4j-simple") + (version "1.7.25") + (source (package-source java-slf4j-api)) + (build-system ant-build-system) + (arguments + `(#:jar-name "slf4j-simple.jar" + #:source-dir "slf4j-simple/src/main" + #:test-dir "slf4j-simple/src/test" + #:phases + (modify-phases %standard-phases + ;; The tests need some test classes from slf4j-api + (add-before 'check 'build-slf4j-api-test-helpers + (lambda _ + ;; Add current dir to CLASSPATH ... + (setenv "CLASSPATH" + (string-append (getcwd) ":" (getenv "CLASSPATH"))) + ;; ... and build test helper classes here: + (zero? + (apply system* + `("javac" "-d" "." + ,@(find-files "slf4j-api/src/test" ".*\\.java"))))))))) + (inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core) + ("java-slf4j-api" ,java-slf4j-api))) + (home-page "https://www.slf4j.org/") + (synopsis "Simple implementation of simple logging facade for Java") + (description "SLF4J binding for the Simple implementation, which outputs +all events to System.err. Only messages of level INFO and higher are +printed.") + (license license:expat))) + (define-public antlr2 (package (name "antlr2") From 2fd26d055ae3ab919debfd0e5deb699b8bf8c07a Mon Sep 17 00:00:00 2001 From: Thomas Danckaert Date: Wed, 4 Oct 2017 17:17:03 +0200 Subject: [PATCH 222/287] gnu: Add hdf-java. * gnu/packages/maths.scm (hdf-java): New variable. --- gnu/packages/maths.scm | 121 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 120 insertions(+), 1 deletion(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 088f47f1d6..1fee91837c 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2016 Kei Kebreau ;;; Copyright © 2016, 2017 Ludovic Courtès ;;; Copyright © 2016 Leo Famulari -;;; Copyright © 2016 Thomas Danckaert +;;; Copyright © 2016, 2017 Thomas Danckaert ;;; Copyright © 2017 Paul Garlick ;;; Copyright © 2017 ng0 ;;; Copyright © 2017 Ben Woodcroft @@ -70,6 +70,7 @@ #:use-module (gnu packages graphviz) #:use-module (gnu packages gtk) #:use-module (gnu packages image) + #:use-module (gnu packages java) #:use-module (gnu packages less) #:use-module (gnu packages lisp) #:use-module (gnu packages logging) @@ -743,6 +744,124 @@ extremely large and complex data collections.") (license (license:x11-style "http://www.hdfgroup.org/ftp/HDF5/current/src/unpacked/COPYING")))) +(define-public hdf-java + (package + (name "hdf-java") + (version "3.3.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://www.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/hdfjni-" + version "/src/CMake-hdfjava-" version ".tar.gz")) + (sha256 + (base32 "0m1gp2aspcblqzmpqbdpfp6giskws85ds6p5gz8sx7asyp7wznpr")) + (modules '((guix build utils))) + (snippet ; Make sure we don't use the bundled sources and binaries. + `(begin + (for-each delete-file + (list "SZip.tar.gz" "ZLib.tar.gz" "JPEG8d.tar.gz" + "HDF4.tar.gz" "HDF5.tar.gz")) + (delete-file-recursively ,(string-append "hdfjava-" version "/lib")))))) + (build-system gnu-build-system) + (native-inputs + `(("jdk" ,icedtea "jdk") + ("automake" ,automake) ; For up to date 'config.guess' and 'config.sub'. + ;; For tests: + ("hamcrest-core" ,java-hamcrest-core) + ("junit" ,java-junit) + ("slf4j-simple" ,java-slf4j-simple))) + (inputs + `(("hdf4" ,hdf4) + ("hdf5" ,hdf5) + ("zlib" ,zlib) + ("libjpeg" ,libjpeg) + ("slf4j-api" ,java-slf4j-api))) + (arguments + `(#:configure-flags + (list (string-append "--target=" ,(or (%current-target-system) (%current-system))) + (string-append "--with-jdk=" (assoc-ref %build-inputs "jdk") "/include," + (assoc-ref %build-inputs "jdk") "/lib" ) + (string-append "--with-hdf4=" (assoc-ref %build-inputs "hdf4") "/lib") + (string-append "--with-hdf5=" (assoc-ref %build-inputs "hdf5") "/lib")) + + #:make-flags + (list (string-append "HDFLIB=" (assoc-ref %build-inputs "hdf4") "/lib") + (string-append "HDF5LIB=" (assoc-ref %build-inputs "hdf5") "/lib") + (string-append "ZLIB=" (assoc-ref %build-inputs "zlib") "/lib/libz.so") + (string-append "JPEGLIB=" + (assoc-ref %build-inputs "libjpeg") "/lib/libjpeg.so") + "LLEXT=so") + + #:phases + (modify-phases %standard-phases + (add-before 'configure 'chdir-to-source + (lambda _ (chdir ,(string-append "hdfjava-" version)))) + (add-before 'configure 'patch-build + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "configure" + (("COPT=\"") "COPT=\"-O2 ") ; CFLAGS is ignored in Makefiles + (("/bin/cat") (which "cat"))) + ;; Set classpath for compilation + (substitute* '("hdf/hdf5lib/Makefile.in" + "hdf/hdf5lib/exceptions/Makefile.in" + "hdf/hdflib/Makefile.in") + (("\\$\\(TOP\\)/lib/slf4j-api-1\\.7\\.5\\.jar") + (string-append (assoc-ref inputs "slf4j-api") + "/share/java/slf4j-api.jar"))) + ;; Replace outdated config.sub and config.guess: + (with-directory-excursion "config" + (for-each (lambda (file) + (copy-file + (string-append (assoc-ref inputs "automake") + "/share/automake-1.15/" file) file)) + '("config.sub" "config.guess"))) + (mkdir-p (string-append (assoc-ref outputs "out"))) + ;; Set classpath for tests + (let* ((build-dir (getcwd)) + (lib (string-append build-dir "/lib")) + (jhdf (string-append lib "/jhdf.jar")) + (jhdf5 (string-append lib "/jhdf5.jar")) + (testjars + (map (lambda (i) + (string-append (assoc-ref inputs i) + "/share/java/" i ".jar")) + '("junit" "hamcrest-core" "slf4j-api" "slf4j-simple"))) + (class-path + (string-join `("." ,build-dir ,jhdf ,jhdf5 ,@testjars) ":"))) + + (substitute* '("test/hdf5lib/Makefile.in" + "test/hdf5lib/junit.sh.in" + "examples/runExample.sh.in") + (("/usr/bin/test") + (string-append (assoc-ref inputs "coreutils") + "/bin/test")) + (("/usr/bin/uname") + (string-append (assoc-ref inputs "coreutils") + "/bin/uname")) + (("CLASSPATH=[^\n]*") + (string-append "CLASSPATH=" class-path))) + (setenv "CLASSPATH" class-path)) + #t)) + (add-before 'check 'build-examples + (lambda _ + (zero? (apply system* `("javac" + ,@(find-files "examples" ".*\\.java"))))))) + + #:parallel-build? #f + + #:parallel-tests? #f )) + (home-page "https://support.hdfgroup.org/products/java") + (synopsis "Java interface for the HDF4 and HDF5 libraries") + (description "Java HDF Interface (JHI) and Java HDF5 Interface (JHI5) use +the Java Native Interface to wrap the HDF4 and HDF5 libraries, which are +implemented in C.") + + ;; BSD-style license: + (license (license:x11-style + "https://support.hdfgroup.org/ftp/HDF5/hdf-java\ +/current/src/unpacked/COPYING")))) + (define-public hdf-eos2 (package (name "hdf-eos2") From 167a541fd8439eed50294a94890a8ae5c5ec448c Mon Sep 17 00:00:00 2001 From: Thomas Danckaert Date: Wed, 26 Apr 2017 20:18:56 +0200 Subject: [PATCH 223/287] gnu: Add libproxy. * gnu/packages/networking.scm (libproxy): New variable. --- gnu/packages/networking.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 418d11ad07..b39f2875e8 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2017 Rutger Helling ;;; Copyright © 2017 Gábor Boskovits +;;; Copyright © 2017 Thomas Danckaert ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,6 +38,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix build-system cmake) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system perl) @@ -56,6 +58,7 @@ #:use-module (gnu packages flex) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) #:use-module (gnu packages gtk) #:use-module (gnu packages libidn) @@ -922,6 +925,38 @@ information by IP Address.") sockets in Perl.") (license license:perl-license))) +(define-public libproxy + (package + (name "libproxy") + (version "0.4.15") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/libproxy/libproxy/" + "releases/download/" version "/libproxy-" + version ".tar.xz")) + (sha256 + (base32 + "0kvdrazlzwia876w988cmlypp253gwy6idlh8mjk958c29jb8kb5")))) + (build-system cmake-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("dbus" ,dbus) + ("zlib" ,zlib) + ("network-manager" ,network-manager))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (zero? (system* "ctest" "-E" "url-test"))))))) + (synopsis "Library providing automatic proxy configuration management") + (description "Libproxy handles the details of HTTP/HTTPS proxy +configuration for applications across all scenarios. Applications using +libproxy only have to specify which proxy to use.") + (home-page "https://libproxy.github.io/libproxy") + (license license:lgpl2.1+))) + (define-public proxychains-ng (package (name "proxychains-ng") From e84eb77a3aa06ef6f3bc952170df54f52e1bfcfc Mon Sep 17 00:00:00 2001 From: Thomas Danckaert Date: Wed, 26 Apr 2017 20:37:10 +0200 Subject: [PATCH 224/287] gnu: Add eid-mw. * gnu/packages/security-token.scm (eid-mw): New variable. --- gnu/packages/security-token.scm | 53 ++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm index 8ae2dda1c3..c6e3d6b355 100644 --- a/gnu/packages/security-token.scm +++ b/gnu/packages/security-token.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Mike Gerwitz ;;; Copyright © 2016 Marius Bakke +;;; Copyright © 2017 Thomas Danckaert ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,12 +26,20 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (guix build-system glib-or-gtk) + #:use-module (gnu packages autotools) #:use-module (gnu packages curl) + #:use-module (gnu packages gettext) + #:use-module (gnu packages gtk) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages man) + #:use-module (gnu packages networking) + #:use-module (gnu packages cyrus-sasl) + #:use-module (gnu packages tls) #:use-module (gnu packages perl) - #:use-module (gnu packages pkg-config)) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages xml)) (define-public ccid (package @@ -70,6 +79,48 @@ readers and is needed to communicate with such devices through the @command{pcscd} resource manager.") (license license:lgpl2.1+))) +(define-public eid-mw + (package + (name "eid-mw") + (version "4.3.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/Fedict/eid-mw/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0s646p19kq27wb160v9b8aaiy30k2shmq4njm471ggd2j7n7a6rs")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("gettext" ,gnu-gettext) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ("perl" ,perl))) + (inputs + `(("curl" ,curl) + ("openssl" ,openssl) + ("gtk+" ,gtk+) + ("pcsc-lite" ,pcsc-lite) + ("p11-kit" ,p11-kit) + ("libproxy" ,libproxy) + ("libxml2" ,libxml2) + ("cyrus-sasl" ,cyrus-sasl))) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; The github tarball doesn't contain a configure script. + (add-before 'configure 'autoreconf + (lambda _ (zero? (system* "autoreconf" "-i"))))))) + (synopsis "Belgian eID Middleware") + (description "The Belgian eID Middleware is required to authenticate with +online services using the Belgian electronic identity card.") + (home-page "https://github.com/Fedict/eid-mw") + (license license:lgpl3))) + (define-public libyubikey (package (name "libyubikey") From f47d2793665a0e01d93a7a9cff7f9c7402d838fb Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 1 Aug 2017 21:24:46 +0300 Subject: [PATCH 225/287] gnu: Add qtnetworkauth. * gnu/packages/qt.scm (qtnetworkauth): New variable. --- gnu/packages/qt.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index bc275ebb09..dfe99a25bd 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1181,6 +1181,22 @@ developers using C++ or QML, a CSS & JavaScript like language.") `(("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative))))) +(define-public qtnetworkauth + (package (inherit qtsvg) + (name "qtnetworkauth") + (version "5.9.1") + (source (origin + (method url-fetch) + (uri (string-append "https://download.qt.io/official_releases/qt/" + (version-major+minor version) "/" version + "/submodules/" name "-opensource-src-" + version ".tar.xz")) + (sha256 + (base32 + "1fgax3p7lqcz29z2n1qxnfpkj3wxq1x9bfx61q6nss1fs74pxzra")))) + (inputs + `(("qtbase" ,qtbase))))) + (define-public python-sip (package (name "python-sip") From 213238d943c477a7e2a6e705b662ddec6556cc0a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 1 Aug 2017 21:41:49 +0300 Subject: [PATCH 226/287] gnu: Add qtremoteobjects. * gnu/packages/qt.scm (qtremoteobjects): New variable. --- gnu/packages/qt.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index dfe99a25bd..5067054731 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1197,6 +1197,23 @@ developers using C++ or QML, a CSS & JavaScript like language.") (inputs `(("qtbase" ,qtbase))))) +(define-public qtremoteobjects + (package (inherit qtsvg) + (name "qtremoteobjects") + (version "5.9.1") + (source (origin + (method url-fetch) + (uri (string-append "https://download.qt.io/official_releases/qt/" + (version-major+minor version) "/" version + "/submodules/" name "-opensource-src-" + version ".tar.xz")) + (sha256 + (base32 + "10kwq0fgmi6zsqhb6s1nkcydpyl8d8flzdpgmyj50c4h2xhg2km0")))) + (inputs + `(("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative))))) + (define-public python-sip (package (name "python-sip") From b84cc89a02ffd9426b8aa1dc7c3eea7446fd74e0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 1 Aug 2017 22:00:51 +0300 Subject: [PATCH 227/287] gnu: Add qtspeech. * gnu/packages/qt.scm (qtspeech): New variable. --- gnu/packages/qt.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 5067054731..fbf8afec95 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1214,6 +1214,27 @@ developers using C++ or QML, a CSS & JavaScript like language.") `(("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative))))) +(define-public qtspeech + (package (inherit qtsvg) + (name "qtspeech") + (version "5.9.1") + (source (origin + (method url-fetch) + (uri (string-append "https://download.qt.io/official_releases/qt/" + (version-major+minor version) "/" version + "/submodules/" name "-opensource-src-" + version ".tar.xz")) + (sha256 + (base32 + "00daxkf8iwf6n9rhkkv3isv5qa8wijwzb0zy1f6zlm3vcc8fz75c")))) + (inputs + `(("qtbase" ,qtbase))) + (native-inputs + `(("perl" ,perl) + ("qtdeclarative" ,qtdeclarative) + ("qtmultimedia" ,qtmultimedia) + ("qtxmlpatterns" ,qtxmlpatterns))))) + (define-public python-sip (package (name "python-sip") From 9ed9b44eca1b19e11b0f079487c8b5ff98cc37a4 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 9 Oct 2017 14:59:20 +0300 Subject: [PATCH 228/287] gnu: qtbase: Use libinput-minimal. This works around qtbase depending on gtk+. * gnu/packages/qt.scm (qtbase)[inputs]: Replace libinput with libinput-minimal. --- gnu/packages/qt.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index fbf8afec95..8ac1c71a38 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -389,7 +389,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") ("glib" ,glib) ("harfbuzz" ,harfbuzz) ("icu4c" ,icu4c) - ("libinput" ,libinput) + ("libinput" ,libinput-minimal) ("libjpeg" ,libjpeg) ("libmng" ,libmng) ("libpng" ,libpng) From 96412f34181ed5212fd16d5e32a3e6b9173a8645 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 9 Oct 2017 16:30:44 +0300 Subject: [PATCH 229/287] gnu: modular-qt: Add synopsis and descriptions for packages. * gnu/packages/qt.scm (qtsvg, qtimageformats, qtx11extras, qtxmlpatterns, qtdeclarative, qtdeclarative-render2d, qtconnectivity, qtwebsockets, qtsensors, qtmultimedia, qtwayland, qtserialport, qtserialbus, qtwebchannel, qtlocation, qttools, qtscript, qtquickcontrols, qtquickcontrols2, qtgraphicaleffects, qtgamepad, qtscxml, qtpurchasing, qtcanvas3d, qtdatavis3d, qtnetworkauth, qtremoteobjects, qtspeech)[synopsis, description]: New fields. --- gnu/packages/qt.scm | 183 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 155 insertions(+), 28 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 8ac1c71a38..c8dc5081da 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -574,7 +574,10 @@ developers using C++ or QML, a CSS & JavaScript like language.") (lambda _ ;; make Qt render "offscreen", required for tests (setenv "QT_QPA_PLATFORM" "offscreen") - #t))))))) + #t))))) + (synopsis "Qt module for displaying SVGs") + (description "The QtSvg module provides classes for displaying the + contents of SVG files."))) (define-public qtimageformats (package (inherit qtsvg) @@ -600,7 +603,10 @@ developers using C++ or QML, a CSS & JavaScript like language.") ("libwebp" ,libwebp) ("mesa" ,mesa) ("qtbase" ,qtbase) - ("zlib" ,zlib))))) + ("zlib" ,zlib))) + (synopsis "Additional Image Format plugins for Qt") + (description "The QtImageFormats module contains plugins for adding +support for MNG, TGA, TIFF and WBMP image formats."))) (define-public qtx11extras (package (inherit qtsvg) @@ -621,7 +627,10 @@ developers using C++ or QML, a CSS & JavaScript like language.") (native-inputs `(("perl" ,perl))) (inputs `(("mesa" ,mesa) - ("qtbase" ,qtbase))))) + ("qtbase" ,qtbase))) + (synopsis "Qt Extras for X11") + (description "The QtX11Extras module includes the library to access X11 +from within Qt 5."))) (define-public qtxmlpatterns (package (inherit qtsvg) @@ -646,7 +655,11 @@ developers using C++ or QML, a CSS & JavaScript like language.") (("xmlpatterns ") "# xmlpatterns")) #t)))))) (native-inputs `(("perl" ,perl))) - (inputs `(("qtbase" ,qtbase))))) + (inputs `(("qtbase" ,qtbase))) + (synopsis "Qt XML patterns module") + (description "The QtXmlPatterns module is a XQuery and XPath engine for +XML and custom data models. It contains programs such as xmlpatterns and +xmlpatternsvalidator."))) (define-public qtdeclarative (package (inherit qtsvg) @@ -672,7 +685,13 @@ developers using C++ or QML, a CSS & JavaScript like language.") ("qtxmlpatterns" ,qtxmlpatterns))) (inputs `(("mesa" ,mesa) - ("qtbase" ,qtbase))))) + ("qtbase" ,qtbase))) + (synopsis "Qt QML module (Quick 2)") + (description "The Qt QML module provides a framework for developing +applications and libraries with the QML language. It defines and implements the +language and engine infrastructure, and provides an API to enable application +developers to extend the QML language with custom types and integrate QML code +with JavaScript and C++."))) (define-public qtconnectivity (package (inherit qtsvg) @@ -704,7 +723,10 @@ developers using C++ or QML, a CSS & JavaScript like language.") ("qtdeclarative" ,qtdeclarative))) (inputs `(("bluez" ,bluez) - ("qtbase" ,qtbase))))) + ("qtbase" ,qtbase))) + (synopsis "Qt Connectivity module") + (description "The Qt Connectivity modules provides modules for interacting +with Bluetooth and NFC."))) (define-public qtwebsockets (package (inherit qtsvg) @@ -725,7 +747,13 @@ developers using C++ or QML, a CSS & JavaScript like language.") (native-inputs `(("perl" ,perl) ("qtdeclarative" ,qtdeclarative))) - (inputs `(("qtbase" ,qtbase))))) + (inputs `(("qtbase" ,qtbase))) + (synopsis "Qt Web Sockets module") + (description "WebSocket is a web-based protocol designed to enable two-way +communication between a client application and a remote host. The Qt +WebSockets module provides C++ and QML interfaces that enable Qt applications +to act as a server that can process WebSocket requests, or a client that can +consume data received from the server, or both."))) (define-public qtsensors (package (inherit qtsvg) @@ -752,7 +780,11 @@ developers using C++ or QML, a CSS & JavaScript like language.") (native-inputs `(("perl" ,perl) ("qtdeclarative" ,qtdeclarative))) - (inputs `(("qtbase" ,qtbase))))) + (inputs `(("qtbase" ,qtbase))) + (synopsis "Qt Sensors module") + (description "The Qt Sensors API provides access to sensor hardware via QML +and C++ interfaces. The Qt Sensors API also provides a motion gesture +recognition API for devices."))) (define-public qtmultimedia (package (inherit qtsvg) @@ -798,7 +830,11 @@ developers using C++ or QML, a CSS & JavaScript like language.") ("qtbase" ,qtbase) ;; Gstreamer is needed for the mediaplayer plugin ("gstreamer" ,gstreamer) - ("gst-plugins-base" ,gst-plugins-base))))) + ("gst-plugins-base" ,gst-plugins-base))) + (synopsis "Qt Multimedia module") + (description "The Qt Multimedia module provides set of APIs to play and +record media, and manage a collection of media content. It also contains a +set of plugins for interacting with pulseaudio and GStreamer."))) (define-public qtwayland (package (inherit qtsvg) @@ -833,7 +869,10 @@ developers using C++ or QML, a CSS & JavaScript like language.") ("mesa" ,mesa) ("mtdev" ,mtdev) ("qtbase" ,qtbase) - ("wayland" ,wayland))))) + ("wayland" ,wayland))) + (synopsis "Qt Wayland module") + (description "The Qt Wayland module provides the QtWayland client and +compositor libraries."))) (define-public qtserialport (package (inherit qtsvg) @@ -851,7 +890,10 @@ developers using C++ or QML, a CSS & JavaScript like language.") (native-inputs `(("perl" ,perl))) (inputs `(("qtbase" ,qtbase) - ("eudev" ,eudev))))) + ("eudev" ,eudev))) + (synopsis "Qt Serial Port module") + (description "The Qt Serial Port module provides the library for +interacting with serial ports from within Qt."))) (define-public qtserialbus (package (inherit qtsvg) @@ -868,7 +910,11 @@ developers using C++ or QML, a CSS & JavaScript like language.") "1hzk377c3zl4dm5hxwvpxg2w096m160448y9df6v6l8xpzpzxafa")))) (inputs `(("qtbase" ,qtbase) - ("qtserialport" ,qtserialport))))) + ("qtserialport" ,qtserialport))) + (synopsis "Qt Serial Bus module") + (description "The Qt Serial Bus API provides classes and functions to +access the various industrial serial buses and protocols, such as CAN, ModBus, +and others."))) (define-public qtwebchannel (package (inherit qtsvg) @@ -887,7 +933,12 @@ developers using C++ or QML, a CSS & JavaScript like language.") `(("perl" ,perl) ("qtdeclarative" ,qtdeclarative) ("qtwebsockets" ,qtwebsockets))) - (inputs `(("qtbase" ,qtbase))))) + (inputs `(("qtbase" ,qtbase))) + (synopsis "Web communication library for Qt") + (description "The Qt WebChannel module enables peer-to-peer communication +between the host (QML/C++ application) and the client (HTML/JavaScript +application). The transport mechanism is supported out of the box by the two +popular web engines, Qt WebKit 2 and Qt WebEngine."))) (define-public qtlocation (package (inherit qtsvg) @@ -914,7 +965,10 @@ developers using C++ or QML, a CSS & JavaScript like language.") `(("icu4c" ,icu4c) ("openssl" ,openssl) ("qtbase" ,qtbase) - ("zlib" ,zlib))))) + ("zlib" ,zlib))) + (synopsis "Qt Location and Positioning modules") + (description "The Qt Location module provides an interface for location, +positioning and geolocation plugins."))) (define-public qttools (package (inherit qtsvg) @@ -937,7 +991,11 @@ developers using C++ or QML, a CSS & JavaScript like language.") ("qtdeclarative" ,qtdeclarative))) (inputs `(("mesa" ,mesa) - ("qtbase" ,qtbase))))) + ("qtbase" ,qtbase))) + (synopsis "Qt Tools and Designer modules") + (description "The Qt Tools module provides a set of applications to browse +the documentation, translate applications, generate help files and other stuff +that helps in Qt development."))) (define-public qtscript (package (inherit qtsvg) @@ -957,7 +1015,11 @@ developers using C++ or QML, a CSS & JavaScript like language.") `(("perl" ,perl) ("qttools" ,qttools))) (inputs - `(("qtbase" ,qtbase))))) + `(("qtbase" ,qtbase))) + (synopsis "Qt Script module") + (description "Qt provides support for application scripting with ECMAScript. +The following guides and references cover aspects of programming with +ECMAScript and Qt."))) (define-public qtquickcontrols (package (inherit qtsvg) @@ -977,7 +1039,11 @@ developers using C++ or QML, a CSS & JavaScript like language.") ((#:tests? _ #f) #f))) ; TODO: Enable the tests (inputs `(("qtbase" ,qtbase) - ("qtdeclarative" ,qtdeclarative))))) + ("qtdeclarative" ,qtdeclarative))) + (synopsis "Qt Quick Controls and other Quick modules") + (description "The QtScript module provides classes for making Qt +applications scriptable. This module provides a set of extra components that +can be used to build complete interfaces in Qt Quick."))) (define-public qtquickcontrols2 (package (inherit qtsvg) @@ -997,7 +1063,12 @@ developers using C++ or QML, a CSS & JavaScript like language.") ((#:tests? _ #f) #f))) ; TODO: Enable the tests (inputs `(("qtbase" ,qtbase) - ("qtdeclarative" ,qtdeclarative))))) + ("qtdeclarative" ,qtdeclarative))) + (synopsis "Qt Quick Controls 2 and other Quick 2 modules") + (description "The Qt Quick Controls 2 module contains the Qt Labs Platform +module that provides platform integration: native dialogs, menus and menu bars, +and tray icons. It falls back to Qt Widgets when a native implementation is +not available."))) (define-public qtgraphicaleffects (package (inherit qtsvg) @@ -1017,7 +1088,14 @@ developers using C++ or QML, a CSS & JavaScript like language.") ((#:tests? _ #f) #f))) ; TODO: Enable the tests (inputs `(("qtbase" ,qtbase) - ("qtdeclarative" ,qtdeclarative))))) + ("qtdeclarative" ,qtdeclarative))) + (synopsis "Qt Graphical Effects module") + (description "The Qt Graphical Effects module provides a set of QML types +for adding visually impressive and configurable effects to user interfaces. +Effects are visual items that can be added to Qt Quick user interface as UI +components. The API consists of over 20 effects provided as separate QML +types. The effects cover functional areas such as blending, masking, blurring, +coloring, and many more."))) (define-public qtdeclarative-render2d ;; As of Qt-5.8.0 this module has been merged into qtdeclarative @@ -1040,6 +1118,9 @@ developers using C++ or QML, a CSS & JavaScript like language.") (inputs `(("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative))) + (synopsis "Qt Declarative Render module") + (description "The Qt Declarative Render 2D module provides a Raster +backend for QtQuick scene graph.") (properties `((superseded . ,qtdeclarative))))) (define-public qtgamepad @@ -1064,7 +1145,13 @@ developers using C++ or QML, a CSS & JavaScript like language.") ("libxrender" ,libxrender) ("sdl2" ,sdl2) ("qtbase" ,qtbase) - ("qtdeclarative" ,qtdeclarative))))) + ("qtdeclarative" ,qtdeclarative))) + (synopsis "Qt Gamepad module") + (description "The Qt Gamepad module is an add-on library that enables Qt +applications to support the use of gamepad hardware and in some cases remote +control equipment. The module provides both QML and C++ interfaces. The +primary target audience are embedded devices with fullscreen user interfaces, +and mobile applications targeting TV-like form factors."))) (define-public qtscxml (package (inherit qtsvg) @@ -1088,7 +1175,13 @@ developers using C++ or QML, a CSS & JavaScript like language.") (("scion") "#")))))) (inputs `(("qtbase" ,qtbase) - ("qtdeclarative" ,qtdeclarative))))) + ("qtdeclarative" ,qtdeclarative))) + (synopsis "Qt SCXML module") + (description "The Qt SCXML module provides functionality to create state +machines from SCXML files. This includes both dynamically creating state +machines (loading the SCXML file and instantiating states and transitions) and +generating a C++ file that has a class implementing the state machine. It +also contains functionality to support data models and executable content."))) (define-public qtpurchasing (package (inherit qtsvg) @@ -1105,7 +1198,10 @@ developers using C++ or QML, a CSS & JavaScript like language.") "0b1hlaq6rb7d6b6h8kqd26klcpzf9vcdjrv610kdj0drb00jg3ss")))) (inputs `(("qtbase" ,qtbase) - ("qtdeclarative" ,qtdeclarative))))) + ("qtdeclarative" ,qtdeclarative))) + (synopsis "Qt Purchasing module") + (description "The Qt Purchasing module provides and in-app API for +purchasing goods and services."))) (define-public qtcanvas3d (package (inherit qtsvg) @@ -1139,7 +1235,10 @@ developers using C++ or QML, a CSS & JavaScript like language.") (native-inputs `()) (inputs `(("qtbase" ,qtbase) - ("qtdeclarative" ,qtdeclarative))))) + ("qtdeclarative" ,qtdeclarative))) + (synopsis "Qt Canvas 3D module") + (description "The Qt Canvas 3D module provides a way to make WebGL-like 3D +drawing calls from Qt Quick JavaScript."))) (define-public qtcharts (package (inherit qtsvg) @@ -1159,7 +1258,13 @@ developers using C++ or QML, a CSS & JavaScript like language.") ((#:tests? _ #f) #f))) ; TODO: Enable the tests (inputs `(("qtbase" ,qtbase) - ("qtdeclarative" ,qtdeclarative))))) + ("qtdeclarative" ,qtdeclarative))) + (synopsis "Qt Charts module") + (description "The Qt Charts module provides a set of easy to use chart +components. It uses the Qt Graphics View Framework, therefore charts can be +easily integrated to modern user interfaces. Qt Charts can be used as QWidgets, +QGraphicsWidget, or QML types. Users can easily create impressive graphs by +selecting one of the charts themes."))) (define-public qtdatavis3d (package (inherit qtsvg) @@ -1179,7 +1284,13 @@ developers using C++ or QML, a CSS & JavaScript like language.") ((#:tests? _ #f) #f))) ; TODO: Enable the tests (inputs `(("qtbase" ,qtbase) - ("qtdeclarative" ,qtdeclarative))))) + ("qtdeclarative" ,qtdeclarative))) + (synopsis "Qt Data Visualization module") + (description "The Qt Data Visualization module provides a way to visualize +data in 3D as bar, scatter, and surface graphs. It is especially useful for +visualizing depth maps and large quantities of rapidly changing data, such as +data received from multiple sensors. The look and feel of graphs can be +customized by using themes or by adding custom items and labels to them."))) (define-public qtnetworkauth (package (inherit qtsvg) @@ -1195,7 +1306,10 @@ developers using C++ or QML, a CSS & JavaScript like language.") (base32 "1fgax3p7lqcz29z2n1qxnfpkj3wxq1x9bfx61q6nss1fs74pxzra")))) (inputs - `(("qtbase" ,qtbase))))) + `(("qtbase" ,qtbase))) + (synopsis "Qt Network Authorization module") + (description "The Qt Network Authorization module provides an +implementation of OAuth and OAuth2 authenticathon methods for Qt."))) (define-public qtremoteobjects (package (inherit qtsvg) @@ -1212,7 +1326,12 @@ developers using C++ or QML, a CSS & JavaScript like language.") "10kwq0fgmi6zsqhb6s1nkcydpyl8d8flzdpgmyj50c4h2xhg2km0")))) (inputs `(("qtbase" ,qtbase) - ("qtdeclarative" ,qtdeclarative))))) + ("qtdeclarative" ,qtdeclarative))) + (synopsis "Qt Remote Objects module") + (description "The Qt Remote Objects module is an @dfn{inter-process +communication} (IPC) module developed for Qt. The idea is to extend existing +Qt's functionalities to enable an easy exchange of information between +processes or computers."))) (define-public qtspeech (package (inherit qtsvg) @@ -1233,7 +1352,15 @@ developers using C++ or QML, a CSS & JavaScript like language.") `(("perl" ,perl) ("qtdeclarative" ,qtdeclarative) ("qtmultimedia" ,qtmultimedia) - ("qtxmlpatterns" ,qtxmlpatterns))))) + ("qtxmlpatterns" ,qtxmlpatterns))) + (synopsis "Qt Speech module") + (description "The Qt Speech module enables a Qt application to support +accessibility features such as text-to-speech, which is useful for end-users +who are visually challenged or cannot access the application for whatever +reason. The most common use case where text-to-speech comes in handy is when +the end-user is driving and cannot attend the incoming messages on the phone. +In such a scenario, the messaging application can read out the incoming +message."))) (define-public python-sip (package From 9c2c524daf328858984c7e8cf24330e677dbadd3 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 10 Oct 2017 09:55:50 +0300 Subject: [PATCH 230/287] gnu: qtcharts, qtdatavis3d: Update license information. * gnu/packages/qt.scm (qtcharts, qtdatavis3d)[license]: New field. --- gnu/packages/qt.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index c8dc5081da..cc8ba3fc14 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1264,7 +1264,8 @@ drawing calls from Qt Quick JavaScript."))) components. It uses the Qt Graphics View Framework, therefore charts can be easily integrated to modern user interfaces. Qt Charts can be used as QWidgets, QGraphicsWidget, or QML types. Users can easily create impressive graphs by -selecting one of the charts themes."))) +selecting one of the charts themes.") + (license license:gpl3))) (define-public qtdatavis3d (package (inherit qtsvg) @@ -1290,7 +1291,8 @@ selecting one of the charts themes."))) data in 3D as bar, scatter, and surface graphs. It is especially useful for visualizing depth maps and large quantities of rapidly changing data, such as data received from multiple sensors. The look and feel of graphs can be -customized by using themes or by adding custom items and labels to them."))) +customized by using themes or by adding custom items and labels to them.") + (license license:gpl3))) (define-public qtnetworkauth (package (inherit qtsvg) From f18c94705bb440fce5d41d32172d1453f541a490 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 10 Oct 2017 09:53:53 +0300 Subject: [PATCH 231/287] gnu: modular-qt: Update to 5.9.2. * gnu/packages/qt.scm (qtbase. qtsvg, qtimageformats, qtx11extras, qtxmlpatterns, qtdeclarative, qtconnectivity, qtwebsockets, qtsensors, qtmultimedia, qtwayland, qtserialport, qtserialbus, qtwebchannel, qtlocation, qttools, qtscript, qtquickcontrols, qtquickcontrols2, qtgraphicaleffects, qtgamepad, qtscxml, qtpurchasing, qtcanvas3d, qtcharts, qtdatavis3d, qtremoteobjects, qtspeech): Update to 5.9.2. (qtnetworkauth): Same. [arguments]: Add phase to help test suite pass. --- gnu/packages/qt.scm | 126 ++++++++++++++++++++++++-------------------- 1 file changed, 68 insertions(+), 58 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index cc8ba3fc14..8edef9c703 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -353,7 +353,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qtbase (package (name "qtbase") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -362,7 +362,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") version ".tar.xz")) (sha256 (base32 - "1ikm896jzyfyjv2qv8n3fd81sxb4y24zkygx36865ygzyvlj36mw")) + "16v0dny4rcyd5p8qsnsfg89w98k8kqk3rp9x3g3k7xjmi53bpqkz")) (modules '((guix build utils))) (snippet ;; corelib uses bundled harfbuzz, md4, md5, sha3 @@ -536,7 +536,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qtsvg (package (inherit qtbase) (name "qtsvg") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -545,7 +545,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") version ".tar.xz")) (sha256 (base32 - "1rg2q4snh2g4n93zmk995swwkl0ab1jr9ka9xpj56ddifkw99wlr")))) + "020icrl9vi8jh8ygsssqrx2bl8bx28m15dwmf9a969qdnvxyp5ms")))) (propagated-inputs `()) (native-inputs `(("perl" ,perl))) (inputs @@ -582,7 +582,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qtimageformats (package (inherit qtsvg) (name "qtimageformats") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -591,7 +591,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") version ".tar.xz")) (sha256 (base32 - "0iwa3dys5rv706cpxwhmgircv783pmlyl1yrsc5i0rha643y7zkr")) + "1wwxxcl24mk1p4w6knyfai09axmwqsm6cgsbkjsmdz3zmjh6qqis")) (modules '((guix build utils))) (snippet '(delete-file-recursively "src/3rdparty")))) @@ -611,7 +611,7 @@ support for MNG, TGA, TIFF and WBMP image formats."))) (define-public qtx11extras (package (inherit qtsvg) (name "qtx11extras") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -620,7 +620,7 @@ support for MNG, TGA, TIFF and WBMP image formats."))) version ".tar.xz")) (sha256 (base32 - "00fn3bps48gjyw0pdqvvl9scknxdpmacby6hvdrdccc3jll0wgd6")))) + "1ias745j5lfnrfkgyk0pr8n8zlkqs08gq7yyzaj1c645sh54b1fv")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -635,7 +635,7 @@ from within Qt 5."))) (define-public qtxmlpatterns (package (inherit qtsvg) (name "qtxmlpatterns") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -644,7 +644,7 @@ from within Qt 5."))) version ".tar.xz")) (sha256 (base32 - "094wwap2fsl23cys6rxh2ciw0gxbbiqbshnn4qs1n6xdjrj6i15m")))) + "0knk4bplqhvsxar1wv16bzfw57q0aja12gdaxz7m8mvx121sm9ha")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:phases phases) @@ -664,7 +664,7 @@ xmlpatternsvalidator."))) (define-public qtdeclarative (package (inherit qtsvg) (name "qtdeclarative") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -673,7 +673,7 @@ xmlpatternsvalidator."))) version ".tar.xz")) (sha256 (base32 - "1zwlxrgraxhlsdkwsai3pjbz7f3a6rsnsg2mjrpay6cz3af6rznj")))) + "020bha6q8byxc8cj5zw7gms5rgsjg71hv31hv1rr2fy7x56zsh0d")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -696,7 +696,7 @@ with JavaScript and C++."))) (define-public qtconnectivity (package (inherit qtsvg) (name "qtconnectivity") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -705,7 +705,7 @@ with JavaScript and C++."))) version ".tar.xz")) (sha256 (base32 - "1mbzmqix0388iq20a1ljd1pgdq259rm1xzp9kx8gigqpamqqnqs0")))) + "1k7kjmlny0ykm40qx796wbsg3310v6b8hqizkbr597cmxjbrax9c")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:phases phases) @@ -731,7 +731,7 @@ with Bluetooth and NFC."))) (define-public qtwebsockets (package (inherit qtsvg) (name "qtwebsockets") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -740,7 +740,7 @@ with Bluetooth and NFC."))) version ".tar.xz")) (sha256 (base32 - "0r1lya2jj3wfci82zfn0vk6vr8sk9k7xiphnkb0panhb8di769q1")))) + "0x0nx1ampqsgj9qlc3l32z3ham1a5vq7m2lnxk5pr92yj6yw3pdg")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -758,7 +758,7 @@ consume data received from the server, or both."))) (define-public qtsensors (package (inherit qtsvg) (name "qtsensors") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -767,7 +767,7 @@ consume data received from the server, or both."))) version ".tar.xz")) (sha256 (base32 - "1772x7r6y9xv2sv0w2dfz2yhagsq5bpa9kdpzg0qikccmabr7was")))) + "1lxmhi19dbb8vjhpjph0l0ss6zh72hb4908lp4s1pgf8r641ai3r")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:phases phases) @@ -789,7 +789,7 @@ recognition API for devices."))) (define-public qtmultimedia (package (inherit qtsvg) (name "qtmultimedia") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -798,7 +798,7 @@ recognition API for devices."))) version ".tar.xz")) (sha256 (base32 - "1r76zvbv6wwb7lgw9jwlx382iyw34i1amxaypb5bg3j1niqvx3z4")) + "0815hi3cxy5zy6yc5fkdpx2xd6rk7968j1ziwl2g4wa80802g9n9")) (modules '((guix build utils))) (snippet '(begin @@ -839,7 +839,7 @@ set of plugins for interacting with pulseaudio and GStreamer."))) (define-public qtwayland (package (inherit qtsvg) (name "qtwayland") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -848,7 +848,7 @@ set of plugins for interacting with pulseaudio and GStreamer."))) version ".tar.xz")) (sha256 (base32 - "1yizvbmh26mx1ffq0qaci02g2wihy68ld0y7r3z8nx3v5acb236g")) + "1ipn4xh0dj1kjg5i4vfl4gpx3hg2377w5gls47xpv1ikz41lshzn")) (modules '((guix build utils))) (snippet ;; The examples try to build and cause the build to fail @@ -877,7 +877,7 @@ compositor libraries."))) (define-public qtserialport (package (inherit qtsvg) (name "qtserialport") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -886,7 +886,7 @@ compositor libraries."))) version ".tar.xz")) (sha256 (base32 - "0sbsc7n701kxl16r247a907zg2afmbx1xlml5jkc6a9956zqbzp1")))) + "0hndc9z7qzxazzjvc6k5yd58afw13444plk70b05nqdi5p19rvah")))) (native-inputs `(("perl" ,perl))) (inputs `(("qtbase" ,qtbase) @@ -898,7 +898,7 @@ interacting with serial ports from within Qt."))) (define-public qtserialbus (package (inherit qtsvg) (name "qtserialbus") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -907,7 +907,7 @@ interacting with serial ports from within Qt."))) version ".tar.xz")) (sha256 (base32 - "1hzk377c3zl4dm5hxwvpxg2w096m160448y9df6v6l8xpzpzxafa")))) + "025yv7zajz5scrmkjkmgkyvxpgkliqvrzc88is0gr481zpd4phmv")))) (inputs `(("qtbase" ,qtbase) ("qtserialport" ,qtserialport))) @@ -919,7 +919,7 @@ and others."))) (define-public qtwebchannel (package (inherit qtsvg) (name "qtwebchannel") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -928,7 +928,7 @@ and others."))) version ".tar.xz")) (sha256 (base32 - "003h09mla82f2znb8jjigx13ivc68ikgv7w04594yy7qdmd5yhl0")))) + "09iss70c1iqgf8qpik35qlgrdw5y9935v0fm2ppgkmxdxkpls6ww")))) (native-inputs `(("perl" ,perl) ("qtdeclarative" ,qtdeclarative) @@ -943,7 +943,7 @@ popular web engines, Qt WebKit 2 and Qt WebEngine."))) (define-public qtlocation (package (inherit qtsvg) (name "qtlocation") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -952,7 +952,7 @@ popular web engines, Qt WebKit 2 and Qt WebEngine."))) version ".tar.xz")) (sha256 (base32 - "058mgvlaml9rkfhkpr1n3avhi12zlva131sqhbwj4lwwyqfkri2b")))) + "033b6l6jbvmc0k5qvbgh5vkzvfga7npqcphrywrrqkmx9vj446n8")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -973,7 +973,7 @@ positioning and geolocation plugins."))) (define-public qttools (package (inherit qtsvg) (name "qttools") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -982,7 +982,7 @@ positioning and geolocation plugins."))) version ".tar.xz")) (sha256 (base32 - "1s50kh3sg5wc5gqhwwznnibh7jcnfginnmkv66w62mm74k7mdsy4")))) + "06nqsa5mj0mc9w9xbm7mgdkb66x4wlvkhnas32f97sb8ic8rdf9b")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -1000,7 +1000,7 @@ that helps in Qt development."))) (define-public qtscript (package (inherit qtsvg) (name "qtscript") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1009,7 +1009,7 @@ that helps in Qt development."))) version ".tar.xz")) (sha256 (base32 - "13qq2mjfhqdcvkmzrgxg1gr5kww1ygbwb7r71xxl6rjzbn30hshp")) + "1wa0rnbphkhgydnwkf5bjwn0llskl6hgs0964nh0jik8qaspv027")) (patches (search-patches "qtscript-disable-tests.patch")))) (native-inputs `(("perl" ,perl) @@ -1024,7 +1024,7 @@ ECMAScript and Qt."))) (define-public qtquickcontrols (package (inherit qtsvg) (name "qtquickcontrols") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1033,7 +1033,7 @@ ECMAScript and Qt."))) version ".tar.xz")) (sha256 (base32 - "0bpc465q822phw3dcbddn70wj1fjlc2hxskkp1z9gl7r23hx03jj")))) + "07xxhkfsljwdwlp9jfp88pwkrig02y2pnwhdsaz8mkcackwfq2az")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -1048,7 +1048,7 @@ can be used to build complete interfaces in Qt Quick."))) (define-public qtquickcontrols2 (package (inherit qtsvg) (name "qtquickcontrols2") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1057,7 +1057,7 @@ can be used to build complete interfaces in Qt Quick."))) version ".tar.xz")) (sha256 (base32 - "1zq86kqz85wm3n84jcxkxw5x1mrhkqzldkigf8xm3l8j24rf0fr0")))) + "1ln83afxyp5dmvdnq6n7as82xrd5k3xvfx7b1jxnljivslyxsm9b")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -1073,7 +1073,7 @@ not available."))) (define-public qtgraphicaleffects (package (inherit qtsvg) (name "qtgraphicaleffects") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1082,7 +1082,7 @@ not available."))) version ".tar.xz")) (sha256 (base32 - "1zsr3a5dsmpvrb5h4m4h42wqmkvkks3d8mmyrx4k0mfr6s7c71jz")))) + "0xpvigfiqfqvf05ywj8x69y57rp8dwq2hs1kpxlxs15pniz4wn8l")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -1126,7 +1126,7 @@ backend for QtQuick scene graph.") (define-public qtgamepad (package (inherit qtsvg) (name "qtgamepad") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1135,7 +1135,7 @@ backend for QtQuick scene graph.") version ".tar.xz")) (sha256 (base32 - "055w4649zi93q1sl32ngqwgnl2vxw1idnm040s9gjgjb67gi81zi")))) + "0lm5v43psf7r8zc79dcjdmmdnz4jm30ylgkvsyv8k88mj06yklbn")))) (native-inputs `(("perl" ,perl) ("pkg-config" ,pkg-config))) @@ -1156,7 +1156,7 @@ and mobile applications targeting TV-like form factors."))) (define-public qtscxml (package (inherit qtsvg) (name "qtscxml") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1165,7 +1165,7 @@ and mobile applications targeting TV-like form factors."))) version ".tar.xz")) (sha256 (base32 - "1m3b6wg5hqasdfc5igpj9bq3czql5kkvvn3rx1ig508kdlh5i5s0")) + "0pdimqwdrj8hckm81lwy1z58ji4bdv0bzgv336m0a8v3pj914awx")) (modules '((guix build utils))) (snippet '(begin @@ -1186,7 +1186,7 @@ also contains functionality to support data models and executable content."))) (define-public qtpurchasing (package (inherit qtsvg) (name "qtpurchasing") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1195,7 +1195,7 @@ also contains functionality to support data models and executable content."))) version ".tar.xz")) (sha256 (base32 - "0b1hlaq6rb7d6b6h8kqd26klcpzf9vcdjrv610kdj0drb00jg3ss")))) + "04f28y7qcr4kd0pw26mm515qj7haxr0i8lijn1q47wkikxyhawca")))) (inputs `(("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative))) @@ -1206,7 +1206,7 @@ purchasing goods and services."))) (define-public qtcanvas3d (package (inherit qtsvg) (name "qtcanvas3d") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1215,7 +1215,7 @@ purchasing goods and services."))) version ".tar.xz")) (sha256 (base32 - "10fy8wqfw2yhha6lyky5g1a72137aj8pji7mk0wjnggh629z12sb")) + "1siyzgm1mjx90rwyzzq9vw2s2xzyf6n7q0vn8gw7mdim5indda44")) (modules '((guix build utils))) (snippet '(delete-file-recursively "examples/canvas3d/3rdparty")))) @@ -1243,7 +1243,7 @@ drawing calls from Qt Quick JavaScript."))) (define-public qtcharts (package (inherit qtsvg) (name "qtcharts") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1252,7 +1252,7 @@ drawing calls from Qt Quick JavaScript."))) version ".tar.xz")) (sha256 (base32 - "180df5v7i1ki8hc3lgi6jcfdyz7f19pb73dvfkw402wa2gfcna3k")))) + "193a3imkgryw42s0gbwaj9gpqd673h3jrg86jvmy33l2fc5gfyjf")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -1270,7 +1270,7 @@ selecting one of the charts themes.") (define-public qtdatavis3d (package (inherit qtsvg) (name "qtdatavis3d") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1279,7 +1279,7 @@ selecting one of the charts themes.") version ".tar.xz")) (sha256 (base32 - "14d1q07winh6n1bkc616dapwfnsfkcjyg5zngdqjdj9mza8ang13")))) + "1cmjjbbmdqdix1f8b7qyc2vwhj9pvchc8r4lp65qw11dhycmdbh6")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -1297,7 +1297,7 @@ customized by using themes or by adding custom items and labels to them.") (define-public qtnetworkauth (package (inherit qtsvg) (name "qtnetworkauth") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1306,7 +1306,17 @@ customized by using themes or by adding custom items and labels to them.") version ".tar.xz")) (sha256 (base32 - "1fgax3p7lqcz29z2n1qxnfpkj3wxq1x9bfx61q6nss1fs74pxzra")))) + "16i33m8x5yii22ciq97bpfmnw0lwhvgv84i2az30a1ikm9dg00x0")))) + (arguments + (substitute-keyword-arguments (package-arguments qtsvg) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'remove-failing-test + (lambda _ + ;; These tests can't find their test data. + (substitute* "tests/auto/auto.pro" + (("oauth1 ") "# oauth1 ")) + #t)))))) (inputs `(("qtbase" ,qtbase))) (synopsis "Qt Network Authorization module") @@ -1316,7 +1326,7 @@ implementation of OAuth and OAuth2 authenticathon methods for Qt."))) (define-public qtremoteobjects (package (inherit qtsvg) (name "qtremoteobjects") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1325,7 +1335,7 @@ implementation of OAuth and OAuth2 authenticathon methods for Qt."))) version ".tar.xz")) (sha256 (base32 - "10kwq0fgmi6zsqhb6s1nkcydpyl8d8flzdpgmyj50c4h2xhg2km0")))) + "1ylphdwis34y4pm9xiwh2xqfd0hh2gp8kkawlps2q5mh2bm11376")))) (inputs `(("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative))) @@ -1338,7 +1348,7 @@ processes or computers."))) (define-public qtspeech (package (inherit qtsvg) (name "qtspeech") - (version "5.9.1") + (version "5.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1347,7 +1357,7 @@ processes or computers."))) version ".tar.xz")) (sha256 (base32 - "00daxkf8iwf6n9rhkkv3isv5qa8wijwzb0zy1f6zlm3vcc8fz75c")))) + "0cq33dffi7q7dnvzhdivky5prakb8xnwap0b76fwgirhbbn88ypg")))) (inputs `(("qtbase" ,qtbase))) (native-inputs From 16123d1deeecc1661fc41424ca683659a82ce3f7 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 10 Oct 2017 12:13:30 +0200 Subject: [PATCH 232/287] gnu: zstd: Update to 1.3.2. * gnu/packages/compression.scm (zstd): Update to 1.3.2. [source]: Remove snippet. [license]: Add gpl2, gpl3+, and expat to the list. --- gnu/packages/compression.scm | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index b7f39a0772..b321a92080 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1303,7 +1303,7 @@ RAR archives.") (define-public zstd (package (name "zstd") - (version "1.3.1") + (version "1.3.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/facebook/zstd/archive/v" @@ -1311,17 +1311,7 @@ RAR archives.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1imddqjhczira626nf3nqmjwj3wb37xcfcwgkjydv2k6fpfbjbri")) - (modules '((guix build utils))) - (snippet - ;; Remove non-free source files. - '(begin - (for-each delete-file-recursively - (list - ;; Commercial use of the following is not allowed. - "examples" - "LICENSE-examples")) - #t)))) + "12krs9k5f408kyn0d7dwxqyc67177mgd14783ay10rafqsim8l5c")))) (build-system gnu-build-system) (arguments `(#:phases @@ -1340,7 +1330,10 @@ zlib. In most scenarios, both compression and decompression can be performed in trade-off between compression ratio and speed, without affecting decompression speed.") (license (list license:bsd-3 ; the main top-level LICENSE file - license:bsd-2 ; quite a few files have but 2 clauses + license:bsd-2 ; many files explicitly state 2-Clause + license:gpl2 ; the mail top-level COPYING file + license:gpl3+ ; tests/gzip/*.sh + license:expat ; lib/dictBuilder/divsufsort.[ch] license:public-domain ; zlibWrapper/examples/fitblk* license:zlib)))) ; zlibWrapper/{gz*.c,gzguts.h} From 1aadd5d9c1e3da8f072ce232f754221aea5058d3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 10 Oct 2017 08:16:59 +0200 Subject: [PATCH 233/287] gnu: guitarix: Update to 0.36.0. * gnu/packages/audio.scm (guitarix): Update to 0.36.0. --- gnu/packages/audio.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index a28dcaeaf0..b67f060f98 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1133,7 +1133,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.") (define-public guitarix (package (name "guitarix") - (version "0.35.6") + (version "0.36.0") (source (origin (method url-fetch) (uri (string-append @@ -1141,7 +1141,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.") version ".tar.xz")) (sha256 (base32 - "0ffvfnvhj6vz73zsrpi88hs69ys4zskm847zf825dl2r39n9nn41")))) + "0nb0gwcmvc9xjh9pjasjbaqgpadanv4rw1njccpcmmin9xvicsqn")))) (build-system waf-build-system) (arguments `(#:tests? #f ; no "check" target From d30f920c04eac38ce7e7296b4650cf27c2cf1191 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 10 Oct 2017 08:17:20 +0200 Subject: [PATCH 234/287] gnu: ardour: Update to 5.12. * gnu/packages/audio.scm (ardour): Update to 5.12. --- gnu/packages/audio.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index b67f060f98..887bc53fae 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -189,7 +189,7 @@ streams from live audio.") (define-public ardour (package (name "ardour") - (version "5.8") + (version "5.12") (source (origin (method git-fetch) (uri (git-reference @@ -206,7 +206,7 @@ streams from live audio.") namespace ARDOUR { const char* revision = \"" version "\" ; }"))))) (sha256 (base32 - "1lcvslrcw6g4kp9w0h1jx46x6ilz4nzz0k2yrw4gd545k1rwx0c1")) + "0mla5lm51ryikc2rrk53max2m7a5ds6i1ai921l2h95wrha45nkr")) (file-name (string-append name "-" version)))) (build-system waf-build-system) (arguments From 42abb842f64f5dd7834cabd445a5f4d01f1e68a4 Mon Sep 17 00:00:00 2001 From: Adonay Felipe Nogueira Date: Sun, 20 Aug 2017 15:28:20 -0300 Subject: [PATCH 235/287] gnu: red-eclipse: Add store "data" package path as default. * gnu/packages/games.scm (red-eclipse): Remove extra spaces. Make version respect documentation. [arguments]: Add "prefix" to make-flags. Add "add-store-data-package-path-as-default" phase. Improve "copy-data" phase. Signed-off-by: Kei Kebreau --- gnu/packages/games.scm | 110 +++++++++++++++++++++++++---------------- 1 file changed, 68 insertions(+), 42 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index acffd2150c..39cd71aebd 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -24,7 +24,7 @@ ;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2016 Steve Webber -;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira +;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira ;;; Copyright © 2017 Arun Isaac ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 nee @@ -133,6 +133,7 @@ #:use-module (gnu packages gnuzilla) #:use-module (gnu packages icu4c) #:use-module (gnu packages networking) + #:use-module (guix build utils) #:use-module (guix build-system gnu) #:use-module (guix build-system haskell) #:use-module (guix build-system python) @@ -2796,60 +2797,67 @@ http://lavachat.symlynx.com/unix/") (license license:gpl2+))) (define-public red-eclipse - (let ((data-sources - '(("acerspyro" "0zmg78scrfdv33h7vszqvzylcqjwg7d5b0j2riav3rjfh326j8xx") - ("actors" "0l00rsvppqzdpsikm5qpj38jiygirszxlzay2nxp4g4n2qjq0m4a") - ("appleflap" "0jhfr7f13hk3nswwxqc4jajriipr6zz6j63v955nv4sgxs7lzbjd") - ("blendbrush" "1nk0zaisbqf2khrivq8ls6z2lnh6d51m133m2ppxk7k4c9gq1imq") - ("caustics" "1hq08k476wayi0kmk4ps8h6jr75yinq04f1r2p8r79xsdpxq9my5") - ("crosshairs" "1gmrmjm7i7n9py0qrzamk7ygi63yx1mr2pp6iwz2vwngprl03n8m") - ("dziq" "0gr36ydrv8syjxv7w9dw3ix8waaq201fzxr0klkqp260p8xp215s") - ("elyvisions" "05syxlpsap6nfwxnnd0ls7qj1p4vhw2jxi41pi5inwpfifapfphz") - ("fonts" "184syks602xc657q08973w5ji50x5zssvd4vp2q2ig8m68iyr51c") + (let ((release "1.5.8") + (revision 2) + (data-sources + '(("acerspyro" "0zmg78scrfdv33h7vszqvzylcqjwg7d5b0j2riav3rjfh326j8xx") + ("actors" "0l00rsvppqzdpsikm5qpj38jiygirszxlzay2nxp4g4n2qjq0m4a") + ("appleflap" "0jhfr7f13hk3nswwxqc4jajriipr6zz6j63v955nv4sgxs7lzbjd") + ("blendbrush" "1nk0zaisbqf2khrivq8ls6z2lnh6d51m133m2ppxk7k4c9gq1imq") + ("caustics" "1hq08k476wayi0kmk4ps8h6jr75yinq04f1r2p8r79xsdpxq9my5") + ("crosshairs" "1gmrmjm7i7n9py0qrzamk7ygi63yx1mr2pp6iwz2vwngprl03n8m") + ("dziq" "0gr36ydrv8syjxv7w9dw3ix8waaq201fzxr0klkqp260p8xp215s") + ("elyvisions" "05syxlpsap6nfwxnnd0ls7qj1p4vhw2jxi41pi5inwpfifapfphz") + ("fonts" "184syks602xc657q08973w5ji50x5zssvd4vp2q2ig8m68iyr51c") ("freezurbern" "020gpgcpy4rqjd9d18npfm96j8f02jcjnccbxcgzk1yb58y687ya") - ("john" "0hj5kwlb2gb0gsnl9bk7dkqlk8r7vxcw8gxpgrb3kfn8d9cwcb7k") - ("jojo" "0fij06040r7s5p7jksxm7wxi9jqwkhhm8iywys0dagk8j2wcbvsz") - ("jwin" "0ysfynjvypc8dszf7rsvk02jgw8fmsli49vy2xpm83zpkrqpddgf") + ("john" "0hj5kwlb2gb0gsnl9bk7dkqlk8r7vxcw8gxpgrb3kfn8d9cwcb7k") + ("jojo" "0fij06040r7s5p7jksxm7wxi9jqwkhhm8iywys0dagk8j2wcbvsz") + ("jwin" "0ysfynjvypc8dszf7rsvk02jgw8fmsli49vy2xpm83zpkrqpddgf") ("luckystrike" "1bm0xdqjv35ry5xwbzw3a3v1xf2gj1jwfg29nyl6w3ch0h6crr11") - ("maps" "0c9d1zxmpnngwhchzw6xb6cf84cx8xyycmdqcvyhamrd95d96qma") - ("mayhem" "133pdql7ari159skd9qdmw0p1m73x32d1v6jswkz0xwk8vgxmkil") - ("mikeplus64" "1d5npn9wlw0mviz9vhzzcsj98jvfh1wbvlh1nyqfj4ws5nfxhs7x") - ("misc" "19x2ps6yxnfrz0xdhqdwncaq25ds7i4w2l8sdfi95yh2r7c5k1qn") - ("nieb" "15029nipl92cb0jbh46z00k51hf3jk4v05pwx266b6b11bapdz0c") - ("nobiax" "0k9apim5z4ihd5ajmnbq4gyh24w872dv0mr5v8wqn31a8gxzahhp") - ("particles" "06827r9pnhzjil381xiwcbc93v9nxin7qlr59yrvk9gdzxmklk9m") - ("philipk" "1l6fhl6qz471vjn05hvk29bm8dhwnzqbmi2hdylpa9k998nzkfc1") + ("maps" "0c9d1zxmpnngwhchzw6xb6cf84cx8xyycmdqcvyhamrd95d96qma") + ("mayhem" "133pdql7ari159skd9qdmw0p1m73x32d1v6jswkz0xwk8vgxmkil") + ("mikeplus64" "1d5npn9wlw0mviz9vhzzcsj98jvfh1wbvlh1nyqfj4ws5nfxhs7x") + ("misc" "19x2ps6yxnfrz0xdhqdwncaq25ds7i4w2l8sdfi95yh2r7c5k1qn") + ("nieb" "15029nipl92cb0jbh46z00k51hf3jk4v05pwx266b6b11bapdz0c") + ("nobiax" "0k9apim5z4ihd5ajmnbq4gyh24w872dv0mr5v8wqn31a8gxzahhp") + ("particles" "06827r9pnhzjil381xiwcbc93v9nxin7qlr59yrvk9gdzxmklk9m") + ("philipk" "1l6fhl6qz471vjn05hvk29bm8dhwnzqbmi2hdylpa9k998nzkfc1") ("projectiles" "03ay8ik52n3vx723swqlnl5gpkzf1v1gadwj3zcnh43ch7nd2bqh") - ("props" "1yxz7gfmb79sqqrkyfdzp4ar9rf5f1kpfij4nrkk1l8vbw9liksc") - ("skyboxes" "1mm98mhb6yhb006p1hlic91jcwjxhq79mblxciwbqqa9c5g4yki6") - ("snipergoth" "1vlpmwlg71g6l5b706gp82bc07i5bbw2zphzynm2fx49za0zdi44") - ("sounds" "156g5wh8cvdh6zr33haqm566sd28ylnzdf2h4pqzpxbb2i19vbfg") - ("textures" "0wkhl5cgymr9kslzhksi83hs15rb0q01xvax5khi6b4dcl3mrmsh") - ("torley" "1xlag6ndjyqafl984n6d9zi96dv9aif7vrc2nvikc3iwgjwlbxav") - ("trak" "12x9ix8zkqn9svy56qmdgj4x2814qh25f4srplgq691lqn9qjhvd") - ("ulukai" "0gz1hd8hca2biskc85hw4jjacpsmqg9x4w6cwrka8x987xmc92k5") - ("unnamed" "09v8fjy6jqypm1i121kilg3z6zpw7dm0i4gxhd9b7ihprvzvy8r7") - ("vanities" "0m3vfq9l71pbb80qz4s3k8r5azmm158chqbw8snch09ymxm6h462") - ("vegetation" "07yzm9lbzr624j4i652ny5p762p83gadg40c1k8gwff4y7yk55gn") - ("weapons" "05fsp17gdrhjqdwia7rwdw9gcijaqwcnny8lf6krms43xmn8cj0x") - ("wicked" "0jjgwzdibr5my369gwvmvbklpjlwq939zgf643rv0168xc087xb2")))) + ("props" "1yxz7gfmb79sqqrkyfdzp4ar9rf5f1kpfij4nrkk1l8vbw9liksc") + ("skyboxes" "1mm98mhb6yhb006p1hlic91jcwjxhq79mblxciwbqqa9c5g4yki6") + ("snipergoth" "1vlpmwlg71g6l5b706gp82bc07i5bbw2zphzynm2fx49za0zdi44") + ("sounds" "156g5wh8cvdh6zr33haqm566sd28ylnzdf2h4pqzpxbb2i19vbfg") + ("textures" "0wkhl5cgymr9kslzhksi83hs15rb0q01xvax5khi6b4dcl3mrmsh") + ("torley" "1xlag6ndjyqafl984n6d9zi96dv9aif7vrc2nvikc3iwgjwlbxav") + ("trak" "12x9ix8zkqn9svy56qmdgj4x2814qh25f4srplgq691lqn9qjhvd") + ("ulukai" "0gz1hd8hca2biskc85hw4jjacpsmqg9x4w6cwrka8x987xmc92k5") + ("unnamed" "09v8fjy6jqypm1i121kilg3z6zpw7dm0i4gxhd9b7ihprvzvy8r7") + ("vanities" "0m3vfq9l71pbb80qz4s3k8r5azmm158chqbw8snch09ymxm6h462") + ("vegetation" "07yzm9lbzr624j4i652ny5p762p83gadg40c1k8gwff4y7yk55gn") + ("weapons" "05fsp17gdrhjqdwia7rwdw9gcijaqwcnny8lf6krms43xmn8cj0x") + ("wicked" "0jjgwzdibr5my369gwvmvbklpjlwq939zgf643rv0168xc087xb2")))) (package (name "red-eclipse") - (version "1.5.8") + (version (if (zero? revision) + release + (string-append release "-" + (number->string revision)))) (source (origin (method url-fetch) (uri (string-append "https://github.com/red-eclipse/base" - "/archive/v" version ".tar.gz")) + "/archive/v" release ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1ah92axwcai0fhgm7pvfb2dxvfdiwwyh8iqyiffndh6782hxz3bc")))) + "0r66rsqxvd7hxrhb0fahqqmf3r0cw2drhv5vndbswcq90l1bxfmf")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target #:make-flags (list "CC=gcc" "-Csrc" (string-append "INSTDIR=" - (assoc-ref %outputs "out") "/bin")) + (assoc-ref %outputs "out") "/bin") + (string-append "prefix=" + (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases (add-after 'unpack 'unpack-data @@ -2862,10 +2870,25 @@ http://lavachat.symlynx.com/unix/") "-Cdata" "--transform" (string-append "s/" - name "-" ,version "/" + name "-" ,release "/" name "/"))) (list ,@(map car data-sources))) #t)) + (add-after 'unpack-data 'add-store-data-package-path-as-default + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "src/engine/server.cpp" + (("(else[[:space:]]*)((addpackagedir\\()\"data\"(\\);))" _ else_part addpackagedir_original addpackagedir_open addpackagedir_close) + (string-append else_part + "{ " + addpackagedir_open + "\"" + (assoc-ref outputs "out") + "/share/redeclipse/data\"" + addpackagedir_close + " " + addpackagedir_original + " }"))) + #t)) (delete 'configure) ; no configure script (add-after 'set-paths 'set-sdl-paths (lambda* (#:key inputs #:allow-other-keys) @@ -2881,7 +2904,10 @@ http://lavachat.symlynx.com/unix/") (copy-file "doc/examples/servinit.cfg" (string-append out "/config/servinit.cfg")) (copy-recursively "data" - (string-append out "/data"))) + (string-append out "/share/redeclipse/data")) + (mkdir-p (string-append out "/lib/redeclipse")) + (symlink (string-append out "/share/redeclipse/data") + (string-append out "/lib/redeclipse/data"))) #t)) (add-after 'copy-data 'wrap-program (lambda* (#:key inputs outputs #:allow-other-keys) @@ -2928,7 +2954,7 @@ exec -a \"$0\" ~a/.redeclipse_server_linux-real~%" (method url-fetch) (uri (string-append "https://github.com/red-eclipse/" - name "/archive/v" version ".tar.gz")) + name "/archive/v" release ".tar.gz")) (sha256 (base32 hash)) (file-name (string-append name "-" version ".tar.gz")))))) From ffb4da7ad5c0e9cc969e0e47a3b8f4d2eba4d6f3 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 10 Oct 2017 16:20:18 +0300 Subject: [PATCH 236/287] gnu: mesa: Disable svga driver on aarch64. * gnu/packages/gl.scm (mesa)[arguments]: Remove svga from aarch64's gallium drivers. --- gnu/packages/gl.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 7df62aceac..039400851e 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -274,7 +274,8 @@ also known as DXTn or DXTC) for Mesa.") ;; TODO: Add etnaviv when enabled in libdrm. '("--with-gallium-drivers=freedreno,imx,nouveau,r300,r600,svga,swrast,vc4,virgl")) ("aarch64-linux" - '("--with-gallium-drivers=freedreno,nouveau,r300,r600,svga,swrast,vc4,virgl")) + ;; TODO: Fix svga driver for aarch64. + '("--with-gallium-drivers=freedreno,nouveau,r300,r600,swrast,vc4,virgl")) (_ '("--with-gallium-drivers=i915,nouveau,r300,r600,svga,swrast,virgl"))) ;; Enable various optional features. TODO: opencl requires libclc, From 8b4af8284a7edc945336a8d811c96d4f2cb5c2a6 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 10 Oct 2017 17:01:00 +0300 Subject: [PATCH 237/287] guix: mirrors: Add kde archive mirror. * guix/download.scm (%mirrors)[kde]: Add kde-attic mirror. --- guix/download.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/guix/download.scm b/guix/download.scm index e090a72306..074322b24f 100644 --- a/guix/download.scm +++ b/guix/download.scm @@ -235,6 +235,7 @@ "http://archive.debian.org/debian/") (kde "http://download.kde.org" + "http://download.kde.org/Attic" ; for when it gets archived. ;; Mirrors from http://files.kde.org/extra/mirrors.html ;; Europe "http://mirror.easyname.at/kde" From 231123ee16b813af2d3c7b95fd800a8d7f25b71a Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Mon, 9 Oct 2017 11:20:34 +0200 Subject: [PATCH 238/287] gnu: postgresql: Update to 10.0. * gnu/packages/databases.scm (postgresql): Update to 10.0. Signed-off-by: Leo Famulari --- gnu/packages/databases.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 62f940e909..8b122d36fa 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -19,6 +19,7 @@ ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Alex Vong ;;; Copyright © 2017 Ben Woodcroft +;;; Copyright © 2017 Rutger Helling ;;; ;;; This file is part of GNU Guix. ;;; @@ -606,14 +607,14 @@ as a drop-in replacement of MySQL.") (define-public postgresql (package (name "postgresql") - (version "9.6.5") + (version "10.0") (source (origin (method url-fetch) (uri (string-append "https://ftp.postgresql.org/pub/source/v" version "/postgresql-" version ".tar.bz2")) (sha256 (base32 - "0k3ls2x182jz6djjiqj9kycddabdl2gk1y1ajq1vipnxwfki5nh6")))) + "1lbzwpmdxmk5bh0ix0rn72qbd52dq5cb55nzajscb0bvwa95abvi")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-uuid=e2fs") From 550d88cf24dbe843f23e21a50725c67b076969c4 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 9 Oct 2017 14:33:17 -0400 Subject: [PATCH 239/287] gnu: ghostscript: Replace with 9.22 [security fixes]. Fixes CVE-2017-{7948,7975,8908,9216,9610,9611,9612,9618,9619,9620,9726,9727, 9739,9740,9835}. * gnu/packages/ghostscript.scm (ghostscript)[replacement]: New field. (ghostscript-9.22): New variables. --- gnu/packages/ghostscript.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index d5d5aa2dff..28477b2c42 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -131,6 +131,7 @@ printing, and psresize, for adjusting page sizes.") (define-public ghostscript (package (name "ghostscript") + (replacement ghostscript-9.22) (version "9.21") (source (origin @@ -254,6 +255,25 @@ output file formats and printers.") (home-page "https://www.ghostscript.com/") (license license:agpl3+))) +(define ghostscript-9.22 + (package + (inherit ghostscript) + (version "9.22") + (source + (origin + (inherit (package-source ghostscript)) + (uri (string-append "https://github.com/ArtifexSoftware/" + "ghostpdl-downloads/releases/download/gs" + (string-delete #\. version) + "/ghostscript-" version ".tar.xz")) + (sha256 + (base32 + "1fyi4yvdj39bjgs10klr31cda1fbx1ar7a7b7yz7v68gykk65y61")) + (patches (search-patches "ghostscript-runpath.patch" + "ghostscript-no-header-creationdate.patch" + "ghostscript-no-header-id.patch" + "ghostscript-no-header-uuid.patch")))))) + (define-public ghostscript/x (package/inherit ghostscript (name (string-append (package-name ghostscript) "-with-x")) From 2e957aae25a0849732789da8b7efab74c4721a94 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 8 Oct 2017 13:50:07 +0200 Subject: [PATCH 240/287] gnu: feh: Update to 2.21. * gnu/packages/image-viewers.scm (feh): Update to 2.21. --- gnu/packages/image-viewers.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index dfb68488ee..88c51e121c 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -54,7 +54,7 @@ (define-public feh (package (name "feh") - (version "2.20") + (version "2.21") (home-page "https://feh.finalrewind.org/") (source (origin (method url-fetch) @@ -62,7 +62,7 @@ name "-" version ".tar.bz2")) (sha256 (base32 - "02vhdv16nf4kjna4inpbfy4k3p40bhl7xpc4kh4xvily14146l2b")))) + "0azgpr4al2pi4858z4xh4lfz84cvzxw3n426fn7rz6cdj34q212j")))) (build-system gnu-build-system) (arguments '(#:phases (alist-delete 'configure %standard-phases) From 23e12d9d4fbc810e58407cb38e86c8fd08e791a2 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 8 Oct 2017 14:18:26 +0200 Subject: [PATCH 241/287] gnu: rofi: Update to 1.4.1. * gnu/packages/check.scm (check-0.11.0): New variable. * gnu/packages/xdisorg.scm (rofi): Update to 1.4.1. [inputs]: Add LIBRSVG. [native-inputs]: Add BISON, CHECK-0.11.0 and FLEX. --- gnu/packages/check.scm | 15 +++++++++++++++ gnu/packages/xdisorg.scm | 12 +++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 45ac7d786c..b2ce42b08c 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2017 Kei Kebreau ;;; Copyright © 2017 ng0 ;;; Copyright © 2017 Ricardo Wurmus +;;; Copyright © 2017 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -64,6 +65,20 @@ faults or other signals. The output from unit tests can be used within source code editors and IDEs.") (license lgpl2.1+))) +;; XXX: Some packages require this newer version. Incorporate this +;; into the main 'check' package during the next rebuild cycle. +(define-public check-0.11.0 + (package + (inherit check) + (version "0.11.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/libcheck/check/releases" + "/download/" version "/check-" version ".tar.gz")) + (sha256 + (base32 + "05jn1pgb7hqb937xky2147nnq3r4qy5wwr79rddpax3bms5a9xr4")))))) + (define-public cunit (package (name "cunit") diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 7ca4986a0e..cf7dcf8f61 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -49,9 +49,11 @@ #:use-module (gnu packages documentation) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) + #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages image) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages flex) #:use-module (gnu packages gettext) #:use-module (gnu packages gl) #:use-module (gnu packages glib) @@ -1054,7 +1056,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.") (define-public rofi (package (name "rofi") - (version "1.3.1") + (version "1.4.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/DaveDavenport/rofi/" @@ -1062,20 +1064,24 @@ connectivity of the X server running on a particular @code{DISPLAY}.") version "/rofi-" version ".tar.xz")) (sha256 (base32 - "1s47biv6d68nblpz6d3aklsar1xxxcilzr4y77v3hz2w1wbz2b5m")))) + "0xnfzbwhxd2cd4lxkc24mbx3f4b1h3l1alcdbbsymi2b9fdwmywh")))) (build-system gnu-build-system) (inputs `(("pango" ,pango) ("cairo" ,cairo) ("glib" ,glib) ("startup-notification" ,startup-notification) + ("librsvg" ,librsvg) ("libxkbcommon" ,libxkbcommon) ("libxcb" ,libxcb) ("xcb-util" ,xcb-util) ("xcb-util-xrm" ,xcb-util-xrm) ("xcb-util-wm" ,xcb-util-wm))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("bison" ,bison) + ("check" ,check-0.11.0) + ("flex" ,flex) + ("pkg-config" ,pkg-config))) (arguments `(#:parallel-tests? #f ; May fail in some circumstances. #:phases From 1c7c2506a8eb1efd1ea49e85c1b024e1a1b7edc9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 8 Oct 2017 17:09:49 +0200 Subject: [PATCH 242/287] gnu: librevenge: Update to 0.0.4. * gnu/packages/libreoffice.scm (librevenge): Update to 0.0.4. --- gnu/packages/libreoffice.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 77c9ae108f..f1526303a5 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -129,14 +129,14 @@ CSV, CSS and XML.") (define-public librevenge (package (name "librevenge") - (version "0.0.2") + (version "0.0.4") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/libwpd/" name "/" name "-" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "03ygxyb0vfjv8raif5q62sl33b54wkr5rzgadb8slijm6k281wpn")))) + "1cj76cz4mqcy2mgv9l5xlc95bypyk8zbq0ls9cswqrs2y0lhfgwk")))) (build-system gnu-build-system) (native-inputs `(("cppunit" ,cppunit) From 3f6c5b831acbed1dbc84374820b373356c39155f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 8 Oct 2017 17:16:34 +0200 Subject: [PATCH 243/287] gnu: libwpd: Update to 0.10.2. * gnu/packages/libreoffice.scm (libwpd): Update to 0.10.2. --- gnu/packages/libreoffice.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index f1526303a5..64b8e13d61 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -161,14 +161,14 @@ spreadsheets and presentations.") (define-public libwpd (package (name "libwpd") - (version "0.10.0") + (version "0.10.2") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/" name "/" name "/" name "-" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "0b6krzr6kxzm89g6bapn805kdayq70hn16n5b5wfs2lwrf0ag2wx")))) + "0436gnidx45a9vx114hhh216jrh57mqb9zyssyjfadagmyz6hgrj")))) (build-system gnu-build-system) (native-inputs `(("doxygen" ,doxygen) From feef3b2a08ce7769e29bc27421dbc19724d9ec31 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 8 Oct 2017 17:16:58 +0200 Subject: [PATCH 244/287] gnu: libwpg: Update to 0.3.2. * gnu/packages/libreoffice.scm (libwpg): Update to 0.3.2. --- gnu/packages/libreoffice.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 64b8e13d61..8344ec97ce 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -223,14 +223,14 @@ ZVR (simple compressed text format).") (define-public libwpg (package (name "libwpg") - (version "0.3.0") + (version "0.3.2") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/" name "/" name "/" name "-" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "097jx8a638fwwfrzf6v29r1yhc34rq9526py7wf0ck2z4fcr2w3g")))) + "0cwc5zkp210c661l0bvk6q21jg9ak5g8gmy578w5fgfnjymz3yjp")))) (build-system gnu-build-system) (native-inputs `(("doxygen" ,doxygen) From d35db297e77bd3e8db3dfe413659944c6388ad35 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 8 Oct 2017 17:21:21 +0200 Subject: [PATCH 245/287] gnu: libcdr: Update to 0.1.4. * gnu/packages/libreoffice.scm (libcdr): Update to 0.1.4. [native-inputs]: Add CPPUNIT. --- gnu/packages/libreoffice.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 8344ec97ce..8ff4d14006 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -323,17 +323,18 @@ AbiWord documents.") (define-public libcdr (package (name "libcdr") - (version "0.1.1") + (version "0.1.4") (source (origin (method url-fetch) (uri (string-append "http://dev-www.libreoffice.org/src/" name "/" name "-" version ".tar.xz")) (sha256 (base32 - "07yzb1yr5kzv0binzj5swz3zzay2gw3xb0fbkc2zwdssgrkf19nh")))) + "0vd6likgk51j46llybkx4wq3674xzrhp0k82220pkx9x1aqfi9z7")))) (build-system gnu-build-system) (native-inputs - `(("doxygen" ,doxygen) + `(("cppunit" ,cppunit) + ("doxygen" ,doxygen) ("pkg-config" ,pkg-config))) (propagated-inputs ; in Requires or Requires.private field of .pkg `(("icu4c" ,icu4c) From 603231c1c32d3dda52c564a02559fabc558486b4 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 8 Oct 2017 17:25:47 +0200 Subject: [PATCH 246/287] gnu: liblangtag: Update to 0.6.2. * gnu/packages/libreoffice.scm (liblangtag): Update to 0.6.2. --- gnu/packages/libreoffice.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 8ff4d14006..0eb4ffb493 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -394,7 +394,7 @@ Apple Keynote documents. It currently supports Keynote versions 2 to 5.") (define-public liblangtag (package (name "liblangtag") - (version "0.5.8") + (version "0.6.2") (source (origin (method url-fetch) @@ -402,7 +402,7 @@ Apple Keynote documents. It currently supports Keynote versions 2 to 5.") name "-" version ".tar.bz2")) (sha256 (base32 - "1akf0d7yp29pv3j2pw2riii4n5kyjr9szc0y77khnx9zzr5zdqh8")))) + "0bnm4hllr8cfrybm8rw7b8n0nlhzhnv73bkg1bxk452g6a82f96n")))) (build-system gnu-build-system) (native-inputs `(("libtool" ,libtool) From c6234e8ac881b7d60441811fe54866b8fe4cad4a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 8 Oct 2017 18:58:03 +0200 Subject: [PATCH 247/287] gnu: libetonyek: Fix FTBFS with later liblangtag. * gnu/packages/libreoffice.scm (libetonyek)[source]: Add upstream patch. --- gnu/packages/libreoffice.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 0eb4ffb493..5c44fb31e1 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Andy Wingo ;;; Copyright © 2017 Ludovic Courtès +;;; Copyright © 2017 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -363,7 +364,19 @@ CorelDRAW documents of all versions.") name "-" version ".tar.xz")) (sha256 (base32 "0y60vi1plyq69fqbcjnc0v8mvcjqjsl1ry6rmb3bq3q7j8a2fm6z")) - (patches (search-patches "libetonyek-build-with-mdds-1.2.patch")))) + (patches + (cons + (origin + (method url-fetch) + ;; Drop incorrect test that fails with latest liblangtag. + (uri (string-append "https://cgit.freedesktop.org/libreoffice" + "/libetonyek/patch/?id=" + "1a20d8ece2ea3e8aa1d319cd88e8a6aa637982f2")) + (file-name "libetonyek-build-with-liblangtag-0.6.patch") + (sha256 + (base32 + "0zdyykg3cmq226m54yjhg1fj5200c371h2qgjfna62dxa1jd6m97"))) + (search-patches "libetonyek-build-with-mdds-1.2.patch"))))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-mdds=1.2") From ae443ec1fa4cb992b297ee4a4e240c263c026856 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 8 Oct 2017 17:27:12 +0200 Subject: [PATCH 248/287] gnu: libexttextcat: Update to 3.4.5. * gnu/packages/libreoffice.scm (libexttextcat): Update to 3.4.5. --- gnu/packages/libreoffice.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 5c44fb31e1..34cd894922 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -434,14 +434,14 @@ standard 21.0.2.") (define-public libexttextcat (package (name "libexttextcat") - (version "3.4.4") + (version "3.4.5") (source (origin (method url-fetch) (uri (string-append "http://dev-www.libreoffice.org/src/" name "/" name "-" version ".tar.xz")) (sha256 (base32 - "14v2hkygnmf1zgahfm1fha47cr67iikrz2ymiqi28d2jydn0hk7j")))) + "1j6sjwkyhqvsgyw938bxxfwkzzi1mahk66g5342lv6j89jfvrz8k")))) (build-system gnu-build-system) (home-page "http://www.freedesktop.org/wiki/Software/libexttextcat/") (synopsis "Text Categorization library") From e9d8b8872b77b0f17302f55abb39a58127280c48 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 8 Oct 2017 17:28:19 +0200 Subject: [PATCH 249/287] gnu: libfreehand: Update to 0.1.2. * gnu/packages/libreoffice.scm (libfreehand): Update to 0.1.2. [native-inputs]: Add CPPUNIT. [inputs]: Add ICU4C and LCMS. New field. --- gnu/packages/libreoffice.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 34cd894922..de59de375d 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -453,20 +453,24 @@ library primarily intended for language guessing.") (define-public libfreehand (package (name "libfreehand") - (version "0.1.0") + (version "0.1.2") (source (origin (method url-fetch) (uri (string-append "http://dev-www.libreoffice.org/src/" name "/" name "-" version ".tar.xz")) (sha256 (base32 - "01j7mxi4lmf72w1mv2r098p8l0csdd94w2gq0ncp93djn34al6ai")))) + "1b1lvqh68rwij1yvmxy02hsmh7i74ma5767mk8mg5nx6chajshhf")))) (build-system gnu-build-system) (native-inputs - `(("doxygen" ,doxygen) + `(("cppunit" ,cppunit) + ("doxygen" ,doxygen) ("gperf" ,gperf) ("perl" ,perl) ("pkg-config" ,pkg-config))) + (inputs + `(("icu4c" ,icu4c) + ("lcms" ,lcms))) (propagated-inputs ; in Requires or Requires.private field of .pkg `(("librevenge" ,librevenge) ("zlib" ,zlib))) From 2036709b7f7bcf522a392600361923d1ff27bdc6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 8 Oct 2017 17:34:56 +0200 Subject: [PATCH 250/287] gnu: libpagemaker: Update to 0.0.3. * gnu/packages/libreoffice.scm (libpagemaker): Update to 0.0.3. [arguments]: Remove. --- gnu/packages/libreoffice.scm | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index de59de375d..535772dfff 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -510,14 +510,14 @@ Microsoft Publisher documents of all versions.") (define-public libpagemaker (package (name "libpagemaker") - (version "0.0.2") + (version "0.0.3") (source (origin (method url-fetch) (uri (string-append "http://dev-www.libreoffice.org/src/" name "/" name "-" version ".tar.xz")) (sha256 (base32 - "05zgj5ngg9z4b7dnrfs59nm0macm99lzyxv4mg53jcvp0mkgigfd")))) + "1minj0q14d44qfas81a8lkpgj288h5xlkjp084sfx17xv9axr5nq")))) (build-system gnu-build-system) (native-inputs `(("doxygen" ,doxygen) @@ -527,9 +527,6 @@ Microsoft Publisher documents of all versions.") (inputs `(("boost" ,boost) ("zlib" ,zlib))) - (arguments - ;; avoid triggering a build failure due to warnings - `(#:configure-flags '("--disable-werror"))) (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libpagemaker") (synopsis "Library for parsing the PageMaker format") (description "Libpagemaker is a library that parses the file format of From 5124e6377578c0346efa7d839b5c4e5cfc1d6d72 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 8 Oct 2017 17:53:36 +0200 Subject: [PATCH 251/287] gnu: libvisio: Update to 0.1.5. * gnu/packages/patches/libvisio-fix-tests.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/libreoffice.scm (libvisio): Update to 0.1.5. [source]: Add 'libvisio-fix-tests.patch'. [arguments]: Remove. --- gnu/local.mk | 1 + gnu/packages/libreoffice.scm | 10 ++---- gnu/packages/patches/libvisio-fix-tests.patch | 35 +++++++++++++++++++ 3 files changed, 39 insertions(+), 7 deletions(-) create mode 100644 gnu/packages/patches/libvisio-fix-tests.patch diff --git a/gnu/local.mk b/gnu/local.mk index a866c9084a..566791ede9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -816,6 +816,7 @@ dist_patch_DATA = \ %D%/packages/patches/libtool-skip-tests2.patch \ %D%/packages/patches/libunistring-gnulib-multi-core.patch \ %D%/packages/patches/libusb-0.1-disable-tests.patch \ + %D%/packages/patches/libvisio-fix-tests.patch \ %D%/packages/patches/libvpx-CVE-2016-2818.patch \ %D%/packages/patches/libxcb-python-3.5-compat.patch \ %D%/packages/patches/libxml2-CVE-2016-4658.patch \ diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 535772dfff..9c392c536b 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -537,15 +537,15 @@ created by PageMaker version 6.x and 7.") (define-public libvisio (package (name "libvisio") - ;; FIXME: The newer version 0.1.1 fails its tests. - (version "0.1.0") + (version "0.1.5") (source (origin (method url-fetch) (uri (string-append "http://dev-www.libreoffice.org/src/" name "/" name "-" version ".tar.xz")) + (patches (search-patches "libvisio-fix-tests.patch")) (sha256 (base32 - "0vvd2wyp4rw6s9xnj1dc9vgdpfvm45gnb5b9hhzif0fdnx4iskqf")))) + "132szijxm95ibzq5qqaylifbf6wa81g08jxggnwv22v60dwhc2j3")))) (build-system gnu-build-system) (native-inputs `(("cppunit" ,cppunit) @@ -559,10 +559,6 @@ created by PageMaker version 6.x and 7.") ("libxml2" ,libxml2))) (inputs `(("boost" ,boost))) - ;; FIXME: Not needed any more for newer version 0.1.1. - (arguments - ;; avoid triggering a build failure due to warnings - `(#:configure-flags '("--disable-werror"))) (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libvisio") (synopsis "Library for parsing the Microsoft Visio format") (description "Libvisio is a library that parses the file format of diff --git a/gnu/packages/patches/libvisio-fix-tests.patch b/gnu/packages/patches/libvisio-fix-tests.patch new file mode 100644 index 0000000000..335f7c11a8 --- /dev/null +++ b/gnu/packages/patches/libvisio-fix-tests.patch @@ -0,0 +1,35 @@ +Tests assume a CET timezone, but do not respect the "TZ" variable. + +This patch is a "squashed" version of these upstream commits: + + + +diff --git a/src/test/Makefile.am b/src/test/Makefile.am +index 59d3419..23049b5 100644 +--- a/src/test/Makefile.am ++++ b/src/test/Makefile.am +@@ -29,4 +29,7 @@ EXTRA_DIST = \ + data/dwg.vsdx \ + $(test_SOURCES) + ++# ImportTest::testVsdMetadataTitleUtf8 checks formatted date string ++AM_TESTS_ENVIRONMENT = TZ=UTC; export TZ; ++ + TESTS = test +diff --git a/src/test/importtest.cpp b/src/test/importtest.cpp +index e05b3c1..32fb185 100644 +--- a/src/test/importtest.cpp ++++ b/src/test/importtest.cpp +@@ -242,8 +242,8 @@ void ImportTest::testVsdMetadataTitleUtf8() + // Test the case when the string is UTF-8 encoded already in the file. + assertXPath(m_doc, "/document/setDocumentMetaData", "title", "mytitle\xC3\xA9\xC3\xA1\xC5\x91\xC5\xB1"); + // Test and . +- assertXPath(m_doc, "/document/setDocumentMetaData", "creation-date", "2014-11-26T09:24:56Z"); +- assertXPath(m_doc, "/document/setDocumentMetaData", "date", "2014-11-26T09:24:56Z"); ++ assertXPath(m_doc, "/document/setDocumentMetaData", "creation-date", "2014-11-26T08:24:56Z"); ++ assertXPath(m_doc, "/document/setDocumentMetaData", "date", "2014-11-26T08:24:56Z"); + } + + void ImportTest::testVsdUserDefinedMetadata() +-- +2.1.4 From cab4188f8b0cc6bbd41bab1f691596c1ad346cf5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 8 Oct 2017 17:56:47 +0200 Subject: [PATCH 252/287] gnu: libodfgen: Update to 0.1.6. * gnu/packages/libreoffice.scm (libodfgen): Update to 0.1.6. --- gnu/packages/libreoffice.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 9c392c536b..83dedd6b1d 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -568,14 +568,14 @@ Microsoft Visio documents of all versions.") (define-public libodfgen (package (name "libodfgen") - (version "0.1.3") + (version "0.1.6") (source (origin (method url-fetch) (uri (string-append "http://dev-www.libreoffice.org/src/" name "-" version ".tar.bz2")) (sha256 (base32 - "074qsav86ixwi9zm1f77g9vxdf1ihm6n930vxjg8q3lwzd8g7lb6")))) + "1hn91bm6dni7n3frh7lpbj3mjqmdrpn12ipq8rswd9445y4j2yrc")))) (build-system gnu-build-system) (native-inputs `(("doxygen" ,doxygen) From c334058f6e7d7f1f1964869e7b11051156ad0e72 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 8 Oct 2017 17:59:07 +0200 Subject: [PATCH 253/287] gnu: libmwaw: Update to 0.3.12. * gnu/packages/libreoffice.scm (libmwaw): Update to 0.3.12. [source](patches): Remove. [arguments]: Remove. * gnu/packages/patches/libmwaw-CVE-2017-9433.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/libreoffice.scm | 8 ++--- .../patches/libmwaw-CVE-2017-9433.patch | 33 ------------------- 3 files changed, 2 insertions(+), 40 deletions(-) delete mode 100644 gnu/packages/patches/libmwaw-CVE-2017-9433.patch diff --git a/gnu/local.mk b/gnu/local.mk index 566791ede9..21b4b9532d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -797,7 +797,6 @@ dist_patch_DATA = \ %D%/packages/patches/libmad-armv7-thumb-pt2.patch \ %D%/packages/patches/libmad-frame-length.patch \ %D%/packages/patches/libmad-mips-newgcc.patch \ - %D%/packages/patches/libmwaw-CVE-2017-9433.patch \ %D%/packages/patches/libsndfile-armhf-type-checks.patch \ %D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch \ %D%/packages/patches/libsndfile-CVE-2017-8362.patch \ diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 83dedd6b1d..c7e1d81c76 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -599,15 +599,14 @@ text documents, vector drawings, presentations and spreadsheets.") (define-public libmwaw (package (name "libmwaw") - (version "0.3.11") + (version "0.3.12") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/" name "/" name "/" name "-" version "/" name "-" version ".tar.xz")) - (patches (search-patches "libmwaw-CVE-2017-9433.patch")) (sha256 (base32 - "16i9s9p4sjpdpbm3gq6jkc9r3nyfy47ggkdlgh7vr0mydccklj2b")))) + "1ryi1v38lgy5kv84fzjqkawidrg30y4hlqrz1v262792wzkad4bn")))) (build-system gnu-build-system) (native-inputs `(("doxygen" ,doxygen) @@ -617,9 +616,6 @@ text documents, vector drawings, presentations and spreadsheets.") (inputs `(("boost" ,boost) ("zlib" ,zlib))) - (arguments - ;; avoid triggering configure errors by simple inclusion of boost headers - `(#:configure-flags '("--disable-werror"))) (home-page "https://sourceforge.net/p/libmwaw/wiki/Home/") (synopsis "Import library for some old Macintosh text documents") (description "Libmwaw contains some import filters for old Macintosh diff --git a/gnu/packages/patches/libmwaw-CVE-2017-9433.patch b/gnu/packages/patches/libmwaw-CVE-2017-9433.patch deleted file mode 100644 index 502a11d2a8..0000000000 --- a/gnu/packages/patches/libmwaw-CVE-2017-9433.patch +++ /dev/null @@ -1,33 +0,0 @@ -Fix CVE-2017-9433: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9433 - -Patch copied from upstream source repository: - -https://sourceforge.net/p/libmwaw/libmwaw/ci/68b3b74569881248bfb6cbb4266177cc253b292f - -From 68b3b74569881248bfb6cbb4266177cc253b292f Mon Sep 17 00:00:00 2001 -From: David Tardon -Date: Sat, 8 Apr 2017 14:03:29 +0200 -Subject: [PATCH] ofz#1037 resize vector correctly - ---- - src/lib/MsWrd1Parser.cxx | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/lib/MsWrd1Parser.cxx b/src/lib/MsWrd1Parser.cxx -index 63547e6..3626064 100644 ---- a/src/lib/MsWrd1Parser.cxx -+++ b/src/lib/MsWrd1Parser.cxx -@@ -902,7 +902,7 @@ bool MsWrd1Parser::readFootnoteCorrespondance(MWAWVec2i limits) - int id = fIt++->second; - fPos[1] = fIt==footnoteMap.end() ? m_state->m_eot : fIt->first; - if (id >= int(m_state->m_footnotesList.size())) -- m_state->m_footnotesList.resize(size_t(id),MWAWVec2l(0,0)); -+ m_state->m_footnotesList.resize(size_t(id)+1,MWAWVec2l(0,0)); - m_state->m_footnotesList[size_t(id)]=fPos; - } - ascii().addDelimiter(input->tell(),'|'); --- -2.13.1 - From 37a68784a65260d0c3a103ff526f2bf96e37da85 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 8 Oct 2017 18:14:46 +0200 Subject: [PATCH 254/287] gnu: libwps: Update to 0.4.7. * gnu/packages/libreoffice.scm (libwps): Update to 0.4.7. [arguments]: Remove. --- gnu/packages/libreoffice.scm | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index c7e1d81c76..5ad1bb6277 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -649,14 +649,14 @@ from the old StarOffice (.sdc, .sdw, ...).") (define-public libwps (package (name "libwps") - (version "0.4.0") + (version "0.4.7") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/" name "/" name "/" name "-" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "0nlrdk7di015l0sk0ivjdqs86zdcvf73p9z9s9ry5glyhrknzxjk")))) + "05xjb35y5ha9grgjqs3viaglq7ydsry1hzdvkm7y5b6f1disnb1g")))) (build-system gnu-build-system) (native-inputs `(("doxygen" ,doxygen) @@ -666,9 +666,6 @@ from the old StarOffice (.sdc, .sdw, ...).") (inputs `(("boost" ,boost) ("zlib" ,zlib))) - (arguments - ;; avoid triggering configure errors by simple inclusion of boost headers - `(#:configure-flags '("--disable-werror"))) (home-page "http://libwps.sourceforge.net/") (synopsis "Import library for Microsoft Works text documents") (description "Libwps is a library for importing files in the Microsoft From 7cb3e9d3fca15c8a4f049102e1e8dea5dad5b8f6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 8 Oct 2017 18:17:58 +0200 Subject: [PATCH 255/287] gnu: libzmf: Update to 0.0.2. * gnu/packages/libreoffice.scm (libzmf): Update to 0.0.2. --- gnu/packages/libreoffice.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 5ad1bb6277..78139ff4d8 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -675,14 +675,14 @@ Works word processor file format.") (define-public libzmf (package (name "libzmf") - (version "0.0.1") + (version "0.0.2") (source (origin (method url-fetch) (uri (string-append "http://dev-www.libreoffice.org/src/libzmf/libzmf-" version ".tar.xz")) (sha256 (base32 - "0yp5l1b90xim506zmr3ljkn3qkvbc7qk3dnwq1snxdpr57m37xga")))) + "08mg5kmkjrmqrd8j5rkzw9vdqlvibhb1ynp6bmfxnzq5rcq1l197")))) (build-system gnu-build-system) (inputs `(("boost" ,boost) From 832735965d9c557254a702a3ab4900a50e34153f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 8 Oct 2017 18:32:00 +0200 Subject: [PATCH 256/287] gnu: vigra: Update to 1.11.1. * gnu/packages/image.scm (vigra): Update 1.11.1. [source]: Don't hard-code version. [home-page]: Change to . --- gnu/packages/image.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index aed4bdd6ec..b53247de82 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -738,15 +738,15 @@ graphics image formats like PNG, BMP, JPEG, TIFF and others.") (define-public vigra (package (name "vigra") - (version "1.11.0") + (version "1.11.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/ukoethe/vigra/releases/download/" - "Version-1-11-0/vigra-" - version "-src.tar.gz")) + "Version-" (string-join (string-split version #\.) "-") + "/vigra-" version "-src.tar.gz")) (sha256 (base32 - "1jzm79kqiiilvys3b8mlzy9cvmiirrcwsrlg19qd9rza8zipsqb8")))) + "1bqs8vx5i1bzamvv563i24gx2xxdidqyxh9iaj46mbznhc84wmm5")))) (build-system cmake-build-system) (inputs `(("boost" ,boost) @@ -792,7 +792,7 @@ processing and analysis library that puts its main emphasis on customizable algorithms and data structures. It is particularly strong for multi-dimensional image processing.") (license license:expat) - (home-page "https://hci.iwr.uni-heidelberg.de/vigra"))) + (home-page "https://ukoethe.github.io/vigra/"))) (define-public libwebp (package From f51befedbbcd29eb8a054296b569ca54cafd7d97 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 8 Oct 2017 21:37:44 +0200 Subject: [PATCH 257/287] gnu: libreoffice: Don't replace "/bin/sh" reference with bash. * gnu/packages/libreoffice.scm (libreoffice)[arguments]: Use (which "sh") instead of (which "bash") in /bin/sh substitution. --- gnu/packages/libreoffice.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 78139ff4d8..9980837c85 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -966,7 +966,7 @@ and to return information on pronunciations, meanings and synonyms.") (list "sysui/CustomTarget_share.mk" "solenv/gbuild/gbuild.mk" "solenv/gbuild/platform/unxgcc.mk") - (("/bin/sh") (which "bash"))) + (("/bin/sh") (which "sh"))) (mkdir "external/tarballs") (symlink xmlsec From bd6d0eba67d00f1c267d8d8592c3395a2a8db82f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 9 Oct 2017 21:23:08 +0200 Subject: [PATCH 258/287] gnu: sddm: Update to 0.16.0. * gnu/packages/display-managers.scm (sddm): Update to 0.16.0. [source]: Switch to '.xz' tarball. --- gnu/packages/display-managers.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm index 9f8d7b8250..3e8a14e2d3 100644 --- a/gnu/packages/display-managers.scm +++ b/gnu/packages/display-managers.scm @@ -132,16 +132,16 @@ Qt-style API for Wayland clients.") (define-public sddm (package (name "sddm") - (version "0.15.0") + (version "0.16.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/sddm/sddm" "/releases/download/v" version "/" - "sddm-" version ".tar.gz")) + "sddm-" version ".tar.xz")) (sha256 (base32 - "0x1igkjm3k8q26xbmg0qah1fc2pn2sfc675w0xg42x7ncrdiw8d4")))) + "0fwf1wsdak5yglykfyq4wbx9g9gi079n8ncjrdynz17hwwiql4z9")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) From b84a80793aba4bb77ea7a2faa7dd7d7fa6191e8d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 9 Oct 2017 21:23:35 +0200 Subject: [PATCH 259/287] gnu: libnl: Update to 3.4.0. * gnu/packages/linux.scm (libnl): Update to 3.4.0. --- 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 6257c8b47f..8f1075c460 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1466,7 +1466,7 @@ transparently through a bridge.") (define-public libnl (package (name "libnl") - (version "3.3.0") + (version "3.4.0") (source (origin (method url-fetch) (uri (string-append @@ -1475,7 +1475,7 @@ transparently through a bridge.") "/libnl-" version ".tar.gz")) (sha256 (base32 - "1r3lw3hjvqxi5zqyq2w1qadm3gisd9nlf71dkl4yplacmssnhm3h")))) + "1gzm444rnsib64dddv0cwlpzy1q4bycjqhp1i5pxpikimqvpca5p")))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) @@ -1490,7 +1490,7 @@ transparently through a bridge.") (string-join (string-split version #\.) "_") "/libnl-doc-" version ".tar.gz")) (sha256 - (base32 "0srab805yj8wb13l64qjyp3mdbqapxg5vk46v3zlhhzpmxqw8j7r")))))) + (base32 "1m5cnzviv31gjnz6fz5rgyl6ah4dbp2akm49j9973sgwl36gs8jx")))))) (inputs `(("python-2" ,python-2) ("python-3" ,python-3))) From 1066696dcc912e64edc6a2b0da5daa76e151c8f0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 10 Oct 2017 00:06:04 +0200 Subject: [PATCH 260/287] gnu: lftp: Update to 4.8.3. * gnu/packages/ftp.scm (lftp): Update to 4.8.3. --- gnu/packages/ftp.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm index f3f2b5ea71..cbec25be15 100644 --- a/gnu/packages/ftp.scm +++ b/gnu/packages/ftp.scm @@ -46,7 +46,7 @@ (define-public lftp (package (name "lftp") - (version "4.8.2") + (version "4.8.3") (source (origin (method url-fetch) ;; See https://lftp.tech/get.html for mirrors. @@ -58,7 +58,7 @@ "ftp/lftp/lftp-" version ".tar.xz"))) (sha256 (base32 - "176d90amkm1klwjpfpzdsvmjnyri8f74bv4fpip8app0fs25p1sw")))) + "12y77jlfs4x4zvcah92mw2h2sb4j0bvbaxkh3wwsm8gs392ywyny")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From 97ecd75e289d96a8b4f9b1ae877d9d1a2f6774b4 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 10 Oct 2017 19:34:02 +0200 Subject: [PATCH 261/287] gnu: libxfont: Fix CVE-2017-13720, CVE-2017-13722. * gnu/packages/patches/libxfont-CVE-2017-13720.patch, gnu/packages/patches/libxfont-CVE-2017-13722.patch: New files. * gnu/local.mk (dist_patch_DATA): Register them. * gnu/packages/xorg.scm (libxfont, libxfont2)[source]: Use them. --- gnu/local.mk | 2 + .../patches/libxfont-CVE-2017-13720.patch | 36 +++++++++++++ .../patches/libxfont-CVE-2017-13722.patch | 53 +++++++++++++++++++ gnu/packages/xorg.scm | 4 ++ 4 files changed, 95 insertions(+) create mode 100644 gnu/packages/patches/libxfont-CVE-2017-13720.patch create mode 100644 gnu/packages/patches/libxfont-CVE-2017-13722.patch diff --git a/gnu/local.mk b/gnu/local.mk index 21b4b9532d..234c92ba97 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -818,6 +818,8 @@ dist_patch_DATA = \ %D%/packages/patches/libvisio-fix-tests.patch \ %D%/packages/patches/libvpx-CVE-2016-2818.patch \ %D%/packages/patches/libxcb-python-3.5-compat.patch \ + %D%/packages/patches/libxfont-CVE-2017-13720.patch \ + %D%/packages/patches/libxfont-CVE-2017-13722.patch \ %D%/packages/patches/libxml2-CVE-2016-4658.patch \ %D%/packages/patches/libxml2-CVE-2016-5131.patch \ %D%/packages/patches/libxml2-CVE-2017-0663.patch \ diff --git a/gnu/packages/patches/libxfont-CVE-2017-13720.patch b/gnu/packages/patches/libxfont-CVE-2017-13720.patch new file mode 100644 index 0000000000..0936171060 --- /dev/null +++ b/gnu/packages/patches/libxfont-CVE-2017-13720.patch @@ -0,0 +1,36 @@ +Fix CVE-2017-13720. + +Copied from upstream source repository: + + + +From d1e670a4a8704b8708e493ab6155589bcd570608 Mon Sep 17 00:00:00 2001 +From: Michal Srb +Date: Thu, 20 Jul 2017 13:38:53 +0200 +Subject: Check for end of string in PatternMatch (CVE-2017-13720) + +If a pattern contains '?' character, any character in the string is skipped, +even if it is '\0'. The rest of the matching then reads invalid memory. + +Reviewed-by: Peter Hutterer +Signed-off-by: Julien Cristau + +diff --git a/src/fontfile/fontdir.c b/src/fontfile/fontdir.c +index 4ce2473..996b7d1 100644 +--- a/src/fontfile/fontdir.c ++++ b/src/fontfile/fontdir.c +@@ -400,8 +400,10 @@ PatternMatch(char *pat, int patdashes, char *string, int stringdashes) + } + } + case '?': +- if (*string++ == XK_minus) ++ if ((t = *string++) == XK_minus) + stringdashes--; ++ if (!t) ++ return 0; + break; + case '\0': + return (*string == '\0'); +-- +cgit v0.10.2 + diff --git a/gnu/packages/patches/libxfont-CVE-2017-13722.patch b/gnu/packages/patches/libxfont-CVE-2017-13722.patch new file mode 100644 index 0000000000..458fdfd1a7 --- /dev/null +++ b/gnu/packages/patches/libxfont-CVE-2017-13722.patch @@ -0,0 +1,53 @@ +Fix CVE-2017-13722. + +Copied from upstream source repository: + + +From 672bb944311392e2415b39c0d63b1e1902905bcd Mon Sep 17 00:00:00 2001 +From: Michal Srb +Date: Thu, 20 Jul 2017 17:05:23 +0200 +Subject: pcfGetProperties: Check string boundaries (CVE-2017-13722) + +Without the checks a malformed PCF file can cause the library to make +atom from random heap memory that was behind the `strings` buffer. +This may crash the process or leak information. + +Signed-off-by: Julien Cristau + +diff --git a/src/bitmap/pcfread.c b/src/bitmap/pcfread.c +index dab1c44..ae34c28 100644 +--- a/src/bitmap/pcfread.c ++++ b/src/bitmap/pcfread.c +@@ -45,6 +45,7 @@ from The Open Group. + + #include + #include ++#include + + void + pcfError(const char* message, ...) +@@ -311,11 +312,19 @@ pcfGetProperties(FontInfoPtr pFontInfo, FontFilePtr file, + if (IS_EOF(file)) goto Bail; + position += string_size; + for (i = 0; i < nprops; i++) { ++ if (props[i].name >= string_size) { ++ pcfError("pcfGetProperties(): String starts out of bounds (%ld/%d)\n", props[i].name, string_size); ++ goto Bail; ++ } + props[i].name = MakeAtom(strings + props[i].name, +- strlen(strings + props[i].name), TRUE); ++ strnlen(strings + props[i].name, string_size - props[i].name), TRUE); + if (isStringProp[i]) { ++ if (props[i].value >= string_size) { ++ pcfError("pcfGetProperties(): String starts out of bounds (%ld/%d)\n", props[i].value, string_size); ++ goto Bail; ++ } + props[i].value = MakeAtom(strings + props[i].value, +- strlen(strings + props[i].value), TRUE); ++ strnlen(strings + props[i].value, string_size - props[i].value), TRUE); + } + } + free(strings); +-- +cgit v0.10.2 + diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index c2023dead2..7511c53266 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4862,6 +4862,8 @@ an X Window System display.") "mirror://xorg/individual/lib/libXfont-" version ".tar.bz2")) + (patches (search-patches "libxfont-CVE-2017-13720.patch" + "libxfont-CVE-2017-13722.patch")) (sha256 (base32 "0w8d07bkmjiarkx09579bl8zsq903mn8javc7qpi0ix4ink5x502")))) @@ -4895,6 +4897,8 @@ new API's in libXft, or the legacy API's in libX11.") (method url-fetch) (uri (string-append "mirror://xorg/individual/lib/libXfont2-" version ".tar.bz2")) + (patches (search-patches "libxfont-CVE-2017-13720.patch" + "libxfont-CVE-2017-13722.patch")) (sha256 (base32 "0znvwk36nhmyqpmhbm9mzisgixp1mp5qkfald8x1n5yxbm3vpyz9")))))) From 8cf892e6cd488fe9c1dee8e90c5474315378cbeb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 10 Oct 2017 20:01:12 +0200 Subject: [PATCH 262/287] gnu: xorg-server: Make the test-variant visible. * gnu/packages/xorg.scm (xorg-server-1.19.3): Remove 'hidden-package'. --- gnu/packages/xorg.scm | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 7511c53266..850cc947ba 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5206,23 +5206,20 @@ draggable titlebars and borders.") (license license:x11))) ;; This package is intended to be used when building GTK+. -;; Note: It's currently marked as "hidden" to avoid having two non-eq? -;; packages with the same name and version. (define-public xorg-server-1.19.3 - (hidden-package - (package - (inherit xorg-server) - (name "xorg-server") - (version "1.19.3") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/individual/xserver/" - name "-" version ".tar.bz2")) - (sha256 - (base32 - "162s1v901djr57gxmmk4airk8hiwcz79dqyz72972x1lw1k82yk7"))))))) + (package + (inherit xorg-server) + (name "xorg-server") + (version "1.19.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/xserver/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "162s1v901djr57gxmmk4airk8hiwcz79dqyz72972x1lw1k82yk7")))))) (define-public xorg-server-xwayland (package From 565e24c4e4710a5b81cce5cfb619b3e474e7f65c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 10 Oct 2017 20:09:20 +0200 Subject: [PATCH 263/287] gnu: libxfont2: Graft fixes for CVE-2017-13720, CVE-2017-13722. This is a followup to 97ecd75e289d96a8b4f9b1ae877d9d1a2f6774b4. * gnu/packages/xorg.scm (libxfont2)[source](patches): Remove. [replacement]: New field. (libxfont2/fixed): New variable. --- gnu/packages/xorg.scm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 850cc947ba..6a0835e279 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4893,16 +4893,24 @@ new API's in libXft, or the legacy API's in libX11.") (package (inherit libxfont) (version "2.0.1") + (replacement libxfont2/fixed) (source (origin (method url-fetch) (uri (string-append "mirror://xorg/individual/lib/libXfont2-" version ".tar.bz2")) - (patches (search-patches "libxfont-CVE-2017-13720.patch" - "libxfont-CVE-2017-13722.patch")) (sha256 (base32 "0znvwk36nhmyqpmhbm9mzisgixp1mp5qkfald8x1n5yxbm3vpyz9")))))) +(define libxfont2/fixed + (package + (inherit libxfont2) + (source + (origin + (inherit (package-source libxfont2)) + (patches (search-patches "libxfont-CVE-2017-13720.patch" + "libxfont-CVE-2017-13722.patch")))))) + (define-public libxi (package (name "libxi") From 77a4f1ae31fb47ec08290fce72756422bad1dd0c Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 4 Oct 2017 19:16:34 +0200 Subject: [PATCH 264/287] gnu: Add java-ops4j-base-lang. * gnu/packages/java.scm (java-ops4j-base-lang): New variable. --- gnu/packages/java.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 60590b1179..d1c4fee55d 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5315,3 +5315,38 @@ utility classes for the configuration of services.") and service platform for the Java programming language. This package contains the packageadmin service.") (license license:asl2.0))) + +(define-public java-ops4j-base-lang + (package + (name "java-ops4j-base-lang") + (version "1.5.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/ops4j/org.ops4j.base/" + "archive/base-" version ".tar.gz")) + (sha256 + (base32 + "18hl3lpchgpv8yh5rlk39l2gif5dlfgb8gxjmncf39pr2dprkniw")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "java-ops4j-base-lang.jar" + #:source-dir "ops4j-base-lang/src/main/java" + #:tests? #f; no tests + #:phases + (modify-phases %standard-phases + (add-before 'build 'add-test-file + (lambda _ + ;; That file is required by a test in ops4j-pax-exam-core-spi + (mkdir-p "build/classes/META-INF/maven/org.ops4j.base/ops4j-base-lang") + (with-output-to-file "build/classes/META-INF/maven/org.ops4j.base/ops4j-base-lang/pom.properties" + (lambda _ + (display + (string-append + "version=" ,version "\n" + "groupId=org.ops4j.base" + "artifactId=ops4j-base-lang\n"))))))))) + (home-page "https://ops4j1.jira.com/wiki/spaces/base/overview") + (synopsis "Utility classes and extensions to be used in OPS4J projects") + (description "OPS4J stands for Open Participation Software for Java. This +package contains utilities and extensions related to @code{java.lang}.") + (license license:asl2.0))) From b2353495cbe86d473cfd0530ff8157a904cb2061 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 4 Oct 2017 19:18:18 +0200 Subject: [PATCH 265/287] gnu: Add java-ops4j-base-monitors. * gnu/packages/java.scm (java-ops4j-base-monitors): New variable. --- gnu/packages/java.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index d1c4fee55d..bd8894e783 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5350,3 +5350,16 @@ the packageadmin service.") (description "OPS4J stands for Open Participation Software for Java. This package contains utilities and extensions related to @code{java.lang}.") (license license:asl2.0))) + +(define-public java-ops4j-base-monitors + (package + (inherit java-ops4j-base-lang) + (name "java-ops4j-base-monitors") + (arguments + `(#:jar-name "java-ops4j-base-monitors.jar" + #:source-dir "ops4j-base-monitors/src/main/java" + #:tests? #f)); no tests + (inputs + `(("lang" ,java-ops4j-base-lang))) + (description "OPS4J stands for Open Participation Software for Java. This +package contains utilities and extensions related to monitoring."))) From 322d349a111c36dd4e629a13966d7604d570b08c Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 4 Oct 2017 19:19:18 +0200 Subject: [PATCH 266/287] gnu: Add java-ops4j-base-io. * gnu/packages/java.scm (java-ops4j-base-io): New variable. --- gnu/packages/java.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index bd8894e783..44e20ff273 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5363,3 +5363,22 @@ package contains utilities and extensions related to @code{java.lang}.") `(("lang" ,java-ops4j-base-lang))) (description "OPS4J stands for Open Participation Software for Java. This package contains utilities and extensions related to monitoring."))) + +(define-public java-ops4j-base-io + (package + (inherit java-ops4j-base-lang) + (name "java-ops4j-base-io") + (arguments + `(#:jar-name "java-ops4j-base-io.jar" + #:source-dir "ops4j-base-io/src/main/java" + #:test-dir "ops4j-base-io/src/test" + #:test-exclude + (list "**/ListerTest.java"))) + (inputs + `(("lang" ,java-ops4j-base-monitors) + ("lang" ,java-ops4j-base-lang))) + (native-inputs + `(("junit" ,java-junit) + ("hamcrest" ,java-hamcrest-core))) + (description "OPS4J stands for Open Participation Software for Java. This +package contains utilities and extensions related to handling streams and files."))) From 559919c1d8b7e2908d8d589016c8d730c16199c2 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 4 Oct 2017 19:22:05 +0200 Subject: [PATCH 267/287] gnu: Add java-ops4j-base-util. * gnu/packages/java.scm (java-ops4j-base-util): New variable. --- gnu/packages/java.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 44e20ff273..6ef37cd1a0 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5382,3 +5382,19 @@ package contains utilities and extensions related to monitoring."))) ("hamcrest" ,java-hamcrest-core))) (description "OPS4J stands for Open Participation Software for Java. This package contains utilities and extensions related to handling streams and files."))) + +(define-public java-ops4j-base-util + (package + (inherit java-ops4j-base-lang) + (name "java-ops4j-base-util") + (arguments + `(#:jar-name "java-ops4j-base-util.jar" + #:source-dir "ops4j-base-util/src/main/java" + #:test-dir "ops4j-base-util/src/test")) + (inputs + `(("lang" ,java-ops4j-base-lang))) + (native-inputs + `(("junit" ,java-junit))) + (description "OPS4J stands for Open Participation Software for Java. This +package contains utilities and extensions related to environment, i18n and +mime types."))) From 60dcec7abb97e9bcec9d9dcf0553015143e2209e Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 4 Oct 2017 19:22:44 +0200 Subject: [PATCH 268/287] gnu: Add java-ops4j-base-util-property. * gnu/packages/java.scm (java-ops4j-base-util-property): New variable. --- gnu/packages/java.scm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 6ef37cd1a0..4bda697c58 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5398,3 +5398,18 @@ package contains utilities and extensions related to handling streams and files. (description "OPS4J stands for Open Participation Software for Java. This package contains utilities and extensions related to environment, i18n and mime types."))) + +(define-public java-ops4j-base-util-property + (package + (inherit java-ops4j-base-lang) + (name "java-ops4j-base-util-property") + (arguments + `(#:jar-name "java-ops4j-base-util-property.jar" + #:source-dir "ops4j-base-util-property/src/main/java" + #:tests? #f)); no tests + (inputs + `(("lang" ,java-ops4j-base-lang) + ("util" ,java-ops4j-base-util))) + (description "OPS4J stands for Open Participation Software for Java. This +package contains utilities and extensions related to resolving properties from +different sources."))) From 0edf8cf0863dc59befd4fe23c6988680c3428fd2 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 4 Oct 2017 19:23:22 +0200 Subject: [PATCH 269/287] gnu: Add java-ops4j-base-store. * gnu/packages/java.scm (java-ops4j-base-store): New variable. --- gnu/packages/java.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 4bda697c58..a418ce123f 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5413,3 +5413,19 @@ mime types."))) (description "OPS4J stands for Open Participation Software for Java. This package contains utilities and extensions related to resolving properties from different sources."))) + +(define-public java-ops4j-base-store + (package + (inherit java-ops4j-base-lang) + (name "java-ops4j-base-store") + (arguments + `(#:jar-name "java-ops4j-base-store.jar" + #:source-dir "ops4j-base-store/src/main/java" + #:tests? #f)); no tests + (inputs + `(("lang" ,java-ops4j-base-lang) + ("slf4j" ,java-slf4j-api) + ("io" ,java-ops4j-base-io))) + (description "OPS4J stands for Open Participation Software for Java. This +package contains utilities for storing and retrieving data from an +@code{InputStream}."))) From 214fcd8a9186c040af078a83497daa2ee58e413d Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 4 Oct 2017 19:23:57 +0200 Subject: [PATCH 270/287] gnu: Add java-ops4j-base-spi. * gnu/packages/java.scm (java-ops4j-base-spi): New variable. --- gnu/packages/java.scm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index a418ce123f..870f0b2ea7 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5429,3 +5429,18 @@ different sources."))) (description "OPS4J stands for Open Participation Software for Java. This package contains utilities for storing and retrieving data from an @code{InputStream}."))) + +(define-public java-ops4j-base-spi + (package + (inherit java-ops4j-base-lang) + (name "java-ops4j-base-spi") + (arguments + `(#:jar-name "java-ops4j-base-spi.jar" + #:source-dir "ops4j-base-spi/src/main/java" + #:test-dir "ops4j-base-spi/src/test")) + (native-inputs + `(("junit" ,java-junit) + ("hamcrest" ,java-hamcrest-core))) + (description "OPS4J stands for Open Participation Software for Java. This +package contains utilities for obtaining services via the Java SE 6 +@code{ServiceLoader}."))) From e1edf42e8274dfbae4551f9819f981544a6d839e Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 4 Oct 2017 19:58:01 +0200 Subject: [PATCH 271/287] gnu: Add java-aqute-bnd-annotation. * gnu/packages/java.scm (java-aqute-bnd-annotation): New variable. --- gnu/packages/java.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 870f0b2ea7..a8ed42122d 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5444,3 +5444,27 @@ package contains utilities for storing and retrieving data from an (description "OPS4J stands for Open Participation Software for Java. This package contains utilities for obtaining services via the Java SE 6 @code{ServiceLoader}."))) + +(define-public java-aqute-bnd-annotation + (package + (name "java-aqute-bnd-annotation") + (version "3.4.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/bndtools/bnd/archive/" + version ".REL.tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09vgb6axikbz66zi9falijbnzh1qnp9ysfns123dmzdb01cbza9q")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "java-aqute-bnd-annotation.jar" + #:source-dir "biz.aQute.bnd.annotation/src" + #:tests? #f)); empty test dir + (home-page "http://bnd.bndtools.org/") + (synopsis "Tools for OSGi") + (description "Bnd is a swiss army knife for OSGi, it creates manifest +headers based on analyzing the class code, it verifies the project settings, +it manages project dependencies, gives diffs jars, and much more.") + (license license:asl2.0))) From 60ba2978618d39db14bcd66c77ed1164cc325029 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 4 Oct 2017 20:01:41 +0200 Subject: [PATCH 272/287] gnu: Add java-aqute-libg. * gnu/packages/java.scm (java-aqute-libg): New variable. --- gnu/packages/java.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index a8ed42122d..d88d4bbe82 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5468,3 +5468,17 @@ package contains utilities for obtaining services via the Java SE 6 headers based on analyzing the class code, it verifies the project settings, it manages project dependencies, gives diffs jars, and much more.") (license license:asl2.0))) + +(define-public java-aqute-libg + (package + (inherit java-aqute-bnd-annotation) + (name "java-aqute-libg") + (arguments + `(#:jar-name "java-aqute-libg.jar" + #:source-dir "aQute.libg/src" + #:tests? #f)); FIXME: tests are in "aQute.libg/test", not in a java directory + (inputs + `(("slf4j" ,java-slf4j-api) + ("osgi-annot" ,java-osgi-annotation) + ("java-osgi-cmpn" ,java-osgi-cmpn) + ("osgi" ,java-osgi-core))))) From 5f26a13125981c8f1a980ca452d7eed46b18e67c Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 4 Oct 2017 20:02:46 +0200 Subject: [PATCH 273/287] gnu: Add java-aqute-bndlib. * gnu/packages/java.scm (java-aqute-bndlib): New variable. --- gnu/packages/java.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index d88d4bbe82..d7d635f70d 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5482,3 +5482,26 @@ it manages project dependencies, gives diffs jars, and much more.") ("osgi-annot" ,java-osgi-annotation) ("java-osgi-cmpn" ,java-osgi-cmpn) ("osgi" ,java-osgi-core))))) + +(define-public java-aqute-bndlib + (package + (inherit java-aqute-bnd-annotation) + (name "java-aqute-bndlib") + (arguments + `(#:jar-name "java-bndlib.jar" + #:source-dir "biz.aQute.bndlib/src" + #:tests? #f)); no tests + (inputs + `(("slf4j" ,java-slf4j-api) + ("osgi-annot" ,java-osgi-annotation) + ("java-aqute-libg" ,java-aqute-libg) + ("java-aqute-bnd-annotation" ,java-aqute-bnd-annotation) + ("java-osgi-service-component-annotations" ,java-osgi-service-component-annotations) + ("java-osgi-service-repository" ,java-osgi-service-repository) + ("java-osgi-service-log" ,java-osgi-service-log) + ("java-osgi-service-metatype-annotations" ,java-osgi-service-metatype-annotations) + ("java-osgi-namespace-contract" ,java-osgi-namespace-contract) + ("java-osgi-namespace-extender" ,java-osgi-namespace-extender) + ("java-osgi-namespace-service" ,java-osgi-namespace-service) + ("promise" ,java-osgi-util-promise) + ("osgi" ,java-osgi-core))))) From 25aef81d2657b0b9c111069cab5c1ec83ff86d5a Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 4 Oct 2017 20:06:17 +0200 Subject: [PATCH 274/287] gnu: Add java-ops4j-pax-tinybundles. * gnu/packages/java.scm (java-ops4j-pax-tinybundles): New variable. --- gnu/packages/java.scm | 49 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index d7d635f70d..d94d678442 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5505,3 +5505,52 @@ it manages project dependencies, gives diffs jars, and much more.") ("java-osgi-namespace-service" ,java-osgi-namespace-service) ("promise" ,java-osgi-util-promise) ("osgi" ,java-osgi-core))))) + +(define-public java-ops4j-pax-tinybundles + (package + (name "java-ops4j-pax-tinybundles") + (version "2.1.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/ops4j/org.ops4j.pax.tinybundles/" + "archive/tinybundles-" version ".tar.gz")) + (sha256 + (base32 + "0y0gq3pvv0iir2b885lmlwnvr724vv7vklzhhr4fs27d7mdkj871")))) + (arguments + `(#:jar-name "java-ops4j-pax-tinybundles.jar" + #:source-dir "src/main/java" + #:test-exclude + ;; Abstract base classes for other tests + (list "**/BndTest.java" "**/CoreTest.java") + #:phases + (modify-phases %standard-phases + (add-before 'check 'fix-version + (lambda _ + ;; This test has a reference to an old version of bndlib we are not + ;; packaging. It uses the version referenced in pom.xml. We replace + ;; it with our own version. + (substitute* "src/test/java/org/ops4j/pax/tinybundles/bnd/BndTest.java" + (("2.4.0.201411031534") "3.4.0"))))))) + (inputs + `(("lang" ,java-ops4j-base-lang) + ("io" ,java-ops4j-base-io) + ("store" ,java-ops4j-base-store) + ("slf4j" ,java-slf4j-api) + ("libg" ,java-aqute-libg) + ("bndlib" ,java-aqute-bndlib))) + (native-inputs + `(("junit" ,java-junit) + ("hamcrest" ,java-hamcrest-core) + ("log4j" ,java-log4j-api) + ("bndannotation" ,java-aqute-bnd-annotation) + ("framework" ,java-osgi-framework))) + (build-system ant-build-system) + (home-page "https://ops4j1.jira.com/wiki/spaces/ops4j/pages/12060312/Tinybundles") + (synopsis "Java APIs to create OSGi related artifacts") + (description "Tinybundles is all about creating OSGi related artifacts like +Bundles, Fragments and Deployment Packages with Java Api. It is very convinient +to create such artifacts on-the-fly inside Tests (like in Pax Exam). On the +other hand, this library can be a foundation of real end user tools that need +to create those artifacts.") + (license license:asl2.0))) From e179add07b28fdf015d508850e6f3a48372c7311 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 4 Oct 2017 20:07:18 +0200 Subject: [PATCH 275/287] gnu: Add java-ops4j-pax-exam-core. * gnu/packages/java.scm (java-ops4j-pax-exam-core): New variable. --- gnu/packages/java.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index d94d678442..2783565495 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5554,3 +5554,36 @@ to create such artifacts on-the-fly inside Tests (like in Pax Exam). On the other hand, this library can be a foundation of real end user tools that need to create those artifacts.") (license license:asl2.0))) + +(define-public java-ops4j-pax-exam-core + (package + (name "java-ops4j-pax-exam-core") + (version "4.11.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/ops4j/org.ops4j.pax.exam2/" + "archive/exam-reactor-" version ".tar.gz")) + (sha256 + (base32 + "08mzw8nkah3rj3vznlplnawspxhp61zgvb44ifqa1rni1cvbms2g")))) + (arguments + `(#:jar-name "java-ops4j-pax-exam-core.jar" + #:source-dir "core/pax-exam/src/main/java" + #:test-dir "core/pax-exam/src/test")) + (inputs + `(("slf4j" ,java-slf4j-api) + ("lang" ,java-ops4j-base-lang) + ("io" ,java-ops4j-base-io) + ("util-property" ,java-ops4j-base-util-property) + ("util-store" ,java-ops4j-base-store) + ("java-osgi-core" ,java-osgi-core))) + (native-inputs + `(("junit" ,java-junit) + ("hamcrest" ,java-hamcrest-core))) + (build-system ant-build-system) + (home-page "https://ops4j1.jira.com/wiki/spaces/PAXEXAM4/overview") + (synopsis "In-Container Testing for OSGi, Java EE and CDI") + (description "Pax Exam creates OSGi bundles for testing purposes. It lets +the user take control of the OSGi framework, the test framework (e.g. JUnit) and +the system under test at the same time.") + (license license:asl2.0))) From 7a7c2b7556114e08d70213c67d0368d66f2fddca Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 4 Oct 2017 20:08:52 +0200 Subject: [PATCH 276/287] gnu: Add java-ops4j-pax-exam-core-spi. * gnu/packages/java.scm (java-ops4j-pax-exam-core-spi): New variable. --- gnu/packages/java.scm | 56 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 2783565495..07648a9d57 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5587,3 +5587,59 @@ to create those artifacts.") the user take control of the OSGi framework, the test framework (e.g. JUnit) and the system under test at the same time.") (license license:asl2.0))) + +(define-public java-ops4j-pax-exam-core-spi + (package + (inherit java-ops4j-pax-exam-core) + (name "java-ops4j-pax-exam-core-spi") + (arguments + `(#:jar-name "java-ops4j-pax-exam-spi.jar" + #:source-dir "src/main/java" + #:test-exclude + (list + ;; Abstract base class, not a test + "**/BaseStagedReactorTest.java" + ;; Depends on org.mortbay.jetty.testwars:test-war-dump + "**/WarBuilderTest.java") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'chdir + (lambda _ + ;; Tests assume we are in this directory + (chdir "core/pax-exam-spi"))) + (add-before 'check 'fix-tests + (lambda _ + ;; One test checks that this file is present. + (mkdir-p "build/classes/META-INF/maven/org.ops4j.pax.exam/pax-exam-spi") + (with-output-to-file + "build/classes/META-INF/maven/org.ops4j.pax.exam/pax-exam-spi/pom.properties" + (lambda _ + (display + (string-append "artifactId = pax-exam-spi\n" + "version = " ,(package-version java-ops4j-pax-exam-core-spi))))) + ;; Maven puts compilation results in the target directory, while we + ;; put them in the build directory. + (substitute* '("src/test/java/org/ops4j/pax/exam/spi/war/WarBuilderTest.java" + "src/test/java/org/ops4j/pax/exam/spi/war/WarTestProbeBuilderTest.java" + "src/test/java/org/ops4j/pax/exam/spi/war/ZipBuilderTest.java") + (("target") "build")) + ;; One test is expected to fail, but it doesn't throw the expected exception + (substitute* "src/test/java/org/ops4j/pax/exam/spi/reactors/BaseStagedReactorTest.java" + (("AssertionError") "IllegalArgumentException"))))))) + (inputs + `(("java-ops4j-pax-exam-core" ,java-ops4j-pax-exam-core) + ("lang" ,java-ops4j-base-lang) + ("monitors" ,java-ops4j-base-monitors) + ("store" ,java-ops4j-base-store) + ("io" ,java-ops4j-base-io) + ("spi" ,java-ops4j-base-spi) + ("osgi" ,java-osgi-core) + ("slf4j" ,java-slf4j-api) + ("tinybundles" ,java-ops4j-pax-tinybundles))) + (native-inputs + `(("mockito" ,java-mockito-1) + ("junit" ,java-junit) + ("hamcrest" ,java-hamcrest-core) + ("cglib" ,java-cglib) + ("objenesis" ,java-objenesis) + ("asm" ,java-asm))))) From 4496d77fb45b97745713970c7f81e671870392ad Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 4 Oct 2017 20:09:47 +0200 Subject: [PATCH 277/287] gnu: Add java-ops4j-pax-exam-core-junit. * gnu/packages/java.scm (java-ops4j-pax-exam-core-junit): New variable. --- gnu/packages/java.scm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 07648a9d57..788cf6ea61 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5643,3 +5643,18 @@ the system under test at the same time.") ("cglib" ,java-cglib) ("objenesis" ,java-objenesis) ("asm" ,java-asm))))) + +(define-public java-ops4j-pax-exam-core-junit + (package + (inherit java-ops4j-pax-exam-core) + (name "java-ops4j-pax-exam-core-junit") + (arguments + `(#:jar-name "ops4j-pax-exam-core-junit.jar" + #:source-dir "drivers/pax-exam-junit4/src/main/java" + #:tests? #f)); no tests + (inputs + `(("junit" ,java-junit) + ("slf4j" ,java-slf4j-api) + ("core" ,java-ops4j-pax-exam-core) + ("spi" ,java-ops4j-pax-exam-core-spi))) + (native-inputs '()))) From cb05f60d4a7dd8fcb2a092c6f265c1e6061d0088 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 4 Oct 2017 20:14:57 +0200 Subject: [PATCH 278/287] gnu: Add java-fasterxml-jackson-annotations. * gnu/packages/java.scm (java-fasterxml-jackson-annotations): New variable. --- gnu/packages/java.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 788cf6ea61..dc0fbd2b0e 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5658,3 +5658,29 @@ the system under test at the same time.") ("core" ,java-ops4j-pax-exam-core) ("spi" ,java-ops4j-pax-exam-core-spi))) (native-inputs '()))) + +(define-public java-fasterxml-jackson-annotations + (package + (name "java-fasterxml-jackson-annotations") + (version "2.9.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/FasterXML/" + "jackson-annotations/archive/" + "jackson-annotations-" version ".tar.gz")) + (sha256 + (base32 + "005ksgqx2ds3zdmlvbcmmz82y28b1mx0i9bpvprim1jaddbba0bd")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "jackson-annotations.jar" + #:source-dir "src/main/java" + #:test-dir "src/test")) + (native-inputs + `(("junit" ,java-junit))) + (home-page "https://github.com/FasterXML/jackson-annotations") + (synopsis "General purpose annotations for the Jackson Data Processor") + (description "This package contains general purpose annotations for the +Jackson Data Processor, used on value and handler types. The only annotations +not included are ones that require dependency to the Databind package.") + (license license:asl2.0))) From 0b5481dfd3c024ad18243016f297fc6848815e0b Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 4 Oct 2017 20:22:18 +0200 Subject: [PATCH 279/287] gnu: Add java-fasterxml-jackson-core. * gnu/packages/java.scm (java-fasterxml-jackson-core): New variable. --- gnu/packages/java.scm | 57 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index dc0fbd2b0e..38c731810f 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5684,3 +5684,60 @@ the system under test at the same time.") Jackson Data Processor, used on value and handler types. The only annotations not included are ones that require dependency to the Databind package.") (license license:asl2.0))) + +(define-public java-fasterxml-jackson-core + (package + (name "java-fasterxml-jackson-core") + (version "2.9.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/FasterXML/" + "jackson-core/archive/" + "jackson-core-" version ".tar.gz")) + (sha256 + (base32 + "1sdfp74zvlh4xr5h5bj87yjlp6kny3i8ai9m0q3xs7f8hvmxpx09")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "jackson-core.jar" + #:source-dir "src/main/java" + #:test-dir "src/test" + #:test-exclude + (list + ;; Expected failure. pom.xml excludes these + "**/failing/**" + ;; Base classes that have no constructor for junit + "**/BaseTest.java" + "**/ConcurrencyReadTest.java" + "**/ManualCharAccessTest.java" + "**/ManualCharAccessTest.java" + "**/TrailingCommasTest.java" + "**/AsyncMissingValuesInObjectTest.java" + "**/AsyncMissingValuesInArrayTest.java") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'generate-PackageVersion.java + (lambda _ + (let* ((out "src/main/java/com/fasterxml/jackson/core/json/PackageVersion.java") + (in (string-append out ".in"))) + (copy-file in out) + (substitute* out + (("@package@") "com.fasterxml.jackson.core.json") + (("@projectversion@") ,version) + (("@projectgroupid@") "com.fasterxml.jackson.core") + (("@projectartifactid@") "jackson-core"))))) + (add-before 'build 'copy-resources + (lambda _ + (copy-recursively "src/main/resources" + "build/classes"))) + (add-before 'check 'copy-test-resources + (lambda _ + (copy-recursively "src/test/resources" + "build/test-classes")))))) + (native-inputs + `(("junit" ,java-junit) + ("hamcrest" ,java-hamcrest-core))) + (home-page "https://github.com/FasterXML/jackson-core") + (synopsis "") + (description "") + (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing From f234c7a065118c0928f0359f4fb34cab6346d518 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 4 Oct 2017 20:27:19 +0200 Subject: [PATCH 280/287] gnu: Add java-fasterxml-jackson-databind. * gnu/packages/java.scm (java-fasterxml-jackson-databind): New variable. --- gnu/packages/java.scm | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 38c731810f..1d9a24775b 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5741,3 +5741,46 @@ not included are ones that require dependency to the Databind package.") (synopsis "") (description "") (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing + +(define-public java-fasterxml-jackson-databind + (package + (name "java-fasterxml-jackson-databind") + (version "2.9.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/FasterXML/" + "jackson-databind/archive/" + "jackson-databind-" version ".tar.gz")) + (sha256 + (base32 + "02xrbj6g7pzybq8q33xmpf7cxfapk6z6lgxvig7d38fijz400lji")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "jackson-databind.jar" + #:source-dir "src/main/java" + #:tests? #f; requires javax.measures for which I can't find a free implementation + #:phases + (modify-phases %standard-phases + (add-before 'configure 'generate-PackageVersion.java + (lambda _ + (let* ((out "src/main/java/com/fasterxml/jackson/databind/cfg/PackageVersion.java") + (in (string-append out ".in"))) + (copy-file in out) + (substitute* out + (("@package@") "com.fasterxml.jackson.databind.cfg") + (("@projectversion@") ,version) + (("@projectgroupid@") "com.fasterxml.jackson.databind") + (("@projectartifactid@") "jackson-databind"))))) + (add-before 'build 'copy-resources + (lambda _ + (copy-recursively "src/main/resources" "build/classes")))))) + (inputs + `(("java-fasterxml-jackson-annotations" ,java-fasterxml-jackson-annotations) + ("java-fasterxml-jackson-core" ,java-fasterxml-jackson-core))) + (home-page "https://github.com/FasterXML/jackson-databind") + (synopsis "Data-binding functionality and tree-model for the Jackson Data Processor") + (description "This package contains the general-purpose data-binding +functionality and tree-model for Jackson Data Processor. It builds on core +streaming parser/generator package, and uses Jackson Annotations for +configuration.") + (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing From d57d8b89bb452c39d3a3dcb64794daadeff4a618 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 4 Oct 2017 20:34:20 +0200 Subject: [PATCH 281/287] gnu: Add java-fasterxml-jackson-modules-base-jaxb. * gnu/packages/java.scm (java-fasterxml-jackson-modules-base-jaxb): New variable. --- gnu/packages/java.scm | 47 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 1d9a24775b..a8a862057d 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5784,3 +5784,50 @@ functionality and tree-model for Jackson Data Processor. It builds on core streaming parser/generator package, and uses Jackson Annotations for configuration.") (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing + +(define-public java-fasterxml-jackson-modules-base-jaxb + (package + (name "java-fasterxml-jackson-modules-base-jaxb") + (version "2.9.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/FasterXML/" + "jackson-modules-base/archive/" + "jackson-modules-base-" version ".tar.gz")) + (sha256 + (base32 + "0bj2pzvycnj3ysbcfa6xl38dmvnp01mnjfcb9jyhv503fch2iv44")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "jackson-modules-base-jaxb.jar" + #:source-dir "jaxb/src/main/java" + #:test-dir "jaxb/src/test" + #:test-exclude + ;; Base class for tests + (list "**/BaseJaxbTest.java") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'generate-PackageVersion.java + (lambda _ + (let* ((out (string-append "jaxb/src/main/java/com/fasterxml/" + "jackson/module/jaxb/PackageVersion.java")) + (in (string-append out ".in"))) + (copy-file in out) + (substitute* out + (("@package@") "com.fasterxml.jackson.module.jaxb") + (("@projectversion@") ,version) + (("@projectgroupid@") "com.fasterxml.jackson.module.jaxb") + (("@projectartifactid@") "jackson-module-jaxb"))))) + (add-before 'build 'copy-resources + (lambda _ + (copy-recursively "jaxb/src/main/resources" "build/classes")))))) + (inputs + `(("java-fasterxml-jackson-annotations" ,java-fasterxml-jackson-annotations) + ("java-fasterxml-jackson-core" ,java-fasterxml-jackson-core) + ("java-fasterxml-jackson-databind" ,java-fasterxml-jackson-databind))) + (native-inputs + `(("java-junit" ,java-junit))) + (home-page "https://github.com/FasterXML/jackson-modules-base") + (synopsis "Jaxb annotations jackson module") + (description "This package is the jaxb annotations module for jackson.") + (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing From 0f296d3747ef66bfea3df2d2b63ec487771e576d Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 4 Oct 2017 20:45:14 +0200 Subject: [PATCH 282/287] gnu: Add java-snakeyaml. * gnu/packages/java.scm (java-snakeyaml): New variable. --- gnu/packages/java.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index a8a862057d..48e1d7f81c 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5831,3 +5831,26 @@ configuration.") (synopsis "Jaxb annotations jackson module") (description "This package is the jaxb annotations module for jackson.") (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing + +(define-public java-snakeyaml + (package + (name "java-snakeyaml") + (version "1.18") + (source (origin + (method url-fetch) + (uri (string-append "https://bitbucket.org/asomov/snakeyaml/get/v" + version ".tar.gz")) + (sha256 + (base32 + "0rf5ha6w0waz50jz2479jsrbgmd0dnx0gs337m126j5z7zlmg7mg")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "java-snakeyaml.jar" + #:source-dir "src/main/java" + ;; Tests require velocity, a cyclic dependency, and + ;; java-spring-framework-context which is not packaged. + #:tests? #f)) + (home-page "https://bitbucket.org/asomov/snakeyaml") + (synopsis "YAML processor") + (description "SnakeYAML is a YAML processor for the Java Virtual Machine.") + (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing From 087c8fd2c09fdff2b0b29c5119cc2ddf3f37381c Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 4 Oct 2017 20:59:27 +0200 Subject: [PATCH 283/287] gnu: Add java-fasterxml-jackson-dataformat-yaml. * gnu/packages/java.scm (java-fasterxml-jackson-dataformat-yaml): New variable. --- gnu/packages/java.scm | 48 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 48e1d7f81c..ab14584d78 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5854,3 +5854,51 @@ configuration.") (synopsis "YAML processor") (description "SnakeYAML is a YAML processor for the Java Virtual Machine.") (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing + +(define-public java-fasterxml-jackson-dataformat-yaml + (package + (name "java-fasterxml-jackson-dataformat-yaml") + (version "2.9.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/FasterXML/" + "jackson-dataformats-text/archive/" + "jackson-dataformats-text-" version ".tar.gz")) + (sha256 + (base32 + "140fwcafv05zbh2ppa6z533dzmfcvzbdxf0dbpbyzqvd84v2vhl2")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "jackson-dataformat-yaml.jar" + #:source-dir "yaml/src/main/java" + #:test-dir "yaml/src/test" + #:test-exclude (list "**/failing/**.java") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'generate-PackageVersion.java + (lambda _ + (let* ((out "yaml/src/main/java/com/fasterxml/jackson/dataformat/yaml/PackageVersion.java") + (in (string-append out ".in"))) + (copy-file in out) + (substitute* out + (("@package@") "com.fasterxml.jackson.dataformat.yaml") + (("@projectversion@") ,version) + (("@projectgroupid@") "com.fasterxml.jackson.dataformat.yaml") + (("@projectartifactid@") "jackson-dataformat-yaml")))))))) + (inputs + `(("java-fasterxml-jackson-annotations" ,java-fasterxml-jackson-annotations) + ("java-fasterxml-jackson-core" ,java-fasterxml-jackson-core) + ("java-fasterxml-jackson-databind" ,java-fasterxml-jackson-databind) + ("java-snakeyaml" ,java-snakeyaml))) + (native-inputs + `(("junit" ,java-junit) + ("hamcrest" ,java-hamcrest-core) + ("java-ops4j-pax-exam-core-spi" ,java-ops4j-pax-exam-core-spi) + ("java-ops4j-pax-exam-core-junit" ,java-ops4j-pax-exam-core-junit) + ("java-ops4j-pax-exam" ,java-ops4j-pax-exam-core))) + (home-page "https://github.com/FasterXML/jackson-dataformats-text") + (synopsis "Yaml backend for Jackson") + (description "Dataformat backends are used to support format alternatives +to JSON, supported by default. This is done by sub-classing Jackson core +abstractions.") + (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing From 6fd07b98b144c239d27475d2bfac5ec3ee66be16 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 4 Oct 2017 21:09:41 +0200 Subject: [PATCH 284/287] gnu: Add java-stax2-api. * gnu/packages/java.scm (java-stax2-api): New variable. --- gnu/packages/java.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index ab14584d78..993bffe640 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5902,3 +5902,26 @@ configuration.") to JSON, supported by default. This is done by sub-classing Jackson core abstractions.") (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing + +(define-public java-stax2-api + (package + (name "java-stax2-api") + (version "4.0.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/FasterXML/stax2-api/archive/" + "stax2-api-" version ".tar.gz")) + (sha256 + (base32 + "1amc1si0l0hyyw2sawmnzy4hkna3z6fp195y4nm5m9wb9ld5awkq")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "java-stax2-api.jar" + #:source-dir "src/main/java" + #:tests? #f)); no tests + (home-page "https://github.com/FasterXML/stax2-api") + (synopsis "Stax2 API") + (description "Stax2 API is an extension to basic Stax 1.0 API that adds +significant new functionalities, such as full-featured bi-direction validation +interface and high-performance Typed Access API.") + (license license:bsd-2))) From 40f193f31668a90fc936358e4d9e3f28b041505f Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 4 Oct 2017 21:12:17 +0200 Subject: [PATCH 285/287] gnu: Add java-woodstox-core. * gnu/packages/java.scm (java-woodstox-core): New variable. --- gnu/packages/java.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 993bffe640..507fd086d3 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5925,3 +5925,41 @@ abstractions.") significant new functionalities, such as full-featured bi-direction validation interface and high-performance Typed Access API.") (license license:bsd-2))) + +(define-public java-woodstox-core + (package + (name "java-woodstox-core") + (version "5.0.3") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/FasterXML/woodstox/archive/" + "woodstox-core-" version ".tar.gz")) + (sha256 + (base32 + "1i7pdgb8jbw6gdy5kmm0l6rz109n2ns92pqalpyp24vb8vlvdfd4")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "woodstox.jar" + #:test-exclude + (list "**/Base*.java" "failing/**") + #:phases + (modify-phases %standard-phases + (add-before 'build 'remove-msv-dep + (lambda _ + ;; we don't need osgi, and it depends on msv + (delete-file-recursively "src/main/java/com/ctc/wstx/osgi") + ;; msv's latest release is from 2011 and we don't need it + (delete-file-recursively "src/main/java/com/ctc/wstx/msv") + (delete-file-recursively "src/test/java/wstxtest/osgi") + (delete-file-recursively "src/test/java/wstxtest/msv"))) + (add-before 'build 'copy-resources + (lambda _ + (copy-recursively "src/main/resources" "build/classes")))))) + (inputs + `(("stax2" ,java-stax2-api))) + (native-inputs + `(("junit" ,java-junit))) + (home-page "https://github.com/FasterXML/woodstox") + (synopsis "Stax XML API implementation") + (description "Woodstox is a stax XML API implementation.") + (license license:asl2.0))) From 262a4d335ac1fc1aa83cd4c611ed6d086d0193c5 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 4 Oct 2017 21:19:15 +0200 Subject: [PATCH 286/287] gnu: Add java-fasterxml-jackson-dataformat-xml. * gnu/packages/java.scm (java-fasterxml-jackson-dataformat-xml): New variable. --- gnu/packages/java.scm | 57 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 507fd086d3..95fba20e88 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5963,3 +5963,60 @@ interface and high-performance Typed Access API.") (synopsis "Stax XML API implementation") (description "Woodstox is a stax XML API implementation.") (license license:asl2.0))) + +(define-public java-fasterxml-jackson-dataformat-xml + (package + (name "java-fasterxml-jackson-dataformat-xml") + (version "2.9.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/FasterXML/" + "jackson-dataformat-xml/archive/" + "jackson-dataformat-xml-" version ".tar.gz")) + (sha256 + (base32 + "0x3m9n4kwclcyvxhxjx654qpjza4crphml1q2392qpnbfydx6lnh")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "jackson-dataformat-xml.jar" + #:source-dir "src/main/java" + #:test-exclude + (list "**/failing/**") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'generate-PackageVersion.java + (lambda _ + (let* ((out "src/main/java/com/fasterxml/jackson/dataformat/xml/PackageVersion.java") + (in (string-append out ".in"))) + (copy-file in out) + (newline) + (substitute* out + (("@package@") "com.fasterxml.jackson.dataformat.xml") + (("@projectversion@") ,version) + (("@projectgroupid@") "com.fasterxml.jackson.dataformat.xml") + (("@projectartifactid@") "jackson-dataformat-xml"))))) + (add-before 'build 'copy-resources + (lambda _ + (copy-recursively "src/main/resources" "build/classes")))))) + (inputs + `(("jackson-annotations" ,java-fasterxml-jackson-annotations) + ("jackson-core" ,java-fasterxml-jackson-core) + ("jackson-modules-base-jaxb" ,java-fasterxml-jackson-modules-base-jaxb) + ("jackson-databind" ,java-fasterxml-jackson-databind) + ("stax2-api" ,java-stax2-api) + ("woodstox" ,java-woodstox-core))) + (native-inputs + `(("junit" ,java-junit) + ("hamcrest" ,java-hamcrest-core))) + (home-page "https://github.com/FasterXML/jackson-dataformat-xml") + (synopsis "Read and write XML") + (description "This package contains Jackson extension component for reading +and writing XML encoded data. + +Further, the goal is to emulate how JAXB data-binding works with \"Code-first\" +approach (that is, no support is added for \"Schema-first\" approach). Support +for JAXB annotations is provided by JAXB annotation module; this module +provides low-level abstractions (@code{JsonParser}, @code{JsonGenerator}, +@code{JsonFactory}) as well as small number of higher level overrides needed to +make data-binding work.") + (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing From 4b8b4418e609b5e0bfb6efbc11ac28deaa437e80 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Mon, 9 Oct 2017 12:09:11 +0200 Subject: [PATCH 287/287] services: vpn: Fix default tls-auth configuration. * gnu/services/vpn.scm (serialize-tls-auth): Fix serialization error when tls-auth is disabled. --- gnu/services/vpn.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/services/vpn.scm b/gnu/services/vpn.scm index 868a227fc0..cbb4a79a7b 100644 --- a/gnu/services/vpn.scm +++ b/gnu/services/vpn.scm @@ -108,10 +108,12 @@ #f)) (define (serialize-tls-auth role location) - (serialize-field 'tls-auth - (string-append location " " (match role - ('server "0") - ('client "1"))))) + (if location + (serialize-field 'tls-auth + (string-append location " " (match role + ('server "0") + ('client "1")))) + #f)) (define (tls-auth? val) (or (eq? val #f) (string? val)))