From 5fa6b52a548a806c36a450448972ae4007bbac17 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 20 Feb 2018 17:44:43 +0100 Subject: gnu: qemu: Update to 2.11.1. * gnu/packages/patches/qemu-CVE-2017-15038.patch, gnu/packages/patches/qemu-CVE-2017-15289.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Remove them. * gnu/packages/virtualization.scm (qemu): Update to 2.11.1 [source](patches): Remove. --- gnu/local.mk | 2 - gnu/packages/patches/qemu-CVE-2017-15038.patch | 51 -------------------- gnu/packages/patches/qemu-CVE-2017-15289.patch | 66 -------------------------- gnu/packages/virtualization.scm | 6 +-- 4 files changed, 2 insertions(+), 123 deletions(-) delete mode 100644 gnu/packages/patches/qemu-CVE-2017-15038.patch delete mode 100644 gnu/packages/patches/qemu-CVE-2017-15289.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 35c7fb470a..530b8d5ea8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1045,8 +1045,6 @@ dist_patch_DATA = \ %D%/packages/patches/python-unittest2-python3-compat.patch \ %D%/packages/patches/python-unittest2-remove-argparse.patch \ %D%/packages/patches/python-waitress-fix-tests.patch \ - %D%/packages/patches/qemu-CVE-2017-15038.patch \ - %D%/packages/patches/qemu-CVE-2017-15289.patch \ %D%/packages/patches/qt4-ldflags.patch \ %D%/packages/patches/qtbase-use-TZDIR.patch \ %D%/packages/patches/qtscript-disable-tests.patch \ diff --git a/gnu/packages/patches/qemu-CVE-2017-15038.patch b/gnu/packages/patches/qemu-CVE-2017-15038.patch deleted file mode 100644 index 4791a186bf..0000000000 --- a/gnu/packages/patches/qemu-CVE-2017-15038.patch +++ /dev/null @@ -1,51 +0,0 @@ -Fix CVE-2017-15038: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15038 - -Patch copied from upstream source repository: - -https://git.qemu.org/?p=qemu.git;a=commitdiff;h=7bd92756303f2158a68d5166264dc30139b813b6 - -From 7bd92756303f2158a68d5166264dc30139b813b6 Mon Sep 17 00:00:00 2001 -From: Prasad J Pandit -Date: Mon, 16 Oct 2017 14:21:59 +0200 -Subject: [PATCH] 9pfs: use g_malloc0 to allocate space for xattr - -9p back-end first queries the size of an extended attribute, -allocates space for it via g_malloc() and then retrieves its -value into allocated buffer. Race between querying attribute -size and retrieving its could lead to memory bytes disclosure. -Use g_malloc0() to avoid it. - -Reported-by: Tuomas Tynkkynen -Signed-off-by: Prasad J Pandit -Signed-off-by: Greg Kurz ---- - hw/9pfs/9p.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c -index 23ac7bb532..f8bbac251d 100644 ---- a/hw/9pfs/9p.c -+++ b/hw/9pfs/9p.c -@@ -3234,7 +3234,7 @@ static void coroutine_fn v9fs_xattrwalk(void *opaque) - xattr_fidp->fid_type = P9_FID_XATTR; - xattr_fidp->fs.xattr.xattrwalk_fid = true; - if (size) { -- xattr_fidp->fs.xattr.value = g_malloc(size); -+ xattr_fidp->fs.xattr.value = g_malloc0(size); - err = v9fs_co_llistxattr(pdu, &xattr_fidp->path, - xattr_fidp->fs.xattr.value, - xattr_fidp->fs.xattr.len); -@@ -3267,7 +3267,7 @@ static void coroutine_fn v9fs_xattrwalk(void *opaque) - xattr_fidp->fid_type = P9_FID_XATTR; - xattr_fidp->fs.xattr.xattrwalk_fid = true; - if (size) { -- xattr_fidp->fs.xattr.value = g_malloc(size); -+ xattr_fidp->fs.xattr.value = g_malloc0(size); - err = v9fs_co_lgetxattr(pdu, &xattr_fidp->path, - &name, xattr_fidp->fs.xattr.value, - xattr_fidp->fs.xattr.len); --- -2.15.0 - diff --git a/gnu/packages/patches/qemu-CVE-2017-15289.patch b/gnu/packages/patches/qemu-CVE-2017-15289.patch deleted file mode 100644 index d4b536a405..0000000000 --- a/gnu/packages/patches/qemu-CVE-2017-15289.patch +++ /dev/null @@ -1,66 +0,0 @@ -Fix CVE-2017-15289: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15289 - -Patch copied from upstream source repository: - -https://git.qemu.org/?p=qemu.git;a=commitdiff;h=eb38e1bc3740725ca29a535351de94107ec58d51 - -From eb38e1bc3740725ca29a535351de94107ec58d51 Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann -Date: Wed, 11 Oct 2017 10:43:14 +0200 -Subject: [PATCH] cirrus: fix oob access in mode4and5 write functions - -Move dst calculation into the loop, so we apply the mask on each -interation and will not overflow vga memory. - -Cc: Prasad J Pandit -Reported-by: Niu Guoxiang -Signed-off-by: Gerd Hoffmann -Message-id: 20171011084314.21752-1-kraxel@redhat.com ---- - hw/display/cirrus_vga.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -diff --git a/hw/display/cirrus_vga.c b/hw/display/cirrus_vga.c -index b4d579857a..bc32bf1e39 100644 ---- a/hw/display/cirrus_vga.c -+++ b/hw/display/cirrus_vga.c -@@ -2038,15 +2038,14 @@ static void cirrus_mem_writeb_mode4and5_8bpp(CirrusVGAState * s, - unsigned val = mem_value; - uint8_t *dst; - -- dst = s->vga.vram_ptr + (offset &= s->cirrus_addr_mask); - for (x = 0; x < 8; x++) { -+ dst = s->vga.vram_ptr + ((offset + x) & s->cirrus_addr_mask); - if (val & 0x80) { - *dst = s->cirrus_shadow_gr1; - } else if (mode == 5) { - *dst = s->cirrus_shadow_gr0; - } - val <<= 1; -- dst++; - } - memory_region_set_dirty(&s->vga.vram, offset, 8); - } -@@ -2060,8 +2059,8 @@ static void cirrus_mem_writeb_mode4and5_16bpp(CirrusVGAState * s, - unsigned val = mem_value; - uint8_t *dst; - -- dst = s->vga.vram_ptr + (offset &= s->cirrus_addr_mask); - for (x = 0; x < 8; x++) { -+ dst = s->vga.vram_ptr + ((offset + 2 * x) & s->cirrus_addr_mask & ~1); - if (val & 0x80) { - *dst = s->cirrus_shadow_gr1; - *(dst + 1) = s->vga.gr[0x11]; -@@ -2070,7 +2069,6 @@ static void cirrus_mem_writeb_mode4and5_16bpp(CirrusVGAState * s, - *(dst + 1) = s->vga.gr[0x10]; - } - val <<= 1; -- dst += 2; - } - memory_region_set_dirty(&s->vga.vram, offset, 16); - } --- -2.15.0 - diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index d49cdc208a..f8f9de16fc 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -82,16 +82,14 @@ (define-public qemu (package (name "qemu") - (version "2.10.2") + (version "2.11.1") (source (origin (method url-fetch) (uri (string-append "https://download.qemu.org/qemu-" version ".tar.xz")) - (patches (search-patches "qemu-CVE-2017-15038.patch" - "qemu-CVE-2017-15289.patch")) (sha256 (base32 - "17w21spvaxaidi2am5lpsln8yjpyp2zi3s3gc6nsxj5arlgamzgw")))) + "11l6cs6mib16rgdrnqrhkqs033fjik316gkgfz3asbmxz38lalca")))) (build-system gnu-build-system) (arguments '(;; Running tests in parallel can occasionally lead to failures, like: -- cgit v1.2.3 From d64bcccf43b0af2c7a113f498096fa021602b779 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 20 Feb 2018 17:52:00 +0100 Subject: gnu: grub: Run tests against Qemu 2.10. * gnu/packages/bootloaders.scm (qemu-minimal-2.10): New variable. (grub)[native-inputs]: Replace QEMU-MINIMAL with QEMU-MINIMAL-2.10. --- gnu/packages/bootloaders.scm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 59eb22f242..70b392f3c1 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -71,6 +71,21 @@ (base32 "0p2vhnc18cnbmb39vq4m7hzv4mhnm2l0a2s7gx3ar277fwng3hys")))) +;; The GRUB test suite fails with later versions of Qemu, so we +;; keep it at 2.10 for now. See +;; . +(define qemu-minimal-2.10 + (package + (inherit qemu-minimal) + (version "2.10.2") + (source (origin + (method url-fetch) + (uri (string-append "https://download.qemu.org/qemu-" + version ".tar.xz")) + (sha256 + (base32 + "17w21spvaxaidi2am5lpsln8yjpyp2zi3s3gc6nsxj5arlgamzgw")))))) + (define-public grub (package (name "grub") @@ -144,7 +159,7 @@ ;; Dependencies for the test suite. The "real" QEMU is needed here, ;; because several targets are used. ("parted" ,parted) - ("qemu" ,qemu-minimal) + ("qemu" ,qemu-minimal-2.10) ("xorriso" ,xorriso))) (home-page "https://www.gnu.org/software/grub/") (synopsis "GRand Unified Boot loader") -- cgit v1.2.3 From 5dd53cbf560f784577b3c22ac9e15e08e35566b5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 20 Feb 2018 19:05:13 +0100 Subject: gnu: nginx: Update to 1.13.9. * gnu/packages/web.scm (nginx): Update to 1.13.9. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 553b1e30c4..7b34b87244 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -182,14 +182,14 @@ Interface} specification.") (name "nginx") ;; Consider updating the nginx-documentation package if the nginx package is ;; updated. - (version "1.13.8") + (version "1.13.9") (source (origin (method url-fetch) (uri (string-append "https://nginx.org/download/nginx-" version ".tar.gz")) (sha256 (base32 - "1ib4hkngj9z7pl73lnn96d85m7v2wwb56nkypwx7d6pm3z1vc444")))) + "0hpsyxpxj89p5vrzv9p1hp7xjbnj5c1w6fdy626ycvsiay4a3bjz")))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl) ("pcre" ,pcre) -- cgit v1.2.3 From 1b541c3e9375952f4d58dec3783eea2316c65967 Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Sun, 18 Feb 2018 06:09:44 +0000 Subject: gnu: ldc: Update to 1.7.0. Fixes recent bootstrap and updates ldc and package manager to match. * gnu/packages/ldc.scm (ldc-bootstrap): Update to 0.17.4. [properties]: Add max-slient-time. [arguments]<#:phases>[patch-phobos]: Update patches (see below). (ldc): Update to 1.7.0. (ldc-beta): Delete variable. [arguments]<#:phases>[patch-phobos]: Update patches (see below). [arguments]<#:phases>[check]: Use invoke. (rdmd): Update to 2.077.1. (dub): Update to 1.7.2. * gnu/local.mk (dist_patch_DATA): Remove "ldc-disable-tests.patch". Add "ldc-bootstrap-disable-tests.patch". Remove "ldc-1.1.0-disable-phobos-tests.patch". Add "ldc-1.7.0-disable-phobos-tests.patch". Remove "ldc-1.1.0-disable-dmd-tests.patch". Co-Authored-By: Danny Milosavljevic --- gnu/local.mk | 5 +- gnu/packages/ldc.scm | 121 +++--- .../patches/ldc-1.1.0-disable-dmd-tests.patch | 35 -- .../patches/ldc-1.1.0-disable-phobos-tests.patch | 414 --------------------- .../patches/ldc-1.7.0-disable-phobos-tests.patch | 88 +++++ .../patches/ldc-bootstrap-disable-tests.patch | 72 ++++ gnu/packages/patches/ldc-disable-tests.patch | 74 ---- 7 files changed, 227 insertions(+), 582 deletions(-) delete mode 100644 gnu/packages/patches/ldc-1.1.0-disable-dmd-tests.patch delete mode 100644 gnu/packages/patches/ldc-1.1.0-disable-phobos-tests.patch create mode 100644 gnu/packages/patches/ldc-1.7.0-disable-phobos-tests.patch create mode 100644 gnu/packages/patches/ldc-bootstrap-disable-tests.patch delete mode 100644 gnu/packages/patches/ldc-disable-tests.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 530b8d5ea8..e61cb9f440 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -802,9 +802,8 @@ dist_patch_DATA = \ %D%/packages/patches/kobodeluxe-graphics-window-signed-char.patch \ %D%/packages/patches/laby-make-install.patch \ %D%/packages/patches/lcms-CVE-2016-10165.patch \ - %D%/packages/patches/ldc-disable-tests.patch \ - %D%/packages/patches/ldc-1.1.0-disable-dmd-tests.patch \ - %D%/packages/patches/ldc-1.1.0-disable-phobos-tests.patch \ + %D%/packages/patches/ldc-bootstrap-disable-tests.patch \ + %D%/packages/patches/ldc-1.7.0-disable-phobos-tests.patch \ %D%/packages/patches/ledger-fix-uninitialized.patch \ %D%/packages/patches/ledger-revert-boost-python-fix.patch \ %D%/packages/patches/liba52-enable-pic.patch \ diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm index 8fe59679f8..ef27ae4200 100644 --- a/gnu/packages/ldc.scm +++ b/gnu/packages/ldc.scm @@ -41,14 +41,14 @@ (define-public rdmd (package (name "rdmd") - (version "2.073.0") + (version "2.077.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/dlang/tools/archive/v" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "01if3ivnb7g2myfhymp4d9346s4vmvcl82i1kxfs5iza45almh7v")))) + "0c8w373rv6iz3xfid94w40ncv2lr2ncxi662qsr4lda4aghczmq7")))) (build-system gnu-build-system) (arguments '(#:phases @@ -77,7 +77,6 @@ and freshness without requiring additional information from the user.") (license license:boost1.0))) (define-public ldc-bootstrap - (let ((runtime-version "0.17.3")) (package (name "ldc") (version "0.17.4") @@ -92,6 +91,10 @@ and freshness without requiring additional information from the user.") "1kw0j378k6bh0k66dvx99bjq8ilp8bb24w3jrmibn8rhmqv0d5q8")))) (build-system cmake-build-system) (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux")) + (properties + ;; Some of the tests take a very long time on ARMv7. See + ;; . + `((max-silent-time . ,(* 3600 3)))) (arguments `(#:phases (modify-phases %standard-phases @@ -120,12 +123,15 @@ and freshness without requiring additional information from the user.") (("echo") (which "echo"))) (substitute* "runtime/phobos/std/datetime.d" (("/usr/share/zoneinfo/") - (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))) + (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")) + (("tzName == \"[+]VERSION\"") + "(tzName == \"+VERSION\" || std.algorithm.endsWith(tzName, \"/leapseconds\"))")) (substitute* "tests/d2/dmd-testsuite/Makefile" (("/bin/bash") (which "bash"))) ;; FIXME: this test cannot be linked. (delete-file "tests/d2/dmd-testsuite/runnable/cppa.d") - #t))))) + ;; the following two tests fail on i686 + (for-each delete-file '("tests/ir/attributes.d" "tests/ir/align.d"))))))) (inputs `(("libconfig" ,libconfig) ("libedit" ,libedit) @@ -142,59 +148,51 @@ and freshness without requiring additional information from the user.") (method url-fetch) (uri (string-append "https://github.com/ldc-developers/phobos/archive/ldc-v" - runtime-version ".tar.gz")) + version ".tar.gz")) (sha256 (base32 - "0qywnvnp019mmmr74aw90ir9f03iz0hc7cgzna609agsar0b27jl")) - (patches (search-patches "ldc-disable-tests.patch")))) + "16x36kp46mqiihxx7jvr1d3mv3b96yfmhinb9lzinh2m4clr85wz")) + (patches (search-patches "ldc-bootstrap-disable-tests.patch")))) ("druntime-src" ,(origin (method url-fetch) (uri (string-append "https://github.com/ldc-developers/druntime/archive/ldc-v" - runtime-version ".tar.gz")) + version ".tar.gz")) (sha256 (base32 - "0z418n6x2fxac07sxpi4rl69069qiym4w6r9sjppn91q58qh8hjs")))) + "0iw2xxhcbsc5f1707dgdzhff528363l4faqdk513gaxs2dhfx8vx")))) ("dmd-testsuite-src" ,(origin (method url-fetch) (uri (string-append "https://github.com/ldc-developers/dmd-testsuite/archive/ldc-v" - runtime-version ".tar.gz")) + version ".tar.gz")) (sha256 (base32 - "196mkfax5y3yqm3gz7jhqhnkjwrvr2m4a8nc9k41l0511ldzsk9x")))))) - - (properties - ;; Some of the tests take a very long time on ARMv7. See - ;; . - `((max-silent-time . ,(* 3600 3)))) - + "0z6ch930wjkg2vlnqkbliwxxxifad6ydsdpwdxwnajkb2kaxsjx4")))))) (home-page "http://wiki.dlang.org/LDC") (synopsis "LLVM compiler for the D programming language") (description - "LDC is a compiler for the D programming language. It is based on the -latest DMD frontend and uses LLVM as backend.") + "LDC is a compiler for the D programming language. It is based on +the latest DMD compiler that was written in C and is used for +bootstrapping more recent compilers written in D.") ;; Most of the code is released under BSD-3, except for code originally ;; written for GDC, which is released under GPLv2+, and the DMD frontend, ;; which is released under the "Boost Software License version 1.0". (license (list license:bsd-3 license:gpl2+ - license:boost1.0))))) + license:boost1.0)))) (define-public ldc - ;; The phobos, druntime and dmd-testsuite dependencies do not have a newer - ;; release than 1.1.0-beta4, hence the need to make use of the older-version - ;; variable to hold this variable. - (let ((older-version "1.1.0")) + ;; Phobos, druntime and dmd-testsuite library dependencies do + ;; not always have a newer release than the compiler, hence we + ;; retain this variable. + (let ((older-version "1.7.0")) (package (inherit ldc-bootstrap) (name "ldc") - (version "1.1.1") - ;; Beta version needed to compile various scientific tools that require - ;; the newer beta versions, and won't compile successfully with the - ;; older stable version. + (version "1.7.0") (source (origin (method url-fetch) (uri (string-append @@ -203,7 +201,7 @@ latest DMD frontend and uses LLVM as backend.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0yjiwg8pnlm2286bwdkwasaqw6ys7lymrqvhh5xyb1adha1ndcav")))) + "0rqchmlbhz1pd8ksl1vfhfd5s3cp9h9pqi4k4w2np9sq0zr7abwn")))) (arguments `(#:phases (modify-phases %standard-phases @@ -217,20 +215,35 @@ latest DMD frontend and uses LLVM as backend.") (and (unpack "phobos-src" "runtime/phobos") (unpack "druntime-src" "runtime/druntime") (unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite"))))) - ;; The 'patch-dmd2 step in ldc causes the build to fail since - ;; dmd2/root/port.c no longer exists. Arguments needed to have - ;; 'patch-dmd2 step removed, but retain everything else. (add-after 'unpack-submodule-sources 'patch-phobos (lambda* (#:key inputs #:allow-other-keys) - (substitute* "runtime/phobos/std/process.d" + (substitute* '("runtime/phobos/std/process.d" + "tests/linking/linker_switches.d") (("/bin/sh") (which "sh")) (("echo") (which "echo"))) - (substitute* "runtime/phobos/std/datetime.d" - (("/usr/share/zoneinfo/") - (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))) (substitute* "tests/d2/dmd-testsuite/Makefile" - (("/bin/bash") (which "bash"))) - #t))))) + (("/bin/bash") (which "bash"))) + ;; disable unittests in the following files. We are discussing with + ;; upstream + (substitute* '("runtime/phobos/std/net/curl.d" + "runtime/phobos/std/datetime/systime.d" + "runtime/phobos/std/datetime/timezone.d" + ) + (("version(unittest)") "version(skipunittest)") + ((" unittest") " version(skipunittest) unittest")) + ;; the following tests require a more recent LLVM + (delete-file "tests/compilable/ctfe_math.d") + (delete-file "tests/debuginfo/nested_gdb.d") + (delete-file "tests/debuginfo/classtypes_gdb.d") + (substitute* "tests/d2/dmd-testsuite/runnable/test_cdvecfill.d" + (("^// DISABLED: ") "^// DISABLED: linux64 ")) + #t)) + (replace 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; some tests call into gdb binary which needs SHELL and CC set + (setenv "SHELL" (which "sh")) + (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc")) + (invoke "make" "test" "-j" (number->string (parallel-job-count)))))))) (native-inputs `(("llvm" ,llvm) ("clang" ,clang) @@ -247,7 +260,7 @@ latest DMD frontend and uses LLVM as backend.") older-version ".tar.gz")) (sha256 (base32 - "0z5v55b9s1ppf0c2ivjq7sbmq688c37c92ihc3qwrbxnqvkkvrlk")) + "042hn3v0zk353r0h6yclq56z86hi437y969bckyb2qsnv00h60hi")) ;; This patch deactivates some tests that depend on network access ;; to pass. It also deactivates some tests that have some reliance ;; on timezone. @@ -257,7 +270,7 @@ latest DMD frontend and uses LLVM as backend.") ;; that is being pursued at ;; . ;; It also deactivates a test that requires /root - (patches (search-patches "ldc-1.1.0-disable-phobos-tests.patch")))) + (patches (search-patches "ldc-1.7.0-disable-phobos-tests.patch")))) ("druntime-src" ,(origin (method url-fetch) @@ -266,7 +279,7 @@ latest DMD frontend and uses LLVM as backend.") older-version ".tar.gz")) (sha256 (base32 - "07qvrqj6vgakd6qr4x5f70w6zwkzd1li5x8i1b5ywnds1z5lnfp6")))) + "0pvabk70zw8c1gbmvy2i486bg22bn0l5nbacjz0qwmhf0w9y9ylh")))) ("dmd-testsuite-src" ,(origin (method url-fetch) @@ -275,18 +288,12 @@ latest DMD frontend and uses LLVM as backend.") older-version ".tar.gz")) (sha256 (base32 - "12cak7yqmsgjlflx0dp6fwmwb9dac25amgi86n0bb95ard3547wy")) - ;; Remove the gdb tests that fails with a "Error: No such file or - ;; directory" error, despite the files being present in the debug - ;; files left with the --keep-failed flag to guix build. - (patches (search-patches "ldc-1.1.0-disable-dmd-tests.patch"))))))))) - -(define-public ldc-beta ldc) + "1i8j1raah7b26bprwkdick443ivdsihgi1l14sn9rh4a95rnrpd9"))))))))) (define-public dub (package (name "dub") - (version "1.5.0") + (version "1.7.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/dlang/dub/archive/" @@ -294,7 +301,7 @@ latest DMD frontend and uses LLVM as backend.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1p9pmzjsmd7v3jpilv0z0c8ar1ykvri6nn5fv95f8d2vriczj29m")))) + "1jvr1mmq8j77wnsrsg7x2xv8yfljqd6x8gn6yy7dd6h6y3cf408q")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; it would have tested itself by installing some packages (vibe etc) @@ -317,10 +324,12 @@ latest DMD frontend and uses LLVM as backend.") (home-page "https://code.dlang.org/getting_started") (synopsis "Package and build manager for D projects") (description - "DUB is a package and build manager for applications and libraries written -in the D programming language. It can automatically retrieve a project's -dependencies and integrate them in the build process. + "DUB is a package and build manager for applications and +libraries written in the D programming language. It can +automatically retrieve a project's dependencies and integrate +them in the build process. -The design emphasis is on maximum simplicity for simple projects, while -providing the opportunity to customize things when needed. ") +The design emphasis is on maximum simplicity for simple projects, +while providing the opportunity to customize things when +needed.") (license license:expat))) diff --git a/gnu/packages/patches/ldc-1.1.0-disable-dmd-tests.patch b/gnu/packages/patches/ldc-1.1.0-disable-dmd-tests.patch deleted file mode 100644 index 31eb44aefc..0000000000 --- a/gnu/packages/patches/ldc-1.1.0-disable-dmd-tests.patch +++ /dev/null @@ -1,35 +0,0 @@ -This patch deactivates some tests that fail when ldc is built with the command: - -./pre-inst-env guix environment guix --pure -- ./pre-inst-env guix build ldc@1.1.0-beta6 - -When the --keep-failed flag is added to the build command above, and the tests -run in the resulting /tmp/guix-build-ldc-1.1.0-beta6.drv-* directory, the tests -pass. - -by Frederick M. Muriithi - -diff --git a/d_do_test.d b/d_do_test.d -index aa67169..8173759 100755 ---- a/d_do_test.d -+++ b/d_do_test.d -@@ -645,8 +645,6 @@ int main(string[] args) - auto gdb_output = execute(fThisRun, command, true, result_path); - if (testArgs.gdbMatch !is null) - { -- enforce(match(gdb_output, regex(testArgs.gdbMatch)), -- "\nGDB regex: '"~testArgs.gdbMatch~"' didn't match output:\n----\n"~gdb_output~"\n----\n"); - } - } - } -diff --git a/runnable/gdb15729.sh b/runnable/gdb15729.sh -index 1d390e0..906b2b6 100755 ---- a/runnable/gdb15729.sh -+++ b/runnable/gdb15729.sh -@@ -21,7 +21,6 @@ if [ $OS == "linux" ]; then - echo RESULT= - p s.val - EOF -- gdb ${dir}${SEP}gdb15729 --batch -x ${dir}${SEP}gdb15729.gdb | grep 'RESULT=.*1234' || exit 1 - fi - - rm -f ${libname} ${dir}${SEP}{gdb15729${OBJ},gdb15729${EXE},gdb15729.gdb} diff --git a/gnu/packages/patches/ldc-1.1.0-disable-phobos-tests.patch b/gnu/packages/patches/ldc-1.1.0-disable-phobos-tests.patch deleted file mode 100644 index 70dd419455..0000000000 --- a/gnu/packages/patches/ldc-1.1.0-disable-phobos-tests.patch +++ /dev/null @@ -1,414 +0,0 @@ -This patch deactivates failing tests that depend on network connectivity -to pass in curl.d and socket.d -It deactivates tests in path.d that assume /root - -A thread was started on the ldc forum to pursue the possibility of a -version flag to deactivate tests conditionally. The thread is at -https://forum.dlang.org/post/zmdbdgnzrxyvtpqafvyg@forum.dlang.org - -by Frederick M. Muriithi - -diff --git a/std/datetime.d b/std/datetime.d -index 4d4afb1..2c91a44 100644 ---- a/std/datetime.d -+++ b/std/datetime.d -@@ -27306,8 +27306,8 @@ public: - // leaving it commented out until I can sort it out. - //assert(equal(tzNames, tzNames.uniq())); - -- foreach(tzName; tzNames) -- assertNotThrown!DateTimeException(testPZSuccess(tzName)); -+ //foreach(tzName; tzNames) -+ //assertNotThrown!DateTimeException(testPZSuccess(tzName)); - } - - -@@ -29178,8 +29178,8 @@ public: - - auto tzNames = getInstalledTZNames(); - -- foreach(tzName; tzNames) -- assertNotThrown!DateTimeException(testPTZSuccess(tzName)); -+ //foreach(tzName; tzNames) -+ //assertNotThrown!DateTimeException(testPTZSuccess(tzName)); - - // No timezone directories on Android, just a single tzdata file - version(Android) {} else -diff --git a/std/net/curl.d b/std/net/curl.d -index 9c6af66..5fccb38 100644 ---- a/std/net/curl.d -+++ b/std/net/curl.d -@@ -419,7 +419,7 @@ void download(Conn = AutoProtocol)(const(char)[] url, string saveToPath, Conn co - - unittest - { -- static import std.file; -+ /*static import std.file; - foreach (host; [testServer.addr, "http://"~testServer.addr]) - { - testServer.handle((s) { -@@ -430,7 +430,7 @@ unittest - scope (exit) std.file.remove(fn); - download(host, fn); - assert(std.file.readText(fn) == "Hello world"); -- } -+ }*/ - } - - /** Upload file from local files system using the HTTP or FTP protocol. -@@ -483,7 +483,7 @@ void upload(Conn = AutoProtocol)(string loadFromPath, const(char)[] url, Conn co - - unittest - { -- static import std.file; -+ /*static import std.file; - foreach (host; [testServer.addr, "http://"~testServer.addr]) - { - auto fn = std.file.deleteme; -@@ -496,7 +496,7 @@ unittest - s.send(httpOK()); - }); - upload(fn, host ~ "/path"); -- } -+ }*/ - } - - /** HTTP/FTP get content. -@@ -551,7 +551,7 @@ T[] get(Conn = AutoProtocol, T = char)(const(char)[] url, Conn conn = Conn()) - - unittest - { -- foreach (host; [testServer.addr, "http://"~testServer.addr]) -+ /*foreach (host; [testServer.addr, "http://"~testServer.addr]) - { - testServer.handle((s) { - assert(s.recvReq.hdrs.canFind("GET /path")); -@@ -559,7 +559,7 @@ unittest - }); - auto res = get(host ~ "/path"); - assert(res == "GETRESPONSE"); -- } -+ }*/ - } - - -@@ -598,7 +598,7 @@ if (is(T == char) || is(T == ubyte)) - - unittest - { -- foreach (host; [testServer.addr, "http://"~testServer.addr]) -+ /*foreach (host; [testServer.addr, "http://"~testServer.addr]) - { - testServer.handle((s) { - auto req = s.recvReq; -@@ -608,12 +608,12 @@ unittest - }); - auto res = post(host ~ "/path", "POSTBODY"); - assert(res == "POSTRESPONSE"); -- } -+ }*/ - } - - unittest - { -- auto data = new ubyte[](256); -+ /*auto data = new ubyte[](256); - foreach (i, ref ub; data) - ub = cast(ubyte)i; - -@@ -624,7 +624,7 @@ unittest - s.send(httpOK(cast(ubyte[])[17, 27, 35, 41])); - }); - auto res = post!ubyte(testServer.addr, data); -- assert(res == cast(ubyte[])[17, 27, 35, 41]); -+ assert(res == cast(ubyte[])[17, 27, 35, 41]);*/ - } - - -@@ -680,7 +680,7 @@ T[] put(Conn = AutoProtocol, T = char, PutUnit)(const(char)[] url, const(PutUnit - - unittest - { -- foreach (host; [testServer.addr, "http://"~testServer.addr]) -+ /*foreach (host; [testServer.addr, "http://"~testServer.addr]) - { - testServer.handle((s) { - auto req = s.recvReq; -@@ -690,7 +690,7 @@ unittest - }); - auto res = put(host ~ "/path", "PUTBODY"); - assert(res == "PUTRESPONSE"); -- } -+ }*/ - } - - -@@ -742,7 +742,7 @@ void del(Conn = AutoProtocol)(const(char)[] url, Conn conn = Conn()) - - unittest - { -- foreach (host; [testServer.addr, "http://"~testServer.addr]) -+ /*foreach (host; [testServer.addr, "http://"~testServer.addr]) - { - testServer.handle((s) { - auto req = s.recvReq; -@@ -750,7 +750,7 @@ unittest - s.send(httpOK()); - }); - del(host ~ "/path"); -- } -+ }*/ - } - - -@@ -796,13 +796,13 @@ T[] options(T = char, OptionsUnit)(const(char)[] url, - - unittest - { -- testServer.handle((s) { -+ /*testServer.handle((s) { - auto req = s.recvReq; - assert(req.hdrs.canFind("OPTIONS /path")); - s.send(httpOK("OPTIONSRESPONSE")); - }); - auto res = options(testServer.addr ~ "/path"); -- assert(res == "OPTIONSRESPONSE"); -+ assert(res == "OPTIONSRESPONSE");*/ - } - - -@@ -836,13 +836,13 @@ T[] trace(T = char)(const(char)[] url, HTTP conn = HTTP()) - - unittest - { -- testServer.handle((s) { -+ /*testServer.handle((s) { - auto req = s.recvReq; - assert(req.hdrs.canFind("TRACE /path")); - s.send(httpOK("TRACERESPONSE")); - }); - auto res = trace(testServer.addr ~ "/path"); -- assert(res == "TRACERESPONSE"); -+ assert(res == "TRACERESPONSE");*/ - } - - -@@ -875,13 +875,13 @@ T[] connect(T = char)(const(char)[] url, HTTP conn = HTTP()) - - unittest - { -- testServer.handle((s) { -+ /*testServer.handle((s) { - auto req = s.recvReq; - assert(req.hdrs.canFind("CONNECT /path")); - s.send(httpOK("CONNECTRESPONSE")); - }); - auto res = connect(testServer.addr ~ "/path"); -- assert(res == "CONNECTRESPONSE"); -+ assert(res == "CONNECTRESPONSE");*/ - } - - -@@ -919,14 +919,14 @@ T[] patch(T = char, PatchUnit)(const(char)[] url, const(PatchUnit)[] patchData, - - unittest - { -- testServer.handle((s) { -+ /*testServer.handle((s) { - auto req = s.recvReq; - assert(req.hdrs.canFind("PATCH /path")); - assert(req.bdy.canFind("PATCHBODY")); - s.send(httpOK("PATCHRESPONSE")); - }); - auto res = patch(testServer.addr ~ "/path", "PATCHBODY"); -- assert(res == "PATCHRESPONSE"); -+ assert(res == "PATCHRESPONSE");*/ - } - - -@@ -1031,19 +1031,19 @@ private auto _basicHTTP(T)(const(char)[] url, const(void)[] sendData, HTTP clien - - unittest - { -- testServer.handle((s) { -+ /*testServer.handle((s) { - auto req = s.recvReq; - assert(req.hdrs.canFind("GET /path")); - s.send(httpNotFound()); - }); - auto e = collectException!CurlException(get(testServer.addr ~ "/path")); -- assert(e.msg == "HTTP request returned status code 404 (Not Found)"); -+ assert(e.msg == "HTTP request returned status code 404 (Not Found)");*/ - } - - // Bugzilla 14760 - content length must be reset after post - unittest - { -- testServer.handle((s) { -+ /*testServer.handle((s) { - auto req = s.recvReq; - assert(req.hdrs.canFind("POST /")); - assert(req.bdy.canFind("POSTBODY")); -@@ -1061,7 +1061,7 @@ unittest - auto res = post(testServer.addr, "POSTBODY", http); - assert(res == "POSTRESPONSE"); - res = trace(testServer.addr, http); -- assert(res == "TRACERESPONSE"); -+ assert(res == "TRACERESPONSE");*/ - } - - /* -@@ -1265,14 +1265,14 @@ if (isCurlConn!Conn && isSomeChar!Char && isSomeChar!Terminator) - - unittest - { -- foreach (host; [testServer.addr, "http://"~testServer.addr]) -+ /*foreach (host; [testServer.addr, "http://"~testServer.addr]) - { - testServer.handle((s) { - auto req = s.recvReq; - s.send(httpOK("Line1\nLine2\nLine3")); - }); - assert(byLine(host).equal(["Line1", "Line2", "Line3"])); -- } -+ }*/ - } - - /** HTTP/FTP fetch content as a range of chunks. -@@ -1337,14 +1337,14 @@ auto byChunk(Conn = AutoProtocol) - - unittest - { -- foreach (host; [testServer.addr, "http://"~testServer.addr]) -+ /*foreach (host; [testServer.addr, "http://"~testServer.addr]) - { - testServer.handle((s) { - auto req = s.recvReq; - s.send(httpOK(cast(ubyte[])[0, 1, 2, 3, 4, 5])); - }); - assert(byChunk(host, 2).equal([[0, 1], [2, 3], [4, 5]])); -- } -+ }*/ - } - - private T[] _getForRange(T,Conn)(const(char)[] url, Conn conn) -@@ -1629,14 +1629,14 @@ auto byLineAsync(Conn = AutoProtocol, Terminator = char, Char = char) - - unittest - { -- foreach (host; [testServer.addr, "http://"~testServer.addr]) -+ /*foreach (host; [testServer.addr, "http://"~testServer.addr]) - { - testServer.handle((s) { - auto req = s.recvReq; - s.send(httpOK("Line1\nLine2\nLine3")); - }); - assert(byLineAsync(host).equal(["Line1", "Line2", "Line3"])); -- } -+ }*/ - } - - -@@ -1778,14 +1778,14 @@ auto byChunkAsync(Conn = AutoProtocol) - - unittest - { -- foreach (host; [testServer.addr, "http://"~testServer.addr]) -+ /*foreach (host; [testServer.addr, "http://"~testServer.addr]) - { - testServer.handle((s) { - auto req = s.recvReq; - s.send(httpOK(cast(ubyte[])[0, 1, 2, 3, 4, 5])); - }); - assert(byChunkAsync(host, 2).equal([[0, 1], [2, 3], [4, 5]])); -- } -+ }*/ - } - - -@@ -2041,7 +2041,7 @@ private mixin template Protocol() - - unittest - { -- testServer.handle((s) { -+ /*testServer.handle((s) { - auto req = s.recvReq; - assert(req.hdrs.canFind("GET /")); - assert(req.hdrs.canFind("Basic dXNlcjpwYXNz")); -@@ -2051,7 +2051,7 @@ private mixin template Protocol() - auto http = HTTP(testServer.addr); - http.onReceive = (ubyte[] data) { return data.length; }; - http.setAuthentication("user", "pass"); -- http.perform(); -+ http.perform();*/ - } - - /** -@@ -2959,7 +2959,7 @@ struct HTTP - - unittest - { -- testServer.handle((s) { -+ /*testServer.handle((s) { - auto req = s.recvReq!ubyte; - assert(req.hdrs.canFind("POST /path")); - assert(req.bdy.canFind(cast(ubyte[])[0, 1, 2, 3, 4])); -@@ -2975,7 +2975,7 @@ struct HTTP - ubyte[] res; - http.onReceive = (data) { res ~= data; return data.length; }; - http.perform(); -- assert(res == cast(ubyte[])[17, 27, 35, 41]); -+ assert(res == cast(ubyte[])[17, 27, 35, 41]);*/ - } - - /** -diff --git a/std/path.d b/std/path.d -index 60c844f..0598104 100644 ---- a/std/path.d -+++ b/std/path.d -@@ -3953,8 +3953,10 @@ unittest - } - else - { -+/* - assert(expandTilde("~root") == "/root", expandTilde("~root")); - assert(expandTilde("~root/") == "/root/", expandTilde("~root/")); -+*/ - } - assert(expandTilde("~Idontexist/hey") == "~Idontexist/hey"); - } -diff --git a/std/socket.d b/std/socket.d -index 7f5a3c3..e68b881 100644 ---- a/std/socket.d -+++ b/std/socket.d -@@ -481,15 +481,15 @@ unittest - { - softUnittest({ - Protocol proto = new Protocol; -- assert(proto.getProtocolByType(ProtocolType.TCP)); -+ //assert(proto.getProtocolByType(ProtocolType.TCP)); - //writeln("About protocol TCP:"); - //writefln("\tName: %s", proto.name); - // foreach(string s; proto.aliases) - // { - // writefln("\tAlias: %s", s); - // } -- assert(proto.name == "tcp"); -- assert(proto.aliases.length == 1 && proto.aliases[0] == "TCP"); -+ //assert(proto.name == "tcp"); -+ //assert(proto.aliases.length == 1 && proto.aliases[0] == "TCP"); - }); - } - -@@ -832,9 +832,9 @@ unittest - InternetHost ih = new InternetHost; - - ih.getHostByAddr(0x7F_00_00_01); -- assert(ih.addrList[0] == 0x7F_00_00_01); -+ //assert(ih.addrList[0] == 0x7F_00_00_01); - ih.getHostByAddr("127.0.0.1"); -- assert(ih.addrList[0] == 0x7F_00_00_01); -+ //assert(ih.addrList[0] == 0x7F_00_00_01); - - softUnittest({ - if (!ih.getHostByName("www.digitalmars.com")) diff --git a/gnu/packages/patches/ldc-1.7.0-disable-phobos-tests.patch b/gnu/packages/patches/ldc-1.7.0-disable-phobos-tests.patch new file mode 100644 index 0000000000..ccc136cc76 --- /dev/null +++ b/gnu/packages/patches/ldc-1.7.0-disable-phobos-tests.patch @@ -0,0 +1,88 @@ +diff --git a/std/path.d b/std/path.d +index a9f0bd8..f47d103 100644 +--- a/std/path.d ++++ b/std/path.d +@@ -4041,7 +4041,7 @@ version(unittest) import std.process : environment; + else version (Android) + { + } +- else ++ else version (HasRoot) + { + assert(expandTilde("~root") == "/root", expandTilde("~root")); + assert(expandTilde("~root/") == "/root/", expandTilde("~root/")); + +diff --git a/std/process.d b/std/process.d +index df83296..d921cdb 100644 +--- a/std/process.d ++++ b/std/process.d +@@ -1171,7 +1171,7 @@ version (Posix) @system unittest + assert(exists(buildPath(directory, "bar"))); + } + +-@system unittest // Specifying a bad working directory. ++@system version(skipunittest) unittest // Specifying a bad working directory. + { + import std.exception : assertThrown; + TestScript prog = "/bin/echo"; +diff --git a/std/socket.d b/std/socket.d +index 8a261d5..c1b87b6 100644 +--- a/std/socket.d ++++ b/std/socket.d +@@ -484,7 +484,7 @@ class Protocol + // Skip this test on Android because getprotobyname/number are + // unimplemented in bionic. + version(CRuntime_Bionic) {} else +-@safe unittest ++@safe version(hasNetwork) unittest + { + softUnittest({ + Protocol proto = new Protocol; +@@ -804,7 +804,7 @@ class InternetHost + } + + /// +-@safe unittest ++@safe version(hasNetwork) unittest + { + InternetHost ih = new InternetHost; + +@@ -959,7 +959,7 @@ AddressInfo[] getAddressInfo(T...)(in char[] node, T options) + return () @trusted { return getAddressInfoImpl(node, service, &hints); }(); + } + +-@system unittest ++@system version(hasNetwork) unittest + { + struct Oops + { +@@ -1010,7 +1010,7 @@ private AddressInfo[] getAddressInfoImpl(in char[] node, in char[] service, addr + } + + +-@safe unittest ++@safe version(hasNetwork) unittest + { + softUnittest({ + if (getaddrinfoPointer) +diff --git a/std/stdio.d b/std/stdio.d +index 10106a5..4b0590e 100644 +--- a/std/stdio.d ++++ b/std/stdio.d +@@ -1426,8 +1426,7 @@ Removes the lock over the specified file segment. + g.unlock(); + } + +- version(Posix) +- @system unittest ++ @system version(skip) unittest + { + static import std.file; + auto deleteme = testFilename(); +@@ -1483,7 +1482,6 @@ Removes the lock over the specified file segment. + f.unlock(); + } + +- + /** + Writes its arguments in text format to the file. diff --git a/gnu/packages/patches/ldc-bootstrap-disable-tests.patch b/gnu/packages/patches/ldc-bootstrap-disable-tests.patch new file mode 100644 index 0000000000..d2e40b8016 --- /dev/null +++ b/gnu/packages/patches/ldc-bootstrap-disable-tests.patch @@ -0,0 +1,72 @@ +This patch fixes a failing unit test by feeding buildNormalizedPath to the +tzdata properly. Three other tests are disabled, one assumes /root and the +two others use networking. Not bad out of almost 700 tests! + +by Pjotr Prins + +--- a/std/datetime.d.orig 2016-11-24 01:13:52.584495545 +0100 ++++ b/std/datetime.d 2016-11-24 01:17:09.655306728 +0100 +@@ -28081,22 +28081,24 @@ + import std.range : retro; + import std.format : format; + +- name = strip(name); +- + enforce(tzDatabaseDir.exists(), new DateTimeException(format("Directory %s does not exist.", tzDatabaseDir))); + enforce(tzDatabaseDir.isDir, new DateTimeException(format("%s is not a directory.", tzDatabaseDir))); + + version(Android) + { ++ name = strip(name); + auto tzfileOffset = name in tzdataIndex(tzDatabaseDir); + enforce(tzfileOffset, new DateTimeException(format("The time zone %s is not listed.", name))); + string tzFilename = separate_index ? "zoneinfo.dat" : "tzdata"; + immutable file = buildNormalizedPath(tzDatabaseDir, tzFilename); + } + else +- immutable file = buildNormalizedPath(tzDatabaseDir, name); ++ { ++ auto filename = "./" ~ strip(name); // make sure the prefix is not stripped ++ immutable file = buildNormalizedPath(tzDatabaseDir, filename); ++ } + +- enforce(file.exists(), new DateTimeException(format("File %s does not exist.", file))); ++ enforce(file.exists(), new DateTimeException(format("File %s does not exist in %s.", file, tzDatabaseDir))); + enforce(file.isFile, new DateTimeException(format("%s is not a file.", file))); + + auto tzFile = File(file); +diff --git a/std/path.d b/std/path.d +index 254d8f0..b0fc04d 100644 +--- a/std/path.d ++++ b/std/path.d +@@ -3080,8 +3080,11 @@ unittest + } + else + { ++ pragma(msg, "test disabled on GNU Guix"); ++/* + assert(expandTilde("~root") == "/root", expandTilde("~root")); + assert(expandTilde("~root/") == "/root/", expandTilde("~root/")); ++*/ + } + assert(expandTilde("~Idontexist/hey") == "~Idontexist/hey"); + } +diff --git a/std/socket.d b/std/socket.d +index b85d1c9..7fbf346 100644 +--- a/std/socket.d ++++ b/std/socket.d +@@ -859,6 +862,8 @@ class InternetHost + + unittest + { ++ pragma(msg, "test disabled on GNU Guix"); ++ /* + InternetHost ih = new InternetHost; + + ih.getHostByAddr(0x7F_00_00_01); +@@ -889,6 +894,7 @@ unittest + // writefln("aliases[%d] = %s", i, s); + // } + }); ++ */ + } diff --git a/gnu/packages/patches/ldc-disable-tests.patch b/gnu/packages/patches/ldc-disable-tests.patch deleted file mode 100644 index bdd6e5b76c..0000000000 --- a/gnu/packages/patches/ldc-disable-tests.patch +++ /dev/null @@ -1,74 +0,0 @@ -This patch fixes a failing unit test by feeding buildNormalizedPath to the -tzdata properly. Three other tests are disabled, one assumes /root and the -two others use networking. Not bad out of almost 700 tests! - -by Pjotr Prins - ---- a/std/datetime.d.orig 2016-11-24 01:13:52.584495545 +0100 -+++ b/std/datetime.d 2016-11-24 01:17:09.655306728 +0100 -@@ -28081,22 +28081,24 @@ - import std.range : retro; - import std.format : format; - -- name = strip(name); -- - enforce(tzDatabaseDir.exists(), new DateTimeException(format("Directory %s does not exist.", tzDatabaseDir))); - enforce(tzDatabaseDir.isDir, new DateTimeException(format("%s is not a directory.", tzDatabaseDir))); - - version(Android) - { -+ name = strip(name); - auto tzfileOffset = name in tzdataIndex(tzDatabaseDir); - enforce(tzfileOffset, new DateTimeException(format("The time zone %s is not listed.", name))); - string tzFilename = separate_index ? "zoneinfo.dat" : "tzdata"; - immutable file = buildNormalizedPath(tzDatabaseDir, tzFilename); - } - else -- immutable file = buildNormalizedPath(tzDatabaseDir, name); -+ { -+ auto filename = "./" ~ strip(name); // make sure the prefix is not stripped -+ immutable file = buildNormalizedPath(tzDatabaseDir, filename); -+ } - -- enforce(file.exists(), new DateTimeException(format("File %s does not exist.", file))); -+ enforce(file.exists(), new DateTimeException(format("File %s does not exist in %s.", file, tzDatabaseDir))); - enforce(file.isFile, new DateTimeException(format("%s is not a file.", file))); - - auto tzFile = File(file); -diff --git a/std/path.d b/std/path.d -index 254d8f0..b0fc04d 100644 ---- a/std/path.d -+++ b/std/path.d -@@ -3080,8 +3080,11 @@ unittest - } - else - { -+ pragma(msg, "test disabled on GNU Guix"); -+/* - assert(expandTilde("~root") == "/root", expandTilde("~root")); - assert(expandTilde("~root/") == "/root/", expandTilde("~root/")); -+*/ - } - assert(expandTilde("~Idontexist/hey") == "~Idontexist/hey"); - } -diff --git a/std/socket.d b/std/socket.d -index b85d1c9..7fbf346 100644 ---- a/std/socket.d -+++ b/std/socket.d -@@ -859,6 +862,8 @@ class InternetHost - - unittest - { -+ pragma(msg, "test disabled on GNU Guix"); -+ /* - InternetHost ih = new InternetHost; - - ih.getHostByAddr(0x7F_00_00_01); -@@ -889,6 +894,7 @@ unittest - // writefln("aliases[%d] = %s", i, s); - // } - }); -+ */ - } - - -- cgit v1.2.3 From 736e45a278b44208fa6ded58a71e57081a58b1bf Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sat, 17 Feb 2018 17:34:12 +0100 Subject: services: slim: Make the logged-in session show up in "w". * gnu/services/xorg.scm (slim-shepherd-service): Use SESSREG to register X11 session. * doc/guix.texi (slim-configuration): Document new field "sessreg". --- gnu/services/xorg.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index 50af2408b1..ea8433af3a 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -437,7 +437,9 @@ desktop session from the system or user profile will be used." (auto-login-session slim-configuration-auto-login-session (default #f)) (startx slim-configuration-startx - (default (xorg-start-command)))) + (default (xorg-start-command))) + (sessreg slim-configuration-sessreg + (default sessreg))) (define (slim-pam-service config) "Return a PAM service for @command{slim}." @@ -454,7 +456,8 @@ desktop session from the system or user profile will be used." (xauth (slim-configuration-xauth config)) (startx (slim-configuration-startx config)) (shepherd (slim-configuration-shepherd config)) - (theme-name (slim-configuration-theme-name config))) + (theme-name (slim-configuration-theme-name config)) + (sessreg (slim-configuration-sessreg config))) (mixed-text-file "slim.cfg" " default_path /run/current-system/profile/bin default_xserver " startx " @@ -467,6 +470,8 @@ authfile /var/run/slim.auth login_cmd exec " xinitrc " %session sessiondir /run/current-system/profile/share/xsessions session_msg session (F1 to change): +sessionstart_cmd " sessreg "/bin/sessreg -a -l $DISPLAY %user +sessionstop_cmd " sessreg "/bin/sessreg -d -l $DISPLAY %user halt_cmd " shepherd "/sbin/halt reboot_cmd " shepherd "/sbin/reboot\n" -- cgit v1.2.3 From 12479d58be573c45cfdbdcd27e0bb1adb5babfb2 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Wed, 21 Feb 2018 02:51:13 +0100 Subject: gnu: rdmd: Use invoke. * gnu/packages/ldc.scm (rdmd): Use invoke. --- gnu/packages/ldc.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm index ef27ae4200..5b7da284b7 100644 --- a/gnu/packages/ldc.scm +++ b/gnu/packages/ldc.scm @@ -58,7 +58,7 @@ (replace 'build (lambda _ - (zero? (system* "ldc2" "rdmd.d")))) + (invoke "ldc2" "rdmd.d"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) -- cgit v1.2.3 From a4960a204dc18d9ef9d94de448a2180a675e235d Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Wed, 21 Feb 2018 02:52:01 +0100 Subject: gnu: dub: Use invoke. * gnu/packages/ldc.scm (dub): Use invoke. --- gnu/packages/ldc.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm index 5b7da284b7..e86117bd12 100644 --- a/gnu/packages/ldc.scm +++ b/gnu/packages/ldc.scm @@ -310,7 +310,7 @@ bootstrapping more recent compilers written in D.") (delete 'configure) ; no configure script (replace 'build (lambda _ - (zero? (system* "./build.sh")))) + (invoke "./build.sh"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) -- cgit v1.2.3 From 781d721a8285712ea3e2e9dddc860cc0d1fd4616 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Wed, 21 Feb 2018 12:07:13 +0100 Subject: gnu: ldc: Add comment. * gnu/packages/ldc.scm (ldc): Add comment. --- gnu/packages/ldc.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu') diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm index e86117bd12..aca2cab0a2 100644 --- a/gnu/packages/ldc.scm +++ b/gnu/packages/ldc.scm @@ -235,6 +235,7 @@ bootstrapping more recent compilers written in D.") (delete-file "tests/compilable/ctfe_math.d") (delete-file "tests/debuginfo/nested_gdb.d") (delete-file "tests/debuginfo/classtypes_gdb.d") + ;; the following tests requires AVX instruction set in the CPU. (substitute* "tests/d2/dmd-testsuite/runnable/test_cdvecfill.d" (("^// DISABLED: ") "^// DISABLED: linux64 ")) #t)) -- cgit v1.2.3 From 219ec95c90e047ee0cd35c83fb8e505ef426cff9 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 21 Feb 2018 03:43:38 +0100 Subject: gnu: getmail: Update to 5.5. * gnu/packages/mail.scm (getmail): Update to 5.5. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index d7e76ac3e5..6e8f9a74ae 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -907,7 +907,7 @@ and search library.") (define-public getmail (package (name "getmail") - (version "5.4") + (version "5.5") (source (origin (method url-fetch) @@ -915,7 +915,7 @@ and search library.") name "-" version ".tar.gz")) (sha256 (base32 - "1iwss9z94p165gxr2yw7s9q12a0bn71fcdbikzkykr5s7xxnz2ds")))) + "0l43lbnrnyyrq8mlnw37saq6v0mh3nkirdq1dwnsrihykzjjwf70")))) (build-system python-build-system) (arguments `(#:tests? #f ; no tests -- cgit v1.2.3 From 20e73f5b58d0850f21d7b2391edae546a31c9023 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 21 Feb 2018 05:05:56 +0100 Subject: gnu: shflags: Set source file name. * gnu/packages/version-control.scm (shflags)[source]: Use a meaningful FILE-NAME. --- gnu/packages/version-control.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu') diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 75160c3376..4b99592a59 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -641,6 +641,7 @@ default) of the repository.") (method url-fetch) (uri (string-append "https://github.com/kward/shflags/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0zxw12haylaq60a335xlqcs4afw2zrgwqymmpw0m21r51w6irdmr")))) -- cgit v1.2.3 From 61faf24df66bdade0ec780d4a5e5e3d461329341 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 21 Feb 2018 05:07:37 +0100 Subject: gnu: slang: Update to 2.3.1a. * gnu/packages/slang.scm (slang): Update to 2.3.1a. --- gnu/packages/slang.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/slang.scm b/gnu/packages/slang.scm index b0a7ff0cfc..abc00c1a89 100644 --- a/gnu/packages/slang.scm +++ b/gnu/packages/slang.scm @@ -37,16 +37,14 @@ (define-public slang (package (name "slang") - (version "2.3.0") + (version "2.3.1a") (source (origin (method url-fetch) - (uri (string-append - "http://www.jedsoft.org/releases/slang/slang-" - version - ".tar.gz")) + (uri (string-append "http://www.jedsoft.org/releases/slang/slang-" + version ".tar.bz2")) (sha256 (base32 - "0aqd2cjabj6nhd4r3dc4vhqif2bf3dmqnrn2gj0xm4gqyfd177jy")) + "0dlcy0hn0j6cj9qj5x6hpb0axifnvzzmv5jqq0wq14fygw0c7w2l")) (modules '((guix build utils))) (snippet '(begin -- cgit v1.2.3 From ea5d238dae574d08bd25ecc6c1fb3bf009707257 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 20 Feb 2018 21:21:03 +0100 Subject: gnu: cook: Update phase style. * gnu/packages/cook.scm (cook)[arguments]: Use MODIFY-PHASES syntax and end phase with #t. --- gnu/packages/cook.scm | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/cook.scm b/gnu/packages/cook.scm index e149968f24..17e090d725 100644 --- a/gnu/packages/cook.scm +++ b/gnu/packages/cook.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 John Darrington +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -41,26 +42,26 @@ (arguments `(#:parallel-build? #f ; There are some nasty racy rules in the Makefile. #:phases - (alist-cons-before - 'configure 'pre-conf - (lambda _ - (substitute* (append '("common/env.c") - (find-files "test" "\\.sh")) - (("/bin/sh") (which "sh"))) + (modify-phases %standard-phases + (add-before 'configure 'pre-conf + (lambda _ + (substitute* (append '("common/env.c") + (find-files "test" "\\.sh")) + (("/bin/sh") (which "sh"))) - ;; Guix's binutils (because it wants bit-reproducable builds) is - ;; is configured with the --enable-deterministic-archives flag. - ;; This means the timestamp of files appended to an ar archive - ;; are automatically and silently mutated to 00:00 1 Jan 1970 - ;; which plays havoc with this test, for which correct timestamps - ;; are very important. Adding the U flag undoes the effect of - ;; --enable-deterministic-archives and allows this test to work - ;; again. - (substitute* "test/00/t0077a.sh" - (("ar qc") "ar qcU")) + ;; Guix's binutils (because it wants bit-reproducable builds) is + ;; is configured with the --enable-deterministic-archives flag. + ;; This means the timestamp of files appended to an ar archive + ;; are automatically and silently mutated to 00:00 1 Jan 1970 + ;; which plays havoc with this test, for which correct timestamps + ;; are very important. Adding the U flag undoes the effect of + ;; --enable-deterministic-archives and allows this test to work + ;; again. + (substitute* "test/00/t0077a.sh" + (("ar qc") "ar qcU")) - (setenv "SH" (which "sh"))) - %standard-phases))) + (setenv "SH" (which "sh")) + #t))))) (native-inputs `(("bison" ,bison) ;; For building the documentation: ("groff" ,groff) -- cgit v1.2.3 From 9a9d64eaf97609d05b52deacdbd3dfb171a29048 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 21 Feb 2018 03:27:12 +0100 Subject: gnu: lout: Update phase style. * gnu/packages/lout.scm (lout)[arguments]: Write phases in-line, use MODIFY-PHASES syntax, INVOKE, and WITH-DIRECTORY-EXCURSION, and end phases with #t. Re-indent the result. --- gnu/packages/lout.scm | 147 ++++++++++++++++++++++++-------------------------- 1 file changed, 69 insertions(+), 78 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/lout.scm b/gnu/packages/lout.scm index 1a1d0b3274..ac66b4ecfc 100644 --- a/gnu/packages/lout.scm +++ b/gnu/packages/lout.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013 Ludovic Courtès +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,91 +25,81 @@ #:use-module (gnu packages ghostscript)) (define-public lout - ;; This one is a bit tricky, because it doesn't follow the GNU Build System - ;; 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 + (package (name "lout") (version "3.40") (source (origin - (method url-fetch) - (uri (string-append "mirror://savannah/lout/lout-" - version ".tar.gz")) - (sha256 - (base32 - "1gb8vb1wl7ikn269dd1c7ihqhkyrwk19jwx5kd0rdvbk6g7g25ix")))) - (build-system gnu-build-system) ; actually, just a makefile + (method url-fetch) + (uri (string-append "mirror://savannah/lout/lout-" + version ".tar.gz")) + (sha256 + (base32 + "1gb8vb1wl7ikn269dd1c7ihqhkyrwk19jwx5kd0rdvbk6g7g25ix")))) + (build-system gnu-build-system) ; actually, just a makefile (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 - - ;; Customize the build phases. - #:phases (alist-replace - 'configure ,configure-phase - - (alist-cons-after - 'install 'install-man-pages - ,install-man-phase - - (alist-cons-after - 'install 'install-doc - ,doc-phase - %standard-phases))))) + (arguments + `(#:modules ((guix build utils) + (guix build gnu-build-system) + (srfi srfi-1)) ; we need SRFI-1 + #:tests? #f ; no "check" target + #:phases + (modify-phases %standard-phases + ;; This package is a bit tricky, because it doesn't follow the GNU + ;; Build System 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 documentation. + (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) + (invoke "make" "installman") + #t)) + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "doc"))) + (setenv "PATH" + (string-append (assoc-ref outputs "out") + "/bin:" (getenv "PATH"))) + (with-directory-excursion "doc" + (every (lambda (doc) + (format #t "doc: building `~a'...~%" doc) + (with-directory-excursion doc + (let ((file (string-append out "/share/doc/lout/" + doc ".ps"))) + (unless (file-exists? "outfile.ps") + (invoke "lout" "-r4" "-o" + "outfile.ps" "all")) + (copy-file "outfile.ps" file) + (invoke "ps2pdf" + "-dPDFSETTINGS=/prepress" + "-sPAPERSIZE=a4" + file + (string-append out "/share/doc/lout/" + doc ".pdf"))))) + '("design" "expert" "slides" "user"))) + #t)))))) (synopsis "Document layout system") (description -"The Lout document formatting system reads a high-level description of + "The Lout document formatting system reads a high-level description of a document similar in style to LaTeX and produces a PostScript or plain text output file. @@ -124,4 +115,4 @@ TeX macros because Lout is a high-level, purely functional language, the outcome of an eight-year research project that went back to the beginning.") (license gpl3+) - (home-page "https://savannah.nongnu.org/projects/lout/")))) + (home-page "https://savannah.nongnu.org/projects/lout/"))) -- cgit v1.2.3 From 4f3bf2059e702fa1c2972818894011b1ba076592 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 21 Feb 2018 04:58:24 +0100 Subject: gnu: iptables: Update to 1.6.2. * gnu/packages/linux.scm (iptables): Update to 1.6.2. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 32d2220bc3..e1fd5ae806 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1089,7 +1089,7 @@ external rate conversion.") (define-public iptables (package (name "iptables") - (version "1.6.1") + (version "1.6.2") (source (origin (method url-fetch) (uri (string-append @@ -1097,7 +1097,7 @@ external rate conversion.") version ".tar.bz2")) (sha256 (base32 - "1x8c9y340x79djsq54bc1674ryv59jfphrk4f88i7qbvbnyxghhg")))) + "0crp0lvh5m2f15pr8cw97h8yb8zjj10x95zj06j46cr68vx2vl2m")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) -- cgit v1.2.3 From be5dc5fb18a4b72977748c5f077062be4e8accbc Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 21 Feb 2018 05:00:09 +0100 Subject: gnu: iptables: Edit synopsis & description. * gnu/packages/linux.scm (iptables)[synopsis, description]: Improve. --- gnu/packages/linux.scm | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index e1fd5ae806..238398e84a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1111,14 +1111,17 @@ external rate conversion.") #:configure-flags ; add $libdir to the RUNPATH of executables (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")))) (home-page "https://www.netfilter.org/projects/iptables/index.html") - (synopsis "Program to configure the Linux IP packet filtering rules") + (synopsis "Programs to configure Linux IP packet filtering rules") (description - "iptables is the userspace command line program used to configure the -Linux 2.4.x and later IPv4 packet filtering ruleset (firewall). It is targeted at -system administrators. Since Network Address Translation is also configured -from the packet filter ruleset, iptables is used for this, too. The iptables -package also includes ip6tables. ip6tables is used for configuring the IPv6 -packet filter.") + "@command{iptables} is the user-space command line program used to +configure the Linux 2.4.x and later IPv4 packet filtering ruleset +(@dfn{firewall}), including @dfn{NAT} (Network Address Translation). + +This package also includes @command{ip6tables}, which is used to configure the +IPv6 packet filter. + +Both commands are targeted at system administrators. +") (license license:gpl2+))) (define-public ebtables -- cgit v1.2.3 From 6c96b5452cd72309d12f2d1a3bb4528a365635f6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 21 Feb 2018 05:15:55 +0100 Subject: gnu: lpsolve: Update phase style. * gnu/packages/maths.scm (lpsolve)[arguments]: Use INVOKE and INSTALL-FILE, and end phases with #t. --- gnu/packages/maths.scm | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 0f87346ea9..bc71473237 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -3073,16 +3073,17 @@ specifications.") (("isnan\\(0\\)") "isnan(0.)"))))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; no check target + `(#:tests? #f ; no check target #:phases (modify-phases %standard-phases - (delete 'configure) + (delete 'configure) ; no configure script (replace 'build (lambda _ - (and (with-directory-excursion "lpsolve55" - (zero? (system* "bash" "ccc"))) - (with-directory-excursion "lp_solve" - (zero? (system* "bash" "ccc")))))) + (with-directory-excursion "lpsolve55" + (invoke "bash" "ccc")) + (with-directory-excursion "lp_solve" + (invoke "bash" "ccc")) + #t)) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -3091,11 +3092,8 @@ specifications.") ;; This is where LibreOffice expects to find the header ;; files, and where they are installed by Debian. (include (string-append out "/include/lpsolve"))) - (mkdir-p lib) - (copy-file "lpsolve55/bin/ux64/liblpsolve55.a" - (string-append lib "/liblpsolve55.a")) - (copy-file "lpsolve55/bin/ux64/liblpsolve55.so" - (string-append lib "/liblpsolve55.so")) + (install-file "lpsolve55/bin/ux64/liblpsolve55.a" lib) + (install-file "lpsolve55/bin/ux64/liblpsolve55.so" lib) (install-file "lp_solve/bin/ux64/lp_solve" bin) ;; Install a subset of the header files as on Debian -- cgit v1.2.3 From 79f0561f43cc62dd332007cd847c0ad2870b3afc Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 21 Feb 2018 06:06:46 +0100 Subject: gnu: htop: Fix tree view. * gnu/packages/patches/htop-fix-process-tree.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/admin.scm (htop)[source]: Use it. --- gnu/local.mk | 1 + gnu/packages/admin.scm | 3 +- gnu/packages/patches/htop-fix-process-tree.patch | 99 ++++++++++++++++++++++++ 3 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/htop-fix-process-tree.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index e61cb9f440..73939df833 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -764,6 +764,7 @@ dist_patch_DATA = \ %D%/packages/patches/heimdal-CVE-2017-11103.patch \ %D%/packages/patches/hmmer-remove-cpu-specificity.patch \ %D%/packages/patches/higan-remove-march-native-flag.patch \ + %D%/packages/patches/htop-fix-process-tree.patch \ %D%/packages/patches/hubbub-sort-entities.patch \ %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \ %D%/packages/patches/hwloc-tests-without-sysfs.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 6121402048..cf9524eb5f 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -269,7 +269,8 @@ graphs and can export its output to different formats.") version "/htop-" version ".tar.gz")) (sha256 (base32 - "0j07z0xm2gj1vzvbgh4323k4db9mr7drd7gw95mmpqi61ncvwq1j")))) + "0j07z0xm2gj1vzvbgh4323k4db9mr7drd7gw95mmpqi61ncvwq1j")) + (patches (search-patches "htop-fix-process-tree.patch")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses))) diff --git a/gnu/packages/patches/htop-fix-process-tree.patch b/gnu/packages/patches/htop-fix-process-tree.patch new file mode 100644 index 0000000000..d8e5e2ccac --- /dev/null +++ b/gnu/packages/patches/htop-fix-process-tree.patch @@ -0,0 +1,99 @@ +From 2971a187551e062ffefdab965f55377b36cd94eb Mon Sep 17 00:00:00 2001 +From: Tobias Geerinckx-Rice +Date: Wed, 21 Feb 2018 06:00:50 +0100 +Subject: [PATCH] Fix process tree +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This manually reverts: + + commit 584a9bceab948590dabd189d234a86e6bf4ec3f4 + Author: wangqr + Date: Fri Sep 1 21:27:24 2017 +0800 + + Find roots when constructing process tree, fix #587 + +which breaks the process tree (‘t’) view in at least some cases. +I will investigate further... +--- + ProcessList.c | 63 +++++++++++++++++------------------------------------------ + 1 file changed, 18 insertions(+), 45 deletions(-) + +diff --git a/ProcessList.c b/ProcessList.c +index 48b2d95..225253d 100644 +--- a/ProcessList.c ++++ b/ProcessList.c +@@ -213,51 +213,24 @@ void ProcessList_sort(ProcessList* this) { + // Restore settings + this->settings->sortKey = sortKey; + this->settings->direction = direction; +- int vsize = Vector_size(this->processes); +- // Find all processes whose parent is not visible +- int size; +- while ((size = Vector_size(this->processes))) { +- int i; +- for (i = 0; i < size; i++) { +- Process* process = (Process*)(Vector_get(this->processes, i)); +- // Immediately consume not shown processes +- if (!process->show) { +- process = (Process*)(Vector_take(this->processes, i)); +- process->indent = 0; +- Vector_add(this->processes2, process); +- ProcessList_buildTree(this, process->pid, 0, 0, direction, false); +- break; +- } +- pid_t ppid = process->tgid == process->pid ? process->ppid : process->tgid; +- // Bisect the process vector to find parent +- int l = 0, r = size; +- // If PID corresponds with PPID (e.g. "kernel_task" (PID:0, PPID:0) +- // on Mac OS X 10.11.6) cancel bisecting and regard this process as +- // root. +- if (process->pid == ppid) +- r = 0; +- while (l < r) { +- int c = (l + r) / 2; +- pid_t pid = ((Process*)(Vector_get(this->processes, c)))->pid; +- if (ppid == pid) { +- break; +- } else if (ppid < pid) { +- r = c; +- } else { +- l = c + 1; +- } +- } +- // If parent not found, then construct the tree with this root +- if (l >= r) { +- process = (Process*)(Vector_take(this->processes, i)); +- process->indent = 0; +- Vector_add(this->processes2, process); +- ProcessList_buildTree(this, process->pid, 0, 0, direction, process->showChildren); +- break; +- } +- } +- // There should be no loop in the process tree +- assert(i < size); ++ ++ // Take PID 1 as root and add to the new listing ++ int vsize = Vector_size(this->processes); ++ Process* init = (Process*) (Vector_take(this->processes, 0)); ++ if (!init) return; ++ // This assertion crashes on hardened kernels. ++ // I wonder how well tree view works on those systems. ++ // assert(init->pid == 1); ++ init->indent = 0; ++ Vector_add(this->processes2, init); ++ // Recursively empty list ++ ProcessList_buildTree(this, init->pid, 0, 0, direction, true); ++ // Add leftovers ++ while (Vector_size(this->processes)) { ++ Process* p = (Process*) (Vector_take(this->processes, 0)); ++ p->indent = 0; ++ Vector_add(this->processes2, p); ++ ProcessList_buildTree(this, p->pid, 0, 0, direction, p->showChildren); + } + assert(Vector_size(this->processes2) == vsize); (void)vsize; + assert(Vector_size(this->processes) == 0); +-- +2.16.2 + -- cgit v1.2.3 From dcb06ac9cf60b2d25b4a249a1b310b39bdf57d30 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 21 Feb 2018 06:43:40 +0100 Subject: gnu: shflags: Use the GNU-BUILD-SYSTEM. The TRIVIAL-BUILD-SYSTEM doesn't really save any effort and is actually slightly longer. * gnu/packages/version-control.scm (shflags)[build-system: Use GNU-BUILD-SYSTEM. [arguments]: Adjust accordingly and prefer INSTALL-FILE over COPY-FILE. --- gnu/packages/version-control.scm | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 4b99592a59..a1f5cb5585 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -645,27 +645,21 @@ default) of the repository.") (sha256 (base32 "0zxw12haylaq60a335xlqcs4afw2zrgwqymmpw0m21r51w6irdmr")))) - (build-system trivial-build-system) + (build-system gnu-build-system) (native-inputs `(("tar" ,tar) ("gzip" ,gzip))) (arguments - `(#:modules ((guix build utils)) - #:builder (begin - (use-modules (guix build utils)) - (let* ((source (assoc-ref %build-inputs "source")) - (tar (assoc-ref %build-inputs "tar")) - (gzip (assoc-ref %build-inputs "gzip")) - (output (assoc-ref %outputs "out")) - (srcdir (string-append output "/src"))) - (begin - (setenv "PATH" (string-append gzip "/bin")) - (system* (string-append tar "/bin/tar") "xzf" - source) - (chdir ,(string-append name "-" version)) - (mkdir-p srcdir) - (copy-file "src/shflags" - (string-append srcdir "/shflags")) - #t))))) + `(#:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (delete 'configure) ; nothing to configure + (delete 'build) ; nothing to build + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (src (string-append out "/src"))) + (install-file "src/shflags" src) + #t)))))) (home-page "https://github.com/kward/shflags") (synopsis "Command-line flags library for shell scripts") (description -- cgit v1.2.3 From 453c002679326e2517d077661781c77e413dd029 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 21 Feb 2018 06:47:23 +0100 Subject: gnu: shflags: Update to 1.2.3. * gnu/packages/version-control.scm (shflags): Update to 1.2.3. [arguments]: Match new sources layout. --- gnu/packages/version-control.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index a1f5cb5585..91698b5f7f 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -636,7 +636,7 @@ default) of the repository.") (define-public shflags (package (name "shflags") - (version "1.2.0") + (version "1.2.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/kward/shflags/archive/v" @@ -644,7 +644,7 @@ default) of the repository.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0zxw12haylaq60a335xlqcs4afw2zrgwqymmpw0m21r51w6irdmr")))) + "1h9xfrwwdhzflipfwdcgcc3y7zapdslnyk1rg5y8jm7k144rfrs4")))) (build-system gnu-build-system) (native-inputs `(("tar" ,tar) ("gzip" ,gzip))) @@ -658,7 +658,7 @@ default) of the repository.") (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (src (string-append out "/src"))) - (install-file "src/shflags" src) + (install-file "shflags" src) #t)))))) (home-page "https://github.com/kward/shflags") (synopsis "Command-line flags library for shell scripts") -- cgit v1.2.3 From a89e0cf581adfd4a9398be01e3853bdbb8a6686e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 21 Feb 2018 06:50:30 +0100 Subject: gnu: lpsolve: Update to 5.5.2.5. * gnu/packages/maths.scm (lpsolve): Update to 5.5.2.5. --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index bc71473237..6be4c6959b 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -3047,7 +3047,7 @@ specifications.") (define-public lpsolve (package (name "lpsolve") - (version "5.5.2.0") + (version "5.5.2.5") (source (origin (method url-fetch) @@ -3055,7 +3055,7 @@ specifications.") "/lp_solve_" version "_source.tar.gz")) (sha256 (base32 - "176c7f023mb6b8bfmv4rfqnrlw88lsg422ca74zjh19i2h5s69sq")) + "12pj1idjz31r7c2mb5w03vy1cmvycvbkx9z29s40qdmkp1i7q6i0")) (modules '((guix build utils))) (snippet '(substitute* (list "lp_solve/ccc" "lpsolve55/ccc") -- cgit v1.2.3 From a33727db1bf0eaf4a0024da45610bd8e3e727a8e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 20 Feb 2018 23:34:07 +0200 Subject: gnu: libx264: Update to 20180219-2245. * gnu/packages/video.scm (libx264): Update to 20180219-2245. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 1f6a5ea339..ccfb370563 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -245,14 +245,14 @@ television and DVD. It is also known as AC-3.") (define-public libx264 (package (name "libx264") - (version "20170316-2245") + (version "20180219-2245") (source (origin (method url-fetch) (uri (string-append "https://download.videolan.org/pub/x264/snapshots/" "x264-snapshot-" version ".tar.bz2")) (sha256 (base32 - "1s1nnvl3axz38sv4g09skijl6k9mbbngbb1nsh26w4dr2w2gyzad")))) + "166ahp82rn9xhiw9spisr8vhp516aylq1ggyddqdbi83w6fichcd")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) -- cgit v1.2.3 From a0343008dc7edae60446177f2e10ca57c10112dc Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Wed, 21 Feb 2018 20:25:00 +0100 Subject: gnu: libx264: Use nasm. Follow-up to a33727db1bf0eaf4a0024da45610bd8e3e727a8e. * gnu/packages/video.scm (libx264)[native-inputs]: Replace yasm by nasm. --- gnu/packages/video.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index ccfb370563..53c36ccffb 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -256,7 +256,7 @@ television and DVD. It is also known as AC-3.") (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) - ("yasm" ,yasm))) + ("nasm" ,nasm))) ;; TODO: Add gpac input (arguments `(#:tests? #f ;no check target -- cgit v1.2.3 From 22261238e7591c21d8362147992fbb12e67fda88 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 21 Feb 2018 14:25:20 -0500 Subject: gnu: mbedtls-apache: Update to 2.7.0 [security fixes]. Fixes CVE-2017-18187 and CVE-2018-{0487,0488}. * gnu/packages/tls.scm (mbedtls-apache): Update to 2.7.0. --- gnu/packages/tls.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index ee316c2289..9e06e675f4 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -787,7 +787,7 @@ then ported to the GNU / Linux environment.") (define-public mbedtls-apache (package (name "mbedtls-apache") - (version "2.6.0") + (version "2.7.0") (source (origin (method url-fetch) @@ -797,7 +797,7 @@ then ported to the GNU / Linux environment.") version "-apache.tgz")) (sha256 (base32 - "11wnj34rfqxjggmdgf042i49lr6civgbqwv2p7p8bn6k2919vg4r")))) + "1vsmgxnw7dpvma51896n63yaf9sncmf885ax2jfcg89ssin6vdmf")))) (build-system cmake-build-system) (arguments `(#:configure-flags -- cgit v1.2.3 From 659f790b3fceddca0553da3c7e51480c3bd9519e Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Wed, 21 Feb 2018 22:21:10 +0300 Subject: gnu: Add emacs-edit-indirect. * gnu/packages/emacs.scm (emacs-edit-indirect): New public variable. --- gnu/packages/emacs.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 94b371202c..a6bae80c3a 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -3844,6 +3844,26 @@ strings, and code folding.") in Emacs.") (license license:gpl3+))) +(define-public emacs-edit-indirect + (package + (name "emacs-edit-indirect") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/Fanael/edit-indirect/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "07kr58rd1p5j764wminsssazr73hy51yw8iqcsv5z2dwgj7msv71")))) + (build-system emacs-build-system) + (home-page "https://github.com/Fanael/edit-indirect") + (synopsis "Edit regions in separate buffers") + (description "This package allows you to edit regions in separate buffers, +like @code{org-edit-src-code} but for arbitrary regions.") + (license license:gpl3+))) + (define-public emacs-projectile (package (name "emacs-projectile") -- cgit v1.2.3 From c59ea46fd1050efca25e612306f8f8898cf168b5 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 22 Feb 2018 01:33:21 -0500 Subject: gnu: libmpdclient: Update to 2.14. * gnu/packages/mpd.scm (libmpdclient): Update to 2.14. [source]: Use HTTPS URL. --- gnu/packages/mpd.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index ac1fe51f15..e2cc7ce2b4 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2014 Cyrill Schenkel ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2015 Paul van der Walt -;;; Copyright © 2016 Leo Famulari +;;; Copyright © 2016, 2018 Leo Famulari ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. @@ -56,16 +56,16 @@ (define-public libmpdclient (package (name "libmpdclient") - (version "2.13") + (version "2.14") (source (origin (method url-fetch) (uri - (string-append "http://musicpd.org/download/libmpdclient/" + (string-append "https://musicpd.org/download/libmpdclient/" (car (string-split version #\.)) "/libmpdclient-" version ".tar.xz")) (sha256 (base32 - "0pflbv2jzik7yxnacci1iqs0awy1i5ipwn67xk0hg9r0pi9bs5ai")))) + "0whk0qw0lsd3kaimdznz0c45bfym0p4885zf4b7pfc7y3dwy510a")))) (build-system meson-build-system) (native-inputs `(("pkg-config" ,pkg-config) -- cgit v1.2.3 From 943100f61d6a9fd56a0bd1c2d564372a4e589298 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 22 Feb 2018 01:34:23 -0500 Subject: gnu: mpd: Update to 0.20.17. * gnu/packages/mpd.scm (mpd): Update to 0.20.17. [source]: Use HTTPS URL. --- gnu/packages/mpd.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index e2cc7ce2b4..2217c7374d 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -88,16 +88,16 @@ interfacing MPD in the C, C++ & Objective C languages.") (define-public mpd (package (name "mpd") - (version "0.20.15") + (version "0.20.17") (source (origin (method url-fetch) (uri - (string-append "http://musicpd.org/download/mpd/" + (string-append "https://musicpd.org/download/mpd/" (version-major+minor version) "/mpd-" version ".tar.xz")) (sha256 (base32 - "0h7bm561i8p0bjp1hy8fsiy5zj7db24zyv6ypfihwf35wrklz766")))) + "1hfssmvp4wmy7zh4bl4zv2zqwiddsy77v69w9fh61pqrwbqfgc1c")))) (build-system gnu-build-system) (arguments `(#:phases -- cgit v1.2.3 From 62d14d2400832b547e0c2dfcf416a0f3312271b9 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 22 Feb 2018 01:34:44 -0500 Subject: gnu: mpd-mpc: Update to 0.29. * gnu/packages/mpd.scm (mpd-mpc): Update to 0.29. [build-system]: Use the meson-build-system. --- gnu/packages/mpd.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index 2217c7374d..1b06de2360 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -162,17 +162,17 @@ protocol.") (define-public mpd-mpc (package (name "mpd-mpc") - (version "0.28") + (version "0.29") (source (origin (method url-fetch) (uri - (string-append "http://www.musicpd.org/download/mpc/" + (string-append "https://www.musicpd.org/download/mpc/" (car (string-split version #\.)) "/mpc-" version ".tar.xz")) (sha256 (base32 - "0iy5mdffkk61255f62si7p8mhyhkib70zlr1i1iimj2xr037scx4")))) - (build-system gnu-build-system) + "1lxr0z5i5yx4lcvy9nyxj6q32qlz473j3zm6va68zd1cj3ndmw82")))) + (build-system meson-build-system) (inputs `(("libmpdclient" ,libmpdclient))) (native-inputs `(("pkg-config" ,pkg-config))) (synopsis "Music Player Daemon client") -- cgit v1.2.3 From 3fd2ecb338ed1224dc5df6ac4359365e6b1bc082 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Wed, 7 Feb 2018 06:28:46 -0500 Subject: gnu: Add wxwidgets-gtk2-3.1. * gnu/packages/wxwidgets.scm (wxwidgets-gtk2-3.1): New variable. Signed-off-by: Rutger Helling --- gnu/packages/wxwidgets.scm | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm index 84446d8ef0..9f7a87ca47 100644 --- a/gnu/packages/wxwidgets.scm +++ b/gnu/packages/wxwidgets.scm @@ -126,6 +126,14 @@ and many other languages.") ((#:configure-flags flags) `(cons "--enable-mediactrl" ,flags)))))) +(define-public wxwidgets-gtk2-3.1 + (package (inherit wxwidgets-3.1) + (inputs `(("gtk+" ,gtk+-2) + ,@(alist-delete + "gtk+" + (package-inputs wxwidgets-3.1)))) + (name "wxwidgets-gtk2"))) + (define-public python2-wxpython (package (name "python2-wxpython") -- cgit v1.2.3 From 6352e99437d6f9f10d872aabe070225fe01b9344 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Thu, 22 Feb 2018 09:12:12 +0100 Subject: gnu/local.mk: Add emulators.scm. * gnu/local.mk (GNU_SYSTEM_MODULES): Add emulators.scm. --- gnu/local.mk | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 73939df833..2fd7e2478f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -142,6 +142,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/elixir.scm \ %D%/packages/embedded.scm \ %D%/packages/emacs.scm \ + %D%/packages/emulators.scm \ %D%/packages/enchant.scm \ %D%/packages/engineering.scm \ %D%/packages/enlightenment.scm \ -- cgit v1.2.3 From e5f9ec8bc3bfae5922394b01ccc38f60b55a373d Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Thu, 22 Feb 2018 09:17:55 +0100 Subject: gnu: Add dolphin-emu. * gnu/packages/emulators.scm (dolphin-emu): New variable. --- gnu/packages/emulators.scm | 175 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 gnu/packages/emulators.scm (limited to 'gnu') diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm new file mode 100644 index 0000000000..d0d0108115 --- /dev/null +++ b/gnu/packages/emulators.scm @@ -0,0 +1,175 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 David Thompson +;;; Copyright © 2018 Rutger Helling +;;; +;;; 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 emulators) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (gnu packages audio) + #:use-module (gnu packages compression) + #:use-module (gnu packages curl) + #:use-module (gnu packages fonts) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages game-development) + #:use-module (gnu packages gettext) + #:use-module (gnu packages gl) + #:use-module (gnu packages glib) + #:use-module (gnu packages gtk) + #:use-module (gnu packages image) + #:use-module (gnu packages libusb) + #:use-module (gnu packages linux) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages qt) + #:use-module (gnu packages sdl) + #:use-module (gnu packages tls) + #:use-module (gnu packages upnp) + #:use-module (gnu packages video) + #:use-module (gnu packages wxwidgets) + #:use-module (gnu packages xiph) + #:use-module (gnu packages xorg) + #:use-module (guix build-system cmake)) + +;; Building from recent Git because the official 5.0 release no longer builds. +(define-public dolphin-emu + (let ((commit "d04b179111f8d863f360839474cb82c766f762b8") + (revision "0")) + (package + (name "dolphin-emu") + (version (git-version "5.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dolphin-emu/dolphin.git") + (commit commit))) + (file-name (git-file-name name version)) + (modules '((guix build utils))) + (snippet + '(begin + (for-each delete-file-recursively + ;; Remove external stuff we don't need. + '("Externals/LZO" + "Externals/OpenAL" + "Externals/Qt" + "Externals/SFML" + "Externals/SOIL" + "Externals/curl" + "Externals/ffmpeg" + "Externals/gettext" + "Externals/hidapi" + "Externals/libpng" + "Externals/libusb" + "Externals/mbedtls" + "Externals/miniupnpc" + "Externals/wxWidgets3" + "Externals/zlib")) + ;; Clean up source. + (for-each delete-file (find-files "." "\\.bin$")) + (for-each delete-file (find-files "." "\\.dsy$")) + (for-each delete-file (find-files "." "\\.exe$")) + (for-each delete-file (find-files "." "\\.jar$")) + (for-each delete-file (find-files "." "\\.rar$")) + #t)) + (sha256 + (base32 + "0g725wmhlim73zrhi47wmr1bmplpy4b7sbimd5pm8xpfhj5nm10l")))) + (build-system cmake-build-system) + (arguments + '(#:tests? #f + ;; The FindGTK2 cmake script only checks hardcoded directories for + ;; glib/gtk headers. + + #:phases + (modify-phases %standard-phases + (add-before 'configure 'generate-fonts + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((fontfile + (string-append (assoc-ref inputs "font-wqy-microhei") + "/share/fonts/truetype/wqy-microhei.ttc"))) + (chdir "docs") + (invoke "bash" "-c" "g++ -O2 -std=c++11 $(freetype-config \ +--cflags --libs) gc-font-tool.cpp -o gc-font-tool") + (invoke "./gc-font-tool" "a" fontfile "font_western.bin") + (invoke "./gc-font-tool" "s" fontfile "font_japanese.bin") + (copy-file "font_japanese.bin" "../Data/Sys/GC/font_japanese.bin") + (copy-file "font_western.bin" "../Data/Sys/GC/font_western.bin") + (chdir "..") + #t)))) + + #:configure-flags + (list (string-append "-DGTK2_GDKCONFIG_INCLUDE_DIR=" + (assoc-ref %build-inputs "gtk+") + "/lib/gtk-2.0/include") + (string-append "-DGTK2_GLIBCONFIG_INCLUDE_DIR=" + (assoc-ref %build-inputs "glib") + "/lib/glib-2.0/include") + (string-append "-DX11_INCLUDE_DIR=" + (assoc-ref %build-inputs "libx11") + "/include") + (string-append "-DX11_LIBRARIES=" + (assoc-ref %build-inputs "libx11") + "/lib/libX11.so") + "-DX11_FOUND=1"))) + ; TODO: Make Vulkan backend work. + (native-inputs + `(("pkg-config" ,pkg-config) + ("gettext" ,gnu-gettext))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("ao" ,ao) + ("bluez" ,bluez) + ("curl" ,curl) + ("eudev" ,eudev) + ("ffmpeg" ,ffmpeg) + ("font-wqy-microhei" ,font-wqy-microhei) + ("freetype" ,freetype) + ("glew" ,glew) + ("glib" ,glib) + ("glu" ,glu) + ("gtk+" ,gtk+-2) + ("hidapi" ,hidapi) + ("libevdev" ,libevdev) + ("libpng" ,libpng) + ("libusb" ,libusb) + ("libx11" ,libx11) + ("libxi" ,libxi) + ("libxrandr" ,libxrandr) + ("lzo" ,lzo) + ("mbedtls-apache" ,mbedtls-apache) + ("mesa" ,mesa) + ("miniupnpc" ,miniupnpc) + ("openal" ,openal) + ("pulseaudio" ,pulseaudio) + ("qtbase" ,qtbase) + ("sdl2" ,sdl2) + ("sfml" ,sfml) + ("soil" ,soil) + ("soundtouch" ,soundtouch) + ("wxwidgets" ,wxwidgets-gtk2-3.1) + ("zlib" ,zlib))) + (home-page "https://dolphin-emu.org/") + (synopsis "Nintendo Wii and GameCube emulator") + (description + "Dolphin is an emulator for two Nintendo video game consoles: the +GameCube and the Wii. It provides compatibility with all PC controllers, +turbo speed, networked multiplayer, and graphical enhancements.") + (supported-systems '("x86_64-linux")) ; TODO: should also work on ARM64. + ; dolphin/Data/Sys/GC/font_*.bin: Licensed under ASL2.0. + (license (list license:gpl2+ license:asl2.0 license:fdl1.2+))))) -- cgit v1.2.3 From 51b7b0e30ff5c2588c7a5d6ab437344ec5b952d1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 22 Feb 2018 11:07:17 +0100 Subject: gnu: r-timedate: Update to 3043.102. * gnu/packages/cran.scm (r-timedate): Update to 3043.102. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 108650d19a..e1fb1b6215 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1109,14 +1109,14 @@ methods.") (define-public r-timedate (package (name "r-timedate") - (version "3042.101") + (version "3043.102") (source (origin (method url-fetch) (uri (cran-uri "timeDate" version)) (sha256 (base32 - "0vcckaw1gqz3j4v69r9jn41vlmk5a5c7572xam1nl75ki5v4r3bc")))) + "0wvl5pq261rvbgly7vilk3x3m9xk3ly6il1i5scwdf6srl1vlz1p")))) (properties `((upstream-name . "timeDate"))) (build-system r-build-system) (home-page "https://www.rmetrics.org") -- cgit v1.2.3 From b4c6f4caf72168951b0f3379af46c54eb6078d64 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 22 Feb 2018 11:07:29 +0100 Subject: gnu: r-stringr: Update to 1.3.0. * gnu/packages/statistics.scm (r-stringr): Update to 1.3.0. [propagated-inputs]: Add r-glue. --- gnu/packages/statistics.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index f3e1135253..72ea9df12d 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -965,16 +965,17 @@ transliteration, concatenation, date-time formatting and parsing, etc.") (define-public r-stringr (package (name "r-stringr") - (version "1.2.0") + (version "1.3.0") (source (origin (method url-fetch) (uri (cran-uri "stringr" version)) (sha256 - (base32 "16hj2rmv8x03lp6cp2jk0k2plibvbggf444kp05przdvd03v7l31")))) + (base32 "07dvfbkhv8gk6l32j43jvxpmqlhqp0mdby406h5a3bsc6k94ic13")))) (build-system r-build-system) (propagated-inputs - `(("r-magrittr" ,r-magrittr) + `(("r-glue" ,r-glue) + ("r-magrittr" ,r-magrittr) ("r-stringi" ,r-stringi))) (home-page "https://github.com/hadley/stringr") (synopsis "Simple, consistent wrappers for common string operations") -- cgit v1.2.3 From 5b62630280982943f70a7969c13badb73d0d7290 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 22 Feb 2018 11:07:48 +0100 Subject: gnu: r-knitr: Update to 1.20. * gnu/packages/statistics.scm (r-knitr): Update to 1.20. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 72ea9df12d..07bedd0fd8 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1348,13 +1348,13 @@ emitter (http://pyyaml.org/wiki/LibYAML) for R.") (define-public r-knitr (package (name "r-knitr") - (version "1.19") + (version "1.20") (source (origin (method url-fetch) (uri (cran-uri "knitr" version)) (sha256 (base32 - "1gyj9bw90h4h9rc9k1iqrnzirm2f8mj45zi8bkjc6rp610vlh63j")))) + "1408dm25cxahk2clff8hlajaqdj5v1gs40nm3q6rf0ghd82hj93v")))) (build-system r-build-system) (propagated-inputs `(("r-evaluate" ,r-evaluate) -- cgit v1.2.3 From 1ea66398680e3e60d89c92c8e6109af0be9a95ea Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 22 Feb 2018 11:07:57 +0100 Subject: gnu: r-rlang: Update to 0.2.0. * gnu/packages/statistics.scm (r-rlang): Update to 0.2.0. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 07bedd0fd8..ef81179fcf 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1550,13 +1550,13 @@ defined in different packages.") (define-public r-rlang (package (name "r-rlang") - (version "0.1.6") + (version "0.2.0") (source (origin (method url-fetch) (uri (cran-uri "rlang" version)) (sha256 (base32 - "1x62assn8m7cd0q75r809gxsdqmxmd2br1xz53ykzhrfz3j768kp")))) + "0f87fhw5pj6s2zjdxnpnd7pwn78czdz71b0xhm5adqg1p38sfwj8")))) (build-system r-build-system) (home-page "http://rlang.tidyverse.org") (synopsis "Functions for base types, core R and Tidyverse features") -- cgit v1.2.3 From fae330c354d10171f63cdf77e1a7afa44897382f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 22 Feb 2018 11:08:07 +0100 Subject: gnu: r-dbplyr: Update to 1.2.1. * gnu/packages/statistics.scm (r-dbplyr): Update to 1.2.1. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index ef81179fcf..a27c17d74a 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1628,14 +1628,14 @@ database.") (define-public r-dbplyr (package (name "r-dbplyr") - (version "1.2.0") + (version "1.2.1") (source (origin (method url-fetch) (uri (cran-uri "dbplyr" version)) (sha256 (base32 - "17br61mhssi2pm6v8604f89ykglng3qp9ymfzmhw10cary6zm982")))) + "1nwrls9c3kc9q7405jp6b9sh23642sz13yw55iikgw134shffj5k")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) -- cgit v1.2.3 From 0c43f4814bc9ed12decd0ea59ff6d751872eac27 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 22 Feb 2018 11:08:17 +0100 Subject: gnu: r-devtools: Update to 1.13.5. * gnu/packages/statistics.scm (r-devtools): Update to 1.13.5. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index a27c17d74a..a34de0d195 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2331,13 +2331,13 @@ informative error messages when it's not available.") (define-public r-devtools (package (name "r-devtools") - (version "1.13.4") + (version "1.13.5") (source (origin (method url-fetch) (uri (cran-uri "devtools" version)) (sha256 (base32 - "1az1qf50vyhm4w6k2a6wqw3pqc8jv2iqzdhs36cg079hx9swm0mb")))) + "1x3wsk7dh3yakii61kbfvafx9yz66h40ixiwfkf03dnp2n24hngs")))) (build-system r-build-system) (propagated-inputs `(("r-digest" ,r-digest) -- cgit v1.2.3 From e5e56cc9eb1db74e307f4c0d04641fb1c68f639a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 22 Feb 2018 11:08:30 +0100 Subject: gnu: r-xml: Update to 3.98-1.10. * gnu/packages/statistics.scm (r-xml): Update to 3.98-1.10. [inputs]: Add zlib. [native-inputs]: Add pkg-config. --- gnu/packages/statistics.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index a34de0d195..6063901987 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2748,18 +2748,21 @@ ldap, and also supports cookies, redirects, authentication, etc.") (define-public r-xml (package (name "r-xml") - (version "3.98-1.9") + (version "3.98-1.10") (source (origin (method url-fetch) (uri (cran-uri "XML" version)) (sha256 (base32 - "1hzkdkgs0nzmfg9wm7kyh1j9i0i2g7925whzlihqvg9grdlh3dx3")))) + "1faza9bbllp67lf1yv1sllxc3iv8llz52m9diazhq322iqbh97m1")))) (properties `((upstream-name . "XML"))) (build-system r-build-system) (inputs - `(("libxml2" ,libxml2))) + `(("libxml2" ,libxml2) + ("zlib" ,zlib))) + (native-inputs + `(("pkg-config" ,pkg-config))) (home-page "http://www.omegahat.org/RSXML") (synopsis "Tools for parsing and generating XML within R") (description -- cgit v1.2.3 From 8cc41c8ff59f58b4167f76dc29dcc6058028bf81 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 22 Feb 2018 11:09:11 +0100 Subject: gnu: r-forcats: Update to 0.3.0. * gnu/packages/statistics.scm (r-forcats): Update to 0.3.0. [propagated-inputs]: Add r-rlang. --- gnu/packages/statistics.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 6063901987..c1012a635b 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5411,18 +5411,19 @@ and the corresponding decision threshold.") (define-public r-forcats (package (name "r-forcats") - (version "0.2.0") + (version "0.3.0") (source (origin (method url-fetch) (uri (cran-uri "forcats" version)) (sha256 (base32 - "1mvwkynvvgz2vi8dyz11x7xrp53kadjawjcja34hwk1d89qf7g5m")))) + "0mxn1hng43zdjh1v8shd80hrszrqahcpaqxs1s1sif0qxh84d0cm")))) (build-system r-build-system) (propagated-inputs `(("r-magrittr" ,r-magrittr) - ("r-tibble" ,r-tibble))) + ("r-tibble" ,r-tibble) + ("r-rlang" ,r-rlang))) (home-page "http://forcats.tidyverse.org") (synopsis "Tools for working with factors") (description "This package provides helpers for reordering factor -- cgit v1.2.3 From 65c9d25739ae5ebad955c517aacc67cf3ad11f9a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 22 Feb 2018 11:09:40 +0100 Subject: gnu: r-qtl: Update to 1.42-8. * gnu/packages/bioinformatics.scm (r-qtl): Update to 1.42-8. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 820bd84d66..c427a6d036 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -8111,7 +8111,7 @@ throughput genetic sequencing data sets using regression methods.") (define-public r-qtl (package (name "r-qtl") - (version "1.42-7") + (version "1.42-8") (source (origin (method url-fetch) @@ -8119,7 +8119,7 @@ throughput genetic sequencing data sets using regression methods.") version ".tar.gz")) (sha256 (base32 - "0hxij8v4my5x4pf5fn5327g7m3n7vjkbzrl580vcmp81n3n3nmrx")))) + "1l528dwvfpdlr05imrrm4rq32axp6hld9nqm6mm43kn5n7z2f5k6")))) (build-system r-build-system) (home-page "http://rqtl.org/") (synopsis "R package for analyzing QTL experiments in genetics") -- cgit v1.2.3 From 9af704c59cfbffd021f0e7420a57f7f2ed6c8c07 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Thu, 22 Feb 2018 12:04:14 +0100 Subject: gnu: Move emulation packages from games to emulators. * gnu/packages/games.scm (desmume) (dosbox) (emulation-station) (higan) (mgba) (mupen64plus-audio-sdl) (mupen64plus-core) (mupen64plus-input-sdl) (mupen64plus-rsp-hle) (mupen64plus-rsp-z64) (mupen64plus-ui-console) (mupen64plus-video-arachnoid) (mupen64plus-video-glide64) (mupen64plus-video-glide64mk2) (mupen64plus-video-rice) (mupen64plus-video-z64) (nestopia-ue) (retroarch): Move to... * gnu/packages/emulators.scm: ... here. --- gnu/packages/emulators.scm | 951 ++++++++++++++++++++++++++++++++++++++++++++- gnu/packages/games.scm | 919 ------------------------------------------- 2 files changed, 948 insertions(+), 922 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index d0d0108115..79c570faf8 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -1,6 +1,14 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2018 David Thompson -;;; Copyright © 2018 Rutger Helling +;;; Copyright © 2015 Mark H Weaver +;;; Copyright © 2015 Paul van der Walt +;;; Copyright © 2015, 2016 Sou Bunnbu +;;; Copyright © 2015, 2016 Taylan Ulrich Bayırlı/Kammer +;;; Copyright © 2015, 2018 David Thompson +;;; Copyright © 2016 Manolis Fragkiskos Ragkousis +;;; Copyright © 2016, 2017 Efraim Flashner +;;; Copyright © 2017 Nicolas Goaziou +;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Rutger Helling ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,31 +28,82 @@ (define-module (gnu packages emulators) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) + #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix svn-download) + #:use-module (gnu packages) + #:use-module (gnu packages algebra) #:use-module (gnu packages audio) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) + #:use-module (gnu packages boost) + #:use-module (gnu packages backup) #:use-module (gnu packages compression) #:use-module (gnu packages curl) + #:use-module (gnu packages databases) #:use-module (gnu packages fonts) #:use-module (gnu packages fontutils) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages game-development) #:use-module (gnu packages gettext) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages image) + #:use-module (gnu packages imagemagick) + #:use-module (gnu packages libedit) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) + #:use-module (gnu packages ncurses) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages python) #:use-module (gnu packages qt) #:use-module (gnu packages sdl) #:use-module (gnu packages tls) #:use-module (gnu packages upnp) #:use-module (gnu packages video) + #:use-module (gnu packages vulkan) #:use-module (gnu packages wxwidgets) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages xiph) + #:use-module (gnu packages xml) #:use-module (gnu packages xorg) - #:use-module (guix build-system cmake)) + #:use-module (guix build-system cmake) + #:use-module (guix build-system gnu)) + +(define-public desmume + (package + (name "desmume") + (version "0.9.11") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/desmume/desmume/" + version "/desmume-" version ".tar.gz")) + (sha256 + (base32 + "15l8wdw3q61fniy3h93d84dnm6s4pyadvh95a0j6d580rjk4pcrs")))) + (build-system gnu-build-system) + (arguments + ;; Enable support for WiFi and microphone. + `(#:configure-flags '("--enable-wifi" + "--enable-openal"))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs + `(("zlib" ,zlib) + ("sdl" ,sdl) + ("glib" ,glib) + ("gtk+" ,gtk+-2) + ("glu" ,glu))) + (home-page "http://desmume.org/") + (synopsis "Nintendo DS emulator") + (description + "DeSmuME is an emulator for the Nintendo DS handheld gaming console.") + (license license:gpl2))) ;; Building from recent Git because the official 5.0 release no longer builds. (define-public dolphin-emu @@ -173,3 +232,889 @@ turbo speed, networked multiplayer, and graphical enhancements.") (supported-systems '("x86_64-linux")) ; TODO: should also work on ARM64. ; dolphin/Data/Sys/GC/font_*.bin: Licensed under ASL2.0. (license (list license:gpl2+ license:asl2.0 license:fdl1.2+))))) + +(define-public dosbox + (package + (name "dosbox") + (version "0.74.svn3947") + (source (origin + (method svn-fetch) + (uri (svn-reference + (url "http://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk/") + (revision 3947))) + (file-name (string-append name "-" version "-checkout")) + ;; Use SVN head, since the last release (2010) is incompatible + ;; with GCC 4.8+ (see + ;; ). + (sha256 + (base32 + "1p918j6090d1nkvgq7ifvmn506zrdmyi32y7p3ms40d5ssqjg8fj")))) + (build-system gnu-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after + 'unpack 'autogen.sh + (lambda _ + (zero? (system* "sh" "autogen.sh"))))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake))) + (inputs + `(("sdl" ,sdl) + ("libpng" ,libpng) + ("zlib" ,zlib) + ("alsa-lib" ,alsa-lib) + ("glu" ,glu) + ("mesa" ,mesa))) + (home-page "http://www.dosbox.com") + (synopsis "X86 emulator with CGA/EGA/VGA/etc. graphics and sound") + (description "DOSBox is a DOS-emulator that uses the SDL library. DOSBox +also emulates CPU:286/386 realmode/protected mode, Directory +FileSystem/XMS/EMS, Tandy/Hercules/CGA/EGA/VGA/VESA graphics, a +SoundBlaster/Gravis Ultra Sound card for excellent sound compatibility with +older games.") + (license license:gpl2+))) + +(define-public emulation-station + (let ((commit "646bede3d9ec0acf0ae378415edac136774a66c5")) + (package + (name "emulation-station") + (version "2.0.1") + (source (origin + (method git-fetch) ; no tarball available + (uri (git-reference + (url "https://github.com/Aloshi/EmulationStation.git") + (commit commit))) ; no version tag + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0cm0sq2wri2l9cvab1l0g02za59q7klj0h3p028vr96n6njj4w9v")))) + (build-system cmake-build-system) + (arguments + '(#:tests? #f)) ; no tests + (inputs + `(("alsa-lib" ,alsa-lib) + ("boost" ,boost) + ("curl" ,curl) + ("eigin" ,eigen) + ("freeimage" ,freeimage) + ("freetype" ,freetype) + ("mesa" ,mesa) + ("sdl2" ,sdl2))) + (synopsis "Video game console emulator front-end") + (description "EmulationStation provides a graphical front-end to a large +number of video game console emulators. It features an interface that is +usable with any game controller that has at least 4 buttons, theming support, +and a game metadata scraper.") + (home-page "http://www.emulationstation.org") + (license license:expat)))) + +(define-public higan + (package + (name "higan") + (version "106") + (source + (origin + (method url-fetch) + (uri (string-append + "https://gitlab.com/higan/higan/repository/archive.tar.gz?ref=v" + version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0y42pra0dxzlbkyzcp3r8a39pji2bj3p9fl40425f60af2igr4rw")) + (patches (search-patches "higan-remove-march-native-flag.patch")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("ao" ,ao) + ("eudev" ,eudev) + ("gtk+" ,gtk+-2) + ("gtksourceview-2" ,gtksourceview-2) + ("libxv" ,libxv) + ("mesa" ,mesa) + ("openal" ,openal) + ("pulseaudio" ,pulseaudio) + ("sdl" ,sdl))) + (arguments + '(#:phases + (let ((build-phase (assoc-ref %standard-phases 'build)) + (install-phase (assoc-ref %standard-phases 'install))) + (modify-phases %standard-phases + ;; The higan build system has no configure phase. + (delete 'configure) + (add-before 'build 'chdir-to-higan + (lambda _ + (chdir "higan"))) + (add-before 'install 'create-/share/applications + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; It seems the author forgot to do this in the Makefile. + (mkdir-p (string-append out "/share/applications"))))) + (add-after 'install 'chdir-to-icarus + (lambda _ + (chdir "../icarus"))) + (add-after 'chdir-to-icarus 'build-icarus build-phase) + (add-after 'build-icarus 'install-icarus install-phase) + (add-after 'install-icarus 'wrap-higan-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (higan (string-append bin "/higan")) + (higan-original (string-append higan "-original")) + (bash (string-append (assoc-ref inputs "bash") + "/bin/bash")) + (coreutils (assoc-ref inputs "coreutils")) + (mkdir (string-append coreutils "/bin/mkdir")) + (cp (string-append coreutils "/bin/cp")) + (cp-r (string-append cp " -r --no-preserve=mode"))) + ;; First, have the executable make sure ~/.local/share/higan + ;; contains up to date files. Higan insists on looking there + ;; for these data files. + (rename-file higan higan-original) + (with-output-to-file higan + (lambda () + (display + (string-append + "#!" bash "\n" + ;; higan doesn't respect $XDG_DATA_HOME + mkdir " -p ~/.local/share\n" + cp-r " " out "/share/higan ~/.local/share\n" + "exec " higan-original)))) + (chmod higan #o555) + ;; Second, make sure higan will find icarus in PATH. + (wrap-program higan + `("PATH" ":" prefix (,bin)))))))) + #:make-flags + (list "compiler=g++" + (string-append "prefix=" (assoc-ref %outputs "out"))) + ;; There is no test suite. + #:tests? #f)) + (home-page "http://byuu.org/emulation/higan/") + (synopsis "Nintendo multi-system emulator") + (description + "higan (formerly bsnes) is an emulator for multiple Nintendo video game +consoles, including the Nintendo Entertainment System (NES/Famicom), Super +Nintendo Entertainment System (SNES/Super Famicom), Game Boy, Game Boy +Color (GBC), and Game Boy Advance (GBA). It also supports the subsystems +Super Game Boy, BS-X Satellaview, and Sufami Turbo.") + ;; As noted in these files among more: + ;; - icarus/icarus.cpp + ;; - higan/emulator/emulator.hpp + (license license:gpl3))) + +(define-public mgba + (package + (name "mgba") + (version "0.6.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/mgba-emu/mgba/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0xmq1q1j71hnpd49wm91cqq8w5zdhb921cm17jchp4qjmaqgwy3w")) + (modules '((guix build utils))) + (snippet + ;; Make sure we don't use the bundled software. + '(for-each + (lambda (subdir) + (let ((lib-subdir (string-append "src/third-party/" subdir))) + (delete-file-recursively lib-subdir))) + '("libpng" "lzma" "sqlite3" "zlib"))))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ;no "test" target + #:configure-flags + (list "-DUSE_LZMA=OFF" ;do not use bundled LZMA + "-DUSE_LIBZIP=OFF" ;use "zlib" instead + (string-append "-DCMAKE_INSTALL_LIBDIR=" + (assoc-ref %outputs "out") "/lib")))) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs `(("ffmpeg" ,ffmpeg) + ("imagemagick" ,imagemagick) + ("libedit" ,libedit) + ("libepoxy" ,libepoxy) + ("libpng" ,libpng) + ("mesa" ,mesa) + ("minizip" ,minizip) + ("ncurses" ,ncurses) + ("qtbase" ,qtbase) + ("qtmultimedia" ,qtmultimedia) + ("qttools" ,qttools) + ("sdl2" ,sdl2) + ("sqlite" ,sqlite) + ("zlib" ,zlib))) + (home-page "https://mgba.io") + (synopsis "Game Boy Advance emulator") + (description + "mGBA is an emulator for running Game Boy Advance games. It aims to be +faster and more accurate than many existing Game Boy Advance emulators, as +well as adding features that other emulators lack. It also supports Game Boy +and Game Boy Color games.") + ;; Code is mainly MPL 2.0. "blip_buf.c" is LGPL 2.1+ and "inih.c" is + ;; BSD-3. + (license (list license:mpl2.0 license:lgpl2.1+ license:bsd-3)))) + +(define-public mupen64plus-core + (package + (name "mupen64plus-core") + (version "2.5") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/mupen64plus/mupen64plus-core/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0dg2hksm5qni2hcha93k7n4fqr92888p946f7phb0ndschzfh9kk")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("which" ,which))) + (inputs + `(("freetype" ,freetype) + ("glu" ,glu) + ("libpng" ,libpng) + ("mesa" ,mesa) + ("sdl2" ,sdl2) + ("zlib" ,zlib))) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; The mupen64plus build system has no configure phase. + (delete 'configure) + ;; Makefile is in a subdirectory. + (add-before + 'build 'cd-to-project-dir + (lambda _ + (chdir "projects/unix")))) + #:make-flags (let ((out (assoc-ref %outputs "out"))) + (list "all" (string-append "PREFIX=" out))) + ;; There are no tests. + #:tests? #f)) + ;; As per the Makefile (in projects/unix/Makefile): + (supported-systems '("i686-linux" "x86_64-linux")) + (home-page "http://www.mupen64plus.org/") + (synopsis "Nintendo 64 emulator core library") + (description + "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator +which is capable of accurately playing many games. This package contains the +core library.") + (license license:gpl2+))) + +(define-public mupen64plus-audio-sdl + (package + (name "mupen64plus-audio-sdl") + (version "2.5") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/mupen64plus/mupen64plus-audio-sdl/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0ss6w92n2rpfnazhg9lbq0nvs3fqx93nliz3k3wjxdlx4dpi7h3a")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("which" ,which))) + (inputs + `(("mupen64plus-core" ,mupen64plus-core) + ("sdl2" ,sdl2))) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; The mupen64plus build system has no configure phase. + (delete 'configure) + ;; Makefile is in a subdirectory. + (add-before + 'build 'cd-to-project-dir + (lambda _ + (chdir "projects/unix")))) + #:make-flags + (let ((out (assoc-ref %outputs "out")) + (m64p (assoc-ref %build-inputs "mupen64plus-core"))) + (list "all" + (string-append "PREFIX=" out) + (string-append "APIDIR=" m64p "/include/mupen64plus"))) + ;; There are no tests. + #:tests? #f)) + (home-page "http://www.mupen64plus.org/") + (synopsis "Mupen64Plus SDL input plugin") + (description + "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator +which is capable of accurately playing many games. This package contains the +SDL audio plugin.") + (license license:gpl2+))) + +(define-public mupen64plus-input-sdl + (package + (name "mupen64plus-input-sdl") + (version "2.5") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/mupen64plus/mupen64plus-input-sdl/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "11sj5dbalp2nrlmki34vy7wy28vc175pnnkdk65p8599hnyq37ri")))) + (build-system gnu-build-system) + (native-inputs + `(("which" ,which))) + (inputs + `(("mupen64plus-core" ,mupen64plus-core) + ("sdl2" ,sdl2))) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; The mupen64plus build system has no configure phase. + (delete 'configure) + ;; Makefile is in a subdirectory. + (add-before + 'build 'cd-to-project-dir + (lambda _ + (chdir "projects/unix")))) + #:make-flags + (let ((out (assoc-ref %outputs "out")) + (m64p (assoc-ref %build-inputs "mupen64plus-core"))) + (list "all" + (string-append "PREFIX=" out) + (string-append "APIDIR=" m64p "/include/mupen64plus"))) + ;; There are no tests. + #:tests? #f)) + (home-page "http://www.mupen64plus.org/") + (synopsis "Mupen64Plus SDL input plugin") + (description + "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator +which is capable of accurately playing many games. This package contains the +SDL input plugin.") + (license license:gpl2+))) + +(define-public mupen64plus-rsp-hle + (package + (name "mupen64plus-rsp-hle") + (version "2.5") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/mupen64plus/mupen64plus-rsp-hle/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "15h7mgz6xd2zjzm6l3f96sbs8kwr3xvbwzgikhnka79m6c69hsxv")))) + (build-system gnu-build-system) + (inputs + `(("mupen64plus-core" ,mupen64plus-core))) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; The mupen64plus build system has no configure phase. + (delete 'configure) + ;; Makefile is in a subdirectory. + (add-before + 'build 'cd-to-project-dir + (lambda _ + (chdir "projects/unix")))) + #:make-flags + (let ((out (assoc-ref %outputs "out")) + (m64p (assoc-ref %build-inputs "mupen64plus-core"))) + (list "all" + (string-append "PREFIX=" out) + (string-append "APIDIR=" m64p "/include/mupen64plus"))) + ;; There are no tests. + #:tests? #f)) + (home-page "http://www.mupen64plus.org/") + (synopsis "Mupen64Plus SDL input plugin") + (description + "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator +which is capable of accurately playing many games. This package contains the +high-level emulation (HLE) RSP processor plugin.") + (license license:gpl2+))) + +(define-public mupen64plus-rsp-z64 + (package + (name "mupen64plus-rsp-z64") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/mupen64plus/mupen64plus-rsp-z64/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "10jz1w2dhx5slhyk4m8mdqlpsd6cshchslr1fckb2ayzb1ls3ghi")))) + (build-system gnu-build-system) + (inputs + `(("mupen64plus-core" ,mupen64plus-core))) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; The mupen64plus build system has no configure phase. + (delete 'configure) + ;; Makefile is in a subdirectory. + (add-before + 'build 'cd-to-project-dir + (lambda _ + (chdir "projects/unix")))) + #:make-flags + (let ((out (assoc-ref %outputs "out")) + (m64p (assoc-ref %build-inputs "mupen64plus-core"))) + (list "all" + (string-append "PREFIX=" out) + (string-append "APIDIR=" m64p "/include/mupen64plus"))) + ;; There are no tests. + #:tests? #f)) + (home-page "http://www.mupen64plus.org/") + (synopsis "Mupen64Plus SDL input plugin") + (description + "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator +which is capable of accurately playing many games. This package contains the +Z64 RSP processor plugin.") + (license license:gpl2+))) + +(define-public mupen64plus-video-arachnoid + (package + (name "mupen64plus-video-arachnoid") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/mupen64plus/mupen64plus-video-arachnoid/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0jjwf144rihznm4lnqbhgigxw664v3v32wy94adaa6imk8z6gslh")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("which" ,which))) + (inputs + `(("mesa" ,mesa) + ("mupen64plus-core" ,mupen64plus-core))) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; The mupen64plus build system has no configure phase. + (delete 'configure) + ;; Makefile is in a subdirectory. + (add-before + 'build 'cd-to-project-dir + (lambda _ + (chdir "projects/unix")))) + #:make-flags + (let ((out (assoc-ref %outputs "out")) + (m64p (assoc-ref %build-inputs "mupen64plus-core"))) + (list "all" + (string-append "PREFIX=" out) + (string-append "APIDIR=" m64p "/include/mupen64plus"))) + ;; There are no tests. + #:tests? #f)) + (home-page "http://www.mupen64plus.org/") + (synopsis "Mupen64Plus Rice Video plugin") + (description + "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator +which is capable of accurately playing many games. This package contains the +Arachnoid video plugin.") + (license license:gpl2+))) + +(define-public mupen64plus-video-glide64 + (package + (name "mupen64plus-video-glide64") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/mupen64plus/mupen64plus-video-glide64/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1rm55dbf6xgsq1blbzs6swa2ajv0qkn38acbljj346abnk6s3dla")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("which" ,which))) + (inputs + `(("mesa" ,mesa) + ("mupen64plus-core" ,mupen64plus-core) + ("sdl2" ,sdl2))) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; The mupen64plus build system has no configure phase. + (delete 'configure) + ;; Makefile is in a subdirectory. + (add-before + 'build 'cd-to-project-dir + (lambda _ + (chdir "projects/unix"))) + ;; XXX Should be unnecessary with the next release. + (add-before + 'build 'use-sdl2 + (lambda _ + (substitute* "Makefile" + (("SDL_CONFIG = (.*)sdl-config" all prefix) + (string-append "SDL_CONFIG = " prefix "sdl2-config")))))) + #:make-flags + (let ((out (assoc-ref %outputs "out")) + (m64p (assoc-ref %build-inputs "mupen64plus-core"))) + (list "all" + (string-append "PREFIX=" out) + (string-append "APIDIR=" m64p "/include/mupen64plus"))) + ;; There are no tests. + #:tests? #f)) + (home-page "http://www.mupen64plus.org/") + (synopsis "Mupen64Plus Rice Video plugin") + (description + "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator +which is capable of accurately playing many games. This package contains the +Glide64 video plugin.") + (license license:gpl2+))) + +(define-public mupen64plus-video-glide64mk2 + (package + (name "mupen64plus-video-glide64mk2") + (version "2.5") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/mupen64plus/mupen64plus-video-glide64mk2/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1ihl4q293d6svba26b4mhapjcdg12p90gibz79b4mx423jlcxxj9")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("which" ,which))) + (inputs + `(("boost" ,boost) + ("libpng" ,libpng) + ("mesa" ,mesa) + ("mupen64plus-core" ,mupen64plus-core) + ("sdl2" ,sdl2) + ("zlib" ,zlib))) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; The mupen64plus build system has no configure phase. + (delete 'configure) + ;; Makefile is in a subdirectory. + (add-before + 'build 'cd-to-project-dir + (lambda _ + (chdir "projects/unix")))) + #:make-flags + (let ((out (assoc-ref %outputs "out")) + (m64p (assoc-ref %build-inputs "mupen64plus-core"))) + (list "all" + (string-append "PREFIX=" out) + (string-append "APIDIR=" m64p "/include/mupen64plus"))) + ;; There are no tests. + #:tests? #f)) + (home-page "http://www.mupen64plus.org/") + (synopsis "Mupen64Plus Rice Video plugin") + (description + "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator +which is capable of accurately playing many games. This package contains the +Glide64MK2 video plugin.") + (license license:gpl2+))) + +(define-public mupen64plus-video-rice + (package + (name "mupen64plus-video-rice") + (version "2.5") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/mupen64plus/mupen64plus-video-rice/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0rd2scjmh285w61aj3mgx71whg5rqrjbry3cdgicczrnyvf8wdvk")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("which" ,which))) + (inputs + `(("libpng" ,libpng) + ("mesa" ,mesa) + ("mupen64plus-core" ,mupen64plus-core) + ("sdl2" ,sdl2))) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; The mupen64plus build system has no configure phase. + (delete 'configure) + ;; Makefile is in a subdirectory. + (add-before + 'build 'cd-to-project-dir + (lambda _ + (chdir "projects/unix")))) + #:make-flags + (let ((out (assoc-ref %outputs "out")) + (m64p (assoc-ref %build-inputs "mupen64plus-core"))) + (list "all" + (string-append "PREFIX=" out) + (string-append "APIDIR=" m64p "/include/mupen64plus"))) + ;; There are no tests. + #:tests? #f)) + (home-page "http://www.mupen64plus.org/") + (synopsis "Mupen64Plus Rice Video plugin") + (description + "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator +which is capable of accurately playing many games. This package contains the +Rice Video plugin.") + (license license:gpl2+))) + +(define-public mupen64plus-video-z64 + (package + (name "mupen64plus-video-z64") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/mupen64plus/mupen64plus-video-z64/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1x7wsjs5gx2iwx20p4cjcbf696zsjlh31qxmghwv0ifrq8x58s1b")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("which" ,which))) + (inputs + `(("glew" ,glew) + ("mupen64plus-core" ,mupen64plus-core) + ("sdl2" ,sdl2))) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; The mupen64plus build system has no configure phase. + (delete 'configure) + ;; Makefile is in a subdirectory. + (add-before + 'build 'cd-to-project-dir + (lambda _ + (chdir "projects/unix"))) + ;; XXX Should be unnecessary with the next release. + (add-before + 'build 'use-sdl2 + (lambda _ + (substitute* "Makefile" + (("SDL_CONFIG = (.*)sdl-config" all prefix) + (string-append "SDL_CONFIG = " prefix "sdl2-config")))))) + #:make-flags + (let ((out (assoc-ref %outputs "out")) + (m64p (assoc-ref %build-inputs "mupen64plus-core"))) + (list "all" + (string-append "PREFIX=" out) + (string-append "APIDIR=" m64p "/include/mupen64plus"))) + ;; There are no tests. + #:tests? #f)) + (home-page "http://www.mupen64plus.org/") + (synopsis "Mupen64Plus Z64 video plugin") + (description + "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator +which is capable of accurately playing many games. This package contains the +Z64 video plugin.") + (license license:gpl2+))) + +(define-public mupen64plus-ui-console + (package + (name "mupen64plus-ui-console") + (version "2.5") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/mupen64plus/mupen64plus-ui-console/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "04qkpd8ic7xsgnqz7spl00wxdygf79m7d1k8rabbygjk5lg6p8z2")) + (patches (search-patches "mupen64plus-ui-console-notice.patch")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("which" ,which))) + (inputs + `(("sdl2" ,sdl2))) + ;; Mupen64Plus supports a single data directory and a single plugin + ;; directory in its configuration, yet we need data and plugin files from + ;; a variety of packages. The best way to deal with this is to install + ;; all packages from which data and plugin files are needed into one's + ;; profile, and point the configuration there. Hence, propagate the most + ;; important packages here to save the user from the bother. The patch + ;; mupen64plus-ui-console-notice also gives users instructions on what + ;; they need to do in order to point the configuration to their profile. + (propagated-inputs + `(("mupen64plus-core" ,mupen64plus-core) + ("mupen64plus-audio-sdl" ,mupen64plus-audio-sdl) + ("mupen64plus-input-sdl" ,mupen64plus-input-sdl) + ("mupen64plus-rsp-hle" ,mupen64plus-rsp-hle) + ("mupen64plus-video-glide64" ,mupen64plus-video-glide64) + ("mupen64plus-video-glide64mk2" ,mupen64plus-video-glide64mk2) + ("mupen64plus-video-rice" ,mupen64plus-video-rice))) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; The mupen64plus build system has no configure phase. + (delete 'configure) + ;; Makefile is in a subdirectory. + (add-before + 'build 'cd-to-project-dir + (lambda _ + (chdir "projects/unix")))) + #:make-flags + (let ((out (assoc-ref %outputs "out")) + (m64p (assoc-ref %build-inputs "mupen64plus-core"))) + (list "all" + (string-append "PREFIX=" out) + (string-append "APIDIR=" m64p "/include/mupen64plus") + ;; Trailing slash matters here. + (string-append "COREDIR=" m64p "/lib/"))) + ;; There are no tests. + #:tests? #f)) + (home-page "http://www.mupen64plus.org/") + (synopsis "Mupen64Plus SDL input plugin") + (description + "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator +which is capable of accurately playing many games. This package contains the +command line user interface. Installing this package is the easiest way +towards a working Mupen64Plus for casual users.") + (license license:gpl2+))) + +(define-public nestopia-ue + (package + (name "nestopia-ue") + (version "1.47") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/rdanbrook/nestopia/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dzrrjmvyqks64q5l5pfly80jb6qcsbj5b3dm40fijd5xnpbapci")) + (modules '((guix build utils))) + (snippet + '(begin + ;; We don't need libretro for the GNU/Linux build. + (delete-file-recursively "libretro") + ;; Use system zlib. + (delete-file-recursively "source/zlib") + (substitute* "source/core/NstZlib.cpp" + (("#include \"../zlib/zlib.h\"") "#include ")))))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("ao" ,ao) + ("glu" ,glu) + ("gtk+" ,gtk+) + ("libarchive" ,libarchive) + ("mesa" ,mesa) + ("sdl2" ,sdl2) + ("zlib" ,zlib))) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; The Nestopia build system consists solely of a Makefile. + (delete 'configure) + (add-before 'build 'remove-xdg-desktop-menu-call + (lambda _ + (substitute* "Makefile" + (("xdg-desktop-menu install .*") "")))) + (add-before 'build 'remove-gdkwayland-include + (lambda _ + (substitute* "source/unix/gtkui/gtkui.h" + (("#include ") ""))))) + #:make-flags (let ((out (assoc-ref %outputs "out"))) + (list "CC=gcc" "CXX=g++" (string-append "PREFIX=" out))) + ;; There are no tests. + #:tests? #f)) + (home-page "http://0ldsk00l.ca/nestopia/") + (synopsis "Nintendo Entertainment System (NES/Famicom) emulator") + (description + "Nestopia UE (Undead Edition) is a fork of the Nintendo Entertainment +System (NES/Famicom) emulator Nestopia, with enhancements from members of the +emulation community. It provides highly accurate emulation.") + (license license:gpl2+))) + +(define-public retroarch + (package + (name "retroarch") + (version "1.7.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/libretro/RetroArch/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0fdribjfc5zz9brzhqcxw6m76kvyg13l67aiigszv4wsjd5j3gpz")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (etc (string-append out "/etc")) + (vulkan (assoc-ref inputs "vulkan-icd-loader"))) + ;; Hard-code the path to libvulkan.so. + (substitute* "gfx/common/vulkan_common.c" + (("libvulkan.so") (string-append vulkan "/lib/libvulkan.so"))) + (substitute* "qb/qb.libs.sh" + (("/bin/true") (which "true"))) + ;; The configure script does not yet accept the extra arguments + ;; (like ‘CONFIG_SHELL=’) passed by the default configure phase. + (zero? (system* + "./configure" + (string-append "--prefix=" out) + (string-append "--global-config-dir=" etc))))))))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("ffmpeg" ,ffmpeg) + ("freetype" ,freetype) + ("libxinerama" ,libxinerama) + ("libxkbcommon" ,libxkbcommon) + ("libxml2" ,libxml2) + ("libxv" ,libxv) + ("mesa" ,mesa) + ("openal" ,openal) + ("pulseaudio" ,pulseaudio) + ("python" ,python) + ("sdl" ,sdl2) + ("udev" ,eudev) + ("vulkan-icd-loader" ,vulkan-icd-loader) + ("wayland", wayland) + ("zlib" ,zlib))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("which" ,which))) + (home-page "https://www.libretro.com/") + (synopsis "Reference frontend for the libretro API") + (description + "Libretro is a simple but powerful development interface that allows for +the easy creation of emulators, games and multimedia applications that can plug +straight into any libretro-compatible frontend. RetroArch is the official +reference frontend for the libretro API, currently used by most as a modular +multi-system game/emulator system.") + (license license:gpl3+))) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 0ac7d992c9..a7c77a44a6 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1619,69 +1619,6 @@ interactive fiction, also known as text adventures, which were implemented either by Infocom or created using the Inform compiler.") (license license:bsd-3))) -(define-public retroarch - (package - (name "retroarch") - (version "1.7.1") - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/libretro/RetroArch/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0fdribjfc5zz9brzhqcxw6m76kvyg13l67aiigszv4wsjd5j3gpz")))) - (build-system gnu-build-system) - (arguments - '(#:tests? #f ; no tests - #:phases - (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (etc (string-append out "/etc")) - (vulkan (assoc-ref inputs "vulkan-icd-loader"))) - ;; Hard-code the path to libvulkan.so. - (substitute* "gfx/common/vulkan_common.c" - (("libvulkan.so") (string-append vulkan "/lib/libvulkan.so"))) - (substitute* "qb/qb.libs.sh" - (("/bin/true") (which "true"))) - ;; The configure script does not yet accept the extra arguments - ;; (like ‘CONFIG_SHELL=’) passed by the default configure phase. - (zero? (system* - "./configure" - (string-append "--prefix=" out) - (string-append "--global-config-dir=" etc))))))))) - (inputs - `(("alsa-lib" ,alsa-lib) - ("ffmpeg" ,ffmpeg) - ("freetype" ,freetype) - ("libxinerama" ,libxinerama) - ("libxkbcommon" ,libxkbcommon) - ("libxml2" ,libxml2) - ("libxv" ,libxv) - ("mesa" ,mesa) - ("openal" ,openal) - ("pulseaudio" ,pulseaudio) - ("python" ,python) - ("sdl" ,sdl2) - ("udev" ,eudev) - ("vulkan-icd-loader" ,vulkan-icd-loader) - ("wayland", wayland) - ("zlib" ,zlib))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("which" ,which))) - (home-page "https://www.libretro.com/") - (synopsis "Reference frontend for the libretro API") - (description - "Libretro is a simple but powerful development interface that allows for -the easy creation of emulators, games and multimedia applications that can plug -straight into any libretro-compatible frontend. RetroArch is the official -reference frontend for the libretro API, currently used by most as a modular -multi-system game/emulator system.") - (license license:gpl3+))) - (define-public gnugo (package (name "gnugo") @@ -1922,48 +1859,6 @@ next campaign.") (description "This package contains a dedicated server for @emph{The Battle for Wesnoth}."))) -(define-public dosbox - (package - (name "dosbox") - (version "0.74.svn3947") - (source (origin - (method svn-fetch) - (uri (svn-reference - (url "http://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk/") - (revision 3947))) - (file-name (string-append name "-" version "-checkout")) - ;; Use SVN head, since the last release (2010) is incompatible - ;; with GCC 4.8+ (see - ;; ). - (sha256 - (base32 - "1p918j6090d1nkvgq7ifvmn506zrdmyi32y7p3ms40d5ssqjg8fj")))) - (build-system gnu-build-system) - (arguments - `(#:phases (modify-phases %standard-phases - (add-after - 'unpack 'autogen.sh - (lambda _ - (zero? (system* "sh" "autogen.sh"))))))) - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake))) - (inputs - `(("sdl" ,sdl) - ("libpng" ,libpng) - ("zlib" ,zlib) - ("alsa-lib" ,alsa-lib) - ("glu" ,glu) - ("mesa" ,mesa))) - (home-page "http://www.dosbox.com") - (synopsis "X86 emulator with CGA/EGA/VGA/etc. graphics and sound") - (description "DOSBox is a DOS-emulator that uses the SDL library. DOSBox -also emulates CPU:286/386 realmode/protected mode, Directory -FileSystem/XMS/EMS, Tandy/Hercules/CGA/EGA/VGA/VESA graphics, a -SoundBlaster/Gravis Ultra Sound card for excellent sound compatibility with -older games.") - (license license:gpl2+))) - (define-public gamine (package (name "gamine") @@ -2082,638 +1977,6 @@ world}, @uref{http://evolonline.org, Evol Online} and ;; The rest is under GPL2+. (license (list license:gpl2+ license:zlib license:cc-by-sa4.0)))) -(define-public mupen64plus-core - (package - (name "mupen64plus-core") - (version "2.5") - (source - (origin - (method url-fetch) - (uri (string-append - "https://github.com/mupen64plus/mupen64plus-core/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0dg2hksm5qni2hcha93k7n4fqr92888p946f7phb0ndschzfh9kk")))) - (build-system gnu-build-system) - (native-inputs - `(("pkg-config" ,pkg-config) - ("which" ,which))) - (inputs - `(("freetype" ,freetype) - ("glu" ,glu) - ("libpng" ,libpng) - ("mesa" ,mesa) - ("sdl2" ,sdl2) - ("zlib" ,zlib))) - (arguments - '(#:phases - (modify-phases %standard-phases - ;; The mupen64plus build system has no configure phase. - (delete 'configure) - ;; Makefile is in a subdirectory. - (add-before - 'build 'cd-to-project-dir - (lambda _ - (chdir "projects/unix")))) - #:make-flags (let ((out (assoc-ref %outputs "out"))) - (list "all" (string-append "PREFIX=" out))) - ;; There are no tests. - #:tests? #f)) - ;; As per the Makefile (in projects/unix/Makefile): - (supported-systems '("i686-linux" "x86_64-linux")) - (home-page "http://www.mupen64plus.org/") - (synopsis "Nintendo 64 emulator core library") - (description - "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator -which is capable of accurately playing many games. This package contains the -core library.") - (license license:gpl2+))) - -(define-public mupen64plus-audio-sdl - (package - (name "mupen64plus-audio-sdl") - (version "2.5") - (source - (origin - (method url-fetch) - (uri (string-append - "https://github.com/mupen64plus/mupen64plus-audio-sdl/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0ss6w92n2rpfnazhg9lbq0nvs3fqx93nliz3k3wjxdlx4dpi7h3a")))) - (build-system gnu-build-system) - (native-inputs - `(("pkg-config" ,pkg-config) - ("which" ,which))) - (inputs - `(("mupen64plus-core" ,mupen64plus-core) - ("sdl2" ,sdl2))) - (arguments - '(#:phases - (modify-phases %standard-phases - ;; The mupen64plus build system has no configure phase. - (delete 'configure) - ;; Makefile is in a subdirectory. - (add-before - 'build 'cd-to-project-dir - (lambda _ - (chdir "projects/unix")))) - #:make-flags - (let ((out (assoc-ref %outputs "out")) - (m64p (assoc-ref %build-inputs "mupen64plus-core"))) - (list "all" - (string-append "PREFIX=" out) - (string-append "APIDIR=" m64p "/include/mupen64plus"))) - ;; There are no tests. - #:tests? #f)) - (home-page "http://www.mupen64plus.org/") - (synopsis "Mupen64Plus SDL input plugin") - (description - "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator -which is capable of accurately playing many games. This package contains the -SDL audio plugin.") - (license license:gpl2+))) - -(define-public mupen64plus-input-sdl - (package - (name "mupen64plus-input-sdl") - (version "2.5") - (source - (origin - (method url-fetch) - (uri (string-append - "https://github.com/mupen64plus/mupen64plus-input-sdl/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "11sj5dbalp2nrlmki34vy7wy28vc175pnnkdk65p8599hnyq37ri")))) - (build-system gnu-build-system) - (native-inputs - `(("which" ,which))) - (inputs - `(("mupen64plus-core" ,mupen64plus-core) - ("sdl2" ,sdl2))) - (arguments - '(#:phases - (modify-phases %standard-phases - ;; The mupen64plus build system has no configure phase. - (delete 'configure) - ;; Makefile is in a subdirectory. - (add-before - 'build 'cd-to-project-dir - (lambda _ - (chdir "projects/unix")))) - #:make-flags - (let ((out (assoc-ref %outputs "out")) - (m64p (assoc-ref %build-inputs "mupen64plus-core"))) - (list "all" - (string-append "PREFIX=" out) - (string-append "APIDIR=" m64p "/include/mupen64plus"))) - ;; There are no tests. - #:tests? #f)) - (home-page "http://www.mupen64plus.org/") - (synopsis "Mupen64Plus SDL input plugin") - (description - "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator -which is capable of accurately playing many games. This package contains the -SDL input plugin.") - (license license:gpl2+))) - -(define-public mupen64plus-rsp-hle - (package - (name "mupen64plus-rsp-hle") - (version "2.5") - (source - (origin - (method url-fetch) - (uri (string-append - "https://github.com/mupen64plus/mupen64plus-rsp-hle/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "15h7mgz6xd2zjzm6l3f96sbs8kwr3xvbwzgikhnka79m6c69hsxv")))) - (build-system gnu-build-system) - (inputs - `(("mupen64plus-core" ,mupen64plus-core))) - (arguments - '(#:phases - (modify-phases %standard-phases - ;; The mupen64plus build system has no configure phase. - (delete 'configure) - ;; Makefile is in a subdirectory. - (add-before - 'build 'cd-to-project-dir - (lambda _ - (chdir "projects/unix")))) - #:make-flags - (let ((out (assoc-ref %outputs "out")) - (m64p (assoc-ref %build-inputs "mupen64plus-core"))) - (list "all" - (string-append "PREFIX=" out) - (string-append "APIDIR=" m64p "/include/mupen64plus"))) - ;; There are no tests. - #:tests? #f)) - (home-page "http://www.mupen64plus.org/") - (synopsis "Mupen64Plus SDL input plugin") - (description - "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator -which is capable of accurately playing many games. This package contains the -high-level emulation (HLE) RSP processor plugin.") - (license license:gpl2+))) - -(define-public mupen64plus-rsp-z64 - (package - (name "mupen64plus-rsp-z64") - (version "2.0.0") - (source - (origin - (method url-fetch) - (uri (string-append - "https://github.com/mupen64plus/mupen64plus-rsp-z64/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "10jz1w2dhx5slhyk4m8mdqlpsd6cshchslr1fckb2ayzb1ls3ghi")))) - (build-system gnu-build-system) - (inputs - `(("mupen64plus-core" ,mupen64plus-core))) - (arguments - '(#:phases - (modify-phases %standard-phases - ;; The mupen64plus build system has no configure phase. - (delete 'configure) - ;; Makefile is in a subdirectory. - (add-before - 'build 'cd-to-project-dir - (lambda _ - (chdir "projects/unix")))) - #:make-flags - (let ((out (assoc-ref %outputs "out")) - (m64p (assoc-ref %build-inputs "mupen64plus-core"))) - (list "all" - (string-append "PREFIX=" out) - (string-append "APIDIR=" m64p "/include/mupen64plus"))) - ;; There are no tests. - #:tests? #f)) - (home-page "http://www.mupen64plus.org/") - (synopsis "Mupen64Plus SDL input plugin") - (description - "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator -which is capable of accurately playing many games. This package contains the -Z64 RSP processor plugin.") - (license license:gpl2+))) - -(define-public mupen64plus-video-arachnoid - (package - (name "mupen64plus-video-arachnoid") - (version "2.0.0") - (source - (origin - (method url-fetch) - (uri (string-append - "https://github.com/mupen64plus/mupen64plus-video-arachnoid/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0jjwf144rihznm4lnqbhgigxw664v3v32wy94adaa6imk8z6gslh")))) - (build-system gnu-build-system) - (native-inputs - `(("pkg-config" ,pkg-config) - ("which" ,which))) - (inputs - `(("mesa" ,mesa) - ("mupen64plus-core" ,mupen64plus-core))) - (arguments - '(#:phases - (modify-phases %standard-phases - ;; The mupen64plus build system has no configure phase. - (delete 'configure) - ;; Makefile is in a subdirectory. - (add-before - 'build 'cd-to-project-dir - (lambda _ - (chdir "projects/unix")))) - #:make-flags - (let ((out (assoc-ref %outputs "out")) - (m64p (assoc-ref %build-inputs "mupen64plus-core"))) - (list "all" - (string-append "PREFIX=" out) - (string-append "APIDIR=" m64p "/include/mupen64plus"))) - ;; There are no tests. - #:tests? #f)) - (home-page "http://www.mupen64plus.org/") - (synopsis "Mupen64Plus Rice Video plugin") - (description - "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator -which is capable of accurately playing many games. This package contains the -Arachnoid video plugin.") - (license license:gpl2+))) - -(define-public mupen64plus-video-glide64 - (package - (name "mupen64plus-video-glide64") - (version "2.0.0") - (source - (origin - (method url-fetch) - (uri (string-append - "https://github.com/mupen64plus/mupen64plus-video-glide64/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1rm55dbf6xgsq1blbzs6swa2ajv0qkn38acbljj346abnk6s3dla")))) - (build-system gnu-build-system) - (native-inputs - `(("pkg-config" ,pkg-config) - ("which" ,which))) - (inputs - `(("mesa" ,mesa) - ("mupen64plus-core" ,mupen64plus-core) - ("sdl2" ,sdl2))) - (arguments - '(#:phases - (modify-phases %standard-phases - ;; The mupen64plus build system has no configure phase. - (delete 'configure) - ;; Makefile is in a subdirectory. - (add-before - 'build 'cd-to-project-dir - (lambda _ - (chdir "projects/unix"))) - ;; XXX Should be unnecessary with the next release. - (add-before - 'build 'use-sdl2 - (lambda _ - (substitute* "Makefile" - (("SDL_CONFIG = (.*)sdl-config" all prefix) - (string-append "SDL_CONFIG = " prefix "sdl2-config")))))) - #:make-flags - (let ((out (assoc-ref %outputs "out")) - (m64p (assoc-ref %build-inputs "mupen64plus-core"))) - (list "all" - (string-append "PREFIX=" out) - (string-append "APIDIR=" m64p "/include/mupen64plus"))) - ;; There are no tests. - #:tests? #f)) - (home-page "http://www.mupen64plus.org/") - (synopsis "Mupen64Plus Rice Video plugin") - (description - "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator -which is capable of accurately playing many games. This package contains the -Glide64 video plugin.") - (license license:gpl2+))) - -(define-public mupen64plus-video-glide64mk2 - (package - (name "mupen64plus-video-glide64mk2") - (version "2.5") - (source - (origin - (method url-fetch) - (uri (string-append - "https://github.com/mupen64plus/mupen64plus-video-glide64mk2/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1ihl4q293d6svba26b4mhapjcdg12p90gibz79b4mx423jlcxxj9")))) - (build-system gnu-build-system) - (native-inputs - `(("pkg-config" ,pkg-config) - ("which" ,which))) - (inputs - `(("boost" ,boost) - ("libpng" ,libpng) - ("mesa" ,mesa) - ("mupen64plus-core" ,mupen64plus-core) - ("sdl2" ,sdl2) - ("zlib" ,zlib))) - (arguments - '(#:phases - (modify-phases %standard-phases - ;; The mupen64plus build system has no configure phase. - (delete 'configure) - ;; Makefile is in a subdirectory. - (add-before - 'build 'cd-to-project-dir - (lambda _ - (chdir "projects/unix")))) - #:make-flags - (let ((out (assoc-ref %outputs "out")) - (m64p (assoc-ref %build-inputs "mupen64plus-core"))) - (list "all" - (string-append "PREFIX=" out) - (string-append "APIDIR=" m64p "/include/mupen64plus"))) - ;; There are no tests. - #:tests? #f)) - (home-page "http://www.mupen64plus.org/") - (synopsis "Mupen64Plus Rice Video plugin") - (description - "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator -which is capable of accurately playing many games. This package contains the -Glide64MK2 video plugin.") - (license license:gpl2+))) - -(define-public mupen64plus-video-rice - (package - (name "mupen64plus-video-rice") - (version "2.5") - (source - (origin - (method url-fetch) - (uri (string-append - "https://github.com/mupen64plus/mupen64plus-video-rice/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0rd2scjmh285w61aj3mgx71whg5rqrjbry3cdgicczrnyvf8wdvk")))) - (build-system gnu-build-system) - (native-inputs - `(("pkg-config" ,pkg-config) - ("which" ,which))) - (inputs - `(("libpng" ,libpng) - ("mesa" ,mesa) - ("mupen64plus-core" ,mupen64plus-core) - ("sdl2" ,sdl2))) - (arguments - '(#:phases - (modify-phases %standard-phases - ;; The mupen64plus build system has no configure phase. - (delete 'configure) - ;; Makefile is in a subdirectory. - (add-before - 'build 'cd-to-project-dir - (lambda _ - (chdir "projects/unix")))) - #:make-flags - (let ((out (assoc-ref %outputs "out")) - (m64p (assoc-ref %build-inputs "mupen64plus-core"))) - (list "all" - (string-append "PREFIX=" out) - (string-append "APIDIR=" m64p "/include/mupen64plus"))) - ;; There are no tests. - #:tests? #f)) - (home-page "http://www.mupen64plus.org/") - (synopsis "Mupen64Plus Rice Video plugin") - (description - "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator -which is capable of accurately playing many games. This package contains the -Rice Video plugin.") - (license license:gpl2+))) - -(define-public mupen64plus-video-z64 - (package - (name "mupen64plus-video-z64") - (version "2.0.0") - (source - (origin - (method url-fetch) - (uri (string-append - "https://github.com/mupen64plus/mupen64plus-video-z64/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1x7wsjs5gx2iwx20p4cjcbf696zsjlh31qxmghwv0ifrq8x58s1b")))) - (build-system gnu-build-system) - (native-inputs - `(("pkg-config" ,pkg-config) - ("which" ,which))) - (inputs - `(("glew" ,glew) - ("mupen64plus-core" ,mupen64plus-core) - ("sdl2" ,sdl2))) - (arguments - '(#:phases - (modify-phases %standard-phases - ;; The mupen64plus build system has no configure phase. - (delete 'configure) - ;; Makefile is in a subdirectory. - (add-before - 'build 'cd-to-project-dir - (lambda _ - (chdir "projects/unix"))) - ;; XXX Should be unnecessary with the next release. - (add-before - 'build 'use-sdl2 - (lambda _ - (substitute* "Makefile" - (("SDL_CONFIG = (.*)sdl-config" all prefix) - (string-append "SDL_CONFIG = " prefix "sdl2-config")))))) - #:make-flags - (let ((out (assoc-ref %outputs "out")) - (m64p (assoc-ref %build-inputs "mupen64plus-core"))) - (list "all" - (string-append "PREFIX=" out) - (string-append "APIDIR=" m64p "/include/mupen64plus"))) - ;; There are no tests. - #:tests? #f)) - (home-page "http://www.mupen64plus.org/") - (synopsis "Mupen64Plus Z64 video plugin") - (description - "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator -which is capable of accurately playing many games. This package contains the -Z64 video plugin.") - (license license:gpl2+))) - -(define-public mupen64plus-ui-console - (package - (name "mupen64plus-ui-console") - (version "2.5") - (source - (origin - (method url-fetch) - (uri (string-append - "https://github.com/mupen64plus/mupen64plus-ui-console/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "04qkpd8ic7xsgnqz7spl00wxdygf79m7d1k8rabbygjk5lg6p8z2")) - (patches (search-patches "mupen64plus-ui-console-notice.patch")))) - (build-system gnu-build-system) - (native-inputs - `(("pkg-config" ,pkg-config) - ("which" ,which))) - (inputs - `(("sdl2" ,sdl2))) - ;; Mupen64Plus supports a single data directory and a single plugin - ;; directory in its configuration, yet we need data and plugin files from - ;; a variety of packages. The best way to deal with this is to install - ;; all packages from which data and plugin files are needed into one's - ;; profile, and point the configuration there. Hence, propagate the most - ;; important packages here to save the user from the bother. The patch - ;; mupen64plus-ui-console-notice also gives users instructions on what - ;; they need to do in order to point the configuration to their profile. - (propagated-inputs - `(("mupen64plus-core" ,mupen64plus-core) - ("mupen64plus-audio-sdl" ,mupen64plus-audio-sdl) - ("mupen64plus-input-sdl" ,mupen64plus-input-sdl) - ("mupen64plus-rsp-hle" ,mupen64plus-rsp-hle) - ("mupen64plus-video-glide64" ,mupen64plus-video-glide64) - ("mupen64plus-video-glide64mk2" ,mupen64plus-video-glide64mk2) - ("mupen64plus-video-rice" ,mupen64plus-video-rice))) - (arguments - '(#:phases - (modify-phases %standard-phases - ;; The mupen64plus build system has no configure phase. - (delete 'configure) - ;; Makefile is in a subdirectory. - (add-before - 'build 'cd-to-project-dir - (lambda _ - (chdir "projects/unix")))) - #:make-flags - (let ((out (assoc-ref %outputs "out")) - (m64p (assoc-ref %build-inputs "mupen64plus-core"))) - (list "all" - (string-append "PREFIX=" out) - (string-append "APIDIR=" m64p "/include/mupen64plus") - ;; Trailing slash matters here. - (string-append "COREDIR=" m64p "/lib/"))) - ;; There are no tests. - #:tests? #f)) - (home-page "http://www.mupen64plus.org/") - (synopsis "Mupen64Plus SDL input plugin") - (description - "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator -which is capable of accurately playing many games. This package contains the -command line user interface. Installing this package is the easiest way -towards a working Mupen64Plus for casual users.") - (license license:gpl2+))) - -(define-public nestopia-ue - (package - (name "nestopia-ue") - (version "1.47") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/rdanbrook/nestopia/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1dzrrjmvyqks64q5l5pfly80jb6qcsbj5b3dm40fijd5xnpbapci")) - (modules '((guix build utils))) - (snippet - '(begin - ;; We don't need libretro for the GNU/Linux build. - (delete-file-recursively "libretro") - ;; Use system zlib. - (delete-file-recursively "source/zlib") - (substitute* "source/core/NstZlib.cpp" - (("#include \"../zlib/zlib.h\"") "#include ")))))) - (build-system gnu-build-system) - (native-inputs - `(("pkg-config" ,pkg-config))) - (inputs - `(("ao" ,ao) - ("glu" ,glu) - ("gtk+" ,gtk+) - ("libarchive" ,libarchive) - ("mesa" ,mesa) - ("sdl2" ,sdl2) - ("zlib" ,zlib))) - (arguments - '(#:phases - (modify-phases %standard-phases - ;; The Nestopia build system consists solely of a Makefile. - (delete 'configure) - (add-before 'build 'remove-xdg-desktop-menu-call - (lambda _ - (substitute* "Makefile" - (("xdg-desktop-menu install .*") "")))) - (add-before 'build 'remove-gdkwayland-include - (lambda _ - (substitute* "source/unix/gtkui/gtkui.h" - (("#include ") ""))))) - #:make-flags (let ((out (assoc-ref %outputs "out"))) - (list "CC=gcc" "CXX=g++" (string-append "PREFIX=" out))) - ;; There are no tests. - #:tests? #f)) - (home-page "http://0ldsk00l.ca/nestopia/") - (synopsis "Nintendo Entertainment System (NES/Famicom) emulator") - (description - "Nestopia UE (Undead Edition) is a fork of the Nintendo Entertainment -System (NES/Famicom) emulator Nestopia, with enhancements from members of the -emulation community. It provides highly accurate emulation.") - (license license:gpl2+))) - -(define-public emulation-station - (let ((commit "646bede3d9ec0acf0ae378415edac136774a66c5")) - (package - (name "emulation-station") - (version "2.0.1") - (source (origin - (method git-fetch) ; no tarball available - (uri (git-reference - (url "https://github.com/Aloshi/EmulationStation.git") - (commit commit))) ; no version tag - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "0cm0sq2wri2l9cvab1l0g02za59q7klj0h3p028vr96n6njj4w9v")))) - (build-system cmake-build-system) - (arguments - '(#:tests? #f)) ; no tests - (inputs - `(("alsa-lib" ,alsa-lib) - ("boost" ,boost) - ("curl" ,curl) - ("eigin" ,eigen) - ("freeimage" ,freeimage) - ("freetype" ,freetype) - ("mesa" ,mesa) - ("sdl2" ,sdl2))) - (synopsis "Video game console emulator front-end") - (description "EmulationStation provides a graphical front-end to a large -number of video game console emulators. It features an interface that is -usable with any game controller that has at least 4 buttons, theming support, -and a game metadata scraper.") - (home-page "http://www.emulationstation.org") - (license license:expat)))) - (define openttd-engine (package (name "openttd-engine") @@ -3055,39 +2318,6 @@ players.") (home-page "http://pio.sourceforge.net/") (license license:gpl2+))) -(define-public desmume - (package - (name "desmume") - (version "0.9.11") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://sourceforge/desmume/desmume/" - version "/desmume-" version ".tar.gz")) - (sha256 - (base32 - "15l8wdw3q61fniy3h93d84dnm6s4pyadvh95a0j6d580rjk4pcrs")))) - (build-system gnu-build-system) - (arguments - ;; Enable support for WiFi and microphone. - `(#:configure-flags '("--enable-wifi" - "--enable-openal"))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("intltool" ,intltool))) - (inputs - `(("zlib" ,zlib) - ("sdl" ,sdl) - ("glib" ,glib) - ("gtk+" ,gtk+-2) - ("glu" ,glu))) - (home-page "http://desmume.org/") - (synopsis "Nintendo DS emulator") - (description - "DeSmuME is an emulator for the Nintendo DS handheld gaming console.") - (license license:gpl2))) - (define-public einstein (package (name "einstein") @@ -3343,155 +2573,6 @@ Red Eclipse provides fast paced and accessible gameplay.") license:cc-by3.0 license:cc0))))) -(define-public higan - (package - (name "higan") - (version "106") - (source - (origin - (method url-fetch) - (uri (string-append - "https://gitlab.com/higan/higan/repository/archive.tar.gz?ref=v" - version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0y42pra0dxzlbkyzcp3r8a39pji2bj3p9fl40425f60af2igr4rw")) - (patches (search-patches "higan-remove-march-native-flag.patch")))) - (build-system gnu-build-system) - (native-inputs - `(("pkg-config" ,pkg-config))) - (inputs - `(("alsa-lib" ,alsa-lib) - ("ao" ,ao) - ("eudev" ,eudev) - ("gtk+" ,gtk+-2) - ("gtksourceview-2" ,gtksourceview-2) - ("libxv" ,libxv) - ("mesa" ,mesa) - ("openal" ,openal) - ("pulseaudio" ,pulseaudio) - ("sdl" ,sdl))) - (arguments - '(#:phases - (let ((build-phase (assoc-ref %standard-phases 'build)) - (install-phase (assoc-ref %standard-phases 'install))) - (modify-phases %standard-phases - ;; The higan build system has no configure phase. - (delete 'configure) - (add-before 'build 'chdir-to-higan - (lambda _ - (chdir "higan"))) - (add-before 'install 'create-/share/applications - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; It seems the author forgot to do this in the Makefile. - (mkdir-p (string-append out "/share/applications"))))) - (add-after 'install 'chdir-to-icarus - (lambda _ - (chdir "../icarus"))) - (add-after 'chdir-to-icarus 'build-icarus build-phase) - (add-after 'build-icarus 'install-icarus install-phase) - (add-after 'install-icarus 'wrap-higan-executable - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (higan (string-append bin "/higan")) - (higan-original (string-append higan "-original")) - (bash (string-append (assoc-ref inputs "bash") - "/bin/bash")) - (coreutils (assoc-ref inputs "coreutils")) - (mkdir (string-append coreutils "/bin/mkdir")) - (cp (string-append coreutils "/bin/cp")) - (cp-r (string-append cp " -r --no-preserve=mode"))) - ;; First, have the executable make sure ~/.local/share/higan - ;; contains up to date files. Higan insists on looking there - ;; for these data files. - (rename-file higan higan-original) - (with-output-to-file higan - (lambda () - (display - (string-append - "#!" bash "\n" - ;; higan doesn't respect $XDG_DATA_HOME - mkdir " -p ~/.local/share\n" - cp-r " " out "/share/higan ~/.local/share\n" - "exec " higan-original)))) - (chmod higan #o555) - ;; Second, make sure higan will find icarus in PATH. - (wrap-program higan - `("PATH" ":" prefix (,bin)))))))) - #:make-flags - (list "compiler=g++" - (string-append "prefix=" (assoc-ref %outputs "out"))) - ;; There is no test suite. - #:tests? #f)) - (home-page "http://byuu.org/emulation/higan/") - (synopsis "Nintendo multi-system emulator") - (description - "higan (formerly bsnes) is an emulator for multiple Nintendo video game -consoles, including the Nintendo Entertainment System (NES/Famicom), Super -Nintendo Entertainment System (SNES/Super Famicom), Game Boy, Game Boy -Color (GBC), and Game Boy Advance (GBA). It also supports the subsystems -Super Game Boy, BS-X Satellaview, and Sufami Turbo.") - ;; As noted in these files among more: - ;; - icarus/icarus.cpp - ;; - higan/emulator/emulator.hpp - (license license:gpl3))) - -(define-public mgba - (package - (name "mgba") - (version "0.6.1") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/mgba-emu/mgba/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0xmq1q1j71hnpd49wm91cqq8w5zdhb921cm17jchp4qjmaqgwy3w")) - (modules '((guix build utils))) - (snippet - ;; Make sure we don't use the bundled software. - '(for-each - (lambda (subdir) - (let ((lib-subdir (string-append "src/third-party/" subdir))) - (delete-file-recursively lib-subdir))) - '("libpng" "lzma" "sqlite3" "zlib"))))) - (build-system cmake-build-system) - (arguments - `(#:tests? #f ;no "test" target - #:configure-flags - (list "-DUSE_LZMA=OFF" ;do not use bundled LZMA - "-DUSE_LIBZIP=OFF" ;use "zlib" instead - (string-append "-DCMAKE_INSTALL_LIBDIR=" - (assoc-ref %outputs "out") "/lib")))) - (native-inputs `(("pkg-config" ,pkg-config))) - (inputs `(("ffmpeg" ,ffmpeg) - ("imagemagick" ,imagemagick) - ("libedit" ,libedit) - ("libepoxy" ,libepoxy) - ("libpng" ,libpng) - ("mesa" ,mesa) - ("minizip" ,minizip) - ("ncurses" ,ncurses) - ("qtbase" ,qtbase) - ("qtmultimedia" ,qtmultimedia) - ("qttools" ,qttools) - ("sdl2" ,sdl2) - ("sqlite" ,sqlite) - ("zlib" ,zlib))) - (home-page "https://mgba.io") - (synopsis "Game Boy Advance emulator") - (description - "mGBA is an emulator for running Game Boy Advance games. It aims to be -faster and more accurate than many existing Game Boy Advance emulators, as -well as adding features that other emulators lack. It also supports Game Boy -and Game Boy Color games.") - ;; Code is mainly MPL 2.0. "blip_buf.c" is LGPL 2.1+ and "inih.c" is - ;; BSD-3. - (license (list license:mpl2.0 license:lgpl2.1+ license:bsd-3)))) - (define-public grue-hunter (package (name "grue-hunter") -- cgit v1.2.3 From 9e1d2fbc325e35de0de4dbc1da5013ba40c8cf4d Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Thu, 22 Feb 2018 12:36:33 +0100 Subject: gnu: Remove copyright line for moved package. * gnu/packages/games.scm: Remove copyright line for package that got moved to emulators.scm --- gnu/packages/games.scm | 1 - 1 file changed, 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index a7c77a44a6..f2bbb451fa 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -16,7 +16,6 @@ ;;; Copyright © 2015 Paul van der Walt ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2016, 2017 Rodger Fox -;;; Copyright © 2016 Manolis Fragkiskos Ragkousis ;;; Copyright © 2016, 2017, 2018 ng0 ;;; Copyright © 2016 Albin Söderqvist ;;; Copyright © 2016, 2017, 2018 Kei Kebreau -- cgit v1.2.3 From 1a6734ed30bea7c08c9522999c929f2a7fe3e62e Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Thu, 22 Feb 2018 13:54:05 +0100 Subject: gnu: Adjust and remove copyright lines for moved packages. * gnu/packages/games.scm: Adjust and remove copyright lines for packages that got moved to emulators.scm --- gnu/packages/games.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index f2bbb451fa..272e9bce96 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 John Darrington ;;; Copyright © 2013 Nikita Karetnikov -;;; Copyright © 2014, 2015, 2016 David Thompson +;;; Copyright © 2014, 2016 David Thompson ;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier ;;; Copyright © 2014 Cyrill Schenkel ;;; Copyright © 2014 Sylvain Beucler @@ -14,7 +14,6 @@ ;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus ;;; Copyright © 2015, 2016, 2017 Alex Kost ;;; Copyright © 2015 Paul van der Walt -;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2016, 2017 Rodger Fox ;;; Copyright © 2016, 2017, 2018 ng0 ;;; Copyright © 2016 Albin Söderqvist -- cgit v1.2.3 From 149cc42239c86be5915361e203f05fbf2551c954 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 21 Feb 2018 01:56:14 +0100 Subject: gnu: xorgproto: Update to 2018.3. * gnu/packages/xorg.scm (xorgproto): Update to 2018.3. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index f5af15e1b8..3a488ce74e 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4771,14 +4771,14 @@ common definitions and porting layer.") (define-public xorgproto (package (name "xorgproto") - (version "2018.2") + (version "2018.3") (source (origin (method url-fetch) (uri (string-append "mirror://xorg/individual/proto/" name "-" version ".tar.bz2")) (sha256 (base32 - "0r3fk48vp24hk4viw4fjpyh0y7rdg13p5faxc0vicdyqcn5w02cp")))) + "1rdhw28n1gp7yylwia41jhih66gfx75nxgrmi2ggglzvzqhwr0x8")))) (build-system gnu-build-system) (propagated-inputs ;; To get util-macros in (almost?) all package inputs. -- cgit v1.2.3 From fdc38cb6caa1a99f723c3adb7e8dc86341af2bb0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 21 Feb 2018 02:29:49 +0100 Subject: gnu: fio: Update to 3.5. * gnu/packages/benchmark.scm (fio): Update to 3.5. --- gnu/packages/benchmark.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm index ae7279f286..77dcd78331 100644 --- a/gnu/packages/benchmark.scm +++ b/gnu/packages/benchmark.scm @@ -34,7 +34,7 @@ (define-public fio (package (name "fio") - (version "3.4") + (version "3.5") (source (origin (method url-fetch) (uri (string-append @@ -42,7 +42,7 @@ "fio-" version ".tar.bz2")) (sha256 (base32 - "01dqvg5mgb4fh1jqqmi179k2rb517p4h4sr3mhlnd0alk1x12w8a")))) + "1rrzcrn07db4pffvi2q0d0k884bwcapx6r1rfv4yx9066snvx240")))) (build-system gnu-build-system) (arguments '(#:test-target "test" -- cgit v1.2.3 From 89bc528731fccef1cd54888c79c1c565e2626189 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 22 Feb 2018 13:55:54 +0100 Subject: gnu: libsoup: Update to 2.60.3. * gnu/packages/gnome.scm (libsoup): Update to 2.60.3. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index bb8a2cb34d..43a3489021 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2448,7 +2448,7 @@ libxml to ease remote use of the RESTful API.") (define-public libsoup (package (name "libsoup") - (version "2.60.2") + (version "2.60.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libsoup/" @@ -2456,7 +2456,7 @@ libxml to ease remote use of the RESTful API.") name "-" version ".tar.xz")) (sha256 (base32 - "00fsy12mz9b55algq7c6gk4xj5j6a5z6dxcnq59fdqkji3hwyqvj")))) + "08lawrdkkzycvpb1h0wfiqfz6dgx77jp0wxp546lxgisy9icf38v")))) (build-system gnu-build-system) (outputs '("out" "doc")) (arguments -- cgit v1.2.3 From f6c507e13c879289e1476433bf6ab0f3520679e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20H=C3=B6fling?= Date: Thu, 22 Feb 2018 00:07:47 +0100 Subject: gnu: Add libspatialite. * gnu/packages/geo.scm (libspatialite): New variable. Signed-off-by: Marius Bakke --- gnu/packages/geo.scm | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index d75416415c..7ba649fa5e 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2016 Alex Griffin -;;; Copyright © 2017 Björn Höfling +;;; Copyright © 2017, 2018 Björn Höfling ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2018 Arun Isaac @@ -202,6 +202,54 @@ writing GeoTIFF information tags.") (license:non-copyleft "file://LICENSE" "See LICENSE in the distribution."))))) +(define-public libspatialite + (package + (name "libspatialite") + (version "4.3.0a") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.gaia-gis.it/gaia-sins/libspatialite-" + version ".tar.gz")) + (sha256 + (base32 + "16d4lpl7xrm9zy4gphy6nwanpjp8wn9g4wq2i2kh8abnlhq01448")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("freexl" ,freexl) + ("geos" ,geos) + ("libxml2" ,libxml2) + ("proj.4" ,proj.4) + ("sqlite" ,sqlite) + ("zlib" ,zlib))) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; 3 tests are failing, ignore them: + (add-after 'unpack 'ignore-broken-tests + (lambda _ + (substitute* '("test/Makefile.in") + (("\tcheck_sql_stm.*" all) "\tcheck_multithread$(EXEEXT) \\\n") + (("(\tch.*) check_v.*ble2.*$" all vt1) (string-append vt1 " \\\n")) + (("\tch.* (check_v.*ble4.*)$" all vt4) (string-append "\t" vt4))) + #t))))) + (synopsis "Extend SQLite to support Spatial SQL capabilities") + (description + "SpatiaLite is a library intended to extend the SQLite core to support +fully fledged Spatial SQL capabilities.") + (home-page "https://www.gaia-gis.it/fossil/libspatialite/index") + ;; For the genuine libspatialite-sources holds: + ;; Any of the licenses MPL1.1, GPL2+ or LGPL2.1+ may be picked. + ;; Files under src/control_points are from GRASS + ;; and are licensed under GPL2+ only. + ;; src/md5.[ch]: Placed into the public domain by Alexander Peslyak. + (license (list license:gpl2+ + license:lgpl2.1+ + license:mpl1.1 + license:public-domain)))) + (define-public proj.4 (package (name "proj.4") -- cgit v1.2.3 From 22c7c77571bb8376c905bc1f4ac92126a6593afe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20H=C3=B6fling?= Date: Thu, 22 Feb 2018 00:08:41 +0100 Subject: gnu: Add libgaiagraphics. * gnu/packages/geo.scm (libgaiagraphics): New variable. Signed-off-by: Marius Bakke --- gnu/packages/geo.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 7ba649fa5e..aa0484e16e 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -153,6 +153,36 @@ and driving.") (home-page "https://wiki.gnome.org/Apps/Maps") (license license:gpl2+))) +(define-public libgaiagraphics + (package + (name "libgaiagraphics") + (version "0.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.gaia-gis.it/gaia-sins/libgaiagraphics-" + version ".tar.gz")) + (sha256 + (base32 + "076afqv417ag3hfvnif0qc7qscmnq1dsf6y431yygwgf34rjkayc")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("cairo" ,cairo) + ("libpng" ,libpng) + ("libjepeg-turbo" ,libjpeg-turbo) + ("libtiff" ,libtiff) + ("libgeotiff" ,libgeotiff) + ("proj.4" ,proj.4) + ("libxml2" ,libxml2) + ("zlib" ,zlib))) + (synopsis "Gaia common graphics support") + (description "libgaiagraphics is a library supporting + common-utility raster handling methods.") + (home-page "https://www.gaia-gis.it/fossil/libgaiagraphics/index") + (license license:lgpl3+))) + (define-public libgeotiff (package (name "libgeotiff") -- cgit v1.2.3 From 1aef4222b6e1b27ab0f125a012c75a23f6523aaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20H=C3=B6fling?= Date: Thu, 22 Feb 2018 00:09:59 +0100 Subject: Revert "gnu: Remove wxwidgets@2.8." This reverts commit 6f9ba4c91c096a2fb95da111be0657d99ef2b683. Signed-off-by: Marius Bakke --- gnu/packages/wxwidgets.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm index 9f7a87ca47..ad264a24e8 100644 --- a/gnu/packages/wxwidgets.scm +++ b/gnu/packages/wxwidgets.scm @@ -97,6 +97,34 @@ a graphical user interface. It has language bindings for Python, Perl, Ruby and many other languages.") (license (list l:lgpl2.0+ (l:fsf-free "file://doc/license.txt"))))) +(define-public wxwidgets-2 + (package + (inherit wxwidgets) + (version "2.8.12") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/wxWidgets/wxWidgets/" + "releases/download/v" version + "/wxGTK-" version ".tar.gz")) + (sha256 + (base32 "1gjs9vfga60mk4j4ngiwsk9h6c7j22pw26m3asxr1jwvqbr8kkqk")))) + (inputs + `(("gtk" ,gtk+-2) + ("libjpeg" ,libjpeg) + ("libtiff" ,libtiff) + ("libmspack" ,libmspack) + ("sdl" ,sdl) + ("unixodbc" ,unixodbc))) + (arguments + `(#:configure-flags + '("--enable-unicode" "--with-regex=sys" "--with-sdl") + #:make-flags + (list (string-append "LDFLAGS=-Wl,-rpath=" + (assoc-ref %outputs "out") "/lib")) + ;; No 'check' target. + #:tests? #f)))) + (define-public wxwidgets-gtk2 (package (inherit wxwidgets) (inputs `(("gtk+" ,gtk+-2) -- cgit v1.2.3 From a2a532742a5ae7f6d0a195c3ba41567479f1b9d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20H=C3=B6fling?= Date: Thu, 22 Feb 2018 00:10:51 +0100 Subject: gnu: Add spatialite-gui. * gnu/packages/geo.scm (spatialite-gui): New variable. Signed-off-by: Marius Bakke --- gnu/packages/geo.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index aa0484e16e..9014cc3206 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -43,6 +43,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages webkit) + #:use-module (gnu packages wxwidgets) #:use-module (gnu packages xml)) (define-public geos @@ -456,3 +457,36 @@ development.") (synopsis "Python bindings for Mapnik") (description "This package provides Python bindings for Mapnik.") (license license:lgpl2.1+))) + +(define-public spatialite-gui + (package + (name "spatialite-gui") + (version "1.7.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.gaia-gis.it/gaia-sins/spatialite_gui-" + version ".tar.gz")) + (sha256 + (base32 + "1r05dz9pyc8vsd2wbqxcsracpfbaamz470rcyp2myfpqwznv376b")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("freexl" ,freexl) + ("geos" ,geos) + ("libgaiagraphics" ,libgaiagraphics) + ("libspatialite" ,libspatialite) + ("libxml2" ,libxml2) + ("proj.4" ,proj.4) + ("sqlite" ,sqlite) + ("wxwidgets" ,wxwidgets-2) + ("zlib" ,zlib))) + (synopsis "Graphical user interface for SpatiaLite") + (description "Spatialite-gui provides a visual interface for viewing and + maintaining a spatialite database. You can easily see the structure of the + tables and data contents using point and click functions, many of which + construct common SQL queries, or craft your own SQL queries.") + (home-page "https://www.gaia-gis.it/fossil/spatialite_gui/index") + (license license:gpl3+))) -- cgit v1.2.3 From 9cf2de87d29e14d42c465fc5b108a36d3b8bf83a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 22 Feb 2018 14:31:53 +0100 Subject: gnu: ccid: Update to 1.4.29. * gnu/packages/security-token.scm (ccid): Update to 1.4.29. --- gnu/packages/security-token.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm index 7ce531bb6d..6ff83ce5a4 100644 --- a/gnu/packages/security-token.scm +++ b/gnu/packages/security-token.scm @@ -46,15 +46,15 @@ (define-public ccid (package (name "ccid") - (version "1.4.28") + (version "1.4.29") (source (origin (method url-fetch) (uri (string-append - "https://alioth.debian.org/frs/download.php/file/4230/" + "https://alioth.debian.org/frs/download.php/file/4238/" "ccid-" version ".tar.bz2")) (sha256 (base32 - "1q5dz1l049m3hmr370adhrqicdkldrr3l98svi02p5cxbnn3cn47")))) + "0kdqmbma6sclsrbxy9w85h7cs0v11if4nc2r9v09613k8pl2lhx5")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list (string-append "--enable-usbdropdir=" %output -- cgit v1.2.3 From bb2a95580e1db0a77076e2c85eefa74126d80941 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 22 Feb 2018 15:32:48 +0100 Subject: gnu: libx264: Change to stable branch. Fixes . Reported by George myglc2 Clemmer * gnu/packages/video.scm (libx264)[source]: Use 'stable' snapshot. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 53c36ccffb..7676978a30 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -249,10 +249,10 @@ television and DVD. It is also known as AC-3.") (source (origin (method url-fetch) (uri (string-append "https://download.videolan.org/pub/x264/snapshots/" - "x264-snapshot-" version ".tar.bz2")) + "x264-snapshot-" version "-stable.tar.bz2")) (sha256 (base32 - "166ahp82rn9xhiw9spisr8vhp516aylq1ggyddqdbi83w6fichcd")))) + "1x0cg8l30wp84mr7q0ddp06jclm0kjrszazrx87d4k7js3qxjy8m")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) -- cgit v1.2.3 From 4eb0f5cdd959b51676767cb9e90578aef9e5f2b2 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 22 Feb 2018 16:01:25 +0100 Subject: gnu: po4a: Update home page. * gnu/packages/gettext.scm (po4a)[home-page]: Update. --- gnu/packages/gettext.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index 51b772a586..f14ca27810 100644 --- a/gnu/packages/gettext.scm +++ b/gnu/packages/gettext.scm @@ -198,7 +198,7 @@ translated messages from the catalogs. Nearly all GNU packages use Gettext.") ("texlive" ,texlive-tiny) ;for tests ("libxml2" ,libxml2) ("xsltproc" ,libxslt))) - (home-page "http://po4a.alioth.debian.org/") + (home-page "https://po4a.org/") (synopsis "Scripts to ease maintenance of translations") (description "The po4a (PO for anything) project goal is to ease translations (and -- cgit v1.2.3 From e39631a9e19b2f0a253713286aaa1d5c62a95330 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 22 Feb 2018 15:26:14 +0100 Subject: gnu: mit-scheme: Update phase style. * gnu/packages/scheme.scm (mit-scheme)[arguments]: Use INVOKE and end phases with #t. --- gnu/packages/scheme.scm | 47 ++++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 23 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index d5286b312e..8947509cb1 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2016, 2017 ng0 ;;; Copyright © 2017 John Darrington ;;; Copyright © 2017 Clément Lassieur -;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -90,37 +90,37 @@ (modify-phases %standard-phases (replace 'unpack (lambda* (#:key inputs #:allow-other-keys) - (and (zero? (system* "tar" "xzvf" - (assoc-ref inputs "source"))) - (chdir ,(mit-scheme-source-directory (%current-system) - version)) - (begin - ;; Delete these dangling symlinks since they break - ;; `patch-shebangs'. - (for-each delete-file - (append '("src/lib/shim-config.scm") - (find-files "src/lib/lib" "\\.so$") - (find-files "src/lib" "^liarc-") - (find-files "src/compiler" "^make\\."))) - (chdir "src") - #t)))) + (invoke "tar" "xzvf" + (assoc-ref inputs "source")) + (chdir ,(mit-scheme-source-directory (%current-system) + version)) + ;; Delete these dangling symlinks since they break + ;; `patch-shebangs'. + (for-each delete-file + (append '("src/lib/shim-config.scm") + (find-files "src/lib/lib" "\\.so$") + (find-files "src/lib" "^liarc-") + (find-files "src/compiler" "^make\\."))) + (chdir "src") + #t)) (replace 'build (lambda* (#:key system outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (if (or (string-prefix? "x86_64" system) (string-prefix? "i686" system)) - (zero? (system* "make" "compile-microcode")) - (zero? (system* "./etc/make-liarc.sh" - (string-append "--prefix=" out))))))) + (invoke "make" "compile-microcode") + (invoke "./etc/make-liarc.sh" + (string-append "--prefix=" out))) + #t))) (add-after 'configure 'configure-doc (lambda* (#:key outputs inputs #:allow-other-keys) (with-directory-excursion "../doc" (let* ((out (assoc-ref outputs "out")) (bash (assoc-ref inputs "bash")) (bin/sh (string-append bash "/bin/sh"))) - (system* bin/sh "./configure" - (string-append "--prefix=" out) - (string-append "SHELL=" bin/sh)) + (invoke bin/sh "./configure" + (string-append "--prefix=" out) + (string-append "SHELL=" bin/sh)) (substitute* '("Makefile" "make-common") (("/lib/mit-scheme/doc") (string-append "/share/doc/" ,name "-" ,version))) @@ -128,7 +128,8 @@ (add-after 'build 'build-doc (lambda* _ (with-directory-excursion "../doc" - (zero? (system* "make"))))) + (invoke "make")) + #t)) (add-after 'install 'install-doc (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -138,7 +139,7 @@ (string-append doc "/share/doc/" ,name "-" ,version))) (with-directory-excursion "../doc" (for-each (lambda (target) - (system* "make" target)) + (invoke "make" target)) '("install-config" "install-info-gz" "install-man" "install-html" "install-pdf"))) (mkdir-p new-doc/mit-scheme-dir) -- cgit v1.2.3 From 8e6b131baada5873f3fe061975b806695931fb9d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 22 Feb 2018 16:53:41 +0100 Subject: gnu: pumpa: Update to 0.9.3. * gnu/packages/pumpio.scm (pumpa): Update to 0.9.3. [arguments]: Substitute INVOKE for SYSTEM*. --- gnu/packages/pumpio.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/pumpio.scm b/gnu/packages/pumpio.scm index e89418b6b1..b8741520f0 100644 --- a/gnu/packages/pumpio.scm +++ b/gnu/packages/pumpio.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 David Thompson ;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,7 +31,7 @@ (define-public pumpa (package (name "pumpa") - (version "0.9.2") + (version "0.9.3") (source (origin (method git-fetch) ; no source tarballs (uri (git-reference @@ -38,7 +39,7 @@ (commit (string-append "v" version)))) (sha256 (base32 - "09www29s4ldvd6apr73w7r4nmq93rcl2d182fylwgfcnncbvpy8s")) + "14072vis539zjgryjr5a77j2cprxii5znyg3p01qbb11lijk9nj7")) (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -57,7 +58,7 @@ ;; Run qmake with proper installation prefix. (let ((prefix (string-append "PREFIX=" (assoc-ref outputs "out")))) - (zero? (system* "qmake" prefix))) + (invoke "qmake" prefix)) #t))))) (inputs `(("aspell" ,aspell) -- cgit v1.2.3 From c85eca6253aa83df87afad9b175a4183b9738549 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 22 Feb 2018 17:00:44 +0100 Subject: gnu: strongswan: Update to 5.6.2. * gnu/packages/networking.scm (strongswan): Update to 5.6.2. --- gnu/packages/networking.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index bb5b74005a..1927dfd7ea 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -1584,14 +1584,14 @@ displays the results in real time.") (define-public strongswan (package (name "strongswan") - (version "5.6.1") + (version "5.6.2") (source (origin (method url-fetch) (uri (string-append "https://download.strongswan.org/strongswan-" version ".tar.bz2")) (sha256 - (base32 "0lxbyiary8iapx3ysw40czrmxf983fhfzs5mvz2hk1j1mpc85hp0")))) + (base32 "14ifqay54brw2b2hbmm517bxw8bs9631d7jm4g139igkxcq0m9p0")))) (build-system gnu-build-system) (arguments `(#:phases -- cgit v1.2.3 From 58246f965024b4d337115a377324656d0d3df030 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 22 Feb 2018 17:09:49 +0100 Subject: gnu: strongswan: Separate phases. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/networking.scm (strongswan)[arguments]: Split ‘adjust-to-environment’ phase into ‘patch-command-file-names’ and ‘set-up-test-environment’. --- gnu/packages/networking.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 1927dfd7ea..cd3f4f124b 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -1596,9 +1596,8 @@ displays the results in real time.") (arguments `(#:phases (modify-phases %standard-phases - (add-before 'build 'adjust-to-environment + (add-before 'build 'patch-command-file-names (lambda* (#:key inputs #:allow-other-keys) - ;; Adjust file names. (substitute* "src/libstrongswan/utils/process.c" (("/bin/sh") (string-append (assoc-ref inputs "bash") "/bin/sh"))) @@ -1607,8 +1606,9 @@ displays the results in real time.") (("/bin/sh") (which "sh")) (("/bin/echo") (which "echo")) (("cat") (which "cat"))) - - ;; This is needed for tests. + #t)) + (add-before 'check 'set-up-test-environment + (lambda* (#:key inputs #:allow-other-keys) (setenv "TZDIR" (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")) #t))) -- cgit v1.2.3 From fd7da5b9e383405d2f4655396550dd23f9ed7262 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Tue, 20 Feb 2018 21:44:47 +0300 Subject: gnu: mlt: Fix compilation against glibc 2.26. * gnu/packages/video.scm (mlt)[source](snippet, modules): New fields. --- gnu/packages/video.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 7676978a30..9d63de343d 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1737,7 +1737,12 @@ from sites like Twitch.tv and pipes them into a video player of choice.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "10m3ry0b2pvqx3bk34qh5dq337nn8pkc2gzfyhsj4nv9abskln47")))) + "10m3ry0b2pvqx3bk34qh5dq337nn8pkc2gzfyhsj4nv9abskln47")) + (modules '((guix build utils))) + (snippet + ;; As of glibc 2.26, no longer is. + '(substitute* "src/framework/mlt_property.h" + (("xlocale\\.h") "locale.h"))))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests -- cgit v1.2.3 From e89bfc2dfd68def20e588d5216aea1bf7fa80e50 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 22 Feb 2018 20:28:55 +0200 Subject: gnu: dolphin-emu: Enable building on aarch64-linux. * gnu/packages/emulators.scm (dolphin-emu)[supported-systems]: Add aarch64-linux. --- gnu/packages/emulators.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 79c570faf8..530ef7da00 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2015, 2016 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2015, 2018 David Thompson ;;; Copyright © 2016 Manolis Fragkiskos Ragkousis -;;; Copyright © 2016, 2017 Efraim Flashner +;;; Copyright © 2016, 2017, 2018 Efraim Flashner ;;; Copyright © 2017 Nicolas Goaziou ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017, 2018 Rutger Helling @@ -229,7 +229,7 @@ "Dolphin is an emulator for two Nintendo video game consoles: the GameCube and the Wii. It provides compatibility with all PC controllers, turbo speed, networked multiplayer, and graphical enhancements.") - (supported-systems '("x86_64-linux")) ; TODO: should also work on ARM64. + (supported-systems '("x86_64-linux" "aarch64-linux")) ; dolphin/Data/Sys/GC/font_*.bin: Licensed under ASL2.0. (license (list license:gpl2+ license:asl2.0 license:fdl1.2+))))) -- cgit v1.2.3 From 85280804056c1c3acc2da39bcc5f2647a8535939 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 22 Feb 2018 20:42:11 +0200 Subject: gnu: dolphin-emu: Shorten the source snippet. * gnu/packages/emulators.scm (dolphin-emu): Rewrite the source snippet to be more compact. --- gnu/packages/emulators.scm | 40 +++++++++++++--------------------------- 1 file changed, 13 insertions(+), 27 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 530ef7da00..d55e68d74e 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -119,33 +119,19 @@ (url "https://github.com/dolphin-emu/dolphin.git") (commit commit))) (file-name (git-file-name name version)) - (modules '((guix build utils))) - (snippet - '(begin - (for-each delete-file-recursively - ;; Remove external stuff we don't need. - '("Externals/LZO" - "Externals/OpenAL" - "Externals/Qt" - "Externals/SFML" - "Externals/SOIL" - "Externals/curl" - "Externals/ffmpeg" - "Externals/gettext" - "Externals/hidapi" - "Externals/libpng" - "Externals/libusb" - "Externals/mbedtls" - "Externals/miniupnpc" - "Externals/wxWidgets3" - "Externals/zlib")) - ;; Clean up source. - (for-each delete-file (find-files "." "\\.bin$")) - (for-each delete-file (find-files "." "\\.dsy$")) - (for-each delete-file (find-files "." "\\.exe$")) - (for-each delete-file (find-files "." "\\.jar$")) - (for-each delete-file (find-files "." "\\.rar$")) - #t)) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove external stuff we don't need. + (for-each (lambda (dir) + (delete-file-recursively + (string-append "Externals/" dir))) + '("LZO" "OpenAL" "Qt" "SFML" "SOIL" "curl" "ffmpeg" + "gettext" "hidapi" "libpng" "libusb" "mbedtls" + "miniupnpc" "wxWidgets3" "zlib")) + ;; Clean up source. + (for-each delete-file (find-files "." ".*\\.(bin|dsy|exe|jar|rar)$")) + #t)) (sha256 (base32 "0g725wmhlim73zrhi47wmr1bmplpy4b7sbimd5pm8xpfhj5nm10l")))) -- cgit v1.2.3 From b4cb9308f722061076d267c39ee0b8b86ba6f8f2 Mon Sep 17 00:00:00 2001 From: ng0 Date: Sun, 4 Feb 2018 11:15:19 +0000 Subject: gnu: Add cwm. * gnu/packages/wm.scm (cwm): New variable. Signed-off-by: Leo Famulari --- gnu/packages/wm.scm | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 0cf6c1a2de..888173313b 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2016 Al McElrath ;;; Copyright © 2016 Carlo Zancanaro ;;; Copyright © 2016, 2017 Ludovic Courtès -;;; Copyright © 2016, 2017 ng0 +;;; Copyright © 2016, 2017, 2018 ng0 ;;; Copyright © 2016 doncatnip ;;; Copyright © 2016 Ivan Vilata i Balaguer ;;; Copyright © 2017 Mekeor Melire @@ -46,6 +46,7 @@ #:use-module (gnu packages haskell-check) #:use-module (gnu packages haskell-web) #:use-module (gnu packages autotools) + #:use-module (gnu packages bison) #:use-module (gnu packages gawk) #:use-module (gnu packages base) #:use-module (gnu packages pkg-config) @@ -915,3 +916,55 @@ It is inspired by Xmonad and dwm. Its major features include: @end itemize\n") (home-page "https://github.com/conformal/spectrwm") (license license:isc))) + +(define-public cwm + (package + (name "cwm") + (version "6.2") + (source + (origin + (method url-fetch) + (uri (string-append "http://chneukirchen.org/releases/cwm-" + version ".tar.gz")) + (sha256 + (base32 + "1b8k2hjxpb0bzqjh2wj6mn2nf2360zacf8z19sw2rw5lxvmfy89x")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list "CC=gcc" + (string-append "PREFIX=" %output)) + #:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'build 'install-xsession + (lambda* (#:key outputs #:allow-other-keys) + ;; Add a .desktop file to xsessions. + (let* ((output (assoc-ref outputs "out")) + (xsessions (string-append output "/share/xsessions"))) + (mkdir-p xsessions) + (with-output-to-file + (string-append xsessions "/cwm.desktop") + (lambda _ + (format #t + "[Desktop Entry]~@ + Name=cwm~@ + Comment=OpenBSD Calm Window Manager fork~@ + Exec=~a/bin/cwm~@ + TryExec=~@*~a/bin/cwm~@ + Icon=~@ + Type=Application~%" + output))) + #t)))))) + (inputs + `(("libxft" ,libxft) + ("libxrandr" ,libxrandr) + ("libxinerama" ,libxinerama))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("bison" ,bison))) + (home-page "https://github.com/chneukirchen/cwm") + (synopsis "OpenBSD fork of the calmwm window manager") + (description "Cwm is a stacking window manager for X11. It is an OpenBSD +project derived from the original Calm Window Manager.") + (license license:isc))) -- cgit v1.2.3 From cfcc0f3c63077520c8083cac11dab0d16f258155 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 22 Feb 2018 14:30:36 -0500 Subject: gnu: gnupg: Update to 2.2.5. * gnu/packages/gnupg.scm (gnupg): Update to 2.2.5. --- gnu/packages/gnupg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 16685f6986..eeab5c5afd 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -214,14 +214,14 @@ compatible to GNU Pth.") (define-public gnupg (package (name "gnupg") - (version "2.2.4") + (version "2.2.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnupg/gnupg/gnupg-" version ".tar.bz2")) (sha256 (base32 - "1v7j8v2ww1knknbrhw3svfrqkmf9ll58iq0dczbsdpqgg1j3w6j0")))) + "0mzgibq4dpxh3i9anmwg12xdjry28y83icafhx3j3djg5niqk89z")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) -- cgit v1.2.3 From 5c213d1bee60a7e2667feda9b8a2997624e5f447 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 22 Feb 2018 22:14:54 +0200 Subject: gnu: american-fuzzy-lop: Change custom qemu input. * gnu/packages/debug.scm (american-fuzzy-lop)[inputs]: Custom-qemu now inherits from private qemu-minimal-2.10. * gnu/packages/bootloaders.scm (qemu-minimal-2.10): Add note to move variable to gnu/packages/debug.scm when no longer needed in bootloaders.scm. --- gnu/packages/bootloaders.scm | 1 + gnu/packages/debug.scm | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 70b392f3c1..9ea8748a5b 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -74,6 +74,7 @@ ;; The GRUB test suite fails with later versions of Qemu, so we ;; keep it at 2.10 for now. See ;; . +;; TODO: When grub no longer needs this version, move to gnu/packages/debug.scm. (define qemu-minimal-2.10 (package (inherit qemu-minimal) diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm index 09efcbdd6c..2354f0fbb9 100644 --- a/gnu/packages/debug.scm +++ b/gnu/packages/debug.scm @@ -169,7 +169,7 @@ tools that process C/C++ code.") (inputs `(("custom-qemu" ;; The afl-qemu tool builds qemu 2.10.0 with a few patches applied. - ,(package (inherit qemu-minimal) + ,(package (inherit (@@ (gnu packages bootloaders) qemu-minimal-2.10)) (name "afl-qemu") (inputs `(("afl-src" ,source) -- cgit v1.2.3 From 70cd2239a567fe551bdbe368b1d2b9d9cf531d09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Fri, 9 Feb 2018 01:00:33 +0100 Subject: services: certbot: Listen on IPv6. * gnu/services/certbot.scm (certbot-nginx-server-configurations): Listen on IPv6 too. --- gnu/services/certbot.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm index 8aac2638b3..91249ed3e3 100644 --- a/gnu/services/certbot.scm +++ b/gnu/services/certbot.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 ng0 ;;; Copyright © 2016 Sou Bunnbu -;;; Copyright © 2017 Clément Lassieur +;;; Copyright © 2017, 2018 Clément Lassieur ;;; ;;; This file is part of GNU Guix. ;;; @@ -98,7 +98,7 @@ (map (lambda (host) (nginx-server-configuration - (listen '("80")) + (listen '("80" "[::]:80")) (ssl-certificate #f) (ssl-certificate-key #f) (server-name (list host)) -- cgit v1.2.3 From 7ab04c17c01a926660cd1c9fa9311a5efc6716da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Fri, 9 Feb 2018 01:01:17 +0100 Subject: services: certbot: Run certbot twice a day at a random minute. * doc/guix.texi (Certificate Services): Document it. * gnu/services/certbot.scm (certbot-renewal-jobs): Change job's time specification. --- gnu/services/certbot.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm index 91249ed3e3..1728d126f4 100644 --- a/gnu/services/certbot.scm +++ b/gnu/services/certbot.scm @@ -65,10 +65,10 @@ (() '()) (_ (list - ;; Attempt to renew the certificates twice a week. - #~(job (lambda (now) - (next-day-from (next-hour-from now '(3)) - '(2 5))) + ;; Attempt to renew the certificates twice per day, at a random + ;; minute within the hour. See + ;; https://certbot.eff.org/all-instructions/. + #~(job '(next-minute-from (next-hour '(0 12)) (list (random 60))) (string-append #$package "/bin/certbot renew" (string-concatenate (map (lambda (host) -- cgit v1.2.3 From 301518638fbb2344b523623317bb5cd084e80d44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Fri, 9 Feb 2018 01:02:08 +0100 Subject: services: certbot: Fix indentation. * gnu/services/certbot.scm (certbot-activation): Fix indentation. --- gnu/services/certbot.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm index 1728d126f4..8ca64d9986 100644 --- a/gnu/services/certbot.scm +++ b/gnu/services/certbot.scm @@ -80,8 +80,8 @@ (($ package webroot hosts default-location) (with-imported-modules '((guix build utils)) #~(begin - (use-modules (guix build utils)) - (mkdir-p #$webroot) + (use-modules (guix build utils)) + (mkdir-p #$webroot) (for-each (lambda (host) (unless (file-exists? (in-vicinity "/etc/letsencrypt/live" host)) -- cgit v1.2.3 From 966fd7b7e9f321a02e740659ab1c1853e34533b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Sat, 10 Feb 2018 14:56:53 +0100 Subject: services: certbot: Rename 'host' to 'domain'. * doc/guix.texi (Certificate Services): Rename 'host' to 'domain'. * gnu/services/certbot.scm (, certbot-renewal-jobs, certbot-activation, certbot-nginx-server-configurations, certbot-service-type): Rename 'host' to 'domain'. --- gnu/services/certbot.scm | 42 ++++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 20 deletions(-) (limited to 'gnu') diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm index 8ca64d9986..0b425bab90 100644 --- a/gnu/services/certbot.scm +++ b/gnu/services/certbot.scm @@ -48,7 +48,7 @@ (default certbot)) (webroot certbot-configuration-webroot (default "/var/www")) - (hosts certbot-configuration-hosts + (domains certbot-configuration-domains (default '())) (default-location certbot-configuration-default-location (default @@ -59,9 +59,9 @@ (define certbot-renewal-jobs (match-lambda - (($ package webroot hosts default-location) - (match hosts - ;; Avoid pinging certbot if we have no hosts. + (($ package webroot domains default-location) + (match domains + ;; Avoid pinging certbot if we have no domains. (() '()) (_ (list @@ -71,37 +71,38 @@ #~(job '(next-minute-from (next-hour '(0 12)) (list (random 60))) (string-append #$package "/bin/certbot renew" (string-concatenate - (map (lambda (host) - (string-append " -d " host)) - '#$hosts)))))))))) + (map (lambda (domain) + (string-append " -d " domain)) + '#$domains)))))))))) (define certbot-activation (match-lambda - (($ package webroot hosts default-location) + (($ package webroot domains default-location) (with-imported-modules '((guix build utils)) #~(begin (use-modules (guix build utils)) (mkdir-p #$webroot) (for-each - (lambda (host) - (unless (file-exists? (in-vicinity "/etc/letsencrypt/live" host)) + (lambda (domain) + (unless (file-exists? + (in-vicinity "/etc/letsencrypt/live" domain)) (unless (zero? (system* (string-append #$certbot "/bin/certbot") "certonly" "--webroot" "-w" #$webroot - "-d" host)) - (error "failed to acquire cert for host" host)))) - '#$hosts)))))) + "-d" domain)) + (error "failed to acquire cert for domain" domain)))) + '#$domains)))))) (define certbot-nginx-server-configurations (match-lambda - (($ package webroot hosts default-location) + (($ package webroot domains default-location) (map - (lambda (host) + (lambda (domain) (nginx-server-configuration (listen '("80" "[::]:80")) (ssl-certificate #f) (ssl-certificate-key #f) - (server-name (list host)) + (server-name (list domain)) (locations (filter identity (list @@ -109,7 +110,7 @@ (uri "/.well-known") (body (list (list "root " webroot ";")))) default-location))))) - hosts)))) + domains)))) (define certbot-service-type (service-type (name 'certbot) @@ -121,11 +122,12 @@ (service-extension mcron-service-type certbot-renewal-jobs))) (compose concatenate) - (extend (lambda (config additional-hosts) + (extend (lambda (config additional-domains) (certbot-configuration (inherit config) - (hosts (append (certbot-configuration-hosts config) - additional-hosts))))) + (domains (append + (certbot-configuration-domains config) + additional-domains))))) (default-value (certbot-configuration)) (description "Automatically renew @url{https://letsencrypt.org, Let's -- cgit v1.2.3 From c1dfcfdf58b4a05903d6b4266ca3c04f1c4cb6e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Sat, 10 Feb 2018 16:06:12 +0100 Subject: services: certbot: Refactor certbot command. * gnu/services/certbot.scm (certbot-renewal-jobs, certbot-activation): Refactor common code into certbot-command. --- gnu/services/certbot.scm | 53 ++++++++++++++++++++++++------------------------ 1 file changed, 26 insertions(+), 27 deletions(-) (limited to 'gnu') diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm index 0b425bab90..661e174980 100644 --- a/gnu/services/certbot.scm +++ b/gnu/services/certbot.scm @@ -57,41 +57,40 @@ (body (list "return 301 https://$host$request_uri;")))))) -(define certbot-renewal-jobs +(define certbot-command (match-lambda (($ package webroot domains default-location) - (match domains - ;; Avoid pinging certbot if we have no domains. - (() '()) - (_ - (list - ;; Attempt to renew the certificates twice per day, at a random - ;; minute within the hour. See - ;; https://certbot.eff.org/all-instructions/. - #~(job '(next-minute-from (next-hour '(0 12)) (list (random 60))) - (string-append #$package "/bin/certbot renew" - (string-concatenate - (map (lambda (domain) - (string-append " -d " domain)) - '#$domains)))))))))) + (let* ((certbot (file-append package "/bin/certbot")) + (commands + (map + (lambda (domain) + (list certbot "certonly" + "--webroot" "-w" webroot + "-d" domain)) + domains))) + (program-file + "certbot-command" + #~(let ((code 0)) + (for-each + (lambda (command) + (set! code (or (apply system* command) code))) + '#$commands) code)))))) -(define certbot-activation - (match-lambda +(define (certbot-renewal-jobs config) + (list + ;; Attempt to renew the certificates twice per day, at a random minute + ;; within the hour. See https://certbot.eff.org/all-instructions/. + #~(job '(next-minute-from (next-hour '(0 12)) (list (random 60))) + #$(certbot-command config)))) + +(define (certbot-activation config) + (match config (($ package webroot domains default-location) (with-imported-modules '((guix build utils)) #~(begin (use-modules (guix build utils)) (mkdir-p #$webroot) - (for-each - (lambda (domain) - (unless (file-exists? - (in-vicinity "/etc/letsencrypt/live" domain)) - (unless (zero? (system* - (string-append #$certbot "/bin/certbot") - "certonly" "--webroot" "-w" #$webroot - "-d" domain)) - (error "failed to acquire cert for domain" domain)))) - '#$domains)))))) + (zero? (system* #$(certbot-command config)))))))) (define certbot-nginx-server-configurations (match-lambda -- cgit v1.2.3 From 65fc1d890d2e33e62a7c9d9fe31184c48d848e0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Sat, 10 Feb 2018 16:32:26 +0100 Subject: services: certbot: Get certbot to run non-interactively. * doc/guix.texi (Certificate Services): Add email field and link to the ACME Subscriber Agreement. * gnu/services/certbot.scm (, certbot-command, certbot-activation, certbot-nginx-server-configurations): Add email field. (certbot-command): Add '-n' and '--agree-tos' options. (certbot-service-type): Remove default-value. --- gnu/services/certbot.scm | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm index 661e174980..379c211430 100644 --- a/gnu/services/certbot.scm +++ b/gnu/services/certbot.scm @@ -50,6 +50,7 @@ (default "/var/www")) (domains certbot-configuration-domains (default '())) + (email certbot-configuration-email) (default-location certbot-configuration-default-location (default (nginx-location-configuration @@ -59,12 +60,14 @@ (define certbot-command (match-lambda - (($ package webroot domains default-location) + (($ package webroot domains email + default-location) (let* ((certbot (file-append package "/bin/certbot")) (commands (map (lambda (domain) - (list certbot "certonly" + (list certbot "certonly" "-n" "--agree-tos" + "-m" email "--webroot" "-w" webroot "-d" domain)) domains))) @@ -85,7 +88,8 @@ (define (certbot-activation config) (match config - (($ package webroot domains default-location) + (($ package webroot domains email + default-location) (with-imported-modules '((guix build utils)) #~(begin (use-modules (guix build utils)) @@ -94,7 +98,8 @@ (define certbot-nginx-server-configurations (match-lambda - (($ package webroot domains default-location) + (($ package webroot domains email + default-location) (map (lambda (domain) (nginx-server-configuration @@ -127,7 +132,6 @@ (domains (append (certbot-configuration-domains config) additional-domains))))) - (default-value (certbot-configuration)) (description "Automatically renew @url{https://letsencrypt.org, Let's Encrypt} HTTPS certificates by adjusting the nginx web server configuration -- cgit v1.2.3 From c3215d2f9d8fa4b890e3a41ceb4404b76a7c5c49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Sat, 10 Feb 2018 17:20:22 +0100 Subject: services: certbot: Associate one certificate with several domains. * doc/guix.texi (Certificate Services): Document , the change from domains to certificates and the fact that their path is now derived from their name. * gnu/services/certbot.scm (): Add and export it. (certbot-configuration, certbot-command, certbot-activation, certbot-nginx-server-configurations, certbot-service-type): Replace 'domains' with 'certificates'. (certbot-nginx-server-configurations): Use only one nginx-server-configuration and use all certificate domains as the server-name. --- gnu/services/certbot.scm | 71 ++++++++++++++++++++++++++++-------------------- 1 file changed, 41 insertions(+), 30 deletions(-) (limited to 'gnu') diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm index 379c211430..a70a36591d 100644 --- a/gnu/services/certbot.scm +++ b/gnu/services/certbot.scm @@ -32,7 +32,8 @@ #:use-module (ice-9 match) #:export (certbot-service-type certbot-configuration - certbot-configuration?)) + certbot-configuration? + certificate-configuration)) ;;; Commentary: ;;; @@ -41,6 +42,14 @@ ;;; Code: +(define-record-type* + certificate-configuration make-certificate-configuration + certificate-configuration? + (name certificate-configuration-name + (default #f)) + (domains certificate-configuration-domains + (default '()))) + (define-record-type* certbot-configuration make-certbot-configuration certbot-configuration? @@ -48,7 +57,7 @@ (default certbot)) (webroot certbot-configuration-webroot (default "/var/www")) - (domains certbot-configuration-domains + (certificates certbot-configuration-certificates (default '())) (email certbot-configuration-email) (default-location certbot-configuration-default-location @@ -60,17 +69,19 @@ (define certbot-command (match-lambda - (($ package webroot domains email + (($ package webroot certificates email default-location) (let* ((certbot (file-append package "/bin/certbot")) (commands (map - (lambda (domain) - (list certbot "certonly" "-n" "--agree-tos" - "-m" email - "--webroot" "-w" webroot - "-d" domain)) - domains))) + (match-lambda + (($ name domains) + (list certbot "certonly" "-n" "--agree-tos" + "-m" email + "--webroot" "-w" webroot + "--cert-name" (or name (car domains)) + "-d" (string-join domains ",")))) + certificates))) (program-file "certbot-command" #~(let ((code 0)) @@ -88,7 +99,7 @@ (define (certbot-activation config) (match config - (($ package webroot domains email + (($ package webroot certificates email default-location) (with-imported-modules '((guix build utils)) #~(begin @@ -98,23 +109,22 @@ (define certbot-nginx-server-configurations (match-lambda - (($ package webroot domains email + (($ package webroot certificates email default-location) - (map - (lambda (domain) - (nginx-server-configuration - (listen '("80" "[::]:80")) - (ssl-certificate #f) - (ssl-certificate-key #f) - (server-name (list domain)) - (locations - (filter identity - (list - (nginx-location-configuration - (uri "/.well-known") - (body (list (list "root " webroot ";")))) - default-location))))) - domains)))) + (list + (nginx-server-configuration + (listen '("80" "[::]:80")) + (ssl-certificate #f) + (ssl-certificate-key #f) + (server-name + (apply append (map certificate-configuration-domains certificates))) + (locations + (filter identity + (list + (nginx-location-configuration + (uri "/.well-known") + (body (list (list "root " webroot ";")))) + default-location)))))))) (define certbot-service-type (service-type (name 'certbot) @@ -126,12 +136,13 @@ (service-extension mcron-service-type certbot-renewal-jobs))) (compose concatenate) - (extend (lambda (config additional-domains) + (extend (lambda (config additional-certificates) (certbot-configuration (inherit config) - (domains (append - (certbot-configuration-domains config) - additional-domains))))) + (certificates + (append + (certbot-configuration-certificates config) + additional-certificates))))) (description "Automatically renew @url{https://letsencrypt.org, Let's Encrypt} HTTPS certificates by adjusting the nginx web server configuration -- cgit v1.2.3 From a2cb2bbc0ba984398dd79ff7bd37af8960f67ced Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Sat, 10 Feb 2018 17:27:19 +0100 Subject: services: certbot: Allow to set RSA key size. * doc/guix.texi (Certificate Services): Document it. * gnu/services/certbot.scm (, certbot-command, certbot-activation, certbot-nginx-server-configurations): Add it. --- gnu/services/certbot.scm | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'gnu') diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm index a70a36591d..51f5d719aa 100644 --- a/gnu/services/certbot.scm +++ b/gnu/services/certbot.scm @@ -60,6 +60,8 @@ (certificates certbot-configuration-certificates (default '())) (email certbot-configuration-email) + (rsa-key-size certbot-configuration-rsa-key-size + (default #f)) (default-location certbot-configuration-default-location (default (nginx-location-configuration @@ -70,17 +72,20 @@ (define certbot-command (match-lambda (($ package webroot certificates email - default-location) + rsa-key-size default-location) (let* ((certbot (file-append package "/bin/certbot")) + (rsa-key-size (and rsa-key-size (number->string rsa-key-size))) (commands (map (match-lambda (($ name domains) - (list certbot "certonly" "-n" "--agree-tos" - "-m" email - "--webroot" "-w" webroot - "--cert-name" (or name (car domains)) - "-d" (string-join domains ",")))) + (append + (list certbot "certonly" "-n" "--agree-tos" + "-m" email + "--webroot" "-w" webroot + "--cert-name" (or name (car domains)) + "-d" (string-join domains ",")) + (if rsa-key-size `("--rsa-key-size" ,rsa-key-size) '())))) certificates))) (program-file "certbot-command" @@ -100,7 +105,7 @@ (define (certbot-activation config) (match config (($ package webroot certificates email - default-location) + rsa-key-size default-location) (with-imported-modules '((guix build utils)) #~(begin (use-modules (guix build utils)) @@ -110,7 +115,7 @@ (define certbot-nginx-server-configurations (match-lambda (($ package webroot certificates email - default-location) + rsa-key-size default-location) (list (nginx-server-configuration (listen '("80" "[::]:80")) -- cgit v1.2.3 From e216c797f7432cbf21f991b1eff97821ace17140 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Sun, 11 Feb 2018 01:19:56 +0100 Subject: services: certbot: Add verbosity. The certificate name wasn't displayed if it wasn't being renewed. * gnu/services/certbot.scm (certbot-command): Print certificate name before running the associated command. --- gnu/services/certbot.scm | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) (limited to 'gnu') diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm index 51f5d719aa..f90e4f04b2 100644 --- a/gnu/services/certbot.scm +++ b/gnu/services/certbot.scm @@ -78,22 +78,28 @@ (commands (map (match-lambda - (($ name domains) - (append - (list certbot "certonly" "-n" "--agree-tos" - "-m" email - "--webroot" "-w" webroot - "--cert-name" (or name (car domains)) - "-d" (string-join domains ",")) - (if rsa-key-size `("--rsa-key-size" ,rsa-key-size) '())))) + (($ custom-name domains) + (let ((name (or custom-name (car domains)))) + (append + (list name certbot "certonly" "-n" "--agree-tos" + "-m" email + "--webroot" "-w" webroot + "--cert-name" name + "-d" (string-join domains ",")) + (if rsa-key-size `("--rsa-key-size" ,rsa-key-size) '()))))) certificates))) (program-file "certbot-command" - #~(let ((code 0)) - (for-each - (lambda (command) - (set! code (or (apply system* command) code))) - '#$commands) code)))))) + #~(begin + (use-modules (ice-9 match)) + (let ((code 0)) + (for-each + (match-lambda + ((name . command) + (begin + (format #t "Acquiring or renewing certificate: ~a~%" name) + (set! code (or (apply system* command) code))))) + '#$commands) code))))))) (define (certbot-renewal-jobs config) (list -- cgit v1.2.3 From fece75fe356ce9f99d1d13baaa5f195c510f187b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Sun, 11 Feb 2018 10:53:10 +0100 Subject: services: certbot: Allow to set a deploy hook. * doc/guix.texi (Certificate Services): Document it. * gnu/services/certbot.scm (, certbot-command): Add it. --- gnu/services/certbot.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm index f90e4f04b2..066b8241b2 100644 --- a/gnu/services/certbot.scm +++ b/gnu/services/certbot.scm @@ -48,7 +48,9 @@ (name certificate-configuration-name (default #f)) (domains certificate-configuration-domains - (default '()))) + (default '())) + (deploy-hook certificate-configuration-deploy-hook + (default #f))) (define-record-type* certbot-configuration make-certbot-configuration @@ -78,7 +80,8 @@ (commands (map (match-lambda - (($ custom-name domains) + (($ custom-name domains + deploy-hook) (let ((name (or custom-name (car domains)))) (append (list name certbot "certonly" "-n" "--agree-tos" @@ -86,7 +89,8 @@ "--webroot" "-w" webroot "--cert-name" name "-d" (string-join domains ",")) - (if rsa-key-size `("--rsa-key-size" ,rsa-key-size) '()))))) + (if rsa-key-size `("--rsa-key-size" ,rsa-key-size) '()) + (if deploy-hook `("--deploy-hook" ,deploy-hook) '()))))) certificates))) (program-file "certbot-command" -- cgit v1.2.3 From a21eb019bd922227fcc421323751288bc58c0f6b Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 8 Feb 2018 17:47:45 +0530 Subject: gnu: Add rhash. * gnu/packages/crypto.scm (rhash): New variable. --- gnu/packages/crypto.scm | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 225c26378d..9ad369a460 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2016, 2017 Eric Bavier ;;; Copyright © 2017 Pierre Langlois ;;; Copyright © 2018 Efraim Flashner +;;; Copyright © 2018 Arun Isaac ;;; ;;; This file is part of GNU Guix. ;;; @@ -663,3 +664,49 @@ that are faster than MD5, SHA-1, SHA-2, and SHA-3, yet are at least as secure as the latest standard, SHA-3. It is an improved version of the SHA-3 finalist BLAKE.") (license license:public-domain)))) + +(define-public rhash + (package + (name "rhash") + (version "1.3.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/rhash/RHash/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0bhz3xdl6r06k1bqigdjz42l31iqz2qdpg7zk316i7p2ra56iq4q")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list "CC=gcc" + (string-append "PREFIX=" %output)) + #:test-target "test" + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Makefile" + (("\\$\\(DESTDIR\\)/etc") + (string-append (assoc-ref outputs "out") "/etc"))) + #t)) + (add-after 'build 'build-library + (lambda* (#:key outputs make-flags #:allow-other-keys) + (apply invoke "make" "lib-shared" make-flags))) + (add-after 'install 'install-library + (lambda* (#:key outputs make-flags #:allow-other-keys) + (apply invoke "make" "install-lib-shared" make-flags) + (apply invoke + "make" "-C" "librhash" "install-headers" + "install-so-link" make-flags))) + (add-after 'check 'check-library + (lambda* (#:key outputs make-flags #:allow-other-keys) + (apply invoke "make" "test-shared-lib" make-flags)))))) + (home-page "https://sourceforge.net/projects/rhash/") + (synopsis "Utility for computing hash sums") + (description "RHash is a console utility for calculation and verification +of magnet links and a wide range of hash sums like CRC32, MD4, MD5, SHA1, +SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent BTIH, GOST R +34.11-94, RIPEMD-160, HAS-160, EDON-R, Whirlpool and Snefru.") + (license (license:non-copyleft "file://COPYING")))) -- cgit v1.2.3 From 6ac6055aa27ae0c628696539ca695c515f05e97f Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Fri, 23 Feb 2018 08:47:05 +0100 Subject: gnu: you-get: Update to 0.4.1025. * gnu/packages/video.scm (you-get): Update to 0.4.1025. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 9d63de343d..bf7a3960d4 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1275,7 +1275,7 @@ other site that youtube-dl supports.") (define-public you-get (package (name "you-get") - (version "0.4.1011") + (version "0.4.1025") (source (origin (method url-fetch) (uri (string-append @@ -1284,7 +1284,7 @@ other site that youtube-dl supports.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0cdbh5w0chw3dlrwizm91l6sgkkzy7p6h0072dai4xbw5zgld31k")))) + "10103jw1gzar85jlajzl9wslk08vw21n26hkhfcz5bvkm9lxxs2c")))) (build-system python-build-system) (inputs `(("ffmpeg" ,ffmpeg))) ; for multi-part and >=1080p videos -- cgit v1.2.3 From 6bebad77214860abf787b38a6489f6781a86062c Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Fri, 23 Feb 2018 10:13:40 +0100 Subject: gnu: dolphin-emu: Enable Vulkan video backend. * gnu/packages/emulators.scm (dolphin-emu): Enable Vulkan video backend. [inputs]: Add vulkan-icd-loader. [arguments]: Rename 'generate-fonts to 'generate-fonts&hardcore-libvulkan-path. Hardcode libvulkan.so. --- gnu/packages/emulators.scm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index d55e68d74e..142603b082 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -143,11 +143,14 @@ #:phases (modify-phases %standard-phases - (add-before 'configure 'generate-fonts + (add-before 'configure 'generate-fonts&hardcore-libvulkan-path (lambda* (#:key inputs outputs #:allow-other-keys) (let ((fontfile (string-append (assoc-ref inputs "font-wqy-microhei") - "/share/fonts/truetype/wqy-microhei.ttc"))) + "/share/fonts/truetype/wqy-microhei.ttc")) + (libvulkan + (string-append (assoc-ref inputs "vulkan-icd-loader") + "/lib/libvulkan.so"))) (chdir "docs") (invoke "bash" "-c" "g++ -O2 -std=c++11 $(freetype-config \ --cflags --libs) gc-font-tool.cpp -o gc-font-tool") @@ -156,6 +159,8 @@ (copy-file "font_japanese.bin" "../Data/Sys/GC/font_japanese.bin") (copy-file "font_western.bin" "../Data/Sys/GC/font_western.bin") (chdir "..") + (substitute* "Source/Core/VideoBackends/Vulkan/VulkanLoader.cpp" + (("libvulkan.so") libvulkan)) #t)))) #:configure-flags @@ -172,7 +177,6 @@ (assoc-ref %build-inputs "libx11") "/lib/libX11.so") "-DX11_FOUND=1"))) - ; TODO: Make Vulkan backend work. (native-inputs `(("pkg-config" ,pkg-config) ("gettext" ,gnu-gettext))) @@ -207,6 +211,7 @@ ("sfml" ,sfml) ("soil" ,soil) ("soundtouch" ,soundtouch) + ("vulkan-icd-loader" ,vulkan-icd-loader) ("wxwidgets" ,wxwidgets-gtk2-3.1) ("zlib" ,zlib))) (home-page "https://dolphin-emu.org/") -- cgit v1.2.3 From 18cbba2695dc9f1b130e6e838a7446d97f500b29 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Fri, 23 Feb 2018 15:34:35 +0100 Subject: gnu: mesa-utils: Update to 8.4.0. * gnu/packages/gl.scm (mesa-utils): Update to 8.4.0. --- gnu/packages/gl.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 125448f9e1..0e416a9efd 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -428,14 +428,14 @@ from software emulation to complete hardware acceleration for modern GPUs.") (define (mesa-demos-source version) (origin (method url-fetch) - (uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/demos/" version + (uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/demos" "/mesa-demos-" version ".tar.bz2")) - (sha256 (base32 "1vqb7s5m3fcg2csbiz45mha1pys2xx6rhw94fcyvapqdpm5iawy1")))) + (sha256 (base32 "0zgzbz55a14hz83gbmm0n9gpjnf5zadzi2kjjvkn6khql2a9rs81")))) (define-public mesa-utils (package (name "mesa-utils") - (version "8.3.0") + (version "8.4.0") (source (mesa-demos-source version)) (build-system gnu-build-system) (inputs -- cgit v1.2.3 From 8d4ba9ba1c831b51b94227d71c5fad890a1e4d86 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Feb 2018 12:33:40 +0100 Subject: gnu: parallel: Update to 20180222. * gnu/packages/parallel.scm (parallel): Update to 20180222. --- gnu/packages/parallel.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 95f0d6227a..17423856aa 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -47,7 +47,7 @@ (define-public parallel (package (name "parallel") - (version "20180122") + (version "20180222") (source (origin (method url-fetch) @@ -55,7 +55,7 @@ version ".tar.bz2")) (sha256 (base32 - "1wkbppb4mc56grl6jsp803sf0hm7mg5ff7qmxalp7sd0vxqw41p9")))) + "1bwx1rcrqz04d8fajlllhrfkjqxg0mfvsd86wf6p067gmgdrf6g8")))) (build-system gnu-build-system) (arguments `(#:phases -- cgit v1.2.3 From 4b971dde8f987c0762d9e5bac9243ce930881376 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Feb 2018 13:01:37 +0100 Subject: gnu: musl: Update to 1.1.19. * gnu/packages/musl.scm (musl): Update to 1.1.19. --- gnu/packages/musl.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/musl.scm b/gnu/packages/musl.scm index 7c78d29385..fb9b0a1c69 100644 --- a/gnu/packages/musl.scm +++ b/gnu/packages/musl.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Vincent Legoll ;;; Copyright © 2016 Ricardo Wurmus +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,14 +28,14 @@ (define-public musl (package (name "musl") - (version "1.1.18") + (version "1.1.19") (source (origin (method url-fetch) (uri (string-append "http://www.musl-libc.org/releases/" name "-" version ".tar.gz")) (sha256 (base32 - "0651lnj5spckqjf83nz116s8qhhydgqdy3rkl4icbh5f05fyw5yh")))) + "1nf1wh44bhm8gdcfr75ayib29b99vpq62zmjymrq7f96h9bshnfv")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; Musl has no tests -- cgit v1.2.3 From 78d6524aeb0d04c47582e28710dcc6308af489f7 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Feb 2018 13:02:02 +0100 Subject: gnu: musl: Use HTTPS home page. * gnu/packages/musl.scm (musl)[home-page]: Use HTTPS. --- gnu/packages/musl.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/musl.scm b/gnu/packages/musl.scm index fb9b0a1c69..ff789b8c6f 100644 --- a/gnu/packages/musl.scm +++ b/gnu/packages/musl.scm @@ -44,7 +44,7 @@ (synopsis "Small C standard library") (description "musl is a simple and lightweight C standard library. It strives to be correct in the sense of standards-conformance and safety.") - (home-page "http://www.musl-libc.org") + (home-page "https://www.musl-libc.org") ;; Musl as a whole is released under the Expat license. Parts of it are ;; derived from various third-party projects that are released under ;; non-copyleft licenses. See the COPYRIGHT file for details. -- cgit v1.2.3 From 5a82c904004d6db4bc3b2d294e6dacb5ac0139f8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Feb 2018 13:12:45 +0100 Subject: gnu: bpython: Update to 0.17.1. * gnu/packages/python.scm (bpython): Update to 0.17.1. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 5bbe472da6..3c816cda53 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -12764,14 +12764,14 @@ and other tools.") (define-public bpython (package (name "bpython") - (version "0.17") + (version "0.17.1") (source (origin (method url-fetch) (uri (pypi-uri "bpython" version)) (sha256 (base32 - "1mbah208jhd7bsfaa17fwpi55f7fvif0ghjwgrjmpmx8w1vqab9l")))) + "0bxhxi5zxdkrf8b4gwn0d363kdz3qnypjwhm1aydki53ph8ca1w9")))) (build-system python-build-system) (arguments `(#:phases -- cgit v1.2.3 From bbf8832f160120d4f78b563653db49ab715e7c6c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Feb 2018 14:24:42 +0100 Subject: gnu: optipng: Update to 0.7.7 [security fixes]. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This release claims to fix 2 vulnerabilities: - ‘an integer overflow vulnerability in the TIFF decoder’ (CVE-2017-1000229, previously patched in Guix), and - ‘a buffer overflow vulnerability in the GIF decoder’. * gnu/packages/image.scm (optipng): Update to 0.7.7. [source]: Remove patch. [arguments]: Substitute INVOKE for SYSTEM* and end phase with #t. * gnu/packages/patches/optipng-CVE-2017-1000229.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/image.scm | 17 ++++++++--------- .../patches/optipng-CVE-2017-1000229.patch | 22 ---------------------- 3 files changed, 8 insertions(+), 32 deletions(-) delete mode 100644 gnu/packages/patches/optipng-CVE-2017-1000229.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 2fd7e2478f..cd1926a665 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -950,7 +950,6 @@ dist_patch_DATA = \ %D%/packages/patches/openssl-runpath.patch \ %D%/packages/patches/openssl-1.1.0-c-rehash-in.patch \ %D%/packages/patches/openssl-c-rehash-in.patch \ - %D%/packages/patches/optipng-CVE-2017-1000229.patch \ %D%/packages/patches/orpheus-cast-errors-and-includes.patch \ %D%/packages/patches/osip-CVE-2017-7853.patch \ %D%/packages/patches/ots-no-include-missing-file.patch \ diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 9052a34e96..93114d8e07 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2016, 2017 Leo Famulari ;;; Copyright © 2016, 2017 Efraim Flashner -;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice +;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2016 Eric Bavier ;;; Copyright © 2016, 2017 Arun Isaac ;;; Copyright © 2016, 2017 Kei Kebreau @@ -1091,29 +1091,28 @@ installed as @code{stb_image}.") (define-public optipng (package (name "optipng") - (version "0.7.6") + (version "0.7.7") (source (origin (method url-fetch) (uri (string-append "http://prdownloads.sourceforge.net/optipng/optipng-" version ".tar.gz")) - (patches (search-patches "optipng-CVE-2017-1000229.patch")) (sha256 (base32 - "105yk5qykvhiahzag67gm36s2kplxf6qn5hay02md0nkrcgn6w28")))) + "0lj4clb851fzpaq446wgj0sfy922zs5l5misbpwv6w7qrqrz4cjg")))) (build-system gnu-build-system) (inputs `(("zlib" ,zlib))) (arguments '(#:phases (modify-phases %standard-phases - ;; configure script does not accept arguments CONFIG_SHELL and SHELL (replace 'configure (lambda* (#:key outputs #:allow-other-keys) - (zero? (system* "sh" "configure" - (string-append "--prefix=" (assoc-ref outputs "out"))))))))) - (synopsis "Optimizer that recompresses PNG image files to a -smaller size") + ;; configure script doesn't accept arguments CONFIG_SHELL and SHELL + (invoke "sh" "configure" + (string-append "--prefix=" (assoc-ref outputs "out"))) + #t))))) + (synopsis "Optimizer that recompresses PNG image files to a smaller size") (description "OptiPNG is a PNG optimizer that recompresses image files to a smaller size, without losing any information. This program also converts external formats (BMP, GIF, PNM and TIFF) to optimized diff --git a/gnu/packages/patches/optipng-CVE-2017-1000229.patch b/gnu/packages/patches/optipng-CVE-2017-1000229.patch deleted file mode 100644 index 2cb3b2f21c..0000000000 --- a/gnu/packages/patches/optipng-CVE-2017-1000229.patch +++ /dev/null @@ -1,22 +0,0 @@ -Fix CVE-2017-1000229: - -https://security-tracker.debian.org/tracker/CVE-2017-1000229 -https://people.canonical.com/~ubuntu-security/cve/2017/CVE-2017-1000229.html -https://nvd.nist.gov/vuln/detail/CVE-2017-1000229 - -Patch copied from upstream bug tracker: -https://sourceforge.net/p/optipng/bugs/65/ - -diff --git a/src/minitiff/tiffread.c b/src/minitiff/tiffread.c -index b4910ec..5f9b376 100644 ---- a/src/minitiff/tiffread.c -+++ b/src/minitiff/tiffread.c -@@ -350,6 +350,8 @@ minitiff_read_info(struct minitiff_info *tiff_ptr, FILE *fp) - count = tiff_ptr->strip_offsets_count; - if (count == 0 || count > tiff_ptr->height) - goto err_invalid; -+ if (count > (size_t)-1 / sizeof(long)) -+ goto err_memory; - tiff_ptr->strip_offsets = (long *)malloc(count * sizeof(long)); - if (tiff_ptr->strip_offsets == NULL) - goto err_memory; -- cgit v1.2.3 From d1e8408f53b3d4388675164c3501c615e4d81fdb Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Feb 2018 14:44:41 +0100 Subject: gnu: skarnet: Use HTTPS for home pages. * gnu/packages/skarnet.scm (skalibs, execline, s6-linux-utils, s6-dns) (s6-networking, s6-rc, s6-portable-utils, s6-linux-utils)[home-page]: Use HTTPS. --- gnu/packages/skarnet.scm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm index ce6fdc709d..9787215b15 100644 --- a/gnu/packages/skarnet.scm +++ b/gnu/packages/skarnet.scm @@ -50,7 +50,7 @@ (("\\$\\(wildcard src/lib\\*/\\*.c\\)") "$(sort $(wildcard src/lib*/*.c))")) #t))))) - (home-page "http://skarnet.org/software/skalibs/") + (home-page "https://skarnet.org/software/skalibs/") (synopsis "Platform abstraction libraries for skarnet.org software") (description "This package provides lightweight C libraries isolating the developer @@ -90,7 +90,7 @@ and file system operations. It is used by all skarnet.org software.") (wrap-program (string-append bin "/execlineb") `("PATH" ":" prefix (,bin))))))) #:tests? #f)) ; No tests exist. - (home-page "http://skarnet.org/software/execline/") + (home-page "https://skarnet.org/software/execline/") (license isc) (synopsis "Non-interactive shell-like language with minimal overhead") (description @@ -129,7 +129,7 @@ complexity."))) (assoc-ref %build-inputs "skalibs") "/lib/skalibs/sysdeps")) #:tests? #f)) - (home-page "http://skarnet.org/software/s6") + (home-page "https://skarnet.org/software/s6") (license isc) (synopsis "Small suite of programs for process supervision") (description @@ -164,7 +164,7 @@ functionality with a very small amount of code."))) (assoc-ref %build-inputs "skalibs") "/lib/skalibs/sysdeps")) #:tests? #f)) - (home-page "http://skarnet.org/software/s6-dns") + (home-page "https://skarnet.org/software/s6-dns") (license isc) (synopsis "Suite of DNS client programs") (description @@ -206,7 +206,7 @@ as an alternative to the BIND, djbdns or other DNS clients."))) (assoc-ref %build-inputs "skalibs") "/lib/skalibs/sysdeps")) #:tests? #f)) - (home-page "http://skarnet.org/software/s6-networking") + (home-page "https://skarnet.org/software/s6-networking") (license isc) (synopsis "Suite of network utilities for Unix systems") (description @@ -246,7 +246,7 @@ clock synchronization."))) (assoc-ref %build-inputs "skalibs") "/lib/skalibs/sysdeps")) #:tests? #f)) - (home-page "http://skarnet.org/software/s6-rc") + (home-page "https://skarnet.org/software/s6-rc") (license isc) (synopsis "Service manager for s6-based systems") (description @@ -281,7 +281,7 @@ environment."))) (assoc-ref %build-inputs "skalibs") "/lib/skalibs/sysdeps")) #:tests? #f)) - (home-page "http://skarnet.org/software/s6-portable-utils") + (home-page "https://skarnet.org/software/s6-portable-utils") (license isc) (synopsis "Tiny command-line Unix utilities") (description @@ -314,7 +314,7 @@ systems and other constrained environments, but they work everywhere."))) (assoc-ref %build-inputs "skalibs") "/lib/skalibs/sysdeps")) #:tests? #f)) - (home-page "http://skarnet.org/software/s6-linux-utils") + (home-page "https://skarnet.org/software/s6-linux-utils") (license isc) (synopsis "Set of minimalistic Linux-specific system utilities") (description -- cgit v1.2.3 From 35f75dceb9a2c7a1e6f52f49811632fde381d461 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Feb 2018 14:55:00 +0100 Subject: gnu: skalibs: Update to 2.6.3.1. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/skarnet.scm (skalibs): Update to 2.6.3.1. [arguments]: Drop obsolete ‘--enable-force-devr’ from #:configure-flags. --- gnu/packages/skarnet.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm index 9787215b15..8b79a4f994 100644 --- a/gnu/packages/skarnet.scm +++ b/gnu/packages/skarnet.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015 Claes Wallin ;;; Copyright © 2016 Eric Le Bihan ;;; Copyright © 2017 Z. Ren +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,7 +29,7 @@ (define-public skalibs (package (name "skalibs") - (version "2.3.10.0") + (version "2.6.3.1") (source (origin (method url-fetch) @@ -36,11 +37,10 @@ version ".tar.gz")) (sha256 (base32 - "0i7af224kl1crxgml09wx0x6q8ab79vnyrllfwv2lnq585wi9mg4")))) + "108c4vslsfy57892ybbksscrjd4bx444hzzcq2g5wdg2sh0cl245")))) (build-system gnu-build-system) (arguments - '(#:configure-flags '("--enable-force-devr") ; do not analyze /dev/random - #:tests? #f ; no tests exist + '(#:tests? #f ; no tests exist #:phases (modify-phases %standard-phases (add-after 'unpack 'reproducible (lambda _ -- cgit v1.2.3 From ba1203d030fddd8c66f1450aa8a389a3142275c9 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Feb 2018 15:10:18 +0100 Subject: gnu: execline: Update to 2.3.0.4. * gnu/packages/skarnet.scm (execline): Update to 2.3.0.4. --- gnu/packages/skarnet.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm index 8b79a4f994..19bfe3acc2 100644 --- a/gnu/packages/skarnet.scm +++ b/gnu/packages/skarnet.scm @@ -62,7 +62,7 @@ and file system operations. It is used by all skarnet.org software.") (define-public execline (package (name "execline") - (version "2.1.5.0") + (version "2.3.0.4") (source (origin (method url-fetch) @@ -70,7 +70,7 @@ and file system operations. It is used by all skarnet.org software.") version ".tar.gz")) (sha256 (base32 - "0hhirdmyh3sj9qagkis7addmmdvyic717wkb6ym3n63kvfk0adla")))) + "0jx60wjz3yj3r1wircbvd15in275pi7ggw69pbs9djhcyb48zfz4")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs))) (arguments -- cgit v1.2.3 From 787781deff8624586f2c17dd26aa59f61cbd47ae Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Feb 2018 15:13:17 +0100 Subject: gnu: s6-portable-utils: Update to 2.2.1.1. * gnu/packages/skarnet.scm (s6-portable-utils): Update to 2.2.1.1. --- gnu/packages/skarnet.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm index 19bfe3acc2..890dfa2f4d 100644 --- a/gnu/packages/skarnet.scm +++ b/gnu/packages/skarnet.scm @@ -260,7 +260,7 @@ environment."))) (define-public s6-portable-utils (package (name "s6-portable-utils") - (version "2.0.6.0") + (version "2.2.1.1") (source (origin (method url-fetch) @@ -269,7 +269,7 @@ environment."))) version ".tar.gz")) (sha256 (base32 - "0jwxj0ma4zd1h6i3i98nsp0miidr54phap7dqwf6c8vafq9psfr3")))) + "0ca5iiq3n6isj64jb81xpwjzjx1q8jg145nnnn91ra2qqk93kqka")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs))) (arguments -- cgit v1.2.3 From 77482ccabe136db22ed0d653e95eb3ade37dffbb Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Feb 2018 15:17:21 +0100 Subject: gnu: s6: Update to 2.7.0.0. * gnu/packages/skarnet.scm (s6): Update to 2.7.0.0. --- gnu/packages/skarnet.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm index 890dfa2f4d..4567e0ade3 100644 --- a/gnu/packages/skarnet.scm +++ b/gnu/packages/skarnet.scm @@ -105,7 +105,7 @@ complexity."))) (define-public s6 (package (name "s6") - (version "2.3.0.0") + (version "2.7.0.0") (source (origin (method url-fetch) @@ -113,7 +113,7 @@ complexity."))) version ".tar.gz")) (sha256 (base32 - "1rp8i228zxzbia1799pdav1kkzdk96fax9bcfyf2gilkdm3s1ja9")))) + "04vfviw00zvvb1mdpl78zdgzd7j491f1lahhqrkkq9vk5kwcn5v6")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs) ("execline" ,execline))) -- cgit v1.2.3 From 1f1031f7d998bd338dd9c84f2e8641bae304a1ed Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Feb 2018 15:23:27 +0100 Subject: gnu: s6-rc: Update to 0.4.0.0. * gnu/packages/skarnet.scm (s6-rc): Update to 0.4.0.0. --- gnu/packages/skarnet.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm index 4567e0ade3..f8e62ae12c 100644 --- a/gnu/packages/skarnet.scm +++ b/gnu/packages/skarnet.scm @@ -218,7 +218,7 @@ clock synchronization."))) (define-public s6-rc (package (name "s6-rc") - (version "0.0.3.0") + (version "0.4.0.0") (source (origin (method url-fetch) @@ -226,7 +226,7 @@ clock synchronization."))) version ".tar.gz")) (sha256 (base32 - "0bl94lbaphbpaaj4wbb86xqgp5bcgrf3m7p80mimw1qsjrvlxfay")))) + "1fkg9635cvrf6gw055y346a3n634dy2xiwbypawi68flfprfgf4n")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs) ("execline" ,execline) -- cgit v1.2.3 From ef8cab008be6f278565258fa754164866e52aba8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Feb 2018 15:28:27 +0100 Subject: gnu: s6-linux-utils: Update to 2.4.0.2. * gnu/packages/skarnet.scm (s6-linux-utils): Update to 2.4.0.2. --- gnu/packages/skarnet.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm index f8e62ae12c..3c6284c938 100644 --- a/gnu/packages/skarnet.scm +++ b/gnu/packages/skarnet.scm @@ -293,7 +293,7 @@ systems and other constrained environments, but they work everywhere."))) (define-public s6-linux-utils (package (name "s6-linux-utils") - (version "2.1.0.0") + (version "2.4.0.2") (source (origin (method url-fetch) @@ -302,7 +302,7 @@ systems and other constrained environments, but they work everywhere."))) version ".tar.gz")) (sha256 (base32 - "1bby751blynb7p8wd3npjm71lf10ysmfvqrd3dqrhhajpa2bl8rm")))) + "0245rmk7wfyyfsi4g7f0niprwlvqlwkbyjxflb8kkbvhwfdavqip")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs))) (arguments -- cgit v1.2.3 From c14dcc0c401fce569109587f908b9e99f075a959 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Feb 2018 15:49:00 +0100 Subject: gnu: Add s6-linux-init. This new package contains refugees from the s6-linux-utils update. * gnu/packages/skarnet.scm (s6-linux-init): New public variable. --- gnu/packages/skarnet.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm index 3c6284c938..5fa442d1e9 100644 --- a/gnu/packages/skarnet.scm +++ b/gnu/packages/skarnet.scm @@ -290,6 +290,44 @@ performing well-known tasks such as @command{cut} and @command{grep}, but optimized for simplicity and small size. They were designed for embedded systems and other constrained environments, but they work everywhere."))) +(define-public s6-linux-init + (package + (name "s6-linux-init") + (version "0.3.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://skarnet.org/software/s6-linux-init/s6-linux-init-" + version ".tar.gz")) + (sha256 + (base32 + "0yfxrjqlbb6kac4gcn78phxbwp5sj9jmc1vxpsrbql62mfjyiqly")))) + (build-system gnu-build-system) + (inputs + `(("skalibs" ,skalibs))) + (arguments + '(#:configure-flags + (list + (string-append "--with-lib=" + (assoc-ref %build-inputs "skalibs") + "/lib/skalibs") + (string-append "--with-sysdeps=" + (assoc-ref %build-inputs "skalibs") + "/lib/skalibs/sysdeps")) + #:tests? #f)) + (home-page "https://skarnet.org/software/s6-linux-init") + (license isc) + (synopsis "Minimalistic tools to create an s6-based init system on Linux") + (description + " s6-linux-init is a set of minimalistic tools to create a s6-based init +system, including an @command{/sbin/init} binary, on a Linux kernel. + +It is meant to automate creation of scripts revolving around the use of other +skarnet.org tools, especially s6, in order to provide a complete booting +environment with integrated supervision and logging without having to hand-craft +all the details. "))) + (define-public s6-linux-utils (package (name "s6-linux-utils") -- cgit v1.2.3 From 8ea7d85554abcc3908626c46fc885d5c7c8f7716 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Feb 2018 15:52:09 +0100 Subject: gnu: s6-dns: Update to 2.3.0.0. * gnu/packages/skarnet.scm (s6-dns): Update to 2.3.0.0. --- gnu/packages/skarnet.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm index 5fa442d1e9..588d0d40b2 100644 --- a/gnu/packages/skarnet.scm +++ b/gnu/packages/skarnet.scm @@ -144,7 +144,7 @@ functionality with a very small amount of code."))) (define-public s6-dns (package (name "s6-dns") - (version "2.0.1.0") + (version "2.3.0.0") (source (origin (method url-fetch) @@ -152,7 +152,7 @@ functionality with a very small amount of code."))) version ".tar.gz")) (sha256 (base32 - "1ji47iy8czx4jmi763dxd6lgjbnp4vqqgcijh46ym65l0a97z04w")))) + "0h47ldxvh9cny91r0pjxq7zr5iqpqf1j50p3ip42f6bl90z5ha58")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs))) (arguments -- cgit v1.2.3 From a59f429ad1b3f95e70d7afe816d5cec05d598524 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Feb 2018 15:56:10 +0100 Subject: gnu: s6-networking: Update to 2.3.0.2. * gnu/packages/skarnet.scm (s6-networking): Update to 2.3.0.2. --- gnu/packages/skarnet.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm index 588d0d40b2..a0b482a671 100644 --- a/gnu/packages/skarnet.scm +++ b/gnu/packages/skarnet.scm @@ -174,7 +174,7 @@ as an alternative to the BIND, djbdns or other DNS clients."))) (define-public s6-networking (package (name "s6-networking") - (version "2.1.1.0") + (version "2.3.0.2") (source (origin (method url-fetch) @@ -182,7 +182,7 @@ as an alternative to the BIND, djbdns or other DNS clients."))) version ".tar.gz")) (sha256 (base32 - "0r8gfv0l2k449nacjy919gqlgn25q7fjxaqra5r37k7kiikkgqfw")))) + "06j8fpldn187cmbjqp191hd65ka3ys19vj3jm3kcvkmvd9snh6fq")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs) ("execline" ,execline) -- cgit v1.2.3 From ae16afe92e5564e64767e668b6f0c8ed972e2829 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Feb 2018 14:33:40 +0100 Subject: gnu: calibre: Update to 3.17.0. * gnu/packages/ebook.scm (calibre): Update to 3.17.0. [arguments]: End all phases with #t. --- gnu/packages/ebook.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index 7d34bfafac..bb43000e81 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016, 2017 Alex Griffin ;;; Copyright © 2017 Brendan Tildesley ;;; Copyright © 2017 Roel Janssen +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -74,7 +75,7 @@ (define-public calibre (package (name "calibre") - (version "3.11.1") + (version "3.17.0") (source (origin (method url-fetch) @@ -83,7 +84,7 @@ version ".tar.xz")) (sha256 (base32 - "0kwza7iyyyfhq476z5fk9962iyd0qpgmzm1k36nqcy8sfjbk8mrl")) + "1w6hw1s0d4daa4q2ykzhxdndiq61l8z7ls7rxh7k7p62ia0i5sxp")) ;; Remove non-free or doubtful code, see ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html (modules '((guix build utils))) @@ -175,7 +176,8 @@ (substitute* "setup/build_environment.py" (("sys.prefix") (string-append "'" pyqt "'"))) (setenv "PODOFO_INC_DIR" (string-append podofo "/include/podofo")) - (setenv "PODOFO_LIB_DIR" (string-append podofo "/lib"))))) + (setenv "PODOFO_LIB_DIR" (string-append podofo "/lib")) + #t))) (add-after 'install 'install-font-liberation (lambda* (#:key inputs outputs #:allow-other-keys) (for-each (lambda (file) -- cgit v1.2.3 From 8572adb28a27e8324d2a2e54dac0669b43603789 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 23 Feb 2018 14:35:34 +0100 Subject: =?UTF-8?q?gnu:=20calibre:=20Spell=20=E2=80=98e-book=E2=80=99=20co?= =?UTF-8?q?nsistently.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/ebook.scm (calibre)[description]: Use synopsis' ‘e-book’ spelling. --- gnu/packages/ebook.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index bb43000e81..bf4b6a750e 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -196,11 +196,11 @@ #t))))) (home-page "http://calibre-ebook.com/") (synopsis "E-book library management software") - (description "Calibre is an ebook library manager. It can view, convert -and catalog ebooks in most of the major ebook formats. It can also talk -to many ebook reader devices. It can go out to the Internet and fetch + (description "Calibre is an e-book library manager. It can view, convert +and catalog e-books in most of the major e-book formats. It can also talk +to many e-book reader devices. It can go out to the Internet and fetch metadata for books. It can download newspapers and convert them into -ebooks for convenient reading.") +e-books for convenient reading.") ;; Calibre is largely GPL3+, but includes a number of components covered ;; by other licenses. See COPYRIGHT for more details. (license (list license:gpl3+ -- cgit v1.2.3 From a512246ccd77b8b3c680c6f99bddd5da45a6b877 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Fri, 23 Feb 2018 12:25:10 +0100 Subject: gnu: vulkan-icd-loader: Update to 1.0.68.0. * gnu/packages/vulkan.scm (vulkan-icd-loader): Update to 1.0.68.0. [arguments]: Add 'remove-spirv-tools-commit-id phase. Add "-DBUILD_LAYERS=OFF" configure-flag. --- gnu/packages/vulkan.scm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 4185064d8d..1d83b6f363 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -158,7 +158,7 @@ interpretation of the specifications for these languages.") (define-public vulkan-icd-loader (package (name "vulkan-icd-loader") - (version "1.0.65.2") + (version "1.0.68.0") (source (origin (method url-fetch) @@ -167,11 +167,20 @@ interpretation of the specifications for these languages.") "archive/sdk-" version ".tar.gz")) (sha256 (base32 - "1ivvmb977n2xp95v3sryhflvryy3mxrcwrd1hnr2dmri40vg1sl8")))) + "1n5gry5zxpwi7330fmi06snalra8hkbbw68gnwbp531kd5ycyinh")))) (build-system cmake-build-system) (arguments `(#:tests? #f ;FIXME: 23/39 tests fail. Try "tests/run_all_tests.sh". - #:configure-flags (list (string-append "-DCMAKE_INSTALL_LIBDIR=" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-spirv-tools-commit-id + (lambda* (#:key inputs #:allow-other-keys) + ;; Remove lines trying to build in a git commit id. + (substitute* "CMakeLists.txt" ((".*spirv_tools_commit_id.h.*") "")) + #t))) + #:configure-flags (list + "-DBUILD_LAYERS=OFF" ; FIXME: Fails to build. + (string-append "-DCMAKE_INSTALL_LIBDIR=" (assoc-ref %outputs "out") "/lib")))) (inputs `(("glslang" ,glslang) ("libxcb" ,libxcb) -- cgit v1.2.3 From e982500fa6fb272de2403ec3eb6bfd30a2c55694 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 22 Feb 2018 17:17:49 +0100 Subject: gnu: Add emacs-sly. * gnu/packages/emacs.scm (emacs-sly): New variable. --- gnu/packages/emacs.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index a6bae80c3a..81e6885f66 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4286,6 +4286,52 @@ are pretty much the same (and SLIME served as the principle inspiration for CIDER).") (license license:gpl3+))) +;; There hasn't been a tag or release since 2015, so we take the latest +;; commit. +(define-public emacs-sly + (let ((commit "486bfbe95612bcdc0960c490207970a188e0fbb9") + (revision "1")) + (package + (name "emacs-sly") + (version (string-append "1.0.0-" revision "." (string-take commit 9))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/joaotavora/sly.git") + (commit commit))) + (sha256 + (base32 + "0ib4q4k3h3qn88pymyjjmlmnpizdn1mfg5gpk5a715nqsgxlg09l")))) + (build-system emacs-build-system) + (arguments + `(#:include (cons "^lib\\/" %default-include) + #:phases + ;; The package provides autoloads. + (modify-phases %standard-phases + (delete 'make-autoloads)))) + (home-page "https://github.com/joaotavora/sly") + (synopsis "Sylvester the Cat's Common Lisp IDE") + (description + "SLY is Sylvester the Cat's Common Lisp IDE. SLY is a fork of SLIME, and +contains the following improvements over it: + +@enumerate +@item Completely redesigned REPL based on Emacs's own full-featured + @code{comint.el} +@item Live code annotations via a new @code{sly-stickers} contrib +@item Consistent interactive button interface. Everything can be copied to + the REPL. +@item Multiple inspectors with independent history +@item Regexp-capable @code{M-x sly-apropos} +@item Contribs are first class SLY citizens and enabled by default +@item Use ASDF to loads contribs on demand. +@end enumerate + +SLY tracks SLIME's bugfixes and all its familar features (debugger, inspector, +xref, etc...) are still available, but with better integration.") + (license license:gpl3+)))) + (define-public emacs-lua-mode (let ((commit "652e299cb967fccca827dda381d61a9c144d97de") (revision "1")) -- cgit v1.2.3 From f3ac0689271805b62d15265db2693f46376fe6eb Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 23 Feb 2018 18:30:37 +0100 Subject: gnu: java-tomcat: Update to 8.5.28 [security fixes]. Fixes CVE-2018-1304. * gnu/packages/web.scm (java-tomcat): Update to 8.5.28. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 7b34b87244..801741dd22 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -5651,14 +5651,14 @@ encoder/decoder based on the draft-12 specification for UBJSON.") (define-public java-tomcat (package (name "java-tomcat") - (version "8.5.23") + (version "8.5.28") (source (origin (method url-fetch) (uri (string-append "mirror://apache/tomcat/tomcat-8/v" version "/src/apache-tomcat-" version "-src.tar.gz")) (sha256 (base32 - "1m6b1dikib46kbgz9gf0p6svi00nsw62b9kgjzn6sda151skbbza")))) + "0q2bc3sajrmcx3z3vhhwp78y47ryc2ky8ssbdmfk24zvqdb76hvl")))) (build-system ant-build-system) (inputs `(("java-eclipse-jdt-core" ,java-eclipse-jdt-core))) -- cgit v1.2.3 From 853b0292093f0168bded5a1bd18409232407132f Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 29 Dec 2017 17:36:41 -0500 Subject: gnu: vc: Update to 1.3.3. * gnu/packages/maths.scm (vc): Update to 1.3.3. --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 6be4c6959b..25e1d5a312 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -3435,14 +3435,14 @@ supports compressed MAT files, as well as newer (version 7.3) MAT files.") (define-public vc (package (name "vc") - (version "1.2.0") + (version "1.3.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/VcDevel/Vc/releases/" "download/" version "/Vc-" version ".tar.gz")) (sha256 (base32 - "1rh6dhqar3y07n4xqyml0sa0v48qv3ch9dc3yc2in855hlh4vnqi")))) + "1zmlpn32jzb38smp3j834llmbix3whsrbw0h397qxysbw792kih8")))) (build-system cmake-build-system) (arguments '(#:configure-flags -- cgit v1.2.3 From 6db2accc9c4f7f9fa75df78a003ec8cc19c49aa7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 23 Feb 2018 12:50:22 +0100 Subject: gnu: tevent: Update to 0.9.36. * gnu/packages/samba.scm (tevent): Update to 0.9.36. --- gnu/packages/samba.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 396006b27a..5ea7858a89 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -303,14 +303,14 @@ destructors. It is the core memory allocator used in Samba.") (define-public tevent (package (name "tevent") - (version "0.9.35") + (version "0.9.36") (source (origin (method url-fetch) (uri (string-append "https://www.samba.org/ftp/tevent/tevent-" version ".tar.gz")) (sha256 (base32 - "1s8nbkmqz8dzdlsd6qynhvyl05pw93r151f3i2kgjfpbck9ak8r5")))) + "0k1v4vnlzpf7h3p4khaw8a7damrc68g136bf2xzys08nzpinnaxx")))) (build-system gnu-build-system) (arguments '(#:phases -- cgit v1.2.3 From b5bb0e43919372f42ea0305c70da12255803a0d6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 23 Feb 2018 12:55:07 +0100 Subject: gnu: miniupnpc: Update to 2.0.20180222. * gnu/packages/upnp.scm (miniupnpc): Update to 2.0.20180222. --- gnu/packages/upnp.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm index 5e2c990469..8764cea9a6 100644 --- a/gnu/packages/upnp.scm +++ b/gnu/packages/upnp.scm @@ -29,14 +29,14 @@ (define-public miniupnpc (package (name "miniupnpc") - (version "2.0.20180203") + (version "2.0.20180222") (source (origin (method url-fetch) (uri (string-append "https://miniupnp.tuxfamily.org/files/" name "-" version ".tar.gz")) (sha256 - (base32 "1dr0qaf2qz49aawgsnv7l41rda5yvdk3qfz2hd5cv9iwav3sipch")))) + (base32 "0xavcrifk8v8gwig3mj0kjkm7rvw1kbsxcs4jxrrzl39cil48yaq")))) (build-system gnu-build-system) (native-inputs `(("python" ,python-2))) -- cgit v1.2.3 From 65f704f3735fa7c979f36629d402b9458cc96ad0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 23 Feb 2018 13:07:51 +0100 Subject: gnu: wavpack: Fix CVE-2018-7253 and CVE-2018-7254. * gnu/packages/patches/wavpack-CVE-2018-7253.patch, gnu/packages/patches/wavpack-CVE-2018-7254.patch: New files. * gnu/local.mk (dist_patch_DATA): Register them. * gnu/packages/audio.scm (wavpack)[source](patches): Use them. --- gnu/local.mk | 2 + gnu/packages/audio.scm | 2 + gnu/packages/patches/wavpack-CVE-2018-7253.patch | 29 +++++++++++ gnu/packages/patches/wavpack-CVE-2018-7254.patch | 62 ++++++++++++++++++++++++ 4 files changed, 95 insertions(+) create mode 100644 gnu/packages/patches/wavpack-CVE-2018-7253.patch create mode 100644 gnu/packages/patches/wavpack-CVE-2018-7254.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index cd1926a665..21195f8c1e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1140,6 +1140,8 @@ dist_patch_DATA = \ %D%/packages/patches/vsearch-unbundle-cityhash.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt1.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt2.patch \ + %D%/packages/patches/wavpack-CVE-2018-7253.patch \ + %D%/packages/patches/wavpack-CVE-2018-7254.patch \ %D%/packages/patches/weechat-python.patch \ %D%/packages/patches/wicd-bitrate-none-fix.patch \ %D%/packages/patches/wicd-get-selected-profile-fix.patch \ diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 47179aea92..b1a15ed34d 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -2377,6 +2377,8 @@ stretching and pitch scaling of audio. This package contains the library.") (method url-fetch) (uri (string-append "http://www.wavpack.com/" name "-" version ".tar.bz2")) + (patches (search-patches "wavpack-CVE-2018-7253.patch" + "wavpack-CVE-2018-7254.patch")) (sha256 (base32 "0i19c6krc0p9krwrqy9s5xahaafigqzxcn31piidmlaqadyn4f8r")))) diff --git a/gnu/packages/patches/wavpack-CVE-2018-7253.patch b/gnu/packages/patches/wavpack-CVE-2018-7253.patch new file mode 100644 index 0000000000..651755afd0 --- /dev/null +++ b/gnu/packages/patches/wavpack-CVE-2018-7253.patch @@ -0,0 +1,29 @@ +Fix CVE-2018-7253: +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7253 + +Copied from upstream: +https://github.com/dbry/WavPack/commit/36a24c7881427d2e1e4dc1cef58f19eee0d13aec + +diff --git a/cli/dsdiff.c b/cli/dsdiff.c +index 410dc1c..c016df9 100644 +--- a/cli/dsdiff.c ++++ b/cli/dsdiff.c +@@ -153,7 +153,17 @@ int ParseDsdiffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpa + error_line ("dsdiff file version = 0x%08x", version); + } + else if (!strncmp (dff_chunk_header.ckID, "PROP", 4)) { +- char *prop_chunk = malloc ((size_t) dff_chunk_header.ckDataSize); ++ char *prop_chunk; ++ ++ if (dff_chunk_header.ckDataSize < 4 || dff_chunk_header.ckDataSize > 1024) { ++ error_line ("%s is not a valid .DFF file!", infilename); ++ return WAVPACK_SOFT_ERROR; ++ } ++ ++ if (debug_logging_mode) ++ error_line ("got PROP chunk of %d bytes total", (int) dff_chunk_header.ckDataSize); ++ ++ prop_chunk = malloc ((size_t) dff_chunk_header.ckDataSize); + + if (!DoReadFile (infile, prop_chunk, (uint32_t) dff_chunk_header.ckDataSize, &bcount) || + bcount != dff_chunk_header.ckDataSize) { diff --git a/gnu/packages/patches/wavpack-CVE-2018-7254.patch b/gnu/packages/patches/wavpack-CVE-2018-7254.patch new file mode 100644 index 0000000000..61db296ec8 --- /dev/null +++ b/gnu/packages/patches/wavpack-CVE-2018-7254.patch @@ -0,0 +1,62 @@ +Fix CVE-2018-7254: +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7254 + +Copied from upstream: +https://github.com/dbry/WavPack/commit/8e3fe45a7bac31d9a3b558ae0079e2d92a04799e + +diff --git a/cli/caff.c b/cli/caff.c +index ae57c4b..6248a71 100644 +--- a/cli/caff.c ++++ b/cli/caff.c +@@ -89,8 +89,8 @@ typedef struct + + #define CAFChannelDescriptionFormat "LLLLL" + +-static const char TMH_full [] = { 1,2,3,13,9,10,5,6,12,14,15,16,17,9,4,18,7,8,19,20,21 }; +-static const char TMH_std [] = { 1,2,3,11,8,9,5,6,10,12,13,14,15,7,4,16 }; ++static const char TMH_full [] = { 1,2,3,13,9,10,5,6,12,14,15,16,17,9,4,18,7,8,19,20,21,0 }; ++static const char TMH_std [] = { 1,2,3,11,8,9,5,6,10,12,13,14,15,7,4,16,0 }; + + static struct { + uint32_t mChannelLayoutTag; // Core Audio layout, 100 - 146 in high word, num channels in low word +@@ -274,10 +274,19 @@ int ParseCaffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpack + } + } + else if (!strncmp (caf_chunk_header.mChunkType, "chan", 4)) { +- CAFChannelLayout *caf_channel_layout = malloc ((size_t) caf_chunk_header.mChunkSize); ++ CAFChannelLayout *caf_channel_layout; + +- if (caf_chunk_header.mChunkSize < sizeof (CAFChannelLayout) || +- !DoReadFile (infile, caf_channel_layout, (uint32_t) caf_chunk_header.mChunkSize, &bcount) || ++ if (caf_chunk_header.mChunkSize < sizeof (CAFChannelLayout) || caf_chunk_header.mChunkSize > 1024) { ++ error_line ("this .CAF file has an invalid 'chan' chunk!"); ++ return WAVPACK_SOFT_ERROR; ++ } ++ ++ if (debug_logging_mode) ++ error_line ("'chan' chunk is %d bytes", (int) caf_chunk_header.mChunkSize); ++ ++ caf_channel_layout = malloc ((size_t) caf_chunk_header.mChunkSize); ++ ++ if (!DoReadFile (infile, caf_channel_layout, (uint32_t) caf_chunk_header.mChunkSize, &bcount) || + bcount != caf_chunk_header.mChunkSize) { + error_line ("%s is not a valid .CAF file!", infilename); + free (caf_channel_layout); +@@ -495,8 +504,15 @@ int ParseCaffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpack + } + else { // just copy unknown chunks to output file + +- int bytes_to_copy = (uint32_t) caf_chunk_header.mChunkSize; +- char *buff = malloc (bytes_to_copy); ++ uint32_t bytes_to_copy = (uint32_t) caf_chunk_header.mChunkSize; ++ char *buff; ++ ++ if (caf_chunk_header.mChunkSize < 0 || caf_chunk_header.mChunkSize > 1048576) { ++ error_line ("%s is not a valid .CAF file!", infilename); ++ return WAVPACK_SOFT_ERROR; ++ } ++ ++ buff = malloc (bytes_to_copy); + + if (debug_logging_mode) + error_line ("extra unknown chunk \"%c%c%c%c\" of %d bytes", -- cgit v1.2.3 From 69df64a3d3d1598e1e800f4550da6d5dba0ef33d Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 23 Feb 2018 22:01:11 -0500 Subject: gnu: linux-libre@4.4: Update to 4.4.117. * gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.117. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 238398e84a..d91ab6e00a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -408,8 +408,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.116" - "00y5xhgqiyf7ivivnphwvkjgszk8rzn4s8q3sgshswz3kdic55hj" + (make-linux-libre "4.4.117" + "1mlq9npyriwj0wpj24zah55bkxil31l182ypbn6b3x4yvmr8lhz0" %intel-compatible-systems #:configuration-file kernel-config)) -- cgit v1.2.3 From b51453337bbd315f572f3aece2139c9bbfa7d1f0 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 23 Feb 2018 22:01:46 -0500 Subject: gnu: linux-libre@4.9: Update to 4.9.83. * gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.83. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index d91ab6e00a..cd04dd906f 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -402,8 +402,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.82" - "1x2hbn2kf7ikgdiqwj2d6d0s1pa1xh4xywliyj3rfsilanny2ipw" + (make-linux-libre "4.9.83" + "09mw2r2fbn0g6xfhyxk0n54c7sg0vk9nlp7k2ca3v0v24n7lrfza" %intel-compatible-systems #:configuration-file kernel-config)) -- cgit v1.2.3 From cf789b0834d33516b4fd5851d578bd703ef54efe Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 23 Feb 2018 22:02:23 -0500 Subject: gnu: linux-libre@4.14: Update to 4.14.21. * gnu/packages/linux.scm (%linux-libre-4.14-version): Update to 4.14.21. (%linux-libre-4.14-hash): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index cd04dd906f..ecbe683e13 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -392,8 +392,8 @@ It has been modified to remove all non-free binary blobs.") %linux-compatible-systems #:configuration-file kernel-config)) -(define %linux-libre-4.14-version "4.14.20") -(define %linux-libre-4.14-hash "1xc5g2kq3wpn6i61rpypnlb0f82f05b8jac2lg62rv4v46bsvfwv") +(define %linux-libre-4.14-version "4.14.21") +(define %linux-libre-4.14-hash "07d27mph514jxxkzil4b3c848ywfd4r4js0wl5wsfy7a3j757278") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version -- cgit v1.2.3 From 8492334dc9ba621151e8e21e24a1103dca3e23d4 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 23 Feb 2018 22:03:12 -0500 Subject: gnu: linux-libre: Update to 4.15.5. * gnu/packages/linux.scm (%linux-libre-version): Update to 4.15.5. (%linux-libre-hash): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index ecbe683e13..6f0ef369f7 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.") ;; supports qemu "virt" machine and possibly a large number of ARM boards. ;; See : https://wiki.debian.org/DebianKernel/ARMMP. -(define %linux-libre-version "4.15.4") -(define %linux-libre-hash "0dg5b2vgp2ph0l63cxyq6bz05hvc90wab05f8y3a8731c9xsxmzq") +(define %linux-libre-version "4.15.5") +(define %linux-libre-hash "1vrqya5zkhzl37fpj5v0v1igm7jf2gi13apkpak90l51xiw592cs") (define-public linux-libre (make-linux-libre %linux-libre-version -- cgit v1.2.3 From 952a20d2a2ca8f39493df40ee2fd52e12442aa7c Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sat, 24 Feb 2018 17:00:22 +0530 Subject: gnu: rhash: Remove `outputs' argument from phases. * gnu/packages/crypto.scm (rhash): Remove unnecessary `outputs' argument from custom phases. --- gnu/packages/crypto.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 9ad369a460..695f6ca088 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -692,16 +692,16 @@ BLAKE.") (string-append (assoc-ref outputs "out") "/etc"))) #t)) (add-after 'build 'build-library - (lambda* (#:key outputs make-flags #:allow-other-keys) + (lambda* (#:key make-flags #:allow-other-keys) (apply invoke "make" "lib-shared" make-flags))) (add-after 'install 'install-library - (lambda* (#:key outputs make-flags #:allow-other-keys) + (lambda* (#:key make-flags #:allow-other-keys) (apply invoke "make" "install-lib-shared" make-flags) (apply invoke "make" "-C" "librhash" "install-headers" "install-so-link" make-flags))) (add-after 'check 'check-library - (lambda* (#:key outputs make-flags #:allow-other-keys) + (lambda* (#:key make-flags #:allow-other-keys) (apply invoke "make" "test-shared-lib" make-flags)))))) (home-page "https://sourceforge.net/projects/rhash/") (synopsis "Utility for computing hash sums") -- cgit v1.2.3 From 60628f54524ab0fbce77ddea103ae608c05cbd36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Sat, 24 Feb 2018 12:41:36 +0100 Subject: gnu: password-store: Fix compatibility with GnuPG 2.2.5. * gnu/packages/patches/password-store-gnupg-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/password-utils.scm (password-store)[source]: Use it. --- gnu/local.mk | 3 ++- gnu/packages/password-utils.scm | 5 ++-- .../patches/password-store-gnupg-compat.patch | 28 ++++++++++++++++++++++ 3 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/password-store-gnupg-compat.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 21195f8c1e..f68fd8eee9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -13,7 +13,7 @@ # Copyright © 2016, 2017 Efraim Flashner # Copyright © 2016, 2017 Jan Nieuwenhuizen # Copyright © 2017 Tobias Geerinckx-Rice -# Copyright © 2017 Clément Lassieur +# Copyright © 2017, 2018 Clément Lassieur # Copyright © 2017 Mathieu Othacehe # Copyright © 2017 Gábor Boskovits # Copyright © 2018 Amirouche Boubekki @@ -957,6 +957,7 @@ dist_patch_DATA = \ %D%/packages/patches/p7zip-CVE-2016-9296.patch \ %D%/packages/patches/p7zip-CVE-2017-17969.patch \ %D%/packages/patches/p7zip-remove-unused-code.patch \ + %D%/packages/patches/password-store-gnupg-compat.patch \ %D%/packages/patches/patchelf-page-size.patch \ %D%/packages/patches/patchelf-rework-for-arm.patch \ %D%/packages/patches/patchutils-xfail-gendiff-tests.patch \ diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 67e9379f89..f83c05a25b 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2016 Lukas Gradl ;;; Copyright © 2016 Alex Griffin ;;; Copyright © 2017 Leo Famulari -;;; Copyright © 2017 Clément Lassieur +;;; Copyright © 2017, 2018 Clément Lassieur ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Jelle Licht ;;; Copyright © 2017 Eric Bavier @@ -342,7 +342,8 @@ any X11 window.") name "-" version ".tar.xz")) (sha256 (base32 - "0scqkpll2q8jhzcgcsh9kqz0gwdpvynivqjmmbzax2irjfaiklpn")))) + "0scqkpll2q8jhzcgcsh9kqz0gwdpvynivqjmmbzax2irjfaiklpn")) + (patches (search-patches "password-store-gnupg-compat.patch")))) (build-system gnu-build-system) (arguments '(#:phases diff --git a/gnu/packages/patches/password-store-gnupg-compat.patch b/gnu/packages/patches/password-store-gnupg-compat.patch new file mode 100644 index 0000000000..75c6362021 --- /dev/null +++ b/gnu/packages/patches/password-store-gnupg-compat.patch @@ -0,0 +1,28 @@ +Copied from upstream mailing list: +https://lists.zx2c4.com/pipermail/password-store/2018-February/003216.html. + +From 9b0c86159d754cc88dd3642564eed527153dfb7f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= +Date: Sat, 24 Feb 2018 12:05:46 +0100 +Subject: [PATCH] tests: fix compatibility with GnuPG 2.2.5 + +--- + tests/t0300-reencryption.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/t0300-reencryption.sh b/tests/t0300-reencryption.sh +index 6d5811d..6d15364 100755 +--- a/tests/t0300-reencryption.sh ++++ b/tests/t0300-reencryption.sh +@@ -10,7 +10,7 @@ canonicalize_gpg_keys() { + $GPG --list-keys --with-colons "$@" | sed -n 's/sub:[^:]*:[^:]*:[^:]*:\([^:]*\):[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[a-zA-Z]*e[a-zA-Z]*:.*/\1/p' | LC_ALL=C sort -u + } + gpg_keys_from_encrypted_file() { +- $GPG -v --no-secmem-warning --no-permission-warning --decrypt --list-only --keyid-format long "$1" 2>&1 | cut -d ' ' -f 5 | LC_ALL=C sort -u ++ $GPG -v --no-secmem-warning --no-permission-warning --decrypt --list-only --keyid-format long "$1" 2>&1 | grep "public key is" | cut -d ' ' -f 5 | LC_ALL=C sort -u + } + gpg_keys_from_group() { + local output="$($GPG --list-config --with-colons | sed -n "s/^cfg:group:$1:\\(.*\\)/\\1/p" | head -n 1)" +-- +2.16.2 + -- cgit v1.2.3 From ab1253159f66c18726914461bafe3ca248111cc7 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sun, 28 Jan 2018 01:04:08 +0300 Subject: gnu: Add perl-test-filename. * gnu/packages/perl-check.scm (perl-test-filename): New public variable. --- gnu/packages/perl-check.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm index c04344a70b..3129048488 100644 --- a/gnu/packages/perl-check.scm +++ b/gnu/packages/perl-check.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2017 Christopher Baines ;;; Copyright © 2017 Petter ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018 Oleg Pykhalov ;;; ;;; This file is part of GNU Guix. ;;; @@ -456,6 +457,28 @@ testing exception-throwing code with about the same amount of typing.") for testing.") (license perl-license))) +(define-public perl-test-filename + (package + (name "perl-test-filename") + (version "0.03") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Filename-" + version ".tar.gz")) + (sha256 + (base32 + "1gpw4mjw68gnby8s4cifvbz6g2923xsc189jkw9d27i8qv20qiba")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-path-tiny" ,perl-path-tiny))) + (home-page "http://search.cpan.org/dist/Test-Filename/") + (synopsis "Portable filename comparison") + (description "Test::Filename provides functions to convert all path +separators automatically.") + (license asl2.0))) + (define-public perl-test-files (package (name "perl-test-files") -- cgit v1.2.3 From f3dc225f7b71ab8c2ff51a31e7a71b9a1bfcff7d Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sun, 28 Jan 2018 01:07:00 +0300 Subject: gnu: Add perl-path-iterator-rule. * gnu/packages/perl.scm (perl-path-iterator-rule): New public variable. --- gnu/packages/perl.scm | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 5a2fc6a6bb..f4d971ad14 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2017 Christopher Allan Webber +;;; Copyright © 2018 Oleg Pykhalov ;;; ;;; This file is part of GNU Guix. ;;; @@ -8817,3 +8818,53 @@ till 5pm\" and \"on the second Tuesday of the month\" and \"between 4pm and 4:15pm\" and \"in the first half of each minute\" and \"in January of 1998\".") (license perl-license))) + +(define-public perl-path-iterator-rule + (package + (name "perl-path-iterator-rule") + (version "1.012") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Iterator-Rule-" + version ".tar.gz")) + (sha256 + (base32 + "1z76avwvwgv4bw28kzx79mmb4449s5l345sn0wljq3dbf4wqigd1")))) + (build-system perl-build-system) + (native-inputs + `(("perl-file-pushd" ,perl-file-pushd) + ("perl-path-tiny" ,perl-path-tiny) + ("perl-test-deep" ,perl-test-deep) + ("perl-test-filename" ,perl-test-filename))) + (propagated-inputs + `(("perl-number-compare" ,perl-number-compare) + ("perl-text-glob" ,perl-text-glob) + ("perl-try-tiny" ,perl-try-tiny))) + (home-page "http://search.cpan.org/dist/Path-Iterator-Rule/") + (synopsis "Iterative, recursive file finder") + (description "Path::Iterator::Rule iterates over files and directories to +identify ones matching a user-defined set of rules. The API is based heavily +on File::Find::Rule, but with more explicit distinction between matching rules +and options that influence how directories are searched. A +Path::Iterator::Rule object is a collection of rules (match criteria) with +methods to add additional criteria. Options that control directory traversal +are given as arguments to the method that generates an iterator. + +A summary of features for comparison to other file finding modules: + +@itemize +@item provides many helper methods for specifying rules +@item offers (lazy) iterator and flattened list interfaces +@item custom rules implemented with callbacks +@item breadth-first (default) or pre- or post-order depth-first searching +@item follows symlinks (by default, but can be disabled) +@item directories visited only once (no infinite loop; can be disabled) +@item doesn't chdir during operation +@item provides an API for extensions +@end itemize + +As a convenience, the PIR module is an empty subclass of this one that is less +arduous to type for one-liners.") + (license asl2.0))) -- cgit v1.2.3 From 98418c810756f5990f7838b3e56961701a44cae4 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sun, 28 Jan 2018 01:13:59 +0300 Subject: gnu: Add perl-pod-constants. * gnu/packages/perl.scm (perl-pod-constants): New public variable. --- gnu/packages/perl.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index f4d971ad14..e27f701cd4 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -8868,3 +8868,29 @@ A summary of features for comparison to other file finding modules: As a convenience, the PIR module is an empty subclass of this one that is less arduous to type for one-liners.") (license asl2.0))) + +(define-public perl-pod-constants + (package + (name "perl-pod-constants") + (version "0.19") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/M/MG/MGV/Pod-Constants-" + version ".tar.gz")) + (sha256 + (base32 + "1njgr2zly9nrwvfrjhgk9dqq48as1pmbb2rs4bh3irvla75v7azg")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Pod-Constants/") + (synopsis "Include constants from POD") + (description "This module allows you to specify those constants that +should be documented in your POD, and pull them out a run time in a fairly +arbitrary fashion. + +Pod::Constants uses Pod::Parser to do the parsing of the source file. It has +to open the source file it is called from, and does so directly either by +lookup in %INC or by assuming it is $0 if the caller is @code{main} +(or it can't find %INC{caller()}).") + (license artistic2.0))) -- cgit v1.2.3 From 0f4d93903a73c1d32d6e05f4d4dc9d426b3ed248 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sun, 28 Jan 2018 01:17:36 +0300 Subject: gnu: Add perl-regexp-pattern. * gnu/packages/perl.scm (perl-regexp-pattern): New public variable. --- gnu/packages/perl.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index e27f701cd4..bcc65f0d5e 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -8894,3 +8894,25 @@ to open the source file it is called from, and does so directly either by lookup in %INC or by assuming it is $0 if the caller is @code{main} (or it can't find %INC{caller()}).") (license artistic2.0))) + +(define-public perl-regexp-pattern + (package + (name "perl-regexp-pattern") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/P/PE/PERLANCAR/Regexp-Pattern-" + version ".tar.gz")) + (sha256 + (base32 + "0rwpl6dxd1yl2ng3d4jdy68jz3mggmdl35rphrw1x619sm1aa876")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-exception" ,perl-test-exception))) + (home-page "http://search.cpan.org/dist/Regexp-Pattern/") + (synopsis "Collection of regexp patterns") + (description "Regexp::Pattern is a convention for organizing reusable +regexp patterns in modules.") + (license (package-license perl)))) -- cgit v1.2.3 From d5ee4342c0e62124a6efeb7da4c53c1f69c51d1e Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sun, 28 Jan 2018 01:27:00 +0300 Subject: gnu: Add perl-regexp-pattern-license. * gnu/packages/license.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add this. --- gnu/local.mk | 1 + gnu/packages/license.scm | 57 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 gnu/packages/license.scm (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index f68fd8eee9..a10f3150e9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -249,6 +249,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/libffcall.scm \ %D%/packages/libffi.scm \ %D%/packages/libftdi.scm \ + %D%/packages/license.scm \ %D%/packages/calendar.scm \ %D%/packages/libidn.scm \ %D%/packages/libphidget.scm \ diff --git a/gnu/packages/license.scm b/gnu/packages/license.scm new file mode 100644 index 0000000000..39fbbc88c5 --- /dev/null +++ b/gnu/packages/license.scm @@ -0,0 +1,57 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Oleg Pykhalov +;;; +;;; 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 license) + #:use-module (guix licenses) + #:use-module (gnu packages) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system perl) + #:use-module (gnu packages perl) + #:use-module (gnu packages perl-check)) + +;;; +;;; Please: Try to add new module packages in alphabetic order. +;;; + +(define-public perl-regexp-pattern-license + (package + (name "perl-regexp-pattern-license") + (version "3.1.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/J/JO/JONASS/Regexp-Pattern-License-" + "v" version ".tar.gz")) + (sha256 + (base32 + "1479ismcgq1mx712yhw0qswb4z75spc81f9k621vfpkji0smpyk2")))) + (build-system perl-build-system) + (native-inputs + `(("perl-regexp-pattern" ,perl-regexp-pattern) + ("perl-test-exception" ,perl-test-exception))) + (propagated-inputs + `(("perl-strictures" ,perl-strictures-2))) + (home-page "http://search.cpan.org/dist/Regexp-Pattern-License/") + (synopsis "Regular expressions for legal licenses") + (description "Regexp::Pattern::License provides a hash of regular +expression patterns related to legal software licenses. + +Regexp::Pattern is a convention for organizing reusable regex patterns.") + (license gpl3+))) -- cgit v1.2.3 From 3787b7cba15cce88cc5fe7ee5431dff10c22cf66 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sun, 28 Jan 2018 01:38:40 +0300 Subject: gnu: Add perl-number-range. * gnu/packages/perl.scm (perl-number-range): New public variable. --- gnu/packages/perl.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index bcc65f0d5e..07cbce2d73 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -6026,6 +6026,26 @@ collector daemon in use at Etsy.com.") subroutine, which you can call with a value to be tested against.") (license (package-license perl)))) +(define-public perl-number-range + (package + (name "perl-number-range") + (version "0.12") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/L/LA/LARRYSH/Number-Range-" + version ".tar.gz")) + (sha256 + (base32 + "0999xvs3w2xprs14q4shqndjf2m6mzvhzdljgr61ddjaqhd84gj3")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Number-Range/") + (synopsis "Perl extension defining ranges of numbers") + (description "Number::Range is an object-oriented interface to test if a +number exists in a given range, and to be able to manipulate the range.") + (license (package-license perl)))) + (define-public perl-object-signature (package (name "perl-object-signature") -- cgit v1.2.3 From f4e2d9ee6cf49ae7a9ff9a084517c274ea791955 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sun, 28 Jan 2018 01:41:35 +0300 Subject: gnu: Add perl-string-copyright. * gnu/packages/license.scm (perl-string-copyright): New public variable. --- gnu/packages/license.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/license.scm b/gnu/packages/license.scm index 39fbbc88c5..1cda21d6ed 100644 --- a/gnu/packages/license.scm +++ b/gnu/packages/license.scm @@ -55,3 +55,27 @@ expression patterns related to legal software licenses. Regexp::Pattern is a convention for organizing reusable regex patterns.") (license gpl3+))) + +(define-public perl-string-copyright + (package + (name "perl-string-copyright") + (version "0.003005") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/J/JO/JONASS/String-Copyright-" + version ".tar.gz")) + (sha256 + (base32 + "12c6x4c10gr46ryc3dpwgfi6wggmgy4a1ls2hwhcpdm3wvzy5619")))) + (build-system perl-build-system) + (native-inputs + `(("perl-number-range" ,perl-number-range))) + (propagated-inputs + `(("perl-exporter-tiny" ,perl-exporter-tiny))) + (home-page "http://search.cpan.org/dist/String-Copyright/") + (synopsis "Representation of text-based copyright statements") + (description "String::Copyright Parses common styles of copyright +statements and serializes in normalized format.") + (license gpl3+))) -- cgit v1.2.3 From ec38b3954da9143fff24352ecab048c325046785 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sun, 28 Jan 2018 01:48:44 +0300 Subject: gnu: Add perl-string-escape. * gnu/packages/perl.scm (perl-string-escape): New public variable. --- gnu/packages/perl.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 07cbce2d73..056acbb71f 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -6915,6 +6915,28 @@ run from within a source-controlled directory.") CamelCase and back again.") (license (package-license perl)))) +(define-public perl-string-escape + (package + (name "perl-string-escape") + (version "2010.002") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/E/EV/EVO/String-Escape-" + version ".tar.gz")) + (sha256 + (base32 + "12ls7f7847i4qcikkp3skwraqvjphjiv2zxfhl5d49326f5myr7x")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/String-Escape/") + (synopsis "Backslash escapes, quoted phrase, word elision, etc.") + (description "This module provides a flexible calling interface to some +frequently-performed string conversion functions, including applying and +expanding standard C/Unix-style backslash escapes like \n and \t, wrapping and +removing double-quotes, and truncating to fit within a desired length.") + (license (package-license perl)))) + (define-public perl-string-rewriteprefix (package (name "perl-string-rewriteprefix") -- cgit v1.2.3 From 12d330b0a40dc90a9c8ccbc80e47fd602e77628e Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sun, 28 Jan 2018 01:56:27 +0300 Subject: gnu: Add perl-test-failwarnings. * gnu/packages/perl-check.scm (perl-test-failwarnings): New public variable. --- gnu/packages/perl-check.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm index 3129048488..ac9f095ae0 100644 --- a/gnu/packages/perl-check.scm +++ b/gnu/packages/perl-check.scm @@ -410,6 +410,28 @@ exception based code. It is built with Test::Builder and plays happily with Test::More and friends.") (license perl-license))) +(define-public perl-test-failwarnings + (package + (name "perl-test-failwarnings") + (version "0.008") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-FailWarnings-" + version ".tar.gz")) + (sha256 + (base32 + "0vx9chcp5x8m0chq574p9fnfckh5gl94j7904rh9v17n568fyd6s")))) + (build-system perl-build-system) + (native-inputs + `(("perl-capture-tiny" ,perl-capture-tiny))) + (home-page "http://search.cpan.org/dist/Test-FailWarnings/") + (synopsis "Add test failures if warnings are caught") + (description + "Test::FailWarnings adds test failures if warnings are caught.") + (license asl2.0))) + (define-public perl-test-fatal (package (name "perl-test-fatal") -- cgit v1.2.3 From a4e6bf64f7570aee5bc3393c24fa3c3dae8c228d Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sun, 28 Jan 2018 01:58:44 +0300 Subject: gnu: Add perl-data-section. * gnu/packages/perl.scm (perl-data-section): New public variable. --- gnu/packages/perl.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 056acbb71f..6a2ebbaa41 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1813,6 +1813,32 @@ an \"unless\" regular expression. If the text in question matches the like split on newlines unless newlines are embedded in quotes.") (license (package-license perl)))) +(define-public perl-data-section + (package + (name "perl-data-section") + (version "0.200007") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/R/RJ/RJBS/Data-Section-" + version + ".tar.gz")) + (sha256 + (base32 + "1pmlxca0a8sv2jjwvhwgqavq6iwys6kf457lby4anjp3f1dpx4yd")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-failwarnings" ,perl-test-failwarnings))) + (propagated-inputs + `(("perl-mro-compat" ,perl-mro-compat) + ("perl-sub-exporter" ,perl-sub-exporter))) + (home-page "http://search.cpan.org/dist/Data-Section/") + (synopsis "Read multiple hunks of data out of your DATA section") + (description "This package provides a Perl library to read multiple hunks +of data out of your DATA section.") + (license (package-license perl)))) + (define-public perl-data-stag (package (name "perl-data-stag") -- cgit v1.2.3 From 82e5e0dd52aac659a57bf07ae55e86cd531ea099 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sun, 28 Jan 2018 20:53:47 +0300 Subject: gnu: Add perl-software-license. * gnu/packages/license.scm (perl-software-license): New public variable. --- gnu/packages/license.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/license.scm b/gnu/packages/license.scm index 1cda21d6ed..3933b31d85 100644 --- a/gnu/packages/license.scm +++ b/gnu/packages/license.scm @@ -79,3 +79,27 @@ Regexp::Pattern is a convention for organizing reusable regex patterns.") (description "String::Copyright Parses common styles of copyright statements and serializes in normalized format.") (license gpl3+))) + +(define-public perl-software-license + (package + (name "perl-software-license") + (version "0.103013") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/L/LE/LEONT/Software-License-" + version ".tar.gz")) + (sha256 + (base32 + "1wqgh7vdlc966amlrq0b2szz18lnrl9rfh8wlf7v0hqg74vxjh96")))) + (build-system perl-build-system) + (native-inputs + `(("perl-try-tiny" ,perl-try-tiny))) + (propagated-inputs + `(("perl-data-section" ,perl-data-section) + ("perl-text-template" ,perl-text-template))) + (home-page "http://search.cpan.org/dist/Software-License/") + (synopsis "Templated software licenses") + (description "This package provides templated software licenses.") + (license (package-license perl)))) -- cgit v1.2.3 From 017b014ce4a5defed12836886c4dfe2c5ae89d2d Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sun, 28 Jan 2018 20:56:11 +0300 Subject: gnu: Add perl-extutils-depends. * gnu/packages/perl.scm (perl-extutils-depends): New public variable. --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 6a2ebbaa41..397a77b217 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -3030,6 +3030,30 @@ and alternative installers with the `installler` option. But it's written in only about 40% as many lines of code and with zero non-core dependencies.") (license (package-license perl)))) +(define-public perl-extutils-depends + (package + (name "perl-extutils-depends") + (version "0.405") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/X/XA/XAOC/ExtUtils-Depends-" + version + ".tar.gz")) + (sha256 + (base32 + "0b4ab9qmcihsfs2ajhn5qzg7nhazr68v3r0zvb7076smswd41mla")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-number-delta" + ,perl-test-number-delta))) + (home-page "http://search.cpan.org/dist/ExtUtils-Depends/") + (synopsis "Easily build XS extensions that depend on XS extensions") + (description "ExtUtils::Depends builds XS extensions that depend on XS +extensions") + (license (package-license perl)))) + (define-public perl-extutils-installpaths (package (name "perl-extutils-installpaths") -- cgit v1.2.3 From 9b993e3bb92382422896471d821a32fb7b54bb19 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sun, 28 Jan 2018 20:58:57 +0300 Subject: gnu: Add perl-b-hooks-op-check. * gnu/packages/perl.scm (perl-b-hooks-op-check): New public variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 397a77b217..13252d656f 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -410,6 +410,27 @@ all known commands are checked.") compiling the surrounding scope.") (license (package-license perl)))) +(define-public perl-b-hooks-op-check + (package + (name "perl-b-hooks-op-check") + (version "0.22") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/E/ET/ETHER/B-Hooks-OP-Check-" + version ".tar.gz")) + (sha256 + (base32 + "1kfdv25gn6yik8jrwik4ajp99gi44s6idcvyyrzhiycyynzd3df7")))) + (build-system perl-build-system) + (native-inputs + `(("perl-extutils-depends" ,perl-extutils-depends))) + (home-page "http://search.cpan.org/dist/B-Hooks-OP-Check/") + (synopsis "Wrap OP check callbacks") + (description "This module allows you to wrap OP check callbacks.") + (license (package-license perl)))) + (define-public perl-b-keywords (package (name "perl-b-keywords") -- cgit v1.2.3 From b20ac390b3580c8adb0614a88aaae1821c51d778 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sun, 28 Jan 2018 21:01:18 +0300 Subject: gnu: Add perl-bareword-filehandles. * gnu/packages/perl.scm (perl-bareword-filehandles): New public variable. --- gnu/packages/perl.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 13252d656f..4ffa7f1fb2 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -344,6 +344,31 @@ autovivification for some constructs and optionally throws a warning or an error when it would have happened.") (license (package-license perl)))) +(define-public perl-bareword-filehandles + (package + (name "perl-bareword-filehandles") + (version "0.005") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/I/IL/ILMARI/bareword-filehandles-" + version ".tar.gz")) + (sha256 + (base32 + "0fdirls2pg7d6ymvlzzz59q3dy6hgh08k0qpr2mw51w127s8rav6")))) + (build-system perl-build-system) + (native-inputs + `(("perl-b-hooks-op-check" ,perl-b-hooks-op-check) + ("perl-extutils-depends" ,perl-extutils-depends))) + (propagated-inputs + `(("perl-b-hooks-op-check" ,perl-b-hooks-op-check) + ("perl-lexical-sealrequirehints" ,perl-lexical-sealrequirehints))) + (home-page "http://search.cpan.org/dist/bareword-filehandles/") + (synopsis "Disables bareword filehandles") + (description "This module disables bareword filehandles.") + (license (package-license perl)))) + (define-public perl-base (package (name "perl-base") -- cgit v1.2.3 From e13aa12f0f86914cca89ded03a188119451c15fc Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sun, 28 Jan 2018 21:03:17 +0300 Subject: gnu: Add perl-indirect. * gnu/packages/perl.scm (perl-indirect): New public variable. --- gnu/packages/perl.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 4ffa7f1fb2..4b1e42bf2b 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -3954,6 +3954,26 @@ dependencies for CPAN distributions. These dependencies get bundled into the inc directory within a distribution and are used by Makefile.PL or Build.PL.") (license asl2.0))) +(define-public perl-indirect + (package + (name "perl-indirect") + (version "0.38") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/V/VP/VPIT/indirect-" + version ".tar.gz")) + (sha256 + (base32 + "13k5a8p903m8x3pcv9qqkzvnb8gpgq36cr3dvn3lk1ngsi9w5ydy")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/indirect/") + (synopsis "Lexically warn about using the indirect method call syntax") + (description + "Indirect warns about using the indirect method call syntax.") + (license (package-license perl)))) + (define-public perl-io-captureoutput (package (name "perl-io-captureoutput") -- cgit v1.2.3 From 1b6f647fc40f1d3787e7a9ec62c784d464d4604f Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sun, 28 Jan 2018 21:04:39 +0300 Subject: gnu: Add perl-lexical-sealrequirehints. * gnu/packages/perl.scm (perl-lexical-sealrequirehints): New public variable. --- gnu/packages/perl.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 4b1e42bf2b..adaabb1989 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -4292,6 +4292,29 @@ either uses the first module it finds or throws an error.") versa.") (license (package-license perl)))) +(define-public perl-lexical-sealrequirehints + (package + (name "perl-lexical-sealrequirehints") + (version "0.011") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Lexical-SealRequireHints-" + version + ".tar.gz")) + (sha256 + (base32 + "0fh1arpr0hsj7skbn97yfvbk22pfcrpcvcfs15p5ss7g338qx4cy")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build))) + (home-page "http://search.cpan.org/dist/Lexical-SealRequireHints/") + (synopsis "Prevent leakage of lexical hints") + (description + "Lexical::SealRequireHints prevents leakage of lexical hints") + (license (package-license perl)))) + (define-public perl-log-any (package (name "perl-log-any") -- cgit v1.2.3 From 7339dae4ec0372e2dddaeb88686c1ebf641059f3 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sun, 28 Jan 2018 21:06:27 +0300 Subject: gnu: Add perl-multidimensional. * gnu/packages/perl.scm (perl-multidimensional): New public variable. --- gnu/packages/perl.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index adaabb1989..1f87c8b5b5 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -5993,6 +5993,32 @@ Certificate Authority certificates in a form that can be consumed by modules and libraries based on OpenSSL.") (license mpl2.0))) +(define-public perl-multidimensional + (package + (name "perl-multidimensional") + (version "0.013") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/I/IL/ILMARI/multidimensional-" + version ".tar.gz")) + (sha256 + (base32 + "02p5zv68i39hnkmzzxsk1fi7xy56pfcsslrd7yqwzhq74czcw81x")))) + (build-system perl-build-system) + (native-inputs + `(("perl-b-hooks-op-check" ,perl-b-hooks-op-check) + ("perl-extutils-depends" ,perl-extutils-depends))) + (propagated-inputs + `(("perl-b-hooks-op-check" ,perl-b-hooks-op-check) + ("perl-lexical-sealrequirehints" ,perl-lexical-sealrequirehints))) + (home-page "http://search.cpan.org/dist/multidimensional/") + (synopsis "Disable multidimensional array emulation") + (description + "Multidimensional disables multidimensional array emulation.") + (license (package-license perl)))) + (define-public perl-mro-compat (package (name "perl-mro-compat") -- cgit v1.2.3 From 24eab3c093815ec64054219be7a29887c6a95745 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sun, 28 Jan 2018 21:09:00 +0300 Subject: gnu: Add perl-test-roo. * gnu/packages/perl-check.scm (perl-test-roo): New public variable. --- gnu/packages/perl-check.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm index ac9f095ae0..110ba45d3d 100644 --- a/gnu/packages/perl-check.scm +++ b/gnu/packages/perl-check.scm @@ -973,6 +973,34 @@ cannot connect to the specified hosts and ports, the exception is caught and reported, and the tests skipped.") (license perl-license))) +(define-public perl-test-roo + (package + (name "perl-test-roo") + (version "1.004") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Roo-" + version ".tar.gz")) + (sha256 + (base32 + "1mnym49j1lj7gzylma5b6nr4vp75rmgz2v71904v01xmxhy9l4i1")))) + (build-system perl-build-system) + (native-inputs + `(("perl-capture-tiny" ,perl-capture-tiny))) + (propagated-inputs + `(("perl-indirect" ,perl-indirect) + ("perl-moo" ,perl-moo) + ("perl-moox-types-mooselike" ,perl-moox-types-mooselike) + ("perl-multidimensional" ,perl-multidimensional) + ("perl-strictures" ,perl-strictures) + ("perl-sub-install" ,perl-sub-install))) + (home-page "http://search.cpan.org/dist/Test-Roo/") + (synopsis "Composable, reusable tests with roles and Moo") + (description "Test::Roo provides composable, reusable tests with roles.") + (license asl2.0))) + (define-public perl-test-script (package (name "perl-test-script") -- cgit v1.2.3 From 222b50018de3ceb794b0abf7ef2c2466492cd81d Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sun, 28 Jan 2018 21:10:44 +0300 Subject: gnu: Add perl-universal-require. * gnu/packages/perl.scm (perl-universal-require): New public variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 1f87c8b5b5..983905bf54 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -8539,6 +8539,27 @@ UNIVERSAL::can() as a function, which it is not.") UNIVERSAL::isa as a function.") (license (package-license perl)))) +(define-public perl-universal-require + (package + (name "perl-universal-require") + (version "0.18") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/N/NE/NEILB/UNIVERSAL-require-" + version ".tar.gz")) + (sha256 + (base32 + "1v9qdg80ng6dzyzs7cn8sb6mn8ym042i32lcnpd478b7g6l3d9xj")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/UNIVERSAL-require/") + (synopsis "Require modules from a variable") + (description "This module lets you require other modules where the module +name is in a variable, something you can't do with the @code{require} +built-in.") + (license (package-license perl)))) + (define-public perl-variable-magic (package (name "perl-variable-magic") -- cgit v1.2.3 From f3448f3ff8ee176e4ec080a12fa93a8a59f1e2f3 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sun, 28 Jan 2018 21:11:29 +0300 Subject: gnu: Add perl-strictures-2. * gnu/packages/perl.scm (perl-strictures-2): New public variable. --- gnu/packages/perl.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 983905bf54..2f976786d1 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -7051,6 +7051,20 @@ on the length of the size.") run from within a source-controlled directory.") (license (package-license perl)))) +;; Some packages don't yet work with this newer version of ‘strictures’. +(define-public perl-strictures-2 + (package + (inherit perl-strictures) + (version "2.000003") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" + "strictures-" version ".tar.gz")) + (sha256 + (base32 + "08mgvf1d2651gsg3jgjfs13878ndqa4ji8vfsda9f7jjd84ymy17")))))) + (define-public perl-string-camelcase (package (name "perl-string-camelcase") -- cgit v1.2.3 From 4fabb4a2937ccbbbf6906b29e6be8229d1cef862 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Mon, 29 Jan 2018 16:12:20 +0300 Subject: gnu: Add perl-role-tiny-2. * gnu/packages/perl.scm (perl-role-tiny-2): New public variable. --- gnu/packages/perl.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 2f976786d1..03fb9bf077 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -6812,6 +6812,20 @@ and @code{deserialize_regexp}.") (description "Role::Tiny is a minimalist role composition tool.") (license (package-license perl)))) +;; Some packages don't yet work with this newer version of ‘Role::Tiny’. +(define-public perl-role-tiny-2 + (package + (inherit perl-role-tiny) + (version "2.000006") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" + "Role-Tiny-" version ".tar.gz")) + (sha256 + (base32 + "10p3sc639c0nj56bb77a2wg8samyyl8sqpliv3n8c0jaj2642wyc")))))) + (define-public perl-safe-isa (package (name "perl-safe-isa") -- cgit v1.2.3 From 615cf73f6991856acf5c877ee2a8b4edb42d9224 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Mon, 29 Jan 2018 16:14:11 +0300 Subject: gnu: Add perl-sub-quote. * gnu/packages/perl.scm (perl-sub-quote): New public variable. --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 03fb9bf077..2833f26240 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -7305,6 +7305,30 @@ specification is omitted in the name, then the current package is used. The return value is the sub.") (license (package-license perl)))) +(define-public perl-sub-quote + (package + (name "perl-sub-quote") + (version "2.004000") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/H/HA/HAARG/Sub-Quote-" + version ".tar.gz")) + (sha256 + (base32 + "1zrh3apxsw1ks25zkh9dcn00656rsvq4mimqz3w8p37s2c1m4qaq")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-fatal" ,perl-test-fatal))) + (propagated-inputs + `(("perl-sub-name" ,perl-sub-name))) + (home-page "http://search.cpan.org/dist/Sub-Quote/") + (synopsis "Efficient generation of subroutines via string eval") + (description "Sub::Quote provides an efficient generation of subroutines +via string eval.") + (license (package-license perl)))) + (define-public perl-sub-uplevel (package (name "perl-sub-uplevel") -- cgit v1.2.3 From 5a227e7c5c2054af036d95895c92dd56ec88338d Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Mon, 29 Jan 2018 16:20:30 +0300 Subject: gnu: Add perl-moo-2. * gnu/packages/perl.scm (perl-moo-2): New public variable. --- gnu/packages/perl.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 2833f26240..cef42847c6 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -36,6 +36,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages perl) + #:use-module (srfi srfi-1) #:use-module (guix licenses) #:use-module (gnu packages) #:use-module (guix packages) @@ -5120,6 +5121,37 @@ that avoids the details of Perl's object system. Moo contains a subset of Moose and is optimised for rapid startup.") (license (package-license perl)))) +;; Some packages don't yet work with this newer version of ‘Moo’. +(define-public perl-moo-2 + (package + (inherit perl-moo) + (name "perl-moo-2") + (version "2.003004") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" + "Moo-" version ".tar.gz")) + (sha256 + (base32 + "1qciprcgb4661g2g4ks0fxkx5gbjvn7h9yfg0nzflqz9z0jvdfzq")))) + (propagated-inputs + `(("perl-role-tiny" ,perl-role-tiny-2) + ("perl-sub-name" ,perl-sub-name) + ("perl-sub-quote" ,perl-sub-quote) + ("perl-strictures" ,perl-strictures-2) + ,@(alist-delete "perl-strictures" + (alist-delete "perl-role-tiny" + (package-propagated-inputs perl-moo))))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'set-perl-search-path + (lambda _ + ;; Use perl-strictures for testing. + (setenv "MOO_FATAL_WARNINGS" "=1") + #t))))))) + (define-public perl-moose (package (name "perl-moose") -- cgit v1.2.3 From f09cb93e3a2310f7726cb98fa5679c1a8483c39f Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sun, 28 Jan 2018 21:12:30 +0300 Subject: gnu: Add licensecheck. * gnu/packages/license.scm (licensecheck): New public variable. --- gnu/packages/license.scm | 55 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/license.scm b/gnu/packages/license.scm index 3933b31d85..2ef2108df2 100644 --- a/gnu/packages/license.scm +++ b/gnu/packages/license.scm @@ -103,3 +103,58 @@ statements and serializes in normalized format.") (synopsis "Templated software licenses") (description "This package provides templated software licenses.") (license (package-license perl)))) + +(define-public licensecheck + (package + (name "licensecheck") + (version "3.0.33") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/J/JO/JONASS/App-Licensecheck-" + "v" version ".tar.gz")) + (sha256 + (base32 + "0wydxb2jks1k3bxkcp7p0pazh5v3awbbcf6haplvwzkkayszhgs4")))) + (build-system perl-build-system) + (native-inputs + `(("perl-regexp-pattern" ,perl-regexp-pattern) + ("perl-software-license" ,perl-software-license) + ("perl-test-requires" ,perl-test-requires) + ("perl-test-roo" ,perl-test-roo) + ("perl-test-script" ,perl-test-script) + ("perl-universal-require" ,perl-universal-require) + ("perl-number-range" ,perl-number-range) + ("perl-sub-quote" ,perl-sub-quote))) + (propagated-inputs + `(("perl-getopt-long-descriptive" ,perl-getopt-long-descriptive) + ("perl-moo" ,perl-moo-2) + ("perl-namespace-clean" ,perl-namespace-clean) + ("perl-path-iterator-rule" ,perl-path-iterator-rule) + ("perl-path-tiny" ,perl-path-tiny) + ("perl-pod-constants" ,perl-pod-constants) + ("perl-regexp-pattern-license" ,perl-regexp-pattern-license) + ("perl-sort-key" ,perl-sort-key) + ("perl-strictures" ,perl-strictures-2) + ("perl-string-copyright" ,perl-string-copyright) + ("perl-string-escape" ,perl-string-escape) + ("perl-try-tiny" ,perl-try-tiny) + ("perl-module-runtime" ,perl-module-runtime))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (perllib (string-append out "/lib/perl5/site_perl/" + ,(package-version perl)))) + (wrap-program (string-append out "/bin/licensecheck") + `("PERL5LIB" ":" + prefix (,(string-append perllib ":" (getenv "PERL5LIB"))))) + #t)))))) + (home-page "http://search.cpan.org/dist/App-Licensecheck/") + (synopsis "License checker for source files") + (description "Licensecheck attempts to determine the license that applies +to each file passed to it, by searching the start of the file for text +belonging to various licenses.") + (license (package-license perl)))) -- cgit v1.2.3