From 8bfda3df43cd9113b0a45b8be971d5a0bbeeb69a Mon Sep 17 00:00:00 2001 From: Brice Waegeneire Date: Thu, 21 May 2020 15:55:13 +0200 Subject: gnu: dconf: Enable tests. * gnu/packages/gnome.scm (dconf)[arguments]: Enable tests. --- gnu/packages/gnome.scm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 213eacecd7..d7ec21a8ae 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3518,9 +3518,7 @@ and RDP protocols.") ("pkg-config" ,pkg-config) ("vala" ,vala))) (arguments - `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id - ; or /etc/machine-id. - #:glib-or-gtk? #t + `(#:glib-or-gtk? #t #:configure-flags '("-Denable-gtk-doc=true"))) (home-page "https://developer.gnome.org/dconf/") (synopsis "Low-level GNOME configuration system") -- cgit v1.2.3 From 4f94a4ea0f29c3229197417bcdcb52134de69091 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 9 Jun 2020 20:19:48 +0200 Subject: gnu: ghc-quickcheck: Remove obsolete input. * gnu/packages/haskell-check.scm (ghc-quickcheck)[inputs]: Remove GHC-TF-RANDOM. --- gnu/packages/haskell-check.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm index bb7f57b49d..ac1cd33d19 100644 --- a/gnu/packages/haskell-check.scm +++ b/gnu/packages/haskell-check.scm @@ -505,8 +505,7 @@ use HUnit assertions as QuickCheck properties.") `(#:tests? #f)) ; FIXME: currently missing libraries used for tests. (inputs `(("ghc-random" ,ghc-random) - ("ghc-splitmix" ,ghc-splitmix-bootstrap) - ("ghc-tf-random" ,ghc-tf-random))) + ("ghc-splitmix" ,ghc-splitmix-bootstrap))) (home-page "https://github.com/nick8325/quickcheck") (synopsis "Automatic testing of Haskell programs") (description -- cgit v1.2.3 From fe9f2d150019b9fc17f08f5a002d7ca932fc3eb0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 9 Jun 2020 20:20:14 +0200 Subject: gnu: ghc-quickcheck: Enable tests. * gnu/packages/haskell-check.scm (ghc-quickcheck)[arguments]: Remove. --- gnu/packages/haskell-check.scm | 2 -- 1 file changed, 2 deletions(-) diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm index ac1cd33d19..ea541859fd 100644 --- a/gnu/packages/haskell-check.scm +++ b/gnu/packages/haskell-check.scm @@ -501,8 +501,6 @@ use HUnit assertions as QuickCheck properties.") (base32 "0426j43af8v3qmdjjqxivazsvr3a2brac8yw09vpgpjkb2m0nmkv")))) (build-system haskell-build-system) - (arguments - `(#:tests? #f)) ; FIXME: currently missing libraries used for tests. (inputs `(("ghc-random" ,ghc-random) ("ghc-splitmix" ,ghc-splitmix-bootstrap))) -- cgit v1.2.3 From ef2a3871fdebb5aa2b34fefbeec8d7be92e6097e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 27 Jun 2020 10:32:48 +0200 Subject: gnu: GDB: Inline cross-compilation fix. * gnu/packages/gdb.scm (gdb-9.1)[arguments]: Remove conditionals on %CURRENT-TARGET-SYSTEM. --- gnu/packages/gdb.scm | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm index 38e45b14e5..338b73aa58 100644 --- a/gnu/packages/gdb.scm +++ b/gnu/packages/gdb.scm @@ -70,20 +70,14 @@ #t)) (add-after 'install 'remove-libs-already-in-binutils - (lambda* (#:key inputs outputs - ;; TODO: Inline the native-inputs addition and - ;; below usage in the next rebuild cycle. - ,@(if (%current-target-system) - '(native-inputs) - '()) + (lambda* (#:key native-inputs inputs outputs #:allow-other-keys) ;; Like Binutils, GDB installs libbfd, libopcodes, etc. ;; However, this leads to collisions when both are ;; installed, and really is none of its business, ;; conceptually. So remove them. - (let* ((binutils ,@(if (%current-target-system) - '((assoc-ref native-inputs "binutils")) - '((assoc-ref inputs "binutils")))) + (let* ((binutils (or (assoc-ref inputs "binutils") + (assoc-ref native-inputs "binutils"))) (out (assoc-ref outputs "out")) (files1 (with-directory-excursion binutils (append (find-files "lib") -- cgit v1.2.3 From a62df7cd72423e9ea7cf030a4db034c548eeb59e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 27 Jun 2020 10:37:19 +0200 Subject: gnu: GDB: Remove version 9.1. * gnu/packages/gdb.scm (gdb-9.1): Rename to ... (gdb): ... this. Update to 9.2. [source](patches): Add 'gdb-hurd.patch'. (gdb-8.2): Inherit from GDB instead of GDB-9.1. (gdb-9.2): Remove variable. (gdb-minimal): Inherit from GDB instead of GDB-9.2. --- gnu/packages/gdb.scm | 29 ++++++----------------------- 1 file changed, 6 insertions(+), 23 deletions(-) diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm index 338b73aa58..2615f1f158 100644 --- a/gnu/packages/gdb.scm +++ b/gnu/packages/gdb.scm @@ -40,17 +40,18 @@ #:use-module (guix build-system gnu) #:use-module (srfi srfi-1)) -(define-public gdb-9.1 +(define-public gdb (package (name "gdb") - (version "9.1") + (version "9.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gdb/gdb-" version ".tar.xz")) + (patches (search-patches "gdb-hurd.patch")) (sha256 (base32 - "0dqp1p7w836iwijg1zb4a784n0j4pyjiw5v6h8fg5lpx6b40x7k9")))) + "0mf5fn8v937qwnal4ykn3ji1y2sxk0fa1yfqi679hxmpg6pdf31n")))) (build-system gnu-build-system) (arguments @@ -125,7 +126,7 @@ written in C, C++, Ada, Objective-C, Pascal and more.") ;; . (define-public gdb-8.2 (package - (inherit gdb-9.1) + (inherit gdb) (version "8.2.1") (source (origin (method url-fetch) @@ -135,27 +136,9 @@ written in C, C++, Ada, Objective-C, Pascal and more.") (base32 "00i27xqawjv282a07i73lp1l02n0a3ywzhykma75qg500wll6sha")))))) -(define-public gdb - ;; This is the fixed version that packages depend on. Update it rarely - ;; enough to avoid massive rebuilds. - gdb-9.1) - -(define-public gdb-9.2 - (package - (inherit gdb) - (version "9.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/gdb/gdb-" - version ".tar.xz")) - (patches (search-patches "gdb-hurd.patch")) - (sha256 - (base32 - "0mf5fn8v937qwnal4ykn3ji1y2sxk0fa1yfqi679hxmpg6pdf31n")))))) - (define-public gdb-minimal (package/inherit - gdb-9.2 + gdb (name "gdb-minimal") (inputs (fold alist-delete (package-inputs gdb) '("guile" "libxml2" "ncurses" "python-wrapper" -- cgit v1.2.3 From ac069ed9be60defd1690e0e5756e74d2271c39cb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 25 May 2020 10:06:11 +0200 Subject: gnu: libevdev: Remove obsolete workaround. * gnu/packages/xorg.scm (libevdev)[arguments]: Remove #:phases. --- gnu/packages/xorg.scm | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 9b663aa158..077735c686 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2477,18 +2477,7 @@ XC-APPGROUP, XTEST.") "04a2klvii0in9ln8r85mk2cm73jq8ry2m3yzmf2z8xyjxzjcmlr0")))) (build-system gnu-build-system) (arguments - `(#:configure-flags '("--disable-static") - #:phases (modify-phases %standard-phases - (add-before 'configure 'pedantry - (lambda _ - ;; XXX: libevdev includes kernel headers, which causes this - ;; compile test to fail with: - ;; ...-headers-4.14.67/include/asm-generic/posix_types.h:88:14: - ;;error: ISO C90 does not support ‘long long’ [-Werror=long-long] - (substitute* "test/Makefile.in" - (("-pedantic -Werror -std=c89") - "-pedantic -Werror -std=c99")) - #t))))) + `(#:configure-flags '("--disable-static"))) (native-inputs `(("python" ,python))) (home-page "https://www.freedesktop.org/wiki/Software/libevdev/") (synopsis "Wrapper library for evdev devices") -- cgit v1.2.3 From b611597af8641b388dc9f8935b85895a71e9fb52 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 27 Jun 2020 12:16:17 +0200 Subject: gnu: valgrind: Don't depend on GDB. ...but add a special 'valgrind/interactive' variant for end users. * gnu/packages/valgrind.scm (valgrind)[inputs]: Remove. [properties]: New field. (valgrind/interactive): New public variable. --- gnu/packages/valgrind.scm | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/gnu/packages/valgrind.scm b/gnu/packages/valgrind.scm index 75e852915e..c0ea89141e 100644 --- a/gnu/packages/valgrind.scm +++ b/gnu/packages/valgrind.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2016, 2020 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -70,9 +71,6 @@ (mkdir-p dest) (rename-file orig dest) #t)))))) - (inputs - ;; GDB is needed to provide a sane default for `--db-command'. - `(("gdb" ,gdb))) (native-inputs `(("perl" ,perl))) (home-page "https://www.valgrind.org/") @@ -82,4 +80,15 @@ tools. There are Valgrind tools that can automatically detect many memory management and threading bugs, and profile your programs in detail. You can also use Valgrind to build new tools.") - (license gpl2+))) + (license gpl2+) + + ;; Hide this variant so end users get the "interactive" Valgrind below. + (properties '((hidden? . #t))))) + +(define-public valgrind/interactive + (package/inherit + valgrind + (inputs + ;; GDB is needed to provide a sane default for `--db-command'. + `(("gdb" ,gdb))) + (properties '()))) -- cgit v1.2.3 From a3997b83ff24007d0d3d14ff61e7e91133bd593b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 27 Jun 2020 12:33:03 +0200 Subject: gnu: Rust: Use 'gdb-minimal' for tests. * gnu/packages/rust.scm (rust-1.19.0)[native-inputs]: Change from GDB to GDB-MINIMAL. --- gnu/packages/rust.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index d139657f39..b084a6df9e 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -420,7 +420,7 @@ test = { path = \"../libtest\" } `(("bison" ,bison) ; For the tests ("cmake" ,cmake-minimal) ("flex" ,flex) ; For the tests - ("gdb" ,gdb) ; For the tests + ("gdb" ,gdb-minimal) ; For the tests ("procps" ,procps) ; For the tests ("python-2" ,python-2) ("rustc-bootstrap" ,mrustc) -- cgit v1.2.3 From c007d868686fc2f9bf02a34150d4f0ac72b1f8d2 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 27 Jun 2020 12:34:48 +0200 Subject: gnu: gdb@8.2: Inherit from 'gdb-minimal'. * gnu/packages/gdb.scm (gdb-minimal): Move definition up. (gdb-8.2): Rename to ... (gdb-minimal-8.2): ... this. Inherit from GDB-MINIMAL. * gnu/packages/rust.scm (rust-1.27)[native-inputs]: Adjust for the rename. --- gnu/packages/gdb.scm | 18 +++++++++--------- gnu/packages/rust.scm | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm index 56d37960f7..f2f272cc90 100644 --- a/gnu/packages/gdb.scm +++ b/gnu/packages/gdb.scm @@ -122,11 +122,18 @@ the program is running to try to fix bugs. It can be used to debug programs written in C, C++, Ada, Objective-C, Pascal and more.") (license gpl3+))) +(define-public gdb-minimal + (package/inherit + gdb + (name "gdb-minimal") + (inputs (fold alist-delete (package-inputs gdb) + '("libxml2" "ncurses" "python-wrapper" "source-highlight"))))) + ;; This version of GDB is required by some of the Rust compilers, see ;; . -(define-public gdb-8.2 +(define-public gdb-minimal-8.2 (package - (inherit gdb) + (inherit gdb-minimal) (version "8.2.1") (source (origin (method url-fetch) @@ -135,10 +142,3 @@ written in C, C++, Ada, Objective-C, Pascal and more.") (sha256 (base32 "00i27xqawjv282a07i73lp1l02n0a3ywzhykma75qg500wll6sha")))))) - -(define-public gdb-minimal - (package/inherit - gdb - (name "gdb-minimal") - (inputs (fold alist-delete (package-inputs gdb) - '("libxml2" "ncurses" "python-wrapper" "source-highlight"))))) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index b084a6df9e..fe43e72421 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -828,7 +828,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" (native-inputs ;; FIXME: Rust 1.27 and some later versions require GDB 8.2 specifically. ;; See . - (alist-replace "gdb" (list gdb-8.2) + (alist-replace "gdb" (list gdb-minimal-8.2) (package-native-inputs base-rust))) (arguments (substitute-keyword-arguments (package-arguments base-rust) -- cgit v1.2.3 From 25ceae92ea6cddd2306fab9847ba091c17a0ae69 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 27 Jun 2020 12:51:34 +0200 Subject: gnu: valgrind: Update to 3.16.1. * gnu/packages/valgrind.scm (valgrind): Update to 3.16.1. --- gnu/packages/valgrind.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/valgrind.scm b/gnu/packages/valgrind.scm index c0ea89141e..4036bd461b 100644 --- a/gnu/packages/valgrind.scm +++ b/gnu/packages/valgrind.scm @@ -33,7 +33,9 @@ (define-public valgrind (package (name "valgrind") - (version "3.15.0") + ;; Note: check "guix refresh -l -e '(@ (gnu packages valgrind) valgrind)'" + ;; when updating this package to find which branch it should go to. + (version "3.16.1") (source (origin (method url-fetch) (uri (list (string-append "https://sourceware.org/pub/valgrind" @@ -42,7 +44,7 @@ "/valgrind-" version ".tar.bz2"))) (sha256 (base32 - "1ccawxrni8brcvwhygy12iprkvz409hbr9xkk1bd03gnm2fplz21")) + "1jik19rcd34ip8a5c9nv5wfj8k8maqb8cyclr4xhznq2gcpkl7y9")) (patches (search-patches "valgrind-enable-arm.patch")))) (build-system gnu-build-system) (outputs '("doc" ;16 MB -- cgit v1.2.3 From 6c9dca5a9bc3aeab260bc125e8ddc08a5107ec4e Mon Sep 17 00:00:00 2001 From: Simon South Date: Mon, 1 Jun 2020 13:15:31 -0400 Subject: gnu: jamvm-1-bootstrap: Add aarch64-linux support. * gnu/packages/java.scm (jamvm-1-bootstrap)[source]: Add patch; update name of existing patch. [arguments]<#:phases>: Invoke autoreconf during bootstrap phase when building for aarch64. [native-inputs]: Include packages required for autoreconf when building for aarch64. * gnu/packages/patches/jamvm-1.5.1-aarch64-support.patch: New file. * gnu/packages/patches/jamvm-arm.patch: Rename to "jamvm-1.5.1-armv7-support.patch". * gnu/local.mk (dist_patch_DATA): Add file; update filename. Signed-off-by: Efraim Flashner --- gnu/local.mk | 3 +- gnu/packages/java.scm | 22 +- .../patches/jamvm-1.5.1-aarch64-support.patch | 572 +++++++++ .../patches/jamvm-1.5.1-armv7-support.patch | 1313 ++++++++++++++++++++ gnu/packages/patches/jamvm-arm.patch | 1313 -------------------- 5 files changed, 1907 insertions(+), 1316 deletions(-) create mode 100644 gnu/packages/patches/jamvm-1.5.1-aarch64-support.patch create mode 100644 gnu/packages/patches/jamvm-1.5.1-armv7-support.patch delete mode 100644 gnu/packages/patches/jamvm-arm.patch diff --git a/gnu/local.mk b/gnu/local.mk index 396629cc93..df098708e9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1114,8 +1114,9 @@ dist_patch_DATA = \ %D%/packages/patches/irrlicht-use-system-libs.patch \ %D%/packages/patches/isl-0.11.1-aarch64-support.patch \ %D%/packages/patches/jacal-fix-texinfo.patch \ + %D%/packages/patches/jamvm-1.5.1-aarch64-support.patch \ + %D%/packages/patches/jamvm-1.5.1-armv7-support.patch \ %D%/packages/patches/jamvm-2.0.0-disable-branch-patching.patch \ - %D%/packages/patches/jamvm-arm.patch \ %D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \ %D%/packages/patches/java-commons-collections-fix-java8.patch \ %D%/packages/patches/java-jeromq-fix-tests.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 48f9a52a56..27a6ebc437 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -288,7 +288,8 @@ language.") (uri (string-append "mirror://sourceforge/jamvm/jamvm/" "JamVM%20" version "/jamvm-" version ".tar.gz")) - (patches (search-patches "jamvm-arm.patch")) + (patches (search-patches "jamvm-1.5.1-aarch64-support.patch" + "jamvm-1.5.1-armv7-support.patch")) (sha256 (base32 "06lhi03l3b0h48pc7x58bk9my2nrcf1flpmglvys3wyad6yraf36")) @@ -304,13 +305,30 @@ language.") (assoc-ref %build-inputs "classpath")) "--disable-int-caching" "--enable-runtime-reloc-checks" - "--enable-ffi"))) + "--enable-ffi") + #:phases + ,(if (string-prefix? "aarch64" (or (%current-system) + (%current-target-system))) + ;; Makefiles and the configure script need to be regenerated to + ;; incorporate support for AArch64. + '(modify-phases %standard-phases + (replace 'bootstrap + (lambda _ (invoke "autoreconf" "-vif")))) + '%standard-phases))) (inputs `(("classpath" ,classpath-bootstrap) ("jikes" ,jikes) ("libffi" ,libffi) ("zip" ,zip) ("zlib" ,zlib))) + (native-inputs + (if (string-prefix? "aarch64" (or (%current-system) + (%current-target-system))) + ;; Additional packages needed for autoreconf. + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool)) + '())) (home-page "http://jamvm.sourceforge.net/") (synopsis "Small Java Virtual Machine") (description "JamVM is a Java Virtual Machine conforming to the JVM diff --git a/gnu/packages/patches/jamvm-1.5.1-aarch64-support.patch b/gnu/packages/patches/jamvm-1.5.1-aarch64-support.patch new file mode 100644 index 0000000000..8867d4f191 --- /dev/null +++ b/gnu/packages/patches/jamvm-1.5.1-aarch64-support.patch @@ -0,0 +1,572 @@ +From 9c83c3d3f443eb92f87dc87c7dcfe95577b95621 Mon Sep 17 00:00:00 2001 +From: Simon South +Date: Thu, 28 May 2020 14:29:55 -0400 +Subject: [PATCH] Add support for aarch64 on GNU/Linux + +--- + configure.ac | 10 +- + src/arch/Makefile.am | 2 +- + src/arch/aarch64.h | 110 ++++++++++++++++ + src/os/linux/Makefile.am | 2 +- + src/os/linux/aarch64/Makefile.am | 28 ++++ + src/os/linux/aarch64/callNative.S | 212 ++++++++++++++++++++++++++++++ + src/os/linux/aarch64/dll_md.c | 59 +++++++++ + src/os/linux/aarch64/init.c | 51 +++++++ + 8 files changed, 469 insertions(+), 5 deletions(-) + create mode 100644 src/arch/aarch64.h + create mode 100644 src/os/linux/aarch64/Makefile.am + create mode 100644 src/os/linux/aarch64/callNative.S + create mode 100644 src/os/linux/aarch64/dll_md.c + create mode 100644 src/os/linux/aarch64/init.c + +diff --git a/configure.ac b/configure.ac +index ccd530f..707f281 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -43,6 +43,7 @@ amd64-*-freebsd*) host_os=bsd libdl_needed=no ;; + arm*-*-linux*) host_cpu=arm host_os=linux ;; + arm*-*-openbsd*) host_cpu=arm host_os=bsd libdl_needed=no ;; + arm*-*-freebsd*) host_cpu=arm host_os=bsd libdl_needed=no ;; ++aarch64*-*-linux*) host_cpu=aarch64 host_os=linux ;; + powerpc*-*-linux*) host_cpu=powerpc host_os=linux ;; + powerpc*-*-openbsd*) host_cpu=powerpc host_os=bsd libdl_needed=no ;; + powerpc*-*-freebsd*) host_cpu=powerpc host_os=bsd libdl_needed=no ;; +@@ -149,9 +150,11 @@ AC_ARG_ENABLE(runtime-reloc-checks, + + AC_ARG_ENABLE(int-inlining, + [AS_HELP_STRING(--enable-int-inlining,enable inline threaded version of the interpreter +- (by default enabled on x86_64, i386 and powerpc, disabled otherwise))],, +- [if test "$host_cpu" = x86_64 -o "$host_cpu" = i386 -o "$host_cpu" = powerpc && \ +- test "$cross_compiling" = no -o "$enable_runtime_reloc_checks" != no; then ++ (by default enabled on x86_64, i386, powerpc and aarch64, ++ disabled otherwise))],, ++ [if test "$host_cpu" = x86_64 -o "$host_cpu" = i386 -o "$host_cpu" = powerpc -o \ ++ "$host_cpu" = aarch64 && test "$cross_compiling" = no -o \ ++ "$enable_runtime_reloc_checks" != no; then + enable_int_inlining=yes + else + enable_int_inlining=no +@@ -298,6 +301,7 @@ AC_CONFIG_FILES( + src/os/linux/x86_64/Makefile \ + src/os/linux/parisc/Makefile \ + src/os/linux/mips/Makefile \ ++ src/os/linux/aarch64/Makefile \ + src/os/darwin/i386/Makefile \ + src/os/darwin/arm/Makefile \ + src/os/darwin/powerpc/Makefile \ +diff --git a/src/arch/Makefile.am b/src/arch/Makefile.am +index 078c1de..afb26d1 100644 +--- a/src/arch/Makefile.am ++++ b/src/arch/Makefile.am +@@ -19,4 +19,4 @@ + ## Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + ## + +-EXTRA_DIST = powerpc.h arm.h i386.h x86_64.h parisc.h mips.h ++EXTRA_DIST = powerpc.h arm.h i386.h x86_64.h parisc.h mips.h aarch64.h +diff --git a/src/arch/aarch64.h b/src/arch/aarch64.h +new file mode 100644 +index 0000000..c96aa9f +--- /dev/null ++++ b/src/arch/aarch64.h +@@ -0,0 +1,110 @@ ++/* ++ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 ++ * Robert Lougher . ++ * Copyright (C) 2020 Simon South . ++ * ++ * This file is part of JamVM. ++ * ++ * This program 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 2, ++ * or (at your option) any later version. ++ * ++ * This program 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 this program; if not, write to the Free Software ++ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ */ ++ ++#include ++ ++#define OS_ARCH "aarch64" ++ ++#define HANDLER_TABLE_T static const void ++#define DOUBLE_1_BITS 0x3ff0000000000000LL ++ ++#define READ_DBL(v,p,l) v = ((u8)p[0]<<56)|((u8)p[1]<<48)|((u8)p[2]<<40) \ ++ |((u8)p[3]<<32)|((u8)p[4]<<24)|((u8)p[5]<<16) \ ++ |((u8)p[6]<<8)|(u8)p[7]; p+=8 ++ ++/* Needed for i386 -- empty here */ ++#define FPU_HACK ++ ++#define COMPARE_AND_SWAP_64(addr, old_val, new_val) \ ++({ \ ++ int result, read_val; \ ++ __asm__ __volatile__ (" \ ++ 1: ldaxr %2, %1; \ ++ cmp %2, %3; \ ++ b.ne 2f; \ ++ stlxr %w0, %4, %1; \ ++ cmp %w0, wzr; \ ++ b.ne 1b; \ ++ 2: cset %w0, eq;" \ ++ : "=&r" (result), "+Q" (*addr), "=&r" (read_val) \ ++ : "r" (old_val), "r" (new_val) \ ++ : "cc"); \ ++ result; \ ++}) ++ ++#define COMPARE_AND_SWAP(addr, old_val, new_val) \ ++ COMPARE_AND_SWAP_64(addr, old_val, new_val) ++ ++#define LOCKWORD_READ(addr) \ ++({ \ ++ uintptr_t result; \ ++ __asm__ __volatile__ (" \ ++ ldar %0, %1;" \ ++ : "=r" (result) \ ++ : "Q" (*addr) \ ++ : "cc"); \ ++ result; \ ++}) ++ ++#define LOCKWORD_WRITE(addr, value) \ ++({ \ ++ __asm__ __volatile__ (" \ ++ stlr %1, %0;" \ ++ : "=Q" (*addr) \ ++ : "r" (value) \ ++ : "cc"); \ ++}) ++ ++#define LOCKWORD_COMPARE_AND_SWAP(addr, old_val, new_val) \ ++ COMPARE_AND_SWAP_64(addr, old_val, new_val) ++ ++#define FLUSH_CACHE(addr, length) \ ++{ \ ++ uintptr_t start = (uintptr_t) (addr); \ ++ uintptr_t end = start + length; \ ++ uintptr_t i; \ ++ \ ++ for(i = start & aarch64_data_cache_line_mask; \ ++ i < end; \ ++ i += aarch64_data_cache_line_len) \ ++ __asm__ ("dc cvau, %0" :: "r" (i)); \ ++ \ ++ __asm__ ("dsb ish"); \ ++ \ ++ for(i = start & aarch64_instruction_cache_line_mask; \ ++ i < end; \ ++ i += aarch64_instruction_cache_line_len) \ ++ __asm__ ("ic ivau, %0" :: "r" (i)); \ ++ \ ++ __asm__ ("dsb ish; isb"); \ ++} ++ ++#define MBARRIER() __asm__ ("dmb ish" ::: "memory") ++#define UNLOCK_MBARRIER() __asm__ ("dmb ish" ::: "memory") ++#define JMM_LOCK_MBARRIER() __asm__ ("dmb ish" ::: "memory") ++#define JMM_UNLOCK_MBARRIER() JMM_LOCK_MBARRIER() ++ ++/* Defined in src/os/linux/aarch64/init.c */ ++extern unsigned char aarch64_data_cache_line_len; ++extern uintptr_t aarch64_data_cache_line_mask; ++extern unsigned char aarch64_instruction_cache_line_len; ++extern uintptr_t aarch64_instruction_cache_line_mask; +diff --git a/src/os/linux/Makefile.am b/src/os/linux/Makefile.am +index aa29be1..d582b97 100644 +--- a/src/os/linux/Makefile.am ++++ b/src/os/linux/Makefile.am +@@ -20,7 +20,7 @@ + ## + + SUBDIRS = @arch@ +-DIST_SUBDIRS = powerpc arm i386 x86_64 parisc mips ++DIST_SUBDIRS = powerpc arm i386 x86_64 parisc mips aarch64 + + noinst_LTLIBRARIES = libos.la + libos_la_SOURCES = os.c +diff --git a/src/os/linux/aarch64/Makefile.am b/src/os/linux/aarch64/Makefile.am +new file mode 100644 +index 0000000..1024c3a +--- /dev/null ++++ b/src/os/linux/aarch64/Makefile.am +@@ -0,0 +1,28 @@ ++## ++## Copyright (C) 2003, 2004, 2005, 2006, 2007, 2010, 2011, 2012 ++## Robert Lougher . ++## ++## File added by Simon South . ++## ++## This file is part of JamVM. ++## ++## This program 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 2, ++## or (at your option) any later version. ++## ++## This program 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 this program; if not, write to the Free Software ++## Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++## ++ ++noinst_LTLIBRARIES = libnative.la ++libnative_la_SOURCES = init.c dll_md.c callNative.S ++ ++AM_CPPFLAGS = -I$(top_builddir)/src -I$(top_srcdir)/src ++AM_CCASFLAGS = -I$(top_builddir)/src +diff --git a/src/os/linux/aarch64/callNative.S b/src/os/linux/aarch64/callNative.S +new file mode 100644 +index 0000000..e067c4f +--- /dev/null ++++ b/src/os/linux/aarch64/callNative.S +@@ -0,0 +1,212 @@ ++/* ++ * Copyright (C) 2008, 2009, 2011, 2012 Robert Lougher . ++ * Copyright (C) 2020 Simon South . ++ * ++ * This file is part of JamVM. ++ * ++ * This program 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 2, ++ * or (at your option) any later version. ++ * ++ * This program 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 this program; if not, write to the Free Software ++ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ */ ++ ++#include "config.h" ++ ++#ifndef USE_FFI ++ .text ++ .arch armv8-a ++ .align 2 ++ .global callJNIMethod ++ .type callJNIMethod,function ++ ++/* ++ * Arguments passed in: ++ * ++ * x0 JNIEnv ++ * x1 class or NULL ++ * x2 sig ++ * w3 extra arg ++ * x4 ostack ++ * x5 function pntr ++ * w6 args count ++ */ ++ ++/* Register usage: ++ * ++ * x20 ostack ++ * x19 sig pntr ++ * x16 function pntr ++ * x15 ostack pntr ++ * x14 args pntr ++ * x13 float/double handler ++ * x12 int/long handler ++ * w11 fp regs remaining ++ * w10 int regs remaining ++ * x9 scratch ++ * x2-x7 outgoing int args ++ * x1 outgoing class or this pntr ++ * x0 outgoing JNIEnv (as passed in) ++ * ++ * d0 - d7 outgoing float args ++ */ ++ ++callJNIMethod: ++ stp x29, x30, [sp, #-32]! ++ mov x29, sp ++ stp x19, x20, [x29, #16] ++ ++ sub sp, sp, w3 /* allocate room for stacked args */ ++ mov x14, sp ++ ++ mov x20, x4 /* preserve ostack */ ++ add x19, x2, #1 /* init sig pntr -- skipping '(' */ ++ ++ mov x16, x5 /* save function pntr */ ++ mov x15, x20 /* init ostack pntr */ ++ ++ adr x13, fp_reg_handlers-8 ++ adr x12, int_reg_handlers-8 ++ ++ mov w11, #8 /* fp regs remaining */ ++ mov w10, #6 /* int regs remaining */ ++ ++ cbnz x1, scan_sig /* is method non-static? */ ++ ldr x1, [x15], #8 /* yes, load x1 with "this" */ ++ ++scan_sig: ++ ldrb w9, [x19], #1 /* get next sig char */ ++ ++ cmp w9, #41 /* ')' */ ++ b.eq done ++ ++ cmp w9, #74 /* 'J' */ ++ b.eq long ++ ++ cmp w9, #70 /* 'F' */ ++ b.eq float ++ ++ cmp w9, #68 /* 'D' */ ++ b.eq double ++ ++skip_brackets: ++ cmp w9, #91 /* '[' */ ++ b.ne 1f ++ ldrb w9, [x19], #1 ++ b skip_brackets ++1: ++ cmp w9, #76 /* 'L' */ ++ b.ne int ++ ++skip_ref: ++ ldrb w9, [x19], #1 ++ cmp w9, #59 /* ';' */ ++ b.ne skip_ref ++ ++int: ++ ldr x9, [x15], #8 ++ cbz w10, stack_push ++ ++load_int_reg: ++ sub w10, w10, #1 ++ add x12, x12, #8 ++ br x12 ++ ++int_reg_handlers: ++ mov x2, x9 ++ b scan_sig ++ mov x3, x9 ++ b scan_sig ++ mov x4, x9 ++ b scan_sig ++ mov x5, x9 ++ b scan_sig ++ mov x6, x9 ++ b scan_sig ++ mov x7, x9 ++ b scan_sig ++ ++long: ++ ldr x9, [x15], #16 ++ cbz w10, stack_push ++ b load_int_reg ++ ++float: ++ ldr w9, [x15], #8 ++ cbz w11, stack_push ++ b load_fp_reg ++ ++double: ++ ldr x9, [x15], #16 ++ cbz w11, stack_push ++ ++load_fp_reg: ++ sub w11, w11, #1 ++ add x13, x13, #8 ++ br x13 ++ ++fp_reg_handlers: ++ fmov d0, x9 ++ b scan_sig ++ fmov d1, x9 ++ b scan_sig ++ fmov d2, x9 ++ b scan_sig ++ fmov d3, x9 ++ b scan_sig ++ fmov d4, x9 ++ b scan_sig ++ fmov d5, x9 ++ b scan_sig ++ fmov d6, x9 ++ b scan_sig ++ fmov d7, x9 ++ b scan_sig ++ ++stack_push: ++ str x9, [x14], #8 ++ b scan_sig ++ ++done: ++ /* Call the function */ ++ blr x16 ++ ++ mov sp, x29 /* Pop argument area */ ++ ++ ldrb w9, [x19] /* Return type */ ++ ++ cmp w9, #86 /* 'V' */ ++ b.eq return ++ ++ cmp w9, #68 /* 'D' */ ++ b.ne 2f ++ str d0, [x20], #16 ++ b return ++2: ++ cmp w9, #70 /* 'F' */ ++ b.ne 3f ++ str s0, [x20], #8 ++ b return ++3: ++ cmp w9, #74 /* 'J' */ ++ b.ne 4f ++ str x0, [x20], #16 ++ b return ++4: ++ str x0, [x20], #8 ++ ++return: ++ mov x0, x20 /* return ostack */ ++ ++ ldp x19, x20, [x29, #16] ++ ldp x29, x30, [sp], #32 ++ ret ++#endif +diff --git a/src/os/linux/aarch64/dll_md.c b/src/os/linux/aarch64/dll_md.c +new file mode 100644 +index 0000000..189f8a8 +--- /dev/null ++++ b/src/os/linux/aarch64/dll_md.c +@@ -0,0 +1,59 @@ ++/* ++ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011 ++ * Robert Lougher . ++ * Copyright (C) 2020 Simon South . ++ * ++ * This file is part of JamVM. ++ * ++ * This program 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 2, ++ * or (at your option) any later version. ++ * ++ * This program 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 this program; if not, write to the Free Software ++ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ */ ++ ++#include "jam.h" ++ ++#ifndef USE_FFI ++ ++int nativeExtraArg(MethodBlock *mb) { ++ char *sig = mb->type; ++ int stack_args = 0; ++ int int_args = 6; ++ int fp_args = 8; ++ ++ while(*++sig != ')') ++ switch(*sig) { ++ case 'F': ++ case 'D': ++ if(fp_args == 0) ++ stack_args += 8; ++ else ++ fp_args--; ++ ++ default: ++ if(int_args == 0) ++ stack_args += 8; ++ else ++ int_args--; ++ ++ if(*sig == '[') ++ while(*++sig == '['); ++ if(*sig == 'L') ++ while(*++sig != ';'); ++ break; ++ } ++ ++ /* Ensure the stack remains 16 byte aligned. */ ++ return (stack_args + 15) & ~15; ++} ++ ++#endif +diff --git a/src/os/linux/aarch64/init.c b/src/os/linux/aarch64/init.c +new file mode 100644 +index 0000000..e03b446 +--- /dev/null ++++ b/src/os/linux/aarch64/init.c +@@ -0,0 +1,51 @@ ++/* ++ * Copyright (C) 2003, 2004, 2005, 2006, 2007 ++ * Robert Lougher . ++ * Copyright (C) 2020 Simon South . ++ * ++ * This file is part of JamVM. ++ * ++ * This program 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 2, ++ * or (at your option) any later version. ++ * ++ * This program 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 this program; if not, write to the Free Software ++ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ */ ++ ++#include "arch/aarch64.h" ++ ++/* Length in bytes of the smallest line in the host system's data cache */ ++unsigned char aarch64_data_cache_line_len; ++ ++/* Mask used to align a virtual address to a line in the data cache */ ++uintptr_t aarch64_data_cache_line_mask; ++ ++/* Length in bytes of the smallest line in the host system's instruction ++ cache */ ++unsigned char aarch64_instruction_cache_line_len; ++ ++/* Mask used to align a virtual address to a line in the instruction cache */ ++uintptr_t aarch64_instruction_cache_line_mask; ++ ++void initialisePlatform() { ++ unsigned int cache_type; ++ ++ /* Extract information from the cache-type register, which describes aspects ++ of the host's cache configuration */ ++ __asm__ ("mrs %0, ctr_el0" : "=r" (cache_type)); ++ ++ aarch64_data_cache_line_len = 4 << ((cache_type >> 16) & 0x0f); ++ aarch64_data_cache_line_mask = ~(aarch64_data_cache_line_len - 1); ++ ++ aarch64_instruction_cache_line_len = 4 << (cache_type & 0x0f); ++ aarch64_instruction_cache_line_mask = ++ ~(aarch64_instruction_cache_line_len - 1); ++} +-- +2.26.2 + diff --git a/gnu/packages/patches/jamvm-1.5.1-armv7-support.patch b/gnu/packages/patches/jamvm-1.5.1-armv7-support.patch new file mode 100644 index 0000000000..9e998e18db --- /dev/null +++ b/gnu/packages/patches/jamvm-1.5.1-armv7-support.patch @@ -0,0 +1,1313 @@ +From 67faeb7d58e0d25a50d36788ed49ed383b92e090 Mon Sep 17 00:00:00 2001 +From: Efraim Flashner +Date: Mon, 26 Mar 2018 11:08:17 +0300 +Subject: [PATCH] add ARMv7 support + +--- + src/arch/arm.h | 75 +++++- + src/os/linux/arm/Makefile.am | 9 +- + src/os/linux/arm/Makefile.in | 166 ++++++++---- + src/os/linux/arm/callNative.S | 12 +- + src/os/linux/arm/callNativeEABI.S | 8 +- + src/os/linux/arm/callNativeEABIHard.S | 315 +++++++++++++++++++++++ + src/os/linux/arm/callNativeEABIHardARM.S | 266 +++++++++++++++++++ + src/os/linux/arm/dll_md.c | 61 ++++- + 8 files changed, 843 insertions(+), 69 deletions(-) + create mode 100644 src/os/linux/arm/callNativeEABIHard.S + create mode 100644 src/os/linux/arm/callNativeEABIHardARM.S + +diff --git a/src/arch/arm.h b/src/arch/arm.h +index ccf68c4..d2c0318 100644 +--- a/src/arch/arm.h ++++ b/src/arch/arm.h +@@ -1,6 +1,6 @@ + /* +- * Copyright (C) 2003, 2004, 2005, 2006, 2007 +- * Robert Lougher . ++ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, ++ * 2014 Robert Lougher . + * + * This file is part of JamVM. + * +@@ -21,10 +21,16 @@ + + #define OS_ARCH "arm" + +-/* Override default min and max heap sizes. ARM machines are +- usually embedded, and the standard defaults are too large. */ +-#define DEFAULT_MAX_HEAP 16*MB ++/* Override minimum min heap size. The initial heap size is a ratio ++ of the physical memory, but it must be at least the minimum min ++ size. The normal setting is too large for ARM machines as they ++ are usually embedded. */ ++#define MIN_MIN_HEAP 1*MB ++ ++/* Likewise, override the default min/max heap sizes used when the ++ size of physical memory is not available */ + #define DEFAULT_MIN_HEAP 1*MB ++#define DEFAULT_MAX_HEAP 64*MB + + #ifdef DIRECT + #define HANDLER_TABLE_T static const void +@@ -51,6 +57,36 @@ + /* Needed for i386 -- empty here */ + #define FPU_HACK + ++#if defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_7A__) ++#define COMPARE_AND_SWAP_32(addr, old_val, new_val) \ ++({ \ ++ int result, read_val; \ ++ __asm__ __volatile__ (" \ ++ 1: mov %0, #0; \ ++ ldrex %1, [%2]; \ ++ cmp %3, %1; \ ++ bne 2f; \ ++ strex %0, %4, [%2]; \ ++ cmp %0, #1; \ ++ beq 1b; \ ++ mov %0, #1; \ ++ 2:" \ ++ : "=&r" (result), "=&r" (read_val) \ ++ : "r" (addr), "r" (old_val), "r" (new_val) \ ++ : "cc", "memory"); \ ++ result; \ ++}) ++ ++#define COMPARE_AND_SWAP(addr, old_val, new_val) \ ++ COMPARE_AND_SWAP_32(addr, old_val, new_val) ++ ++#define LOCKWORD_READ(addr) *addr ++#define LOCKWORD_WRITE(addr, value) *addr = value ++#define LOCKWORD_COMPARE_AND_SWAP(addr, old_val, new_val) \ ++ COMPARE_AND_SWAP(addr, old_val, new_val) ++ ++#else ++ + #define LOCKWORD_COMPARE_AND_SWAP(addr, old_val, new_val) \ + ({ \ + int result, read_val; \ +@@ -94,7 +130,7 @@ do { \ + : "r" (addr), "r" (new_val) \ + : "cc", "memory"); \ + } while(0) +- ++#endif + + #ifdef __ARM_EABI__ + #define FLUSH_CACHE(addr, length) \ +@@ -124,8 +160,33 @@ do { \ + } + #endif + ++#define GEN_REL_JMP(target_addr, patch_addr, patch_size) \ ++({ \ ++ int patched = FALSE; \ ++ \ ++ if(patch_size >= 4) { \ ++ /* Guard against the pointer difference being \ ++ larger than the signed range */ \ ++ long long offset = (uintptr_t)(target_addr) - \ ++ (uintptr_t)(patch_addr) - 8; \ ++ \ ++ if(offset >= -1<<25 && offset < 1<<25) { \ ++ *(int*)(patch_addr) = offset>>2 & 0x00ffffff \ ++ | 0xea000000; \ ++ patched = TRUE; \ ++ } \ ++ } \ ++ patched; \ ++}) ++ ++#ifdef __ARM_ARCH_7A__ ++#define MBARRIER() __asm__ __volatile__ ("dmb" ::: "memory") ++#define UNLOCK_MBARRIER() __asm__ __volatile__ ("dmb" ::: "memory") ++#define JMM_LOCK_MBARRIER() __asm__ __volatile__ ("dmb" ::: "memory") ++#define JMM_UNLOCK_MBARRIER() __asm__ __volatile__ ("dmb" ::: "memory") ++#else + #define MBARRIER() __asm__ __volatile__ ("" ::: "memory") + #define UNLOCK_MBARRIER() __asm__ __volatile__ ("" ::: "memory") + #define JMM_LOCK_MBARRIER() __asm__ __volatile__ ("" ::: "memory") + #define JMM_UNLOCK_MBARRIER() __asm__ __volatile__ ("" ::: "memory") +- ++#endif +diff --git a/src/os/linux/arm/Makefile.am b/src/os/linux/arm/Makefile.am +index d18ea5a..74e7786 100644 +--- a/src/os/linux/arm/Makefile.am ++++ b/src/os/linux/arm/Makefile.am +@@ -1,6 +1,6 @@ + ## +-## Copyright (C) 2003, 2004, 2005, 2006, 2007 +-## Robert Lougher . ++## Copyright (C) 2003, 2004, 2005, 2006, 2007, 2010, 2011, 2012 ++## Robert Lougher . + ## + ## This file is part of JamVM. + ## +@@ -19,10 +19,11 @@ + ## Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + ## + +-EXTRA_DIST = callNativeOABI.S callNativeEABI.S ++EXTRA_DIST = callNativeOABI.S callNativeEABI.S callNativeEABIHard.S \ ++ callNativeEABIHardARM.S + + noinst_LTLIBRARIES = libnative.la + libnative_la_SOURCES = init.c dll_md.c callNative.S + +-AM_CPPFLAGS = -I$(top_builddir)/src ++AM_CPPFLAGS = -I$(top_builddir)/src -I$(top_srcdir)/src + AM_CCASFLAGS = -I$(top_builddir)/src +diff --git a/src/os/linux/arm/Makefile.in b/src/os/linux/arm/Makefile.in +index 63b21ad..6d44ea9 100644 +--- a/src/os/linux/arm/Makefile.in ++++ b/src/os/linux/arm/Makefile.in +@@ -1,8 +1,9 @@ +-# Makefile.in generated by automake 1.10 from Makefile.am. ++# Makefile.in generated by automake 1.11.6 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +-# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. ++# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software ++# Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. +@@ -15,9 +16,27 @@ + @SET_MAKE@ + + VPATH = @srcdir@ ++am__make_dryrun = \ ++ { \ ++ am__dry=no; \ ++ case $$MAKEFLAGS in \ ++ *\\[\ \ ]*) \ ++ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ ++ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ ++ *) \ ++ for am__flg in $$MAKEFLAGS; do \ ++ case $$am__flg in \ ++ *=*|--*) ;; \ ++ *n*) am__dry=yes; break;; \ ++ esac; \ ++ done;; \ ++ esac; \ ++ test $$am__dry = yes; \ ++ } + pkgdatadir = $(datadir)/@PACKAGE@ +-pkglibdir = $(libdir)/@PACKAGE@ + pkgincludedir = $(includedir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkglibexecdir = $(libexecdir)/@PACKAGE@ + am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd + install_sh_DATA = $(install_sh) -c -m 644 + install_sh_PROGRAM = $(install_sh) -c +@@ -42,13 +61,15 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs + CONFIG_HEADER = $(top_builddir)/src/config.h + CONFIG_CLEAN_FILES = ++CONFIG_CLEAN_VPATH_FILES = + LTLIBRARIES = $(noinst_LTLIBRARIES) + libnative_la_LIBADD = + am_libnative_la_OBJECTS = init.lo dll_md.lo callNative.lo + libnative_la_OBJECTS = $(am_libnative_la_OBJECTS) +-DEFAULT_INCLUDES = -I. -I$(top_builddir)/src@am__isrc@ ++DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src + depcomp = $(SHELL) $(top_srcdir)/depcomp + am__depfiles_maybe = depfiles ++am__mv = mv -f + CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) + LTCPPASCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ +@@ -65,6 +86,11 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + $(LDFLAGS) -o $@ + SOURCES = $(libnative_la_SOURCES) + DIST_SOURCES = $(libnative_la_SOURCES) ++am__can_run_installinfo = \ ++ case $$AM_UPDATE_INFO_DIR in \ ++ n|no|NO) false;; \ ++ *) (install-info --version) >/dev/null 2>&1;; \ ++ esac + ETAGS = etags + CTAGS = ctags + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +@@ -84,21 +110,18 @@ CCDEPMODE = @CCDEPMODE@ + CFLAGS = @CFLAGS@ + CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ +-CXX = @CXX@ +-CXXCPP = @CXXCPP@ +-CXXDEPMODE = @CXXDEPMODE@ +-CXXFLAGS = @CXXFLAGS@ + CYGPATH_W = @CYGPATH_W@ + DEFS = @DEFS@ + DEPDIR = @DEPDIR@ +-ECHO = @ECHO@ ++DLLTOOL = @DLLTOOL@ ++DSYMUTIL = @DSYMUTIL@ ++DUMPBIN = @DUMPBIN@ + ECHO_C = @ECHO_C@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ + EXEEXT = @EXEEXT@ +-F77 = @F77@ +-FFLAGS = @FFLAGS@ ++FGREP = @FGREP@ + GREP = @GREP@ + INSTALL = @INSTALL@ + INSTALL_DATA = @INSTALL_DATA@ +@@ -106,21 +129,30 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ + INSTALL_SCRIPT = @INSTALL_SCRIPT@ + INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + JAVAC = @JAVAC@ ++LD = @LD@ + LDFLAGS = @LDFLAGS@ + LIBOBJS = @LIBOBJS@ + LIBS = @LIBS@ + LIBTOOL = @LIBTOOL@ ++LIPO = @LIPO@ + LN_S = @LN_S@ + LTLIBOBJS = @LTLIBOBJS@ + MAINT = @MAINT@ + MAKEINFO = @MAKEINFO@ ++MANIFEST_TOOL = @MANIFEST_TOOL@ + MKDIR_P = @MKDIR_P@ ++NM = @NM@ ++NMEDIT = @NMEDIT@ ++OBJDUMP = @OBJDUMP@ + OBJEXT = @OBJEXT@ ++OTOOL = @OTOOL@ ++OTOOL64 = @OTOOL64@ + PACKAGE = @PACKAGE@ + PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ + PACKAGE_NAME = @PACKAGE_NAME@ + PACKAGE_STRING = @PACKAGE_STRING@ + PACKAGE_TARNAME = @PACKAGE_TARNAME@ ++PACKAGE_URL = @PACKAGE_URL@ + PACKAGE_VERSION = @PACKAGE_VERSION@ + PATH_SEPARATOR = @PATH_SEPARATOR@ + RANLIB = @RANLIB@ +@@ -133,9 +165,9 @@ abs_builddir = @abs_builddir@ + abs_srcdir = @abs_srcdir@ + abs_top_builddir = @abs_top_builddir@ + abs_top_srcdir = @abs_top_srcdir@ ++ac_ct_AR = @ac_ct_AR@ + ac_ct_CC = @ac_ct_CC@ +-ac_ct_CXX = @ac_ct_CXX@ +-ac_ct_F77 = @ac_ct_F77@ ++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ + am__include = @am__include@ + am__leading_dot = @am__leading_dot@ + am__quote = @am__quote@ +@@ -149,6 +181,7 @@ build_cpu = @build_cpu@ + build_os = @build_os@ + build_vendor = @build_vendor@ + builddir = @builddir@ ++classlib = @classlib@ + datadir = @datadir@ + datarootdir = @datarootdir@ + docdir = @docdir@ +@@ -181,15 +214,18 @@ sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ + sysconfdir = @sysconfdir@ + target_alias = @target_alias@ ++top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + use_zip_no = @use_zip_no@ + use_zip_yes = @use_zip_yes@ + with_classpath_install_dir = @with_classpath_install_dir@ +-EXTRA_DIST = callNativeOABI.S callNativeEABI.S ++EXTRA_DIST = callNativeOABI.S callNativeEABI.S callNativeEABIHard.S \ ++ callNativeEABIHardARM.S ++ + noinst_LTLIBRARIES = libnative.la + libnative_la_SOURCES = init.c dll_md.c callNative.S +-AM_CPPFLAGS = -I$(top_builddir)/src ++AM_CPPFLAGS = -I$(top_builddir)/src -I$(top_srcdir)/src + AM_CCASFLAGS = -I$(top_builddir)/src + all: all-am + +@@ -199,14 +235,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ +- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ +- && exit 0; \ ++ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ ++ && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ +- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/os/linux/arm/Makefile'; \ +- cd $(top_srcdir) && \ +- $(AUTOMAKE) --gnu src/os/linux/arm/Makefile ++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/os/linux/arm/Makefile'; \ ++ $(am__cd) $(top_srcdir) && \ ++ $(AUTOMAKE) --gnu src/os/linux/arm/Makefile + .PRECIOUS: Makefile + Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ +@@ -224,6 +260,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++$(am__aclocal_m4_deps): + + clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) +@@ -233,7 +270,7 @@ clean-noinstLTLIBRARIES: + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +-libnative.la: $(libnative_la_OBJECTS) $(libnative_la_DEPENDENCIES) ++libnative.la: $(libnative_la_OBJECTS) $(libnative_la_DEPENDENCIES) $(EXTRA_libnative_la_DEPENDENCIES) + $(LINK) $(libnative_la_OBJECTS) $(libnative_la_LIBADD) $(LIBS) + + mostlyclean-compile: +@@ -248,42 +285,42 @@ distclean-compile: + + .S.o: + @am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +-@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po ++@am__fastdepCCAS_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po + @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ $< + + .S.obj: + @am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +-@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po ++@am__fastdepCCAS_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po + @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + + .S.lo: + @am__fastdepCCAS_TRUE@ $(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +-@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo ++@am__fastdepCCAS_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo + @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCCAS_FALSE@ $(LTCPPASCOMPILE) -c -o $@ $< + + .c.o: + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po ++@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(COMPILE) -c $< + + .c.obj: + @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po ++@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + + .c.lo: + @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo ++@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo + @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< +@@ -299,45 +336,49 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ +- $(AWK) ' { files[$$0] = 1; } \ +- END { for (i in files) print i; }'`; \ ++ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ ++ END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique + tags: TAGS + + TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) +- tags=; \ ++ set x; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ +- $(AWK) ' { files[$$0] = 1; } \ +- END { for (i in files) print i; }'`; \ +- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ ++ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ ++ END { if (nonempty) { for (i in files) print i; }; }'`; \ ++ shift; \ ++ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ +- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ +- $$tags $$unique; \ ++ if test $$# -gt 0; then \ ++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ "$$@" $$unique; \ ++ else \ ++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ $$unique; \ ++ fi; \ + fi + ctags: CTAGS + CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) +- tags=; \ +- here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ +- $(AWK) ' { files[$$0] = 1; } \ +- END { for (i in files) print i; }'`; \ +- test -z "$(CTAGS_ARGS)$$tags$$unique" \ ++ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ ++ END { if (nonempty) { for (i in files) print i; }; }'`; \ ++ test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ +- $$tags $$unique ++ $$unique + + GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ +- && cd $(top_srcdir) \ +- && gtags -i $(GTAGS_ARGS) $$here ++ && $(am__cd) $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) "$$here" + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +@@ -358,13 +399,17 @@ distdir: $(DISTFILES) + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test -d "$(distdir)/$$file"; then \ ++ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ ++ fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ ++ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ ++ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ +- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ ++ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ +- test -f $(distdir)/$$file \ +- || cp -p $$d/$$file $(distdir)/$$file \ ++ test -f "$(distdir)/$$file" \ ++ || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +@@ -382,16 +427,22 @@ install-am: all-am + + installcheck: installcheck-am + install-strip: +- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ +- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ +- `test -z '$(STRIP)' || \ +- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++ if test -z '$(STRIP)'; then \ ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ ++ install; \ ++ else \ ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ ++ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ ++ fi + mostlyclean-generic: + + clean-generic: + + distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) ++ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + + maintainer-clean-generic: + @echo "This command is intended for maintainers to use" +@@ -413,6 +464,8 @@ dvi-am: + + html: html-am + ++html-am: ++ + info: info-am + + info-am: +@@ -421,18 +474,28 @@ install-data-am: + + install-dvi: install-dvi-am + ++install-dvi-am: ++ + install-exec-am: + + install-html: install-html-am + ++install-html-am: ++ + install-info: install-info-am + ++install-info-am: ++ + install-man: + + install-pdf: install-pdf-am + ++install-pdf-am: ++ + install-ps: install-ps-am + ++install-ps-am: ++ + installcheck-am: + + maintainer-clean: maintainer-clean-am +@@ -470,6 +533,7 @@ uninstall-am: + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags uninstall uninstall-am + ++ + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. + .NOEXPORT: +diff --git a/src/os/linux/arm/callNative.S b/src/os/linux/arm/callNative.S +index 39ab6d3..245afd1 100644 +--- a/src/os/linux/arm/callNative.S ++++ b/src/os/linux/arm/callNative.S +@@ -1,6 +1,6 @@ + /* +- * Copyright (C) 2003, 2004, 2005, 2006, 2007 +- * Robert Lougher . ++ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2011, 2012 ++ * Robert Lougher . + * + * This file is part of JamVM. + * +@@ -23,7 +23,15 @@ + + #ifndef USE_FFI + #ifdef __ARM_EABI__ ++#ifdef __ARM_PCS_VFP ++#ifdef __ARM_ARCH_7A__ ++#include "callNativeEABIHard.S" ++#else ++#include "callNativeEABIHardARM.S" ++#endif ++#else + #include "callNativeEABI.S" ++#endif + #else + #include "callNativeOABI.S" + #endif +diff --git a/src/os/linux/arm/callNativeEABI.S b/src/os/linux/arm/callNativeEABI.S +index 5effa57..3a7539e 100644 +--- a/src/os/linux/arm/callNativeEABI.S ++++ b/src/os/linux/arm/callNativeEABI.S +@@ -1,6 +1,6 @@ + /* +- * Copyright (C) 2003, 2004, 2005, 2006, 2007 +- * Robert Lougher . ++ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2011 ++ * Robert Lougher . + * + * This file is part of JamVM. + * +@@ -95,8 +95,12 @@ done: + ldmfd sp!, {r2, r3} + + /* Call the function */ ++#if defined(__ARM_ARCH_4__) || defined(__ARM_ARCH_4T__) + mov lr, pc + bx ip ++#else ++ blx ip ++#endif + + subs r4, r4, #8 /* Pop argument area */ + /* (minus 8 for r2/r3) */ +diff --git a/src/os/linux/arm/callNativeEABIHard.S b/src/os/linux/arm/callNativeEABIHard.S +new file mode 100644 +index 0000000..5d5785b +--- /dev/null ++++ b/src/os/linux/arm/callNativeEABIHard.S +@@ -0,0 +1,315 @@ ++/* ++ * Copyright (C) 2011, 2012 Robert Lougher . ++ * ++ * This file is part of JamVM. ++ * ++ * This program 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 2, ++ * or (at your option) any later version. ++ * ++ * This program 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 this program; if not, write to the Free Software ++ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ */ ++ ++ .text ++ .syntax unified ++ .arch armv7-a ++ .thumb ++ .align 2 ++ .global callJNIMethod ++ .type callJNIMethod,function ++ ++/* ++ * Arguments passed in: ++ * ++ * r0 JNIEnv ++ * r1 class or NULL ++ * r2 sig ++ * r3 extra arg ++ * sp + 0 ostack ++ * sp + 4 function pntr ++ * sp + 8 args count ++ */ ++ ++/* Register usage : ++ * ++ * r11 function pntr ++ * lr ostack pntr ++ * ip args pntr ++ * r8 sig pntr ++ * r10 extra stack ++ * r6 fp backfill ++ * r4 fp reg ++ * r7 int reg ++ * r5 scratch ++ * r3, r2 outgoing int args ++ * r1 outgoing class or this pntr ++ * r0 outgoing JNIEnv (as passed in) ++ * ++ * s0 - s16 (d0 - d7) outgoing float args ++ */ ++ ++callJNIMethod: ++ stmfd sp!, {r4, r5, r6, r7, r8, r10, r11, lr} ++ ldr lr, [sp, #32] /* get ostack pntr */ ++ ldr r11, [sp, #36] /* get function pntr */ ++ ++ cmp r1, #0 /* is method non-static? */ ++ it eq ++ ldreq r1, [lr], #4 /* yes, load r1 with "this" */ ++ ++ mov r10, r3 ++ subs sp, sp, r3 /* allocate room for stacked */ ++ add r8, r2, #1 /* init sig pntr -- skipping '(' */ ++ ++ mov ip, sp /* init loop pntr */ ++ ++ mov r7, #2 ++ mov r4, #16 ++ mov r6, #0 ++ ++scan_sig: ++ ldrb r5, [r8], #1 ++ ++ cmp r5, #41 /* ')' */ ++ beq done ++ ++ cmp r5, #70 /* 'F' */ ++ beq float ++ ++ cmp r5, #68 /* 'D' */ ++ beq double ++ ++ cmp r5, #74 /* 'J' */ ++ beq long ++ ++skip_brackets: ++ cmp r5, #91 /* '[' */ ++ itt eq ++ ldrbeq r5, [r8], #1 ++ beq skip_brackets ++ ++ cmp r5, #76 /* 'L' */ ++ bne int ++ ++skip_ref: ++ ldrb r5, [r8], #1 ++ cmp r5, #59 /* ';' */ ++ bne skip_ref ++ ++int: ++ cbz r7, stack_int ++ ++ subs r7, r7, #1 ++ ite ne ++ ldrne r2, [lr], #4 ++ ldreq r3, [lr], #4 ++ ++ b scan_sig ++ ++float: ++ cbz r6, no_backfill ++ ++ sub r5, r6, #1 ++ mov r6, #0 ++ b load_float ++ ++no_backfill: ++ cbz r4, stack_int ++ ++ sub r4, r4, #1 ++ mov r5, r4 ++ ++load_float: ++ add lr, lr, #4 ++ tbb [pc, r5] ++ ++float_table: ++ .byte (s15-float_table)/2 ++ .byte (s14-float_table)/2 ++ .byte (s13-float_table)/2 ++ .byte (s12-float_table)/2 ++ .byte (s11-float_table)/2 ++ .byte (s10-float_table)/2 ++ .byte (s9-float_table)/2 ++ .byte (s8-float_table)/2 ++ .byte (s7-float_table)/2 ++ .byte (s6-float_table)/2 ++ .byte (s5-float_table)/2 ++ .byte (s4-float_table)/2 ++ .byte (s3-float_table)/2 ++ .byte (s2-float_table)/2 ++ .byte (s1-float_table)/2 ++ .byte (s0-float_table)/2 ++ ++stack_int: ++ ldr r5, [lr], #4 ++ str r5, [ip], #4 ++ b scan_sig ++ ++s0: ++ vldr s0, [lr, #-4] ++ b scan_sig ++s1: ++ vldr s1, [lr, #-4] ++ b scan_sig ++s2: ++ vldr s2, [lr, #-4] ++ b scan_sig ++s3: ++ vldr s3, [lr, #-4] ++ b scan_sig ++s4: ++ vldr s4, [lr, #-4] ++ b scan_sig ++s5: ++ vldr s5, [lr, #-4] ++ b scan_sig ++s6: ++ vldr s6, [lr, #-4] ++ b scan_sig ++s7: ++ vldr s7, [lr, #-4] ++ b scan_sig ++s8: ++ vldr s8, [lr, #-4] ++ b scan_sig ++s9: ++ vldr s9, [lr, #-4] ++ b scan_sig ++s10: ++ vldr s10, [lr, #-4] ++ b scan_sig ++s11: ++ vldr s11, [lr, #-4] ++ b scan_sig ++s12: ++ vldr s12, [lr, #-4] ++ b scan_sig ++s13: ++ vldr s13, [lr, #-4] ++ b scan_sig ++s14: ++ vldr s14, [lr, #-4] ++ b scan_sig ++s15: ++ vldr s15, [lr, #-4] ++ b scan_sig ++ ++long: ++ cmp r7, #2 ++ mov r7, #0 ++ bne stack_long ++ ++ ldmia lr!, {r2, r3} ++ b scan_sig ++ ++double: ++ lsrs r5, r4, #1 ++ it cs ++ movcs r6, r4 ++ ++ lsls r4, r5, #1 ++ beq stack_double ++ ++ sub r4, r4, #2 ++ add lr, lr, #8 ++ tbb [pc, r5] ++ ++double_table: ++ .byte 0 ++ .byte (d7-double_table)/2 ++ .byte (d6-double_table)/2 ++ .byte (d5-double_table)/2 ++ .byte (d4-double_table)/2 ++ .byte (d3-double_table)/2 ++ .byte (d2-double_table)/2 ++ .byte (d1-double_table)/2 ++ .byte (d0-double_table)/2 ++ .align 2 ++d0: ++ vldr d0, [lr, #-8] ++ b scan_sig ++d1: ++ vldr d1, [lr, #-8] ++ b scan_sig ++d2: ++ vldr d2, [lr, #-8] ++ b scan_sig ++d3: ++ vldr d3, [lr, #-8] ++ b scan_sig ++d4: ++ vldr d4, [lr, #-8] ++ b scan_sig ++d5: ++ vldr d5, [lr, #-8] ++ b scan_sig ++d6: ++ vldr d6, [lr, #-8] ++ b scan_sig ++d7: ++ vldr d7, [lr, #-8] ++ b scan_sig ++ ++stack_double: ++ mov r6, #0 ++ ++stack_long: ++ /* Ensure address is 8 byte aligned */ ++ add ip, ip, #7 ++ bic ip, ip, #7 ++ ++ ldr r5, [lr], #4 ++ str r5, [ip], #4 ++ ldr r5, [lr], #4 ++ str r5, [ip], #4 ++ b scan_sig ++ ++done: ++ /* Call the function */ ++ blx r11 ++ ++ add sp, sp, r10 /* Pop argument area */ ++ ++ ldr r4, [sp, #32] /* Reload ostack for */ ++ /* address of return value */ ++ ++ ldrb r5, [r8] /* Return type */ ++ ++ cmp r5, #86 /* 'V' */ ++ beq return ++ ++ cmp r5, #68 /* 'D' */ ++ beq return_double ++ ++ cmp r5, #70 /* 'F' */ ++ beq return_float ++ ++ str r0, [r4], #4 /* Low word */ ++ ++ cmp r5, #74 /* 'J' */ ++ it eq ++ streq r1, [r4], #4 /* High word */ ++ ++return: ++ mov r0, r4 /* return ostack */ ++ ldmfd sp!, {r4, r5, r6, r7, r8, r10, r11, lr} ++ bx lr ++ ++return_float: ++ vstr s0, [r4] ++ add r4, r4, #4 ++ b return ++ ++return_double: ++ vstr d0, [r4] ++ add r4, r4, #8 ++ b return +diff --git a/src/os/linux/arm/callNativeEABIHardARM.S b/src/os/linux/arm/callNativeEABIHardARM.S +new file mode 100644 +index 0000000..3a31acd +--- /dev/null ++++ b/src/os/linux/arm/callNativeEABIHardARM.S +@@ -0,0 +1,266 @@ ++/* ++ * Copyright (C) 2011, 2012 Robert Lougher . ++ * ++ * This file is part of JamVM. ++ * ++ * This program 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 2, ++ * or (at your option) any later version. ++ * ++ * This program 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 this program; if not, write to the Free Software ++ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ */ ++ ++ .text ++ .align 2 ++ .global callJNIMethod ++ .type callJNIMethod,function ++ ++/* ++ * Arguments passed in: ++ * ++ * r0 JNIEnv ++ * r1 class or NULL ++ * r2 sig ++ * r3 extra arg ++ * sp + 0 ostack ++ * sp + 4 function pntr ++ * sp + 8 args count ++ */ ++ ++/* Register usage : ++ * ++ * lr ostack pntr ++ * ip scratch ++ * r11 function pntr ++ * r10 fp backfill ++ * r8 fp reg ++ * r7 int reg ++ * r6 args pntr ++ * r5 sig pntr ++ * r4 extra stack ++ * r3, r2 outgoing int args ++ * r1 outgoing class or this pntr ++ * r0 outgoing JNIEnv (as passed in) ++ * ++ * s0 - s16 (d0 - d7) outgoing float args ++ */ ++ ++callJNIMethod: ++ stmfd sp!, {r4, r5, r6, r7, r8, r10, r11, lr} ++ ldr lr, [sp, #32] /* get ostack pntr */ ++ ldr r11, [sp, #36] /* get function pntr */ ++ ++ cmp r1, #0 /* is method non-static? */ ++ ldreq r1, [lr], #4 /* yes, load r1 with "this" */ ++ ++ mov r4, r3 ++ sub sp, sp, r4 /* allocate room for stacked */ ++ add r5, r2, #1 /* init sig pntr -- skipping '(' */ ++ ++ mov r6, sp /* init loop pntr */ ++ ++ mov r7, #2 ++ mov r8, #16 ++ mov r10, #0 ++ ++scan_sig: ++ ldrb ip, [r5], #1 ++ ++ cmp ip, #41 /* ')' */ ++ beq done ++ ++ cmp ip, #70 /* 'F' */ ++ beq float ++ ++ cmp ip, #68 /* 'D' */ ++ beq double ++ ++ cmp ip, #74 /* 'J' */ ++ beq long ++ ++skip_brackets: ++ cmp ip, #91 /* '[' */ ++ ldreqb ip, [r5], #1 ++ beq skip_brackets ++ ++ cmp ip, #76 /* 'L' */ ++ bne int ++ ++skip_ref: ++ ldrb ip, [r5], #1 ++ cmp ip, #59 /* ';' */ ++ bne skip_ref ++ ++int: ++ cmp r7, #0 ++ beq stack_int ++ ++ subs r7, r7, #1 ++ ++ ldrne r2, [lr], #4 ++ ldreq r3, [lr], #4 ++ ++ b scan_sig ++ ++stack_int: ++ ldr ip, [lr], #4 ++ str ip, [r6], #4 ++ b scan_sig ++ ++float: ++ cmp r10, #0 ++ beq no_backfill ++ ++ sub ip, r10, #1 ++ mov r10, #0 ++ b load_float ++ ++no_backfill: ++ cmp r8, #0 ++ beq stack_int ++ ++ sub r8, r8, #1 ++ mov ip, r8 ++ ++load_float: ++ add lr, lr, #4 ++ add pc, pc, ip, lsl #3 ++ nop ++ ++ flds s15, [lr, #-4] ++ b scan_sig ++ flds s14, [lr, #-4] ++ b scan_sig ++ flds s13, [lr, #-4] ++ b scan_sig ++ flds s12, [lr, #-4] ++ b scan_sig ++ flds s11, [lr, #-4] ++ b scan_sig ++ flds s10, [lr, #-4] ++ b scan_sig ++ flds s9, [lr, #-4] ++ b scan_sig ++ flds s8, [lr, #-4] ++ b scan_sig ++ flds s7, [lr, #-4] ++ b scan_sig ++ flds s6, [lr, #-4] ++ b scan_sig ++ flds s5, [lr, #-4] ++ b scan_sig ++ flds s4, [lr, #-4] ++ b scan_sig ++ flds s3, [lr, #-4] ++ b scan_sig ++ flds s2, [lr, #-4] ++ b scan_sig ++ flds s1, [lr, #-4] ++ b scan_sig ++ flds s0, [lr, #-4] ++ b scan_sig ++ ++long: ++ cmp r7, #2 ++ mov r7, #0 ++ bne stack_long ++ ++ ldr r2, [lr], #4 ++ ldr r3, [lr], #4 ++ b scan_sig ++ ++double: ++ lsrs ip, r8, #1 ++ movcs r10, r8 ++ ++ lsls r8, ip, #1 ++ beq stack_double ++ ++ sub r8, r8, #2 ++ add lr, lr, #8 ++ add pc, pc, ip, lsl #3 ++ nop ++ nop ++ nop ++ ++ fldd d7, [lr, #-8] ++ b scan_sig ++ fldd d6, [lr, #-8] ++ b scan_sig ++ fldd d5, [lr, #-8] ++ b scan_sig ++ fldd d4, [lr, #-8] ++ b scan_sig ++ fldd d3, [lr, #-8] ++ b scan_sig ++ fldd d2, [lr, #-8] ++ b scan_sig ++ fldd d1, [lr, #-8] ++ b scan_sig ++ fldd d0, [lr, #-8] ++ b scan_sig ++ ++stack_double: ++ mov r10, #0 ++ ++stack_long: ++ /* Ensure address is 8 byte aligned */ ++ add r6, r6, #7 ++ bic r6, r6, #7 ++ ++ ldr ip, [lr], #4 ++ str ip, [r6], #4 ++ ldr ip, [lr], #4 ++ str ip, [r6], #4 ++ b scan_sig ++ ++done: ++ /* Call the function */ ++#if defined(__ARM_ARCH_4__) || defined(__ARM_ARCH_4T__) ++ mov lr, pc ++ bx r11 ++#else ++ blx r11 ++#endif ++ ++ add sp, sp, r4 /* Pop argument area */ ++ ldr r4, [sp, #32] /* Reload ostack for */ ++ /* address of return value */ ++ ldrb ip, [r5] /* Return type */ ++ ++ cmp ip, #86 /* 'V' */ ++ beq return ++ ++ cmp ip, #68 /* 'D' */ ++ beq return_double ++ ++ cmp ip, #70 /* 'F' */ ++ beq return_float ++ ++ str r0, [r4], #4 /* Low word */ ++ ++ cmp ip, #74 /* 'J' */ ++ streq r1, [r4], #4 /* High word */ ++ ++return: ++ mov r0, r4 /* return ostack */ ++ ldmfd sp!, {r4, r5, r6, r7, r8, r10, r11, lr} ++ bx lr ++ ++return_float: ++ add r4, r4, #4 ++ fsts s0, [r4, #-4] ++ b return ++ ++return_double: ++ add r4, r4, #8 ++ fstd d0, [r4, #-8] ++ b return +diff --git a/src/os/linux/arm/dll_md.c b/src/os/linux/arm/dll_md.c +index f5df90e..39bdf7c 100644 +--- a/src/os/linux/arm/dll_md.c ++++ b/src/os/linux/arm/dll_md.c +@@ -1,6 +1,6 @@ + /* +- * Copyright (C) 2003, 2004, 2005, 2006, 2007 +- * Robert Lougher . ++ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2011 ++ * Robert Lougher . + * + * This file is part of JamVM. + * +@@ -31,6 +31,61 @@ + * out stack requirements and then to push arguments. To + * save the first scan at call time, the signature is pre- + * scanned and stack requirement stored in the extra argument. */ ++ ++#ifdef __ARM_PCS_VFP ++int nativeExtraArg(MethodBlock *mb) { ++ char *sig = mb->type; ++ int fp_backfill = 0; ++ int stack_args = 0; ++ int int_args = 2; ++ int fp_args = 16; ++ ++ while(*++sig != ')') ++ switch(*sig) { ++ case 'J': ++ if(int_args < 2) ++ stack_args = (stack_args + 15) & ~7; ++ int_args = 0; ++ break; ++ ++ case 'D': ++ fp_backfill |= fp_args & 1; ++ fp_args &= ~1; ++ ++ if(fp_args == 0) { ++ stack_args = (stack_args + 15) & ~7; ++ fp_backfill = 0; ++ } else ++ fp_args -= 2; ++ break; ++ ++ case 'F': ++ if(fp_backfill) ++ fp_backfill = 0; ++ else { ++ if(fp_args == 0) ++ stack_args += 4; ++ else ++ fp_args--; ++ } ++ break; ++ ++ default: ++ if(int_args == 0) ++ stack_args += 4; ++ else ++ int_args--; ++ ++ if(*sig == '[') ++ while(*++sig == '['); ++ if(*sig == 'L') ++ while(*++sig != ';'); ++ break; ++ } ++ ++ return (stack_args + 7) & ~7; ++} ++#else + int nativeExtraArg(MethodBlock *mb) { + char *sig = mb->type; + int args = 0; +@@ -57,7 +112,7 @@ int nativeExtraArg(MethodBlock *mb) { + native method, so minimum stack requirement is 8 bytes. */ + return args < 8 ? 8 : args; + } +- ++#endif + #else + + /* Under OABI, arguments can be copied onto the stack "as is" +-- +2.17.1 + diff --git a/gnu/packages/patches/jamvm-arm.patch b/gnu/packages/patches/jamvm-arm.patch deleted file mode 100644 index 9e998e18db..0000000000 --- a/gnu/packages/patches/jamvm-arm.patch +++ /dev/null @@ -1,1313 +0,0 @@ -From 67faeb7d58e0d25a50d36788ed49ed383b92e090 Mon Sep 17 00:00:00 2001 -From: Efraim Flashner -Date: Mon, 26 Mar 2018 11:08:17 +0300 -Subject: [PATCH] add ARMv7 support - ---- - src/arch/arm.h | 75 +++++- - src/os/linux/arm/Makefile.am | 9 +- - src/os/linux/arm/Makefile.in | 166 ++++++++---- - src/os/linux/arm/callNative.S | 12 +- - src/os/linux/arm/callNativeEABI.S | 8 +- - src/os/linux/arm/callNativeEABIHard.S | 315 +++++++++++++++++++++++ - src/os/linux/arm/callNativeEABIHardARM.S | 266 +++++++++++++++++++ - src/os/linux/arm/dll_md.c | 61 ++++- - 8 files changed, 843 insertions(+), 69 deletions(-) - create mode 100644 src/os/linux/arm/callNativeEABIHard.S - create mode 100644 src/os/linux/arm/callNativeEABIHardARM.S - -diff --git a/src/arch/arm.h b/src/arch/arm.h -index ccf68c4..d2c0318 100644 ---- a/src/arch/arm.h -+++ b/src/arch/arm.h -@@ -1,6 +1,6 @@ - /* -- * Copyright (C) 2003, 2004, 2005, 2006, 2007 -- * Robert Lougher . -+ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, -+ * 2014 Robert Lougher . - * - * This file is part of JamVM. - * -@@ -21,10 +21,16 @@ - - #define OS_ARCH "arm" - --/* Override default min and max heap sizes. ARM machines are -- usually embedded, and the standard defaults are too large. */ --#define DEFAULT_MAX_HEAP 16*MB -+/* Override minimum min heap size. The initial heap size is a ratio -+ of the physical memory, but it must be at least the minimum min -+ size. The normal setting is too large for ARM machines as they -+ are usually embedded. */ -+#define MIN_MIN_HEAP 1*MB -+ -+/* Likewise, override the default min/max heap sizes used when the -+ size of physical memory is not available */ - #define DEFAULT_MIN_HEAP 1*MB -+#define DEFAULT_MAX_HEAP 64*MB - - #ifdef DIRECT - #define HANDLER_TABLE_T static const void -@@ -51,6 +57,36 @@ - /* Needed for i386 -- empty here */ - #define FPU_HACK - -+#if defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_7A__) -+#define COMPARE_AND_SWAP_32(addr, old_val, new_val) \ -+({ \ -+ int result, read_val; \ -+ __asm__ __volatile__ (" \ -+ 1: mov %0, #0; \ -+ ldrex %1, [%2]; \ -+ cmp %3, %1; \ -+ bne 2f; \ -+ strex %0, %4, [%2]; \ -+ cmp %0, #1; \ -+ beq 1b; \ -+ mov %0, #1; \ -+ 2:" \ -+ : "=&r" (result), "=&r" (read_val) \ -+ : "r" (addr), "r" (old_val), "r" (new_val) \ -+ : "cc", "memory"); \ -+ result; \ -+}) -+ -+#define COMPARE_AND_SWAP(addr, old_val, new_val) \ -+ COMPARE_AND_SWAP_32(addr, old_val, new_val) -+ -+#define LOCKWORD_READ(addr) *addr -+#define LOCKWORD_WRITE(addr, value) *addr = value -+#define LOCKWORD_COMPARE_AND_SWAP(addr, old_val, new_val) \ -+ COMPARE_AND_SWAP(addr, old_val, new_val) -+ -+#else -+ - #define LOCKWORD_COMPARE_AND_SWAP(addr, old_val, new_val) \ - ({ \ - int result, read_val; \ -@@ -94,7 +130,7 @@ do { \ - : "r" (addr), "r" (new_val) \ - : "cc", "memory"); \ - } while(0) -- -+#endif - - #ifdef __ARM_EABI__ - #define FLUSH_CACHE(addr, length) \ -@@ -124,8 +160,33 @@ do { \ - } - #endif - -+#define GEN_REL_JMP(target_addr, patch_addr, patch_size) \ -+({ \ -+ int patched = FALSE; \ -+ \ -+ if(patch_size >= 4) { \ -+ /* Guard against the pointer difference being \ -+ larger than the signed range */ \ -+ long long offset = (uintptr_t)(target_addr) - \ -+ (uintptr_t)(patch_addr) - 8; \ -+ \ -+ if(offset >= -1<<25 && offset < 1<<25) { \ -+ *(int*)(patch_addr) = offset>>2 & 0x00ffffff \ -+ | 0xea000000; \ -+ patched = TRUE; \ -+ } \ -+ } \ -+ patched; \ -+}) -+ -+#ifdef __ARM_ARCH_7A__ -+#define MBARRIER() __asm__ __volatile__ ("dmb" ::: "memory") -+#define UNLOCK_MBARRIER() __asm__ __volatile__ ("dmb" ::: "memory") -+#define JMM_LOCK_MBARRIER() __asm__ __volatile__ ("dmb" ::: "memory") -+#define JMM_UNLOCK_MBARRIER() __asm__ __volatile__ ("dmb" ::: "memory") -+#else - #define MBARRIER() __asm__ __volatile__ ("" ::: "memory") - #define UNLOCK_MBARRIER() __asm__ __volatile__ ("" ::: "memory") - #define JMM_LOCK_MBARRIER() __asm__ __volatile__ ("" ::: "memory") - #define JMM_UNLOCK_MBARRIER() __asm__ __volatile__ ("" ::: "memory") -- -+#endif -diff --git a/src/os/linux/arm/Makefile.am b/src/os/linux/arm/Makefile.am -index d18ea5a..74e7786 100644 ---- a/src/os/linux/arm/Makefile.am -+++ b/src/os/linux/arm/Makefile.am -@@ -1,6 +1,6 @@ - ## --## Copyright (C) 2003, 2004, 2005, 2006, 2007 --## Robert Lougher . -+## Copyright (C) 2003, 2004, 2005, 2006, 2007, 2010, 2011, 2012 -+## Robert Lougher . - ## - ## This file is part of JamVM. - ## -@@ -19,10 +19,11 @@ - ## Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - ## - --EXTRA_DIST = callNativeOABI.S callNativeEABI.S -+EXTRA_DIST = callNativeOABI.S callNativeEABI.S callNativeEABIHard.S \ -+ callNativeEABIHardARM.S - - noinst_LTLIBRARIES = libnative.la - libnative_la_SOURCES = init.c dll_md.c callNative.S - --AM_CPPFLAGS = -I$(top_builddir)/src -+AM_CPPFLAGS = -I$(top_builddir)/src -I$(top_srcdir)/src - AM_CCASFLAGS = -I$(top_builddir)/src -diff --git a/src/os/linux/arm/Makefile.in b/src/os/linux/arm/Makefile.in -index 63b21ad..6d44ea9 100644 ---- a/src/os/linux/arm/Makefile.in -+++ b/src/os/linux/arm/Makefile.in -@@ -1,8 +1,9 @@ --# Makefile.in generated by automake 1.10 from Makefile.am. -+# Makefile.in generated by automake 1.11.6 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, --# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -+# Foundation, Inc. - # This Makefile.in is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. -@@ -15,9 +16,27 @@ - @SET_MAKE@ - - VPATH = @srcdir@ -+am__make_dryrun = \ -+ { \ -+ am__dry=no; \ -+ case $$MAKEFLAGS in \ -+ *\\[\ \ ]*) \ -+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ -+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ -+ *) \ -+ for am__flg in $$MAKEFLAGS; do \ -+ case $$am__flg in \ -+ *=*|--*) ;; \ -+ *n*) am__dry=yes; break;; \ -+ esac; \ -+ done;; \ -+ esac; \ -+ test $$am__dry = yes; \ -+ } - pkgdatadir = $(datadir)/@PACKAGE@ --pkglibdir = $(libdir)/@PACKAGE@ - pkgincludedir = $(includedir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkglibexecdir = $(libexecdir)/@PACKAGE@ - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd - install_sh_DATA = $(install_sh) -c -m 644 - install_sh_PROGRAM = $(install_sh) -c -@@ -42,13 +61,15 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs - CONFIG_HEADER = $(top_builddir)/src/config.h - CONFIG_CLEAN_FILES = -+CONFIG_CLEAN_VPATH_FILES = - LTLIBRARIES = $(noinst_LTLIBRARIES) - libnative_la_LIBADD = - am_libnative_la_OBJECTS = init.lo dll_md.lo callNative.lo - libnative_la_OBJECTS = $(am_libnative_la_OBJECTS) --DEFAULT_INCLUDES = -I. -I$(top_builddir)/src@am__isrc@ -+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src - depcomp = $(SHELL) $(top_srcdir)/depcomp - am__depfiles_maybe = depfiles -+am__mv = mv -f - CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) - LTCPPASCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ -@@ -65,6 +86,11 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - $(LDFLAGS) -o $@ - SOURCES = $(libnative_la_SOURCES) - DIST_SOURCES = $(libnative_la_SOURCES) -+am__can_run_installinfo = \ -+ case $$AM_UPDATE_INFO_DIR in \ -+ n|no|NO) false;; \ -+ *) (install-info --version) >/dev/null 2>&1;; \ -+ esac - ETAGS = etags - CTAGS = ctags - DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -@@ -84,21 +110,18 @@ CCDEPMODE = @CCDEPMODE@ - CFLAGS = @CFLAGS@ - CPP = @CPP@ - CPPFLAGS = @CPPFLAGS@ --CXX = @CXX@ --CXXCPP = @CXXCPP@ --CXXDEPMODE = @CXXDEPMODE@ --CXXFLAGS = @CXXFLAGS@ - CYGPATH_W = @CYGPATH_W@ - DEFS = @DEFS@ - DEPDIR = @DEPDIR@ --ECHO = @ECHO@ -+DLLTOOL = @DLLTOOL@ -+DSYMUTIL = @DSYMUTIL@ -+DUMPBIN = @DUMPBIN@ - ECHO_C = @ECHO_C@ - ECHO_N = @ECHO_N@ - ECHO_T = @ECHO_T@ - EGREP = @EGREP@ - EXEEXT = @EXEEXT@ --F77 = @F77@ --FFLAGS = @FFLAGS@ -+FGREP = @FGREP@ - GREP = @GREP@ - INSTALL = @INSTALL@ - INSTALL_DATA = @INSTALL_DATA@ -@@ -106,21 +129,30 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ - INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - JAVAC = @JAVAC@ -+LD = @LD@ - LDFLAGS = @LDFLAGS@ - LIBOBJS = @LIBOBJS@ - LIBS = @LIBS@ - LIBTOOL = @LIBTOOL@ -+LIPO = @LIPO@ - LN_S = @LN_S@ - LTLIBOBJS = @LTLIBOBJS@ - MAINT = @MAINT@ - MAKEINFO = @MAKEINFO@ -+MANIFEST_TOOL = @MANIFEST_TOOL@ - MKDIR_P = @MKDIR_P@ -+NM = @NM@ -+NMEDIT = @NMEDIT@ -+OBJDUMP = @OBJDUMP@ - OBJEXT = @OBJEXT@ -+OTOOL = @OTOOL@ -+OTOOL64 = @OTOOL64@ - PACKAGE = @PACKAGE@ - PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ - PACKAGE_NAME = @PACKAGE_NAME@ - PACKAGE_STRING = @PACKAGE_STRING@ - PACKAGE_TARNAME = @PACKAGE_TARNAME@ -+PACKAGE_URL = @PACKAGE_URL@ - PACKAGE_VERSION = @PACKAGE_VERSION@ - PATH_SEPARATOR = @PATH_SEPARATOR@ - RANLIB = @RANLIB@ -@@ -133,9 +165,9 @@ abs_builddir = @abs_builddir@ - abs_srcdir = @abs_srcdir@ - abs_top_builddir = @abs_top_builddir@ - abs_top_srcdir = @abs_top_srcdir@ -+ac_ct_AR = @ac_ct_AR@ - ac_ct_CC = @ac_ct_CC@ --ac_ct_CXX = @ac_ct_CXX@ --ac_ct_F77 = @ac_ct_F77@ -+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ - am__include = @am__include@ - am__leading_dot = @am__leading_dot@ - am__quote = @am__quote@ -@@ -149,6 +181,7 @@ build_cpu = @build_cpu@ - build_os = @build_os@ - build_vendor = @build_vendor@ - builddir = @builddir@ -+classlib = @classlib@ - datadir = @datadir@ - datarootdir = @datarootdir@ - docdir = @docdir@ -@@ -181,15 +214,18 @@ sharedstatedir = @sharedstatedir@ - srcdir = @srcdir@ - sysconfdir = @sysconfdir@ - target_alias = @target_alias@ -+top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ - use_zip_no = @use_zip_no@ - use_zip_yes = @use_zip_yes@ - with_classpath_install_dir = @with_classpath_install_dir@ --EXTRA_DIST = callNativeOABI.S callNativeEABI.S -+EXTRA_DIST = callNativeOABI.S callNativeEABI.S callNativeEABIHard.S \ -+ callNativeEABIHardARM.S -+ - noinst_LTLIBRARIES = libnative.la - libnative_la_SOURCES = init.c dll_md.c callNative.S --AM_CPPFLAGS = -I$(top_builddir)/src -+AM_CPPFLAGS = -I$(top_builddir)/src -I$(top_srcdir)/src - AM_CCASFLAGS = -I$(top_builddir)/src - all: all-am - -@@ -199,14 +235,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ -- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ -- && exit 0; \ -+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ -+ && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ -- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/os/linux/arm/Makefile'; \ -- cd $(top_srcdir) && \ -- $(AUTOMAKE) --gnu src/os/linux/arm/Makefile -+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/os/linux/arm/Makefile'; \ -+ $(am__cd) $(top_srcdir) && \ -+ $(AUTOMAKE) --gnu src/os/linux/arm/Makefile - .PRECIOUS: Makefile - Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ -@@ -224,6 +260,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -+$(am__aclocal_m4_deps): - - clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) -@@ -233,7 +270,7 @@ clean-noinstLTLIBRARIES: - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done --libnative.la: $(libnative_la_OBJECTS) $(libnative_la_DEPENDENCIES) -+libnative.la: $(libnative_la_OBJECTS) $(libnative_la_DEPENDENCIES) $(EXTRA_libnative_la_DEPENDENCIES) - $(LINK) $(libnative_la_OBJECTS) $(libnative_la_LIBADD) $(LIBS) - - mostlyclean-compile: -@@ -248,42 +285,42 @@ distclean-compile: - - .S.o: - @am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< --@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -+@am__fastdepCCAS_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po - @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ $< - - .S.obj: - @am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` --@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -+@am__fastdepCCAS_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po - @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - - .S.lo: - @am__fastdepCCAS_TRUE@ $(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< --@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -+@am__fastdepCCAS_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo - @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCCAS_FALSE@ $(LTCPPASCOMPILE) -c -o $@ $< - - .c.o: - @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< --@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(COMPILE) -c $< - - .c.obj: - @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` --@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` - - .c.lo: - @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< --@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo - @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< -@@ -299,45 +336,49 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ -- $(AWK) ' { files[$$0] = 1; } \ -- END { for (i in files) print i; }'`; \ -+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ -+ END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique - tags: TAGS - - TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) -- tags=; \ -+ set x; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ -- $(AWK) ' { files[$$0] = 1; } \ -- END { for (i in files) print i; }'`; \ -- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ -+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ -+ END { if (nonempty) { for (i in files) print i; }; }'`; \ -+ shift; \ -+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ -- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ -- $$tags $$unique; \ -+ if test $$# -gt 0; then \ -+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ -+ "$$@" $$unique; \ -+ else \ -+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ -+ $$unique; \ -+ fi; \ - fi - ctags: CTAGS - CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) -- tags=; \ -- here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ -- $(AWK) ' { files[$$0] = 1; } \ -- END { for (i in files) print i; }'`; \ -- test -z "$(CTAGS_ARGS)$$tags$$unique" \ -+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ -+ END { if (nonempty) { for (i in files) print i; }; }'`; \ -+ test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ -- $$tags $$unique -+ $$unique - - GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ -- && cd $(top_srcdir) \ -- && gtags -i $(GTAGS_ARGS) $$here -+ && $(am__cd) $(top_srcdir) \ -+ && gtags -i $(GTAGS_ARGS) "$$here" - - distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -@@ -358,13 +399,17 @@ distdir: $(DISTFILES) - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ -+ if test -d "$(distdir)/$$file"; then \ -+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ -+ fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ -- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ -+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ -+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ -- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ -+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ -- test -f $(distdir)/$$file \ -- || cp -p $$d/$$file $(distdir)/$$file \ -+ test -f "$(distdir)/$$file" \ -+ || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -@@ -382,16 +427,22 @@ install-am: all-am - - installcheck: installcheck-am - install-strip: -- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ -- `test -z '$(STRIP)' || \ -- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+ if test -z '$(STRIP)'; then \ -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ -+ install; \ -+ else \ -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ -+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ -+ fi - mostlyclean-generic: - - clean-generic: - - distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - - maintainer-clean-generic: - @echo "This command is intended for maintainers to use" -@@ -413,6 +464,8 @@ dvi-am: - - html: html-am - -+html-am: -+ - info: info-am - - info-am: -@@ -421,18 +474,28 @@ install-data-am: - - install-dvi: install-dvi-am - -+install-dvi-am: -+ - install-exec-am: - - install-html: install-html-am - -+install-html-am: -+ - install-info: install-info-am - -+install-info-am: -+ - install-man: - - install-pdf: install-pdf-am - -+install-pdf-am: -+ - install-ps: install-ps-am - -+install-ps-am: -+ - installcheck-am: - - maintainer-clean: maintainer-clean-am -@@ -470,6 +533,7 @@ uninstall-am: - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am tags uninstall uninstall-am - -+ - # Tell versions [3.59,3.63) of GNU make to not export all variables. - # Otherwise a system limit (for SysV at least) may be exceeded. - .NOEXPORT: -diff --git a/src/os/linux/arm/callNative.S b/src/os/linux/arm/callNative.S -index 39ab6d3..245afd1 100644 ---- a/src/os/linux/arm/callNative.S -+++ b/src/os/linux/arm/callNative.S -@@ -1,6 +1,6 @@ - /* -- * Copyright (C) 2003, 2004, 2005, 2006, 2007 -- * Robert Lougher . -+ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2011, 2012 -+ * Robert Lougher . - * - * This file is part of JamVM. - * -@@ -23,7 +23,15 @@ - - #ifndef USE_FFI - #ifdef __ARM_EABI__ -+#ifdef __ARM_PCS_VFP -+#ifdef __ARM_ARCH_7A__ -+#include "callNativeEABIHard.S" -+#else -+#include "callNativeEABIHardARM.S" -+#endif -+#else - #include "callNativeEABI.S" -+#endif - #else - #include "callNativeOABI.S" - #endif -diff --git a/src/os/linux/arm/callNativeEABI.S b/src/os/linux/arm/callNativeEABI.S -index 5effa57..3a7539e 100644 ---- a/src/os/linux/arm/callNativeEABI.S -+++ b/src/os/linux/arm/callNativeEABI.S -@@ -1,6 +1,6 @@ - /* -- * Copyright (C) 2003, 2004, 2005, 2006, 2007 -- * Robert Lougher . -+ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2011 -+ * Robert Lougher . - * - * This file is part of JamVM. - * -@@ -95,8 +95,12 @@ done: - ldmfd sp!, {r2, r3} - - /* Call the function */ -+#if defined(__ARM_ARCH_4__) || defined(__ARM_ARCH_4T__) - mov lr, pc - bx ip -+#else -+ blx ip -+#endif - - subs r4, r4, #8 /* Pop argument area */ - /* (minus 8 for r2/r3) */ -diff --git a/src/os/linux/arm/callNativeEABIHard.S b/src/os/linux/arm/callNativeEABIHard.S -new file mode 100644 -index 0000000..5d5785b ---- /dev/null -+++ b/src/os/linux/arm/callNativeEABIHard.S -@@ -0,0 +1,315 @@ -+/* -+ * Copyright (C) 2011, 2012 Robert Lougher . -+ * -+ * This file is part of JamVM. -+ * -+ * This program 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 2, -+ * or (at your option) any later version. -+ * -+ * This program 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 this program; if not, write to the Free Software -+ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -+ */ -+ -+ .text -+ .syntax unified -+ .arch armv7-a -+ .thumb -+ .align 2 -+ .global callJNIMethod -+ .type callJNIMethod,function -+ -+/* -+ * Arguments passed in: -+ * -+ * r0 JNIEnv -+ * r1 class or NULL -+ * r2 sig -+ * r3 extra arg -+ * sp + 0 ostack -+ * sp + 4 function pntr -+ * sp + 8 args count -+ */ -+ -+/* Register usage : -+ * -+ * r11 function pntr -+ * lr ostack pntr -+ * ip args pntr -+ * r8 sig pntr -+ * r10 extra stack -+ * r6 fp backfill -+ * r4 fp reg -+ * r7 int reg -+ * r5 scratch -+ * r3, r2 outgoing int args -+ * r1 outgoing class or this pntr -+ * r0 outgoing JNIEnv (as passed in) -+ * -+ * s0 - s16 (d0 - d7) outgoing float args -+ */ -+ -+callJNIMethod: -+ stmfd sp!, {r4, r5, r6, r7, r8, r10, r11, lr} -+ ldr lr, [sp, #32] /* get ostack pntr */ -+ ldr r11, [sp, #36] /* get function pntr */ -+ -+ cmp r1, #0 /* is method non-static? */ -+ it eq -+ ldreq r1, [lr], #4 /* yes, load r1 with "this" */ -+ -+ mov r10, r3 -+ subs sp, sp, r3 /* allocate room for stacked */ -+ add r8, r2, #1 /* init sig pntr -- skipping '(' */ -+ -+ mov ip, sp /* init loop pntr */ -+ -+ mov r7, #2 -+ mov r4, #16 -+ mov r6, #0 -+ -+scan_sig: -+ ldrb r5, [r8], #1 -+ -+ cmp r5, #41 /* ')' */ -+ beq done -+ -+ cmp r5, #70 /* 'F' */ -+ beq float -+ -+ cmp r5, #68 /* 'D' */ -+ beq double -+ -+ cmp r5, #74 /* 'J' */ -+ beq long -+ -+skip_brackets: -+ cmp r5, #91 /* '[' */ -+ itt eq -+ ldrbeq r5, [r8], #1 -+ beq skip_brackets -+ -+ cmp r5, #76 /* 'L' */ -+ bne int -+ -+skip_ref: -+ ldrb r5, [r8], #1 -+ cmp r5, #59 /* ';' */ -+ bne skip_ref -+ -+int: -+ cbz r7, stack_int -+ -+ subs r7, r7, #1 -+ ite ne -+ ldrne r2, [lr], #4 -+ ldreq r3, [lr], #4 -+ -+ b scan_sig -+ -+float: -+ cbz r6, no_backfill -+ -+ sub r5, r6, #1 -+ mov r6, #0 -+ b load_float -+ -+no_backfill: -+ cbz r4, stack_int -+ -+ sub r4, r4, #1 -+ mov r5, r4 -+ -+load_float: -+ add lr, lr, #4 -+ tbb [pc, r5] -+ -+float_table: -+ .byte (s15-float_table)/2 -+ .byte (s14-float_table)/2 -+ .byte (s13-float_table)/2 -+ .byte (s12-float_table)/2 -+ .byte (s11-float_table)/2 -+ .byte (s10-float_table)/2 -+ .byte (s9-float_table)/2 -+ .byte (s8-float_table)/2 -+ .byte (s7-float_table)/2 -+ .byte (s6-float_table)/2 -+ .byte (s5-float_table)/2 -+ .byte (s4-float_table)/2 -+ .byte (s3-float_table)/2 -+ .byte (s2-float_table)/2 -+ .byte (s1-float_table)/2 -+ .byte (s0-float_table)/2 -+ -+stack_int: -+ ldr r5, [lr], #4 -+ str r5, [ip], #4 -+ b scan_sig -+ -+s0: -+ vldr s0, [lr, #-4] -+ b scan_sig -+s1: -+ vldr s1, [lr, #-4] -+ b scan_sig -+s2: -+ vldr s2, [lr, #-4] -+ b scan_sig -+s3: -+ vldr s3, [lr, #-4] -+ b scan_sig -+s4: -+ vldr s4, [lr, #-4] -+ b scan_sig -+s5: -+ vldr s5, [lr, #-4] -+ b scan_sig -+s6: -+ vldr s6, [lr, #-4] -+ b scan_sig -+s7: -+ vldr s7, [lr, #-4] -+ b scan_sig -+s8: -+ vldr s8, [lr, #-4] -+ b scan_sig -+s9: -+ vldr s9, [lr, #-4] -+ b scan_sig -+s10: -+ vldr s10, [lr, #-4] -+ b scan_sig -+s11: -+ vldr s11, [lr, #-4] -+ b scan_sig -+s12: -+ vldr s12, [lr, #-4] -+ b scan_sig -+s13: -+ vldr s13, [lr, #-4] -+ b scan_sig -+s14: -+ vldr s14, [lr, #-4] -+ b scan_sig -+s15: -+ vldr s15, [lr, #-4] -+ b scan_sig -+ -+long: -+ cmp r7, #2 -+ mov r7, #0 -+ bne stack_long -+ -+ ldmia lr!, {r2, r3} -+ b scan_sig -+ -+double: -+ lsrs r5, r4, #1 -+ it cs -+ movcs r6, r4 -+ -+ lsls r4, r5, #1 -+ beq stack_double -+ -+ sub r4, r4, #2 -+ add lr, lr, #8 -+ tbb [pc, r5] -+ -+double_table: -+ .byte 0 -+ .byte (d7-double_table)/2 -+ .byte (d6-double_table)/2 -+ .byte (d5-double_table)/2 -+ .byte (d4-double_table)/2 -+ .byte (d3-double_table)/2 -+ .byte (d2-double_table)/2 -+ .byte (d1-double_table)/2 -+ .byte (d0-double_table)/2 -+ .align 2 -+d0: -+ vldr d0, [lr, #-8] -+ b scan_sig -+d1: -+ vldr d1, [lr, #-8] -+ b scan_sig -+d2: -+ vldr d2, [lr, #-8] -+ b scan_sig -+d3: -+ vldr d3, [lr, #-8] -+ b scan_sig -+d4: -+ vldr d4, [lr, #-8] -+ b scan_sig -+d5: -+ vldr d5, [lr, #-8] -+ b scan_sig -+d6: -+ vldr d6, [lr, #-8] -+ b scan_sig -+d7: -+ vldr d7, [lr, #-8] -+ b scan_sig -+ -+stack_double: -+ mov r6, #0 -+ -+stack_long: -+ /* Ensure address is 8 byte aligned */ -+ add ip, ip, #7 -+ bic ip, ip, #7 -+ -+ ldr r5, [lr], #4 -+ str r5, [ip], #4 -+ ldr r5, [lr], #4 -+ str r5, [ip], #4 -+ b scan_sig -+ -+done: -+ /* Call the function */ -+ blx r11 -+ -+ add sp, sp, r10 /* Pop argument area */ -+ -+ ldr r4, [sp, #32] /* Reload ostack for */ -+ /* address of return value */ -+ -+ ldrb r5, [r8] /* Return type */ -+ -+ cmp r5, #86 /* 'V' */ -+ beq return -+ -+ cmp r5, #68 /* 'D' */ -+ beq return_double -+ -+ cmp r5, #70 /* 'F' */ -+ beq return_float -+ -+ str r0, [r4], #4 /* Low word */ -+ -+ cmp r5, #74 /* 'J' */ -+ it eq -+ streq r1, [r4], #4 /* High word */ -+ -+return: -+ mov r0, r4 /* return ostack */ -+ ldmfd sp!, {r4, r5, r6, r7, r8, r10, r11, lr} -+ bx lr -+ -+return_float: -+ vstr s0, [r4] -+ add r4, r4, #4 -+ b return -+ -+return_double: -+ vstr d0, [r4] -+ add r4, r4, #8 -+ b return -diff --git a/src/os/linux/arm/callNativeEABIHardARM.S b/src/os/linux/arm/callNativeEABIHardARM.S -new file mode 100644 -index 0000000..3a31acd ---- /dev/null -+++ b/src/os/linux/arm/callNativeEABIHardARM.S -@@ -0,0 +1,266 @@ -+/* -+ * Copyright (C) 2011, 2012 Robert Lougher . -+ * -+ * This file is part of JamVM. -+ * -+ * This program 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 2, -+ * or (at your option) any later version. -+ * -+ * This program 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 this program; if not, write to the Free Software -+ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -+ */ -+ -+ .text -+ .align 2 -+ .global callJNIMethod -+ .type callJNIMethod,function -+ -+/* -+ * Arguments passed in: -+ * -+ * r0 JNIEnv -+ * r1 class or NULL -+ * r2 sig -+ * r3 extra arg -+ * sp + 0 ostack -+ * sp + 4 function pntr -+ * sp + 8 args count -+ */ -+ -+/* Register usage : -+ * -+ * lr ostack pntr -+ * ip scratch -+ * r11 function pntr -+ * r10 fp backfill -+ * r8 fp reg -+ * r7 int reg -+ * r6 args pntr -+ * r5 sig pntr -+ * r4 extra stack -+ * r3, r2 outgoing int args -+ * r1 outgoing class or this pntr -+ * r0 outgoing JNIEnv (as passed in) -+ * -+ * s0 - s16 (d0 - d7) outgoing float args -+ */ -+ -+callJNIMethod: -+ stmfd sp!, {r4, r5, r6, r7, r8, r10, r11, lr} -+ ldr lr, [sp, #32] /* get ostack pntr */ -+ ldr r11, [sp, #36] /* get function pntr */ -+ -+ cmp r1, #0 /* is method non-static? */ -+ ldreq r1, [lr], #4 /* yes, load r1 with "this" */ -+ -+ mov r4, r3 -+ sub sp, sp, r4 /* allocate room for stacked */ -+ add r5, r2, #1 /* init sig pntr -- skipping '(' */ -+ -+ mov r6, sp /* init loop pntr */ -+ -+ mov r7, #2 -+ mov r8, #16 -+ mov r10, #0 -+ -+scan_sig: -+ ldrb ip, [r5], #1 -+ -+ cmp ip, #41 /* ')' */ -+ beq done -+ -+ cmp ip, #70 /* 'F' */ -+ beq float -+ -+ cmp ip, #68 /* 'D' */ -+ beq double -+ -+ cmp ip, #74 /* 'J' */ -+ beq long -+ -+skip_brackets: -+ cmp ip, #91 /* '[' */ -+ ldreqb ip, [r5], #1 -+ beq skip_brackets -+ -+ cmp ip, #76 /* 'L' */ -+ bne int -+ -+skip_ref: -+ ldrb ip, [r5], #1 -+ cmp ip, #59 /* ';' */ -+ bne skip_ref -+ -+int: -+ cmp r7, #0 -+ beq stack_int -+ -+ subs r7, r7, #1 -+ -+ ldrne r2, [lr], #4 -+ ldreq r3, [lr], #4 -+ -+ b scan_sig -+ -+stack_int: -+ ldr ip, [lr], #4 -+ str ip, [r6], #4 -+ b scan_sig -+ -+float: -+ cmp r10, #0 -+ beq no_backfill -+ -+ sub ip, r10, #1 -+ mov r10, #0 -+ b load_float -+ -+no_backfill: -+ cmp r8, #0 -+ beq stack_int -+ -+ sub r8, r8, #1 -+ mov ip, r8 -+ -+load_float: -+ add lr, lr, #4 -+ add pc, pc, ip, lsl #3 -+ nop -+ -+ flds s15, [lr, #-4] -+ b scan_sig -+ flds s14, [lr, #-4] -+ b scan_sig -+ flds s13, [lr, #-4] -+ b scan_sig -+ flds s12, [lr, #-4] -+ b scan_sig -+ flds s11, [lr, #-4] -+ b scan_sig -+ flds s10, [lr, #-4] -+ b scan_sig -+ flds s9, [lr, #-4] -+ b scan_sig -+ flds s8, [lr, #-4] -+ b scan_sig -+ flds s7, [lr, #-4] -+ b scan_sig -+ flds s6, [lr, #-4] -+ b scan_sig -+ flds s5, [lr, #-4] -+ b scan_sig -+ flds s4, [lr, #-4] -+ b scan_sig -+ flds s3, [lr, #-4] -+ b scan_sig -+ flds s2, [lr, #-4] -+ b scan_sig -+ flds s1, [lr, #-4] -+ b scan_sig -+ flds s0, [lr, #-4] -+ b scan_sig -+ -+long: -+ cmp r7, #2 -+ mov r7, #0 -+ bne stack_long -+ -+ ldr r2, [lr], #4 -+ ldr r3, [lr], #4 -+ b scan_sig -+ -+double: -+ lsrs ip, r8, #1 -+ movcs r10, r8 -+ -+ lsls r8, ip, #1 -+ beq stack_double -+ -+ sub r8, r8, #2 -+ add lr, lr, #8 -+ add pc, pc, ip, lsl #3 -+ nop -+ nop -+ nop -+ -+ fldd d7, [lr, #-8] -+ b scan_sig -+ fldd d6, [lr, #-8] -+ b scan_sig -+ fldd d5, [lr, #-8] -+ b scan_sig -+ fldd d4, [lr, #-8] -+ b scan_sig -+ fldd d3, [lr, #-8] -+ b scan_sig -+ fldd d2, [lr, #-8] -+ b scan_sig -+ fldd d1, [lr, #-8] -+ b scan_sig -+ fldd d0, [lr, #-8] -+ b scan_sig -+ -+stack_double: -+ mov r10, #0 -+ -+stack_long: -+ /* Ensure address is 8 byte aligned */ -+ add r6, r6, #7 -+ bic r6, r6, #7 -+ -+ ldr ip, [lr], #4 -+ str ip, [r6], #4 -+ ldr ip, [lr], #4 -+ str ip, [r6], #4 -+ b scan_sig -+ -+done: -+ /* Call the function */ -+#if defined(__ARM_ARCH_4__) || defined(__ARM_ARCH_4T__) -+ mov lr, pc -+ bx r11 -+#else -+ blx r11 -+#endif -+ -+ add sp, sp, r4 /* Pop argument area */ -+ ldr r4, [sp, #32] /* Reload ostack for */ -+ /* address of return value */ -+ ldrb ip, [r5] /* Return type */ -+ -+ cmp ip, #86 /* 'V' */ -+ beq return -+ -+ cmp ip, #68 /* 'D' */ -+ beq return_double -+ -+ cmp ip, #70 /* 'F' */ -+ beq return_float -+ -+ str r0, [r4], #4 /* Low word */ -+ -+ cmp ip, #74 /* 'J' */ -+ streq r1, [r4], #4 /* High word */ -+ -+return: -+ mov r0, r4 /* return ostack */ -+ ldmfd sp!, {r4, r5, r6, r7, r8, r10, r11, lr} -+ bx lr -+ -+return_float: -+ add r4, r4, #4 -+ fsts s0, [r4, #-4] -+ b return -+ -+return_double: -+ add r4, r4, #8 -+ fstd d0, [r4, #-8] -+ b return -diff --git a/src/os/linux/arm/dll_md.c b/src/os/linux/arm/dll_md.c -index f5df90e..39bdf7c 100644 ---- a/src/os/linux/arm/dll_md.c -+++ b/src/os/linux/arm/dll_md.c -@@ -1,6 +1,6 @@ - /* -- * Copyright (C) 2003, 2004, 2005, 2006, 2007 -- * Robert Lougher . -+ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2011 -+ * Robert Lougher . - * - * This file is part of JamVM. - * -@@ -31,6 +31,61 @@ - * out stack requirements and then to push arguments. To - * save the first scan at call time, the signature is pre- - * scanned and stack requirement stored in the extra argument. */ -+ -+#ifdef __ARM_PCS_VFP -+int nativeExtraArg(MethodBlock *mb) { -+ char *sig = mb->type; -+ int fp_backfill = 0; -+ int stack_args = 0; -+ int int_args = 2; -+ int fp_args = 16; -+ -+ while(*++sig != ')') -+ switch(*sig) { -+ case 'J': -+ if(int_args < 2) -+ stack_args = (stack_args + 15) & ~7; -+ int_args = 0; -+ break; -+ -+ case 'D': -+ fp_backfill |= fp_args & 1; -+ fp_args &= ~1; -+ -+ if(fp_args == 0) { -+ stack_args = (stack_args + 15) & ~7; -+ fp_backfill = 0; -+ } else -+ fp_args -= 2; -+ break; -+ -+ case 'F': -+ if(fp_backfill) -+ fp_backfill = 0; -+ else { -+ if(fp_args == 0) -+ stack_args += 4; -+ else -+ fp_args--; -+ } -+ break; -+ -+ default: -+ if(int_args == 0) -+ stack_args += 4; -+ else -+ int_args--; -+ -+ if(*sig == '[') -+ while(*++sig == '['); -+ if(*sig == 'L') -+ while(*++sig != ';'); -+ break; -+ } -+ -+ return (stack_args + 7) & ~7; -+} -+#else - int nativeExtraArg(MethodBlock *mb) { - char *sig = mb->type; - int args = 0; -@@ -57,7 +112,7 @@ int nativeExtraArg(MethodBlock *mb) { - native method, so minimum stack requirement is 8 bytes. */ - return args < 8 ? 8 : args; - } -- -+#endif - #else - - /* Under OABI, arguments can be copied onto the stack "as is" --- -2.17.1 - -- cgit v1.2.3 From 2995be77e1f81ca3d90f18e0e819952ea02003ad Mon Sep 17 00:00:00 2001 From: Simon South Date: Mon, 1 Jun 2020 13:15:32 -0400 Subject: gnu: jamvm: Add aarch64-linux support. * gnu/packages/java.scm (classpath-devel)[source]: Add (existing) patch. (jamvm)[source]: Add patches. [arguments]: Inherit non-overridden arguments (particularly #:phases) from jamvm-1-bootstrap. * gnu/packages/patches/jamvm-2.0.0-aarch64-support.patch: New file. * gnu/packages/patches/jamvm-2.0.0-opcode-guard.patch: New file. * gnu/local.mk (dist_patch_DATA): Add files. Signed-off-by: Efraim Flashner --- gnu/local.mk | 2 + gnu/packages/java.scm | 14 +- .../patches/jamvm-2.0.0-aarch64-support.patch | 645 +++++++++++++++++++++ .../patches/jamvm-2.0.0-opcode-guard.patch | 35 ++ 4 files changed, 691 insertions(+), 5 deletions(-) create mode 100644 gnu/packages/patches/jamvm-2.0.0-aarch64-support.patch create mode 100644 gnu/packages/patches/jamvm-2.0.0-opcode-guard.patch diff --git a/gnu/local.mk b/gnu/local.mk index df098708e9..4f0d8fb537 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1116,7 +1116,9 @@ dist_patch_DATA = \ %D%/packages/patches/jacal-fix-texinfo.patch \ %D%/packages/patches/jamvm-1.5.1-aarch64-support.patch \ %D%/packages/patches/jamvm-1.5.1-armv7-support.patch \ + %D%/packages/patches/jamvm-2.0.0-aarch64-support.patch \ %D%/packages/patches/jamvm-2.0.0-disable-branch-patching.patch \ + %D%/packages/patches/jamvm-2.0.0-opcode-guard.patch \ %D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \ %D%/packages/patches/java-commons-collections-fix-java8.patch \ %D%/packages/patches/java-jeromq-fix-tests.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 27a6ebc437..8c4b591735 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -713,7 +713,8 @@ machine."))) (file-name (string-append "classpath-" version "-checkout")) (sha256 (base32 - "1v2rww76ww322mpg3s12a1kkc6gkp31bm9gcxs532h0wq285fiw4")))) + "1v2rww76ww322mpg3s12a1kkc6gkp31bm9gcxs532h0wq285fiw4")) + (patches (search-patches "classpath-aarch64-support.patch")))) (arguments `(#:make-flags ;; Ensure that the initial heap size is smaller than the maximum @@ -779,7 +780,9 @@ machine."))) (base32 "1nl0zxz8y5x8gwsrm7n32bry4dx8x70p8z3s9jbdvs8avyb8whkn")) (patches - (search-patches "jamvm-2.0.0-disable-branch-patching.patch")) + (search-patches "jamvm-2.0.0-disable-branch-patching.patch" + "jamvm-2.0.0-opcode-guard.patch" + "jamvm-2.0.0-aarch64-support.patch")) (snippet '(begin ;; Remove precompiled software. @@ -787,9 +790,10 @@ machine."))) #t)))) (build-system gnu-build-system) (arguments - `(#:configure-flags - (list (string-append "--with-classpath-install-dir=" - (assoc-ref %build-inputs "classpath"))))) + (substitute-keyword-arguments (package-arguments jamvm-1-bootstrap) + ((#:configure-flags _) + '(list (string-append "--with-classpath-install-dir=" + (assoc-ref %build-inputs "classpath")))))) (inputs `(("classpath" ,classpath-devel) ("ecj-javac-wrapper" ,ecj-javac-wrapper) diff --git a/gnu/packages/patches/jamvm-2.0.0-aarch64-support.patch b/gnu/packages/patches/jamvm-2.0.0-aarch64-support.patch new file mode 100644 index 0000000000..b67d8b4584 --- /dev/null +++ b/gnu/packages/patches/jamvm-2.0.0-aarch64-support.patch @@ -0,0 +1,645 @@ +From a44154f7a18496cc3e5fc0b1b2ea69523ebc623a Mon Sep 17 00:00:00 2001 +From: Simon South +Date: Mon, 1 Jun 2020 07:09:34 -0400 +Subject: [PATCH] Add support for aarch64 on GNU/Linux + +--- + AUTHORS | 1 + + README | 2 +- + configure.ac | 7 +- + src/arch/Makefile.am | 2 +- + src/arch/aarch64.h | 147 +++++++++++++++++++++ + src/jam.c | 3 +- + src/os/linux/Makefile.am | 2 +- + src/os/linux/aarch64/Makefile.am | 28 ++++ + src/os/linux/aarch64/callNative.S | 212 ++++++++++++++++++++++++++++++ + src/os/linux/aarch64/dll_md.c | 59 +++++++++ + src/os/linux/aarch64/init.c | 51 +++++++ + 11 files changed, 508 insertions(+), 6 deletions(-) + create mode 100644 src/arch/aarch64.h + create mode 100644 src/os/linux/aarch64/Makefile.am + create mode 100644 src/os/linux/aarch64/callNative.S + create mode 100644 src/os/linux/aarch64/dll_md.c + create mode 100644 src/os/linux/aarch64/init.c + +diff --git a/AUTHORS b/AUTHORS +index e1334fe..6fd0eeb 100644 +--- a/AUTHORS ++++ b/AUTHORS +@@ -1 +1,2 @@ + Robert Lougher ++Simon South +diff --git a/README b/README +index c9d80bb..0e93d00 100644 +--- a/README ++++ b/README +@@ -77,7 +77,7 @@ versions of JamVM also includes stubs for common method signatures. + The following platforms/architectures are recognised by configure. Those + marked with * must be configured to use libffi. + +-- Linux: x86, x86_64, ARM, PowerPC, PowerPC64(*), MIPS, HPPA ++- Linux: x86, x86_64, ARM, ARM64, PowerPC, PowerPC64(*), MIPS, HPPA + - FreeBSD: x86, x86_64, ARM, PowerPC, PowerPC64(*), SPARC(*) + - OpenBSD: x86, x86_64, ARM, PowerPC, PowerPC64(*), SPARC(*) + - Mac OS X/Darwin: x86, x86_64, ARM, PowerPC, PowerPC64 +diff --git a/configure.ac b/configure.ac +index 138b7e6..e7051d7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -46,6 +46,7 @@ x86_64-*-freebsd*) host_os=bsd libdl_needed=no ;; + arm*-*-linux*) host_cpu=arm host_os=linux interp_cflags=-marm ;; + arm*-*-openbsd*) host_cpu=arm host_os=bsd libdl_needed=no ;; + arm*-*-freebsd*) host_cpu=arm host_os=bsd libdl_needed=no ;; ++aarch64*-*-linux*) host_cpu=aarch64 host_os=linux ;; + powerpc*-*-linux*) host_cpu=powerpc host_os=linux ;; + powerpc*-*-openbsd*) host_cpu=powerpc host_os=bsd libdl_needed=no ;; + powerpc*-*-freebsd*) host_cpu=powerpc host_os=bsd libdl_needed=no ;; +@@ -155,10 +156,11 @@ AC_ARG_ENABLE(runtime-reloc-checks, + + AC_ARG_ENABLE(int-inlining, + [AS_HELP_STRING(--enable-int-inlining,enable inline threaded version of the interpreter +- (by default enabled on x86_64, i386, powerpc, mips and arm, ++ (by default enabled on x86_64, i386, powerpc, mips, arm and aarch64, + disabled otherwise))],, + [if test "$host_cpu" = x86_64 -o "$host_cpu" = i386 -o "$host_cpu" = x86 -o \ +- "$host_cpu" = powerpc -o "$host_cpu" = arm -o "$host_cpu" = mips; then ++ "$host_cpu" = powerpc -o "$host_cpu" = arm -o "$host_cpu" = mips -o \ ++ "$host_cpu" = aarch64; then + enable_int_inlining=yes + else + enable_int_inlining=no +@@ -407,6 +409,7 @@ AC_CONFIG_FILES( + src/os/linux/x86_64/Makefile \ + src/os/linux/parisc/Makefile \ + src/os/linux/mips/Makefile \ ++ src/os/linux/aarch64/Makefile \ + src/os/darwin/i386/Makefile \ + src/os/darwin/arm/Makefile \ + src/os/darwin/powerpc/Makefile \ +diff --git a/src/arch/Makefile.am b/src/arch/Makefile.am +index 7580a1b..4e2a4f9 100644 +--- a/src/arch/Makefile.am ++++ b/src/arch/Makefile.am +@@ -19,4 +19,4 @@ + ## Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + ## + +-EXTRA_DIST = powerpc.h arm.h i386.h x86_64.h parisc.h mips.h sparc.h ++EXTRA_DIST = powerpc.h arm.h i386.h x86_64.h parisc.h mips.h sparc.h aarch64.h +diff --git a/src/arch/aarch64.h b/src/arch/aarch64.h +new file mode 100644 +index 0000000..1912e79 +--- /dev/null ++++ b/src/arch/aarch64.h +@@ -0,0 +1,147 @@ ++/* ++ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 ++ * Robert Lougher . ++ * Copyright (C) 2020 Simon South . ++ * ++ * This file is part of JamVM. ++ * ++ * This program 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 2, ++ * or (at your option) any later version. ++ * ++ * This program 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 this program; if not, write to the Free Software ++ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ */ ++ ++#include ++ ++#define OS_ARCH "aarch64" ++ ++#define HANDLER_TABLE_T static const void ++#define DOUBLE_1_BITS 0x3ff0000000000000LL ++ ++#define READ_DBL(v,p,l) v = ((u8)p[0]<<56)|((u8)p[1]<<48)|((u8)p[2]<<40) \ ++ |((u8)p[3]<<32)|((u8)p[4]<<24)|((u8)p[5]<<16) \ ++ |((u8)p[6]<<8)|(u8)p[7]; p+=8 ++ ++/* Needed for i386 -- empty here */ ++#define FPU_HACK ++ ++#define COMPARE_AND_SWAP_64(addr, old_val, new_val) \ ++({ \ ++ int result, read_val; \ ++ __asm__ __volatile__ (" \ ++ 1: ldaxr %2, %1; \ ++ cmp %2, %3; \ ++ b.ne 2f; \ ++ stlxr %w0, %4, %1; \ ++ cmp %w0, wzr; \ ++ b.ne 1b; \ ++ 2: cset %w0, eq;" \ ++ : "=&r" (result), "+Q" (*addr), "=&r" (read_val) \ ++ : "r" (old_val), "r" (new_val) \ ++ : "cc"); \ ++ result; \ ++}) ++ ++#define COMPARE_AND_SWAP_32(addr, old_val, new_val) \ ++({ \ ++ int result, read_val; \ ++ __asm__ __volatile__ (" \ ++ 1: ldaxr %w2, %1; \ ++ cmp %w2, %w3; \ ++ b.ne 2f; \ ++ stlxr %w0, %w4, %1; \ ++ cmp %w0, wzr; \ ++ b.ne 1b; \ ++ 2: cset %w0, eq;" \ ++ : "=&r" (result), "+Q" (*addr), "=&r" (read_val) \ ++ : "r" (old_val), "r" (new_val) \ ++ : "cc"); \ ++ result; \ ++}) ++ ++#define COMPARE_AND_SWAP(addr, old_val, new_val) \ ++ COMPARE_AND_SWAP_64(addr, old_val, new_val) ++ ++#define LOCKWORD_READ(addr) \ ++({ \ ++ uintptr_t result; \ ++ __asm__ __volatile__ (" \ ++ ldar %0, %1;" \ ++ : "=r" (result) \ ++ : "Q" (*addr) \ ++ : "cc"); \ ++ result; \ ++}) ++ ++#define LOCKWORD_WRITE(addr, value) \ ++({ \ ++ __asm__ __volatile__ (" \ ++ stlr %1, %0;" \ ++ : "=Q" (*addr) \ ++ : "r" (value) \ ++ : "cc"); \ ++}) ++ ++#define LOCKWORD_COMPARE_AND_SWAP(addr, old_val, new_val) \ ++ COMPARE_AND_SWAP_64(addr, old_val, new_val) ++ ++#define FLUSH_CACHE(addr, length) \ ++{ \ ++ uintptr_t start = (uintptr_t) (addr); \ ++ uintptr_t end = start + length; \ ++ uintptr_t i; \ ++ \ ++ for(i = start & aarch64_data_cache_line_mask; \ ++ i < end; \ ++ i += aarch64_data_cache_line_len) \ ++ __asm__ ("dc cvau, %0" :: "r" (i)); \ ++ \ ++ __asm__ ("dsb ish"); \ ++ \ ++ for(i = start & aarch64_instruction_cache_line_mask; \ ++ i < end; \ ++ i += aarch64_instruction_cache_line_len) \ ++ __asm__ ("ic ivau, %0" :: "r" (i)); \ ++ \ ++ __asm__ ("dsb ish; isb"); \ ++} ++ ++#define GEN_REL_JMP(target_addr, patch_addr, patch_size) \ ++({ \ ++ int patched = FALSE; \ ++ \ ++ if(patch_size >= 4) { \ ++ /* Guard against the pointer difference being \ ++ larger than the signed range */ \ ++ long long offset = (uintptr_t)(target_addr) - \ ++ (uintptr_t)(patch_addr); \ ++ \ ++ if(offset >= -1<<28 && offset < 1<<28) { \ ++ *(uint32_t*)(patch_addr) = offset>>2 & 0x03ffffff \ ++ | 0x14000000; \ ++ patched = TRUE; \ ++ } \ ++ } \ ++ patched; \ ++}) ++ ++#define MBARRIER() __asm__ ("dmb ish" ::: "memory") ++#define RMBARRIER() __asm__ ("dmb ishld" ::: "memory") ++#define WMBARRIER() __asm__ ("dmb ishst" ::: "memory") ++#define JMM_LOCK_MBARRIER() __asm__ ("dmb ish" ::: "memory") ++#define JMM_UNLOCK_MBARRIER() JMM_LOCK_MBARRIER() ++ ++/* Defined in src/os/linux/aarch64/init.c */ ++extern unsigned char aarch64_data_cache_line_len; ++extern uintptr_t aarch64_data_cache_line_mask; ++extern unsigned char aarch64_instruction_cache_line_len; ++extern uintptr_t aarch64_instruction_cache_line_mask; +diff --git a/src/jam.c b/src/jam.c +index 052f84a..c97524a 100644 +--- a/src/jam.c ++++ b/src/jam.c +@@ -98,7 +98,8 @@ void showUsage(char *name) { + void showVersionAndCopyright() { + printf("java version \"%s\"\n", JAVA_COMPAT_VERSION); + printf("JamVM version %s\n", VERSION); +- printf("Copyright (C) 2003-2014 Robert Lougher \n\n"); ++ printf("Copyright (C) 2003-2014 Robert Lougher \n"); ++ printf("Portions Copyright (C) 2020 Simon South \n\n"); + printf("This program is free software; you can redistribute it and/or\n"); + printf("modify it under the terms of the GNU General Public License\n"); + printf("as published by the Free Software Foundation; either version 2,\n"); +diff --git a/src/os/linux/Makefile.am b/src/os/linux/Makefile.am +index 542094e..83e7dfe 100644 +--- a/src/os/linux/Makefile.am ++++ b/src/os/linux/Makefile.am +@@ -20,7 +20,7 @@ + ## + + SUBDIRS = @arch@ +-DIST_SUBDIRS = powerpc arm i386 x86_64 parisc mips ++DIST_SUBDIRS = powerpc arm i386 x86_64 parisc mips aarch64 + + noinst_LTLIBRARIES = libos.la + libos_la_SOURCES = os.c +diff --git a/src/os/linux/aarch64/Makefile.am b/src/os/linux/aarch64/Makefile.am +new file mode 100644 +index 0000000..0e5134f +--- /dev/null ++++ b/src/os/linux/aarch64/Makefile.am +@@ -0,0 +1,28 @@ ++## ++## Copyright (C) 2003, 2004, 2005, 2006, 2007, 2010, 2011, 2012 ++## Robert Lougher . ++## ++## File added by Simon South . ++## ++## This file is part of JamVM. ++## ++## This program 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 2, ++## or (at your option) any later version. ++## ++## This program 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 this program; if not, write to the Free Software ++## Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++## ++ ++noinst_LTLIBRARIES = libnative.la ++libnative_la_SOURCES = init.c dll_md.c callNative.S ++ ++AM_CPPFLAGS = -I$(top_builddir)/src -I$(top_srcdir)/src ++AM_CCASFLAGS = -I$(top_builddir)/src +diff --git a/src/os/linux/aarch64/callNative.S b/src/os/linux/aarch64/callNative.S +new file mode 100644 +index 0000000..e067c4f +--- /dev/null ++++ b/src/os/linux/aarch64/callNative.S +@@ -0,0 +1,212 @@ ++/* ++ * Copyright (C) 2008, 2009, 2011, 2012 Robert Lougher . ++ * Copyright (C) 2020 Simon South . ++ * ++ * This file is part of JamVM. ++ * ++ * This program 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 2, ++ * or (at your option) any later version. ++ * ++ * This program 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 this program; if not, write to the Free Software ++ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ */ ++ ++#include "config.h" ++ ++#ifndef USE_FFI ++ .text ++ .arch armv8-a ++ .align 2 ++ .global callJNIMethod ++ .type callJNIMethod,function ++ ++/* ++ * Arguments passed in: ++ * ++ * x0 JNIEnv ++ * x1 class or NULL ++ * x2 sig ++ * w3 extra arg ++ * x4 ostack ++ * x5 function pntr ++ * w6 args count ++ */ ++ ++/* Register usage: ++ * ++ * x20 ostack ++ * x19 sig pntr ++ * x16 function pntr ++ * x15 ostack pntr ++ * x14 args pntr ++ * x13 float/double handler ++ * x12 int/long handler ++ * w11 fp regs remaining ++ * w10 int regs remaining ++ * x9 scratch ++ * x2-x7 outgoing int args ++ * x1 outgoing class or this pntr ++ * x0 outgoing JNIEnv (as passed in) ++ * ++ * d0 - d7 outgoing float args ++ */ ++ ++callJNIMethod: ++ stp x29, x30, [sp, #-32]! ++ mov x29, sp ++ stp x19, x20, [x29, #16] ++ ++ sub sp, sp, w3 /* allocate room for stacked args */ ++ mov x14, sp ++ ++ mov x20, x4 /* preserve ostack */ ++ add x19, x2, #1 /* init sig pntr -- skipping '(' */ ++ ++ mov x16, x5 /* save function pntr */ ++ mov x15, x20 /* init ostack pntr */ ++ ++ adr x13, fp_reg_handlers-8 ++ adr x12, int_reg_handlers-8 ++ ++ mov w11, #8 /* fp regs remaining */ ++ mov w10, #6 /* int regs remaining */ ++ ++ cbnz x1, scan_sig /* is method non-static? */ ++ ldr x1, [x15], #8 /* yes, load x1 with "this" */ ++ ++scan_sig: ++ ldrb w9, [x19], #1 /* get next sig char */ ++ ++ cmp w9, #41 /* ')' */ ++ b.eq done ++ ++ cmp w9, #74 /* 'J' */ ++ b.eq long ++ ++ cmp w9, #70 /* 'F' */ ++ b.eq float ++ ++ cmp w9, #68 /* 'D' */ ++ b.eq double ++ ++skip_brackets: ++ cmp w9, #91 /* '[' */ ++ b.ne 1f ++ ldrb w9, [x19], #1 ++ b skip_brackets ++1: ++ cmp w9, #76 /* 'L' */ ++ b.ne int ++ ++skip_ref: ++ ldrb w9, [x19], #1 ++ cmp w9, #59 /* ';' */ ++ b.ne skip_ref ++ ++int: ++ ldr x9, [x15], #8 ++ cbz w10, stack_push ++ ++load_int_reg: ++ sub w10, w10, #1 ++ add x12, x12, #8 ++ br x12 ++ ++int_reg_handlers: ++ mov x2, x9 ++ b scan_sig ++ mov x3, x9 ++ b scan_sig ++ mov x4, x9 ++ b scan_sig ++ mov x5, x9 ++ b scan_sig ++ mov x6, x9 ++ b scan_sig ++ mov x7, x9 ++ b scan_sig ++ ++long: ++ ldr x9, [x15], #16 ++ cbz w10, stack_push ++ b load_int_reg ++ ++float: ++ ldr w9, [x15], #8 ++ cbz w11, stack_push ++ b load_fp_reg ++ ++double: ++ ldr x9, [x15], #16 ++ cbz w11, stack_push ++ ++load_fp_reg: ++ sub w11, w11, #1 ++ add x13, x13, #8 ++ br x13 ++ ++fp_reg_handlers: ++ fmov d0, x9 ++ b scan_sig ++ fmov d1, x9 ++ b scan_sig ++ fmov d2, x9 ++ b scan_sig ++ fmov d3, x9 ++ b scan_sig ++ fmov d4, x9 ++ b scan_sig ++ fmov d5, x9 ++ b scan_sig ++ fmov d6, x9 ++ b scan_sig ++ fmov d7, x9 ++ b scan_sig ++ ++stack_push: ++ str x9, [x14], #8 ++ b scan_sig ++ ++done: ++ /* Call the function */ ++ blr x16 ++ ++ mov sp, x29 /* Pop argument area */ ++ ++ ldrb w9, [x19] /* Return type */ ++ ++ cmp w9, #86 /* 'V' */ ++ b.eq return ++ ++ cmp w9, #68 /* 'D' */ ++ b.ne 2f ++ str d0, [x20], #16 ++ b return ++2: ++ cmp w9, #70 /* 'F' */ ++ b.ne 3f ++ str s0, [x20], #8 ++ b return ++3: ++ cmp w9, #74 /* 'J' */ ++ b.ne 4f ++ str x0, [x20], #16 ++ b return ++4: ++ str x0, [x20], #8 ++ ++return: ++ mov x0, x20 /* return ostack */ ++ ++ ldp x19, x20, [x29, #16] ++ ldp x29, x30, [sp], #32 ++ ret ++#endif +diff --git a/src/os/linux/aarch64/dll_md.c b/src/os/linux/aarch64/dll_md.c +new file mode 100644 +index 0000000..189f8a8 +--- /dev/null ++++ b/src/os/linux/aarch64/dll_md.c +@@ -0,0 +1,59 @@ ++/* ++ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011 ++ * Robert Lougher . ++ * Copyright (C) 2020 Simon South . ++ * ++ * This file is part of JamVM. ++ * ++ * This program 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 2, ++ * or (at your option) any later version. ++ * ++ * This program 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 this program; if not, write to the Free Software ++ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ */ ++ ++#include "jam.h" ++ ++#ifndef USE_FFI ++ ++int nativeExtraArg(MethodBlock *mb) { ++ char *sig = mb->type; ++ int stack_args = 0; ++ int int_args = 6; ++ int fp_args = 8; ++ ++ while(*++sig != ')') ++ switch(*sig) { ++ case 'F': ++ case 'D': ++ if(fp_args == 0) ++ stack_args += 8; ++ else ++ fp_args--; ++ ++ default: ++ if(int_args == 0) ++ stack_args += 8; ++ else ++ int_args--; ++ ++ if(*sig == '[') ++ while(*++sig == '['); ++ if(*sig == 'L') ++ while(*++sig != ';'); ++ break; ++ } ++ ++ /* Ensure the stack remains 16 byte aligned. */ ++ return (stack_args + 15) & ~15; ++} ++ ++#endif +diff --git a/src/os/linux/aarch64/init.c b/src/os/linux/aarch64/init.c +new file mode 100644 +index 0000000..b21dc55 +--- /dev/null ++++ b/src/os/linux/aarch64/init.c +@@ -0,0 +1,51 @@ ++/* ++ * Copyright (C) 2003, 2004, 2005, 2006, 2007 ++ * Robert Lougher . ++ * Copyright (C) 2020 Simon South . ++ * ++ * This file is part of JamVM. ++ * ++ * This program 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 2, ++ * or (at your option) any later version. ++ * ++ * This program 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 this program; if not, write to the Free Software ++ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ */ ++ ++#include "arch/aarch64.h" ++ ++/* Length in bytes of the smallest line in the host system's data cache */ ++unsigned char aarch64_data_cache_line_len; ++ ++/* Mask used to align a virtual address to a line in the data cache */ ++uintptr_t aarch64_data_cache_line_mask; ++ ++/* Length in bytes of the smallest line in the host system's instruction ++ cache */ ++unsigned char aarch64_instruction_cache_line_len; ++ ++/* Mask used to align a virtual address to a line in the instruction cache */ ++uintptr_t aarch64_instruction_cache_line_mask; ++ ++void initialisePlatform() { ++ unsigned int cache_type; ++ ++ /* Extract information from the cache-type register, which describes aspects ++ of the host's cache configuration */ ++ __asm__ ("mrs %0, ctr_el0" : "=r" (cache_type)); ++ ++ aarch64_data_cache_line_len = 4 << ((cache_type >> 16) & 0x0f); ++ aarch64_data_cache_line_mask = ~(aarch64_data_cache_line_len - 1); ++ ++ aarch64_instruction_cache_line_len = 4 << (cache_type & 0x0f); ++ aarch64_instruction_cache_line_mask = ++ ~(aarch64_instruction_cache_line_len - 1); ++} +-- +2.26.2 + diff --git a/gnu/packages/patches/jamvm-2.0.0-opcode-guard.patch b/gnu/packages/patches/jamvm-2.0.0-opcode-guard.patch new file mode 100644 index 0000000000..5415c27a62 --- /dev/null +++ b/gnu/packages/patches/jamvm-2.0.0-opcode-guard.patch @@ -0,0 +1,35 @@ +From ca11b53896365c948426974cb90e8f71c70d123b Mon Sep 17 00:00:00 2001 +From: Simon South +Date: Sun, 31 May 2020 20:36:43 -0400 +Subject: [PATCH] Guard floating-point opcodes with explicit memory barrier + +--- + src/interp/engine/interp-inlining.h | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/src/interp/engine/interp-inlining.h b/src/interp/engine/interp-inlining.h +index 3339b0e..4ee5c5a 100644 +--- a/src/interp/engine/interp-inlining.h ++++ b/src/interp/engine/interp-inlining.h +@@ -78,8 +78,17 @@ + 4.3, we need to insert a label, and ensure its address + is taken (to stop it being optimised out). However, + this reduces performance on PowerPC by approx 1 - 2%. ++ ++ With gcc 5 and newer an asm statement with a "memory" ++ clobber argument explicitly sets a memory barrier for the ++ compiler, preventing it from reordering memory accesses ++ in a way that breaks decaching. + */ +-#if (__GNUC__ == 4) && (__GNUC_MINOR__ >= 3) ++#if (__GNUC__ > 4) ++#define DEF_GUARD_TABLE(level) /* none */ ++#define GUARD(opcode, level) __asm__("" ::: "memory"); ++#define GUARD_TBLS /* none */ ++#elif (__GNUC__ == 4) && (__GNUC_MINOR__ >= 3) + #define DEF_GUARD_TABLE(level) DEF_HANDLER_TABLE(level, GUARD) + #define GUARD(opcode, level) label(opcode, level, GUARD) + #define GUARD_TBLS , HNDLR_TBLS(GUARD) +-- +2.26.2 + -- cgit v1.2.3 From 793a3ca19428e669582639b1a25fc956dc6d24bf Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 27 Jun 2020 15:40:44 +0200 Subject: gnu: python-cython: Update to 0.29.20. * gnu/packages/python-xyz.scm (python-cython): Update to 0.29.20. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 300277f045..5f52776bda 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3999,14 +3999,14 @@ provides additional functionality on the produced Mallard documents.") (define-public python-cython (package (name "python-cython") - (version "0.29.17") + (version "0.29.20") (source (origin (method url-fetch) (uri (pypi-uri "Cython" version)) (sha256 (base32 - "1wnaz40hdw4mg5acz5gqb6bhjhn4cvfxg0xdzfy7aa6qn665hqb3")))) + "1ivih4zl5fc2yzb3z60i6rj5yrfbbas8n2xql4bzflr2zksimn92")))) (build-system python-build-system) ;; we need the full python package and not just the python-wrapper ;; because we need libpython3.3m.so -- cgit v1.2.3 From dfa99fcd2797e10e00dc9f6bfc78c1e0a3f9777d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 27 Jun 2020 15:37:08 +0200 Subject: gnu: libyaml: Update to 0.2.5. * gnu/packages/web.scm (libyaml): Update to 0.2.5. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index cca722f6e9..ab680209a9 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1488,7 +1488,7 @@ hash/signatures.") (define-public libyaml (package (name "libyaml") - (version "0.2.4") + (version "0.2.5") (source (origin (method url-fetch) @@ -1497,7 +1497,7 @@ hash/signatures.") version ".tar.gz")) (sha256 (base32 - "0mq5wf17ifcwwxq3kbimhi53jn3fg23vcynqpzxjcz3vfjlfs2nq")))) + "1x4fcw13r3lqy8ndydr3ili87wicplw2awbcv6r21qgyfndswhn6")))) (build-system gnu-build-system) (home-page "http://pyyaml.org/wiki/LibYAML") (synopsis "YAML 1.1 parser and emitter written in C") -- cgit v1.2.3 From 2a659af50c8a5e3113337b503339ce797b966e1e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 27 Jun 2020 15:37:44 +0200 Subject: gnu: libyaml: Do not build static libraries. * gnu/packages/web.scm (libyaml)[arguments]: New field. --- gnu/packages/web.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index ab680209a9..cb877bcd7e 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1499,6 +1499,8 @@ hash/signatures.") (base32 "1x4fcw13r3lqy8ndydr3ili87wicplw2awbcv6r21qgyfndswhn6")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (home-page "http://pyyaml.org/wiki/LibYAML") (synopsis "YAML 1.1 parser and emitter written in C") (description -- cgit v1.2.3 From 6a3ae2eec7c7ea06499e70343884ce576e2c29f8 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 27 Jun 2020 16:26:02 +0200 Subject: gnu: libcyaml: Update to 1.1.0. * gnu/packages/web.scm (libcyaml): Update to 1.1.0. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index cb877bcd7e..0835618ede 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -5018,7 +5018,7 @@ written in C. It is developed as part of the NetSurf project.") (define-public libcyaml (package (name "libcyaml") - (version "1.0.1") + (version "1.1.0") (source (origin (method git-fetch) @@ -5027,7 +5027,7 @@ written in C. It is developed as part of the NetSurf project.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0h5ydyqdl8kzh526np3jsi0pm7ks16nh1hjkdsjcd6pacw7y6i6z")))) + (base32 "0428p0rwq71nhh5nzcbapsbrjxa0x5l6h6ns32nxv7j624f0zd93")))) (build-system gnu-build-system) (arguments `(#:make-flags -- cgit v1.2.3 From 5e6d583954b8ca9c4ab2eed3347a92a3ad7ad6fb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 2 Jul 2020 23:26:46 +0200 Subject: gnu: gdb@8.2: Inherit from the 'full' gdb. This reverts commit c007d868686fc2f9bf02a34150d4f0ac72b1f8d2, because later versions of Rust requires loading Python plugins. * gnu/packages/gdb.scm (gdb-minimal-8.2): Rename to ... (gdb-8.2): ... this. Adjust inheritance accordingly. * gnu/packages/rust.scm (rust-1.27)[native-inputs]: Adjust accordingly. --- gnu/packages/gdb.scm | 4 ++-- gnu/packages/rust.scm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm index f2f272cc90..b836228506 100644 --- a/gnu/packages/gdb.scm +++ b/gnu/packages/gdb.scm @@ -131,9 +131,9 @@ written in C, C++, Ada, Objective-C, Pascal and more.") ;; This version of GDB is required by some of the Rust compilers, see ;; . -(define-public gdb-minimal-8.2 +(define-public gdb-8.2 (package - (inherit gdb-minimal) + (inherit gdb) (version "8.2.1") (source (origin (method url-fetch) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index fe43e72421..b084a6df9e 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -828,7 +828,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" (native-inputs ;; FIXME: Rust 1.27 and some later versions require GDB 8.2 specifically. ;; See . - (alist-replace "gdb" (list gdb-minimal-8.2) + (alist-replace "gdb" (list gdb-8.2) (package-native-inputs base-rust))) (arguments (substitute-keyword-arguments (package-arguments base-rust) -- cgit v1.2.3 From 6ba3980e748099d9ee21abd246aeb86ed777744c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 2 Jul 2020 23:27:14 +0200 Subject: gnu: Rust: Use gdb@8. * gnu/packages/rust.scm (rust-1.19)[native-inputs]: Remove GDB-MINIMAL. Add GDB-8.2. (rust-1.27)[native-inputs]: Remove. --- gnu/packages/rust.scm | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index b084a6df9e..9e753d6f99 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -420,7 +420,9 @@ test = { path = \"../libtest\" } `(("bison" ,bison) ; For the tests ("cmake" ,cmake-minimal) ("flex" ,flex) ; For the tests - ("gdb" ,gdb-minimal) ; For the tests + ;; FIXME: Rust 1.27 and some later versions require GDB 8.2 specifically. + ;; See . Use it on all Rusts for simplicity. + ("gdb" ,gdb-8.2) ; For the tests ("procps" ,procps) ; For the tests ("python-2" ,python-2) ("rustc-bootstrap" ,mrustc) @@ -825,11 +827,6 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" "rust-bootstrap-stage0-test.patch" "rust-1.25-accept-more-detailed-gdb-lines.patch" "rust-reproducible-builds.patch"))))) - (native-inputs - ;; FIXME: Rust 1.27 and some later versions require GDB 8.2 specifically. - ;; See . - (alist-replace "gdb" (list gdb-8.2) - (package-native-inputs base-rust))) (arguments (substitute-keyword-arguments (package-arguments base-rust) ((#:phases phases) -- cgit v1.2.3 From 8a6898b60173ff9c70f53a5641335c2e99d51a7e Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Fri, 3 Jul 2020 10:12:04 +0200 Subject: gnu: wget: Cross-build fix. * gnu/packages/wget.scm (wget)[inputs]: Move lzip to ... [native-inputs]: ... here. --- gnu/packages/wget.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm index d7ac9e0c12..146097f37c 100644 --- a/gnu/packages/wget.scm +++ b/gnu/packages/wget.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner ;;; Copyright © 2017 Rutger Helling ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -56,10 +57,10 @@ (inputs `(("gnutls" ,gnutls) ("libidn2" ,libidn2) - ("libpsl" ,libpsl) - ("lzip" ,lzip))) + ("libpsl" ,libpsl))) (native-inputs - `(("pkg-config" ,pkg-config) + `(("lzip" ,lzip) + ("pkg-config" ,pkg-config) ("perl" ,perl) ("python" ,python) ;for testenv suite ("perl-http-daemon" ,perl-http-daemon) -- cgit v1.2.3 From ee392379a10b4b5639bbca6b9b8a08848a02301b Mon Sep 17 00:00:00 2001 From: Tanguy Le Carrour Date: Wed, 8 Jul 2020 14:02:47 +0200 Subject: gnu: r-rcpp: Update to 1.0.5. * gnu/packages/cran.scm (r-rcpp): Update to 1.0.5. Signed-off-by: Efraim Flashner --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index ab5e57c0e2..459edb0e90 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -2003,13 +2003,13 @@ you to rapidly iterate while developing a package.") (define-public r-rcpp (package (name "r-rcpp") - (version "1.0.4.6") + (version "1.0.5") (source (origin (method url-fetch) (uri (cran-uri "Rcpp" version)) (sha256 - (base32 "00mk23zmrqn1c4mk9d6csjcbnl12wd7yicjk2ikmw5dyvdfngbs5")))) + (base32 "012wbj446k1wz6bp6bpf6h77ypvcsw69xvnax6qf6vyc7dj2qimq")))) (build-system r-build-system) (home-page "http://www.rcpp.org") (synopsis "Seamless R and C++ integration") -- cgit v1.2.3 From 695c8fc11a2f6d7adae03ae0924ca936b82350e0 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 9 Jul 2020 13:56:58 +0200 Subject: gnu: gnupg: Update to 2.2.21. * gnu/packages/gnupg.scm (gnupg): Update to 2.2.21. --- gnu/packages/gnupg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index daf4bc3b6e..038b585dfc 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -254,7 +254,7 @@ compatible to GNU Pth.") (define-public gnupg (package (name "gnupg") - (version "2.2.20") + (version "2.2.21") (source (origin (method url-fetch) (uri (string-append "mirror://gnupg/gnupg/gnupg-" version @@ -262,7 +262,7 @@ compatible to GNU Pth.") (patches (search-patches "gnupg-default-pinentry.patch")) (sha256 (base32 - "0c6a4v9p6qzhsw1pfcwc459bxpc8hma0w9z8iqb9khvligack9q4")))) + "1v3nirp9m7yxjkkcdixibckl379pdyr3mdx8b1k379szzdw35s31")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) -- cgit v1.2.3 From 906eaf8cf77ed35b4000966f2530def997ee2874 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 10 Jul 2020 21:29:45 +0200 Subject: gnu: python-pygments: Update to 2.6.1. * gnu/packages/python-xyz.scm (python-pygments): Update to 2.6.1. [properties]: New field. (python2-pygments): Stay on version 2.5.2. --- gnu/packages/python-xyz.scm | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 5f52776bda..cd5df12b9a 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3338,14 +3338,14 @@ text styles of documentation.") (define-public python-pygments (package (name "python-pygments") - (version "2.5.2") + (version "2.6.1") (source (origin (method url-fetch) (uri (pypi-uri "Pygments" version)) (sha256 (base32 - "1zmhnswy0wxfn0xprs9aqsvx2c3kmzfn2wx14q8cv3vpkxdamj4q")))) + "0i4gnd4q0mgkq0dp5wymn7ca8zjd8fgp63139svs6jf2c6h48wv4")))) (build-system python-build-system) (arguments ;; FIXME: Tests require sphinx, which depends on this. @@ -3354,10 +3354,21 @@ text styles of documentation.") (synopsis "Syntax highlighting") (description "Pygments is a syntax highlighting package written in Python.") - (license license:bsd-2))) + (license license:bsd-2) + (properties `((python2-variant . ,(delay python2-pygments)))))) +;; Pygments 2.6 and later does not support Python 2. (define-public python2-pygments - (package-with-python2 python-pygments)) + (let ((base (package-with-python2 (strip-python2-variant python-pygments)))) + (package + (inherit base) + (version "2.5.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "Pygments" version)) + (sha256 + (base32 + "1zmhnswy0wxfn0xprs9aqsvx2c3kmzfn2wx14q8cv3vpkxdamj4q"))))))) (define-public python-bumpversion (package -- cgit v1.2.3 From 97849d6762e1d0865b6a17133c841eb5421c44d3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 13 Jul 2020 23:48:31 +0200 Subject: gnu: python-urllib3: Remove unused input. * gnu/packages/python-web.scm (python-urllib3)[propagated-inputs]: Remove PYTHON-IPADDRESS. [properties]: New field. (python2-urllib3)[propagated-inputs]: Add PYTHON2-IPADDRESS. --- gnu/packages/python-web.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 030abef9c2..4b8a959570 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -1691,7 +1691,6 @@ authenticated session objects providing things like keep-alive.") ("python-certifi" ,python-certifi) ("python-cryptography" ,python-cryptography) ("python-idna" ,python-idna) - ("python-ipaddress" ,python-ipaddress) ("python-pyopenssl" ,python-pyopenssl) ("python-pysocks" ,python-pysocks))) (home-page "https://urllib3.readthedocs.io/") @@ -1700,6 +1699,7 @@ authenticated session objects providing things like keep-alive.") "Urllib3 supports features left out of urllib and urllib2 libraries. It can reuse the same socket connection for multiple requests, it can POST files, supports url redirection and retries, and also gzip and deflate decoding.") + (properties `((python2-variant . ,(delay python2-urllib3)))) (license license:expat))) ;; Some software requires an older version of urllib3, notably Docker. @@ -1715,7 +1715,12 @@ supports url redirection and retries, and also gzip and deflate decoding.") (define-public python2-urllib3 - (package-with-python2 python-urllib3)) + (let ((base (package-with-python2 (strip-python2-variant python-urllib3)))) + (package/inherit + base + (propagated-inputs + `(("python-ipaddress" ,python2-ipaddress) + ,@(package-propagated-inputs base)))))) (define-public awscli (package -- cgit v1.2.3 From f2c37028850fa03d6a25ae6c1d8366fe4b76374b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jul 2020 21:25:32 +0200 Subject: gnu: python-idna: Update to 2.10. * gnu/packages/python-xyz.scm (python-idna): Update to 2.10. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index cd5df12b9a..5baffc8a4a 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -8594,14 +8594,14 @@ versions of Python.") (define-public python-idna (package (name "python-idna") - (version "2.9") + (version "2.10") (source (origin (method url-fetch) (uri (pypi-uri "idna" version)) (sha256 (base32 - "1jxp2pdi8y4asi7ka1zhx3yx09kv8kzj533f0ds7viz49b0x323m")))) + "1xmk3s92d2vq42684p61wixfmh3qpr2mw762w0n6662vhlpqf1xk")))) (build-system python-build-system) (home-page "https://github.com/kjd/idna") (synopsis "Internationalized domain names in applications") -- cgit v1.2.3 From 07c1ccb1eb5ed5f7cb471530d06df3cd8713b135 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jul 2020 21:26:11 +0200 Subject: gnu: python-asn1crypto: Update to 1.3.0. * gnu/packages/python-crypto.scm (python-asn1crypto): Update to 1.3.0. [arguments]: New field. Override check phase. --- gnu/packages/python-crypto.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 5c9c251c01..fd3f918591 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -714,7 +714,7 @@ ECB and OFB).") (define-public python-asn1crypto (package (name "python-asn1crypto") - (version "0.24.0") + (version "1.3.0") (source (origin (method git-fetch) @@ -724,8 +724,13 @@ ECB and OFB).") (file-name (git-file-name name version)) (sha256 (base32 - "10lai2cs5mnz3gpaffbw1m7b885ls8328q5wxm35vfmcip1f0xmb")))) + "0c7rj3hs9fplrj4bv63ppvnnr8fay727w3a9zx3jfkz63wklvm1w")))) (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "python" "run.py" "tests")))))) (home-page "https://github.com/wbond/asn1crypto") (synopsis "ASN.1 parser and serializer in Python") (description "asn1crypto is an ASN.1 parser and serializer with definitions -- cgit v1.2.3 From 7dee475589868bf16b2ad2ef93511be8efb2c77a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 15 Jul 2020 10:26:35 +0300 Subject: build/cargo-utils: Use all allocated threads to generate checksums. * guix/build/cargo-utils.scm (generate-all-checksums): Use n-par-for-each instead of for-each when regenerating checksums for source crates. --- guix/build/cargo-utils.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/guix/build/cargo-utils.scm b/guix/build/cargo-utils.scm index 5ac429a62a..7a3bb4b843 100644 --- a/guix/build/cargo-utils.scm +++ b/guix/build/cargo-utils.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2016 David Craven ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2019 Ivan Petkov -;;; Copyright © 2019 Efraim Flashner +;;; Copyright © 2019, 2020 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,6 +23,7 @@ #:use-module (guix build utils) #:use-module (ice-9 popen) #:use-module (ice-9 rdelim) + #:use-module (ice-9 threads) #:export (generate-checksums generate-all-checksums)) @@ -70,7 +71,7 @@ the same directory." (display "}" port))))) (define (generate-all-checksums dir-name) - (for-each + (n-par-for-each (parallel-job-count) (lambda (filename) (let* ((dir (dirname filename)) (checksum-file (string-append dir "/.cargo-checksum.json"))) -- cgit v1.2.3 From 9ba804af7aac2a16fcd2686e702a72700fac1ffe Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 17 Jul 2020 23:52:19 +0200 Subject: gnu: python-pysocks: Update to 1.7.1. * gnu/packages/python-xyz.scm (python-pysocks): Update to 1.7.1. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 5baffc8a4a..6575589eee 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -15454,14 +15454,14 @@ requirements is not met.") (define-public python-pysocks (package (name "python-pysocks") - (version "1.7.0") + (version "1.7.1") (source (origin (method url-fetch) (uri (pypi-uri "PySocks" version)) (sha256 (base32 - "0z4p31bpqm893cf87qqgb30k7nwd8kqfjwwjm5cvxb6zbyj1w0yr")))) + "184sg65mbmih6ljblfsxcmq5js5l7dj3gpn618w9q5dy3rbh921z")))) (build-system python-build-system) (arguments `(#:tests? #f)) (home-page "https://github.com/Anorov/PySocks") -- cgit v1.2.3 From 327c1d3abdda58d9ead95bcdba6bfa1f0cdf3110 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 19 Jul 2020 16:00:16 +0300 Subject: gnu: python2-pytest: Update to 4.6.11. * gnu/packages/check.scm (python2-pytest): Update to 4.6.11. --- gnu/packages/check.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index c71edc7655..3ed1689b3d 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2015, 2017 Cyril Roelandt ;;; Copyright © 2015 Federico Beffa ;;; Copyright © 2015 Andreas Enge -;;; Copyright © 2015, 2016, 2018, 2019 Efraim Flashner +;;; Copyright © 2015, 2016, 2018, 2019, 2020 Efraim Flashner ;;; Copyright © 2016, 2017 Leo Famulari ;;; Copyright © 2016 Christopher Allan Webber ;;; Copyright © 2016, 2017 Danny Milosavljevic @@ -872,13 +872,13 @@ and many external plugins.") (package (inherit (strip-python2-variant python-pytest)) (name "python2-pytest") - (version "4.6.9") + (version "4.6.11") (source (origin (method url-fetch) (uri (pypi-uri "pytest" version)) (sha256 (base32 - "0fgkmpc31nzy97fxfrkqbzycigdwxwwmninx3qhkzp81migggs0r")))) + "0ls3pqr86xgif6bphsb6wrww9r2vc7p7a2naq8zcq8115wwq5yjh")))) (build-system python-build-system) (arguments `(#:python ,python-2 -- cgit v1.2.3 From 337333c2567bdf767fdc8e04520c4bc0c8b33784 Mon Sep 17 00:00:00 2001 From: Michael Rohleder Date: Tue, 21 Jul 2020 19:32:50 +0200 Subject: gnu: patchelf: Update to 0.11. * gnu/packages/elf.scm (patchelf): Update to 0.11. Signed-off-by: Marius Bakke --- gnu/packages/elf.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm index 3aabc6e927..48558d5f14 100644 --- a/gnu/packages/elf.scm +++ b/gnu/packages/elf.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Marius Bakke ;;; Copyright © 2020 Mark Wielaard +;;; Copyright © 2020 Michael Rohleder ;;; ;;; This file is part of GNU Guix. ;;; @@ -214,7 +215,7 @@ static analysis of the ELF binaries at hand.") (define-public patchelf (package (name "patchelf") - (version "0.10") + (version "0.11") (source (origin (method url-fetch) (uri (string-append @@ -223,7 +224,7 @@ static analysis of the ELF binaries at hand.") "/patchelf-" version ".tar.bz2")) (sha256 (base32 - "1wzwvnlyf853hw9zgqq5522bvf8gqadk8icgqa41a5n7593csw7n")))) + "16ms3ijcihb88j3x6cl8cbvhia72afmfcphczb9cfwr0gbc22chx")))) (build-system gnu-build-system) (arguments '(#:phases -- cgit v1.2.3 From 7f9d8a62ca69ea587cbf07e85510b1fa767ee0a0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 23:55:30 +0200 Subject: gnu: xorg-server-for-tests: Update to 1.20.8. * gnu/packages/xorg.scm (xorg-server-for-tests)[source, version]: Inherit from XORG-SERVER. --- gnu/packages/xorg.scm | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 688d33fca7..6b09845593 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5442,19 +5442,10 @@ draggable titlebars and borders.") ;; This package is intended to be used when building GTK+. ;; Note: It's currently marked as "hidden" to avoid having two non-eq? ;; packages with the same name and version. -;; TODO: Update this in the next rebuild cycle. (define-public xorg-server-for-tests (hidden-package (package - (inherit xorg-server) - (version "1.20.7") - (source (origin - (inherit (package-source xorg-server)) - (uri (string-append "mirror://xorg/individual/xserver/" - "xorg-server-" version ".tar.bz2")) - (sha256 - (base32 - "18bfl04ihw1jr3h0fs522nnxxq5ixjay77y9dcymnkzk23q8cndx"))))))) + (inherit xorg-server)))) (define-public xorg-server-xwayland (package -- cgit v1.2.3 From c23737d6e4ce670477e45c1ce2a0d125ae459c47 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 23:59:30 +0200 Subject: gnu: qtbase: Incorporate bugfix variants. * gnu/packages/qt.scm (qtbase/next, qtbase-for-krita): Remove variables. (qtbase)[source](patches): Add "qtbase-absolute-runpath.patch" and "qtbase-fix-krita-deadlock.patch". (python-pyside-2-tools)[inputs]: Change from QTBASE/NEXT to QTBASE. * gnu/packages/kde.scm (krita)[inputs]: Change from QTBASE-FOR-KRITA to QTBASE. --- gnu/packages/kde.scm | 2 +- gnu/packages/qt.scm | 28 ++++------------------------ 2 files changed, 5 insertions(+), 25 deletions(-) diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 333dd483cb..9a80e362b6 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -434,7 +434,7 @@ illustrate project schedules.") ("openexr" ,openexr) ("perl" ,perl) ("poppler-qt5" ,poppler-qt5) - ("qtbase" ,qtbase-for-krita) + ("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative) ("qtmultimedia" ,qtmultimedia) ("qtsvg" ,qtsvg) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 1cbf7991ab..949d56d87b 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -342,7 +342,6 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qtbase (package (name "qtbase") - ;; TODO Remove ((gnu packages kde) qtbase-for-krita) when upgrading qtbase. (version "5.14.2") (source (origin (method url-fetch) @@ -355,7 +354,9 @@ developers using C++ or QML, a CSS & JavaScript like language.") "12mjsahlma9rw3vz9a6b5h2s6ylg8b34hxc2vnlna5ll429fgfa8")) ;; Use TZDIR to avoid depending on package "tzdata". (patches (search-patches "qtbase-use-TZDIR.patch" - "qtbase-moc-ignore-gcc-macro.patch")) + "qtbase-moc-ignore-gcc-macro.patch" + "qtbase-absolute-runpath.patch" + "qtbase-fix-krita-deadlock.patch")) (modules '((guix build utils))) (snippet ;; corelib uses bundled harfbuzz, md4, md5, sha3 @@ -597,27 +598,6 @@ developers using C++ or QML, a CSS & JavaScript like language.") ;; qt used to refer to the monolithic Qt 5.x package (define-deprecated qt qtbase) -;; This variable is required by 'python-pyside-2-tools', which copies some -;; qtbase executables that fail to run because RUNPATH refers to the -;; wrong $ORIGIN. TODO: Merge with qtbase in the next rebuild cycle. -(define qtbase/next - (package - (inherit qtbase) - (source - (origin - (inherit (package-source qtbase)) - (patches (append (origin-patches (package-source qtbase)) - (search-patches "qtbase-absolute-runpath.patch"))))))) - -(define-public qtbase-for-krita - (hidden-package - (package - (inherit qtbase) - (source (origin - (inherit (package-source qtbase)) - (patches (append (origin-patches (package-source qtbase)) - (search-patches "qtbase-fix-krita-deadlock.patch")))))))) - (define-public qtsvg (package (inherit qtbase) (name "qtsvg") @@ -2721,7 +2701,7 @@ generate Python bindings for your C or C++ code.") (inputs `(("python-pyside-2" ,python-pyside-2) ("python-shiboken-2" ,python-shiboken-2) - ("qtbase" ,qtbase/next))) + ("qtbase" ,qtbase))) (native-inputs `(("python" ,python-wrapper))) (arguments -- cgit v1.2.3 From f25657c58376b78d455c0789ce978581624ab2f0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 01:01:20 +0200 Subject: gnu: pcsc-lite: Update to 1.9.0. * gnu/packages/security-token.scm (pcsc-lite): Update to 1.9.0. --- gnu/packages/security-token.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm index cf6bf18373..96e23518ec 100644 --- a/gnu/packages/security-token.scm +++ b/gnu/packages/security-token.scm @@ -197,14 +197,14 @@ with a PKCS #11 Cryptographic Token Interface.") (define-public pcsc-lite (package (name "pcsc-lite") - (version "1.8.26") + (version "1.9.0") (source (origin (method url-fetch) (uri (string-append "https://pcsclite.apdu.fr/files/" "pcsc-lite-" version ".tar.bz2")) (sha256 (base32 - "1ndvvz0fgqwz70pijymsxmx25mzryb0zav1i8jjc067ndryvxdry")))) + "1y9f9zipnrmgiw0mxrvcgky8vfrcmg6zh40gbln5a93i2c1x8j01")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--enable-usbdropdir=/var/lib/pcsc/drivers" -- cgit v1.2.3 From f045024805780cbb5873efb2da245aa9937828d9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 21:11:42 +0200 Subject: gnu: python-cython: Update to 0.29.21. * gnu/packages/python-xyz.scm (python-cython): Update to 0.29.21. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 190e199b17..2fef66e814 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -4056,14 +4056,14 @@ provides additional functionality on the produced Mallard documents.") (define-public python-cython (package (name "python-cython") - (version "0.29.20") + (version "0.29.21") (source (origin (method url-fetch) (uri (pypi-uri "Cython" version)) (sha256 (base32 - "1ivih4zl5fc2yzb3z60i6rj5yrfbbas8n2xql4bzflr2zksimn92")))) + "1bcwpra7c6k30yvic3sw2v3rq2dr40ypc4zqif6kr52mpn4wnyp5")))) (build-system python-build-system) ;; we need the full python package and not just the python-wrapper ;; because we need libpython3.3m.so -- cgit v1.2.3 From 8b3c0df1a9bbe70ecb6d2e1c19dad62f774a6452 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 21:17:32 +0200 Subject: gnu: nspr: Update to 4.27. * gnu/packages/nss.scm (nspr): Update to 4.27. --- gnu/packages/nss.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm index b19ad7e1e9..67894a0761 100644 --- a/gnu/packages/nss.scm +++ b/gnu/packages/nss.scm @@ -35,7 +35,7 @@ (define-public nspr (package (name "nspr") - (version "4.25") + (version "4.27") (source (origin (method url-fetch) (uri (string-append @@ -43,7 +43,7 @@ version "/src/nspr-" version ".tar.gz")) (sha256 (base32 - "0mjjk2b7ika3v4y99cnaqz3z1iq1a50r1psn9i3s87gr46z0khqb")))) + "16z82qc1l4cqn66p59ai0dy9ycllywn4jlxhip1a605bns952jbd")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) -- cgit v1.2.3 From 4c19be148566c1666996322981980d6c1b82f765 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 21:17:53 +0200 Subject: gnu: NSS: Update to 3.55 [security fixes]. This release fixes CVE-2020-6829, CVE-2020-12400, CVE-2020-12401, and CVE-2020-12403. * gnu/packages/patches/nss-pkgconfig.patch: Adjust patch context. * gnu/packages/nss.scm (nss): Update to 3.55. [arguments]: Add "all" to #:make-flags. Remove obsolete deletions. * gnu/packages/certs.scm (nss-certs): Update to 3.55. --- gnu/packages/certs.scm | 4 ++-- gnu/packages/nss.scm | 18 +++++------------- gnu/packages/patches/nss-pkgconfig.patch | 5 ++++- 3 files changed, 11 insertions(+), 16 deletions(-) diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm index 7f4dca5f56..b892c2a958 100644 --- a/gnu/packages/certs.scm +++ b/gnu/packages/certs.scm @@ -76,7 +76,7 @@ (define-public nss-certs (package (name "nss-certs") - (version "3.52.1") + (version "3.55") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -87,7 +87,7 @@ "nss-" version ".tar.gz"))) (sha256 (base32 - "0y4jb9095f7bbgw7d7kvzm4c3g4p5i6y68fwhb8wlkpb7b1imj5w")))) + "0100hm7n1xrp144xy665z46s0wf1jpkqkncc6bk2w22snhyjwsgw")))) (build-system gnu-build-system) (outputs '("out")) (native-inputs diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm index 67894a0761..7d324d9cf7 100644 --- a/gnu/packages/nss.scm +++ b/gnu/packages/nss.scm @@ -72,7 +72,7 @@ in the Mozilla clients.") (define-public nss (package (name "nss") - (version "3.52.1") + (version "3.55") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -83,7 +83,7 @@ in the Mozilla clients.") "nss-" version ".tar.gz"))) (sha256 (base32 - "0y4jb9095f7bbgw7d7kvzm4c3g4p5i6y68fwhb8wlkpb7b1imj5w")) + "0100hm7n1xrp144xy665z46s0wf1jpkqkncc6bk2w22snhyjwsgw")) ;; Create nss.pc and nss-config. (patches (search-patches "nss-pkgconfig.patch" "nss-increase-test-timeout.patch")) @@ -108,7 +108,8 @@ in the Mozilla clients.") (string-append "NSPR_INCLUDE_DIR=" nspr "/include/nspr") ;; Add $out/lib/nss to RPATH. (string-append "RPATH=" rpath) - (string-append "LDFLAGS=" rpath))) + (string-append "LDFLAGS=" rpath) + "all")) #:modules ((guix build gnu-build-system) (guix build utils) (ice-9 ftw) @@ -138,7 +139,7 @@ in the Mozilla clients.") ;; leading to test failures: ;; . To ;; work around that, set the time to roughly the release date. - (invoke "faketime" "2020-02-01" "./nss/tests/all.sh"))) + (invoke "faketime" "2020-07-01" "./nss/tests/all.sh"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -160,15 +161,6 @@ in the Mozilla clients.") (copy-recursively "dist/public/nss" inc) (copy-recursively (string-append obj "/bin") bin) (copy-recursively (string-append obj "/lib") lib) - - ;; FIXME: libgtest1.so is installed in the above step, and it's - ;; (unnecessarily) linked with several NSS libraries, but - ;; without the needed rpaths, causing the 'validate-runpath' - ;; phase to fail. Here we simply delete libgtest1.so, since it - ;; seems to be used only during the tests. - (delete-file (string-append lib "/libgtest1.so")) - (delete-file (string-append lib "/libgtestutil.so")) - #t)))))) (inputs `(("sqlite" ,sqlite) diff --git a/gnu/packages/patches/nss-pkgconfig.patch b/gnu/packages/patches/nss-pkgconfig.patch index e3145aa4cf..4b9e0506f2 100644 --- a/gnu/packages/patches/nss-pkgconfig.patch +++ b/gnu/packages/patches/nss-pkgconfig.patch @@ -217,9 +217,12 @@ Later adapted to apply cleanly to nss-3.21. + --- nss-3.21/nss/manifest.mn +++ nss-3.21/nss/manifest.mn -@@ -10,4 +10,4 @@ +@@ -10,7 +10,7 @@ RELEASE = nss -DIRS = coreconf lib cmd cpputil gtests +DIRS = coreconf lib cmd cpputil gtests config + + lib: coreconf + cmd: lib -- cgit v1.2.3 From 6a4c48af6589ae1fcc5db75dfd37c6e28ef6d1ee Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 22:34:08 +0200 Subject: gnu: python-cryptography: Update to 3.0. * gnu/packages/python-crypto.scm (python-cryptography-vectors, python-cryptography): Update to 3.0. --- gnu/packages/python-crypto.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 07d1dd1f1f..41d15f80e1 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -470,14 +470,14 @@ is used by the Requests library to verify HTTPS requests.") (define-public python-cryptography-vectors (package (name "python-cryptography-vectors") - (version "2.9.2") + (version "3.0") (source (origin (method url-fetch) (uri (pypi-uri "cryptography_vectors" version)) (sha256 (base32 - "1d4iykcv7cn9j399hczlxm5pzxmqy6d80h3j16dkjwlmv3293b4r")))) + "0fa26ggksyhknb43cja1g0jwp35qkdbavivdq6yynj1igd2z1vsj")))) (build-system python-build-system) (home-page "https://github.com/pyca/cryptography") (synopsis "Test vectors for the cryptography package") @@ -492,14 +492,14 @@ is used by the Requests library to verify HTTPS requests.") (define-public python-cryptography (package (name "python-cryptography") - (version "2.9.2") + (version "3.0") (source (origin (method url-fetch) (uri (pypi-uri "cryptography" version)) (sha256 (base32 - "0af25w5mkd6vwns3r6ai1w5ip9xp0ms9s261zzssbpadzdr05hx0")))) + "0lr06a9317n2iwfqwz9mpalqm99acqwk1478arvyj1jj0ay4v4lf")))) (build-system python-build-system) (inputs `(("openssl" ,openssl))) -- cgit v1.2.3 From ed2f0ca8b1140870d55b12cc914472ef026b8e15 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 22:34:40 +0200 Subject: gnu: ImageMagick: Update to 6.9.11-24. * gnu/packages/imagemagick.scm (imagemagick): Update to 6.9.11-24. --- gnu/packages/imagemagick.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index ccc0cfb493..74dfe5cd56 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -48,14 +48,14 @@ ;; The 7 release series has an incompatible API, while the 6 series is still ;; maintained. Don't update to 7 until we've made sure that the ImageMagick ;; users are ready for the 7-series API. - (version "6.9.11-11") + (version "6.9.11-24") (source (origin (method url-fetch) (uri (string-append "mirror://imagemagick/ImageMagick-" version ".tar.xz")) (sha256 (base32 - "1b67rrppvm04aqr76qky5h2a0j2d161h8kwa04fv611w5xwandr2")))) + "1qxp8fpinh45y4fzdpqvwv2kgr8bh7dqfl08h9n24yadi5nxcqbk")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch" -- cgit v1.2.3 From 1e99f1bc338f71234728fbfbed979f29413be084 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 22:35:29 +0200 Subject: gnu: libnsl: Update to 1.3.0. * gnu/packages/onc-rpc.scm (libnsl): Update to 1.3.0. [arguments]: Remove #:phases. --- gnu/packages/onc-rpc.scm | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/gnu/packages/onc-rpc.scm b/gnu/packages/onc-rpc.scm index 8d0480622e..e4b03b7858 100644 --- a/gnu/packages/onc-rpc.scm +++ b/gnu/packages/onc-rpc.scm @@ -143,7 +143,7 @@ from the protocol files.") (define-public libnsl (package (name "libnsl") - (version "1.2.0") + (version "1.3.0") (source (origin (method git-fetch) (uri (git-reference @@ -152,17 +152,10 @@ from the protocol files.") (file-name (git-file-name name version)) (sha256 (base32 - "1chzqhcgh0yia9js8mh92cmhyka7rh32ql6b3mgdk26n94dqzs8b")))) + "1dayj5i4bh65gn7zkciacnwv2a0ghm6nn58d78rsi4zby4lyj5w5")))) (build-system gnu-build-system) (arguments - `(#:configure-flags '("--disable-static") - #:phases (modify-phases %standard-phases - (add-before 'bootstrap 'gettextize - (lambda _ - ;; Regenerate the bundled Makefile.in.in to avoid a - ;; "gettext infrastructure mismatch" because the - ;; existing version was generated by an older gettext. - (invoke "gettextize" "-f")))))) + `(#:configure-flags '("--disable-static"))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) -- cgit v1.2.3 From 1465949c4236ffa44ce846da8058d593041b888b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 22:36:21 +0200 Subject: gnu: GTK+: Update to 3.24.21. * gnu/packages/gtk.scm (gtk+): Update to 3.24.21. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index e3c097943f..85c5ae14f9 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -761,7 +761,7 @@ application suites.") (define-public gtk+ (package (inherit gtk+-2) (name "gtk+") - (version "3.24.20") + (version "3.24.21") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -769,7 +769,7 @@ application suites.") name "-" version ".tar.xz")) (sha256 (base32 - "1wqxkd3xnqwihcawncp9mkf9bv5a5fg5i4ahm6klpl782vvnkb1d")) + "0llgq2adzn9p3bfq9rv2dhscmvzs35jp3glrfvy3vs1mrpknmsmf")) (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch" "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch")))) (propagated-inputs -- cgit v1.2.3 From def9a2ceff53ac3c315ea7fddb876fdfeb2f775b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 22:36:56 +0200 Subject: gnu: pciutils: Update to 3.7.0. * gnu/packages/pciutils.scm (pciutils): Update to 3.7.0. --- gnu/packages/pciutils.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm index c992988437..a5ed121c85 100644 --- a/gnu/packages/pciutils.scm +++ b/gnu/packages/pciutils.scm @@ -36,7 +36,7 @@ (define-public pciutils (package (name "pciutils") - (version "3.6.4") + (version "3.7.0") (source (origin (method url-fetch) (uri (string-append @@ -45,7 +45,7 @@ (patches (search-patches "pciutils-hurd-configure.patch")) (sha256 (base32 - "0mb0f2phdcmp4kfiqsszn2k6nlln0w160ffzrjjv4bbfjwrgfzzn")))) + "1ss0rnfsx8gvqjxaji4mvbhf9xyih4cadmgadbwwv8mnx1xvjh4x")))) (build-system gnu-build-system) (arguments `(#:phases -- cgit v1.2.3 From e21e294a2cabdfaa4148abdaaa5e473ab63be3a6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 22:37:20 +0200 Subject: gnu: python-mako: Update to 1.1.3. * gnu/packages/python-xyz.scm (python-mako): Update to 1.1.3. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 2fef66e814..71a849874b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -10480,14 +10480,14 @@ python-xdo for newer bindings.)") (define-public python-mako (package (name "python-mako") - (version "1.1.2") + (version "1.1.3") (source (origin (method url-fetch) (uri (pypi-uri "Mako" version)) (sha256 (base32 - "17bd6r9ynp4hyfckkia0bb8gpd98f42jfl5rmzdpbld59bbcaf9i")))) + "09ywrmhr6gdyfx6d5727wwjnz73i6rklqcb4c14m7sqc830wi5c1")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases -- cgit v1.2.3 From dd31108b250e1d32bbbdcd5221c38a69f95b4c0f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 22:37:42 +0200 Subject: gnu: python-requests: Update to 2.24.0. * gnu/packages/python-web.scm (python-requests): Update to 2.24.0. --- gnu/packages/python-web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 1965a96c16..95af1856b8 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -1630,13 +1630,13 @@ WebSocket usage in Python programs.") (define-public python-requests (package (name "python-requests") - (version "2.23.0") + (version "2.24.0") (source (origin (method url-fetch) (uri (pypi-uri "requests" version)) (sha256 (base32 - "1rhpg0jb08v0gd7f19jjiwlcdnxpmqi1fhvw7r4s9avddi4kvx5k")))) + "06r3017hz0hzxv42gpg73l8xvdjbzw7q904ljvp36b5p3l9rlmdk")))) (build-system python-build-system) (propagated-inputs `(("python-certifi" ,python-certifi) -- cgit v1.2.3 From 7c2ca6852226d0b526512f897fd1ad1e0a2e0a3b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 22:38:10 +0200 Subject: gnu: libinput: Update to 1.15.6. * gnu/packages/freedesktop.scm (libinput): Update to 1.15.6. --- gnu/packages/freedesktop.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 23cd1aabf9..accfa02c02 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -185,14 +185,14 @@ freedesktop.org project.") ;; Updating this will rebuild over 700 packages through libinput-minimal. (package (name "libinput") - (version "1.15.5") + (version "1.15.6") (source (origin (method url-fetch) (uri (string-append "https://freedesktop.org/software/libinput/" "libinput-" version ".tar.xz")) (sha256 (base32 - "15ww4jl3lcxyi8m8idg8canklbqv729gnwpkz7r98c1w8a7zq3m9")))) + "073z61dw46cyq0635a5n1mw7hw4qdgr58gbwwb3ds5v3d8hymvdf")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Ddocumentation=false") -- cgit v1.2.3 From 05cf7180be85981228ff9d2eefddf6343fe37237 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 22:38:43 +0200 Subject: gnu: vulkan-tools: Update to 1.2.148. * gnu/packages/vulkan.scm (vulkan-headers, vulkan-loader, vulkan-tools): Update to 1.2.148. --- gnu/packages/vulkan.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index fe37b59e26..7e622946e9 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -183,7 +183,7 @@ interpretation of the specifications for these languages.") (define-public vulkan-headers (package (name "vulkan-headers") - (version "1.2.141") + (version "1.2.148") (source (origin (method git-fetch) @@ -193,7 +193,7 @@ interpretation of the specifications for these languages.") (file-name (git-file-name name version)) (sha256 (base32 - "10nmx6y4llllfcczyfz76amd0vkqv09dj952d19zkzmmgcval7zq")))) + "1c877npvmkv2qxac308m3x0ij3il7hy5xk3fwsfi7s9dcsaxi63j")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; No tests. @@ -207,7 +207,7 @@ interpretation of the specifications for these languages.") (define-public vulkan-loader (package (name "vulkan-loader") - (version "1.2.140") + (version "1.2.148") (source (origin (method git-fetch) @@ -217,7 +217,7 @@ interpretation of the specifications for these languages.") (file-name (git-file-name name version)) (sha256 (base32 - "0rhyz0qgp0i7pcx6wlvgwy7j33d4cs0xx39f0b6igpfk0vk70r1w")))) + "0rxh4q09k0pdl3xlvxdv5qkak4d7az25gijxr5w170fjnd8yfrhk")))) (build-system cmake-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -261,7 +261,7 @@ and the ICD.") (define-public vulkan-tools (package (name "vulkan-tools") - (version "1.2.140") + (version "1.2.148") (source (origin (method git-fetch) @@ -271,7 +271,7 @@ and the ICD.") (file-name (git-file-name name version)) (sha256 (base32 - "08dk0q77kpycn4vv19jh3ig73gbq3psan246a7fss0nfxpiddg0j")))) + "1908fw4rvg5iaim8ph0c0bzhac6jplg8dhfs6dpxd1dapzwqllkf")))) (build-system cmake-build-system) (inputs `(("glslang" ,glslang) -- cgit v1.2.3 From c72283510c260722c7e73dad0f402a60b7ceb4b3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 22:39:32 +0200 Subject: gnu: wayland-protocols: Update to 1.20. * gnu/packages/freedesktop.scm (wayland-protocols): Update to 1.20. --- gnu/packages/freedesktop.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index accfa02c02..921ced46ae 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -673,7 +673,7 @@ applications, X servers (rootless or fullscreen) or other display servers.") (define-public wayland-protocols (package (name "wayland-protocols") - (version "1.18") + (version "1.20") (source (origin (method url-fetch) (uri (string-append @@ -681,7 +681,7 @@ applications, X servers (rootless or fullscreen) or other display servers.") "wayland-protocols-" version ".tar.xz")) (sha256 (base32 - "1cvl93h83ymbfhb567jv5gzyq08181w7c46rsw4xqqqpcvkvfwrx")))) + "1rsdgvkkvxs3cjhpl6agvbkm53vm7k8rg127j9y2vn33m2hvg0lp")))) (build-system gnu-build-system) (inputs `(("wayland" ,wayland))) -- cgit v1.2.3 From ca6ad3fb4283f7a57fa663590d435db89ed04746 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 22:39:57 +0200 Subject: gnu: wayland: Update to 1.18.0. * gnu/packages/freedesktop.scm (wayland): Update to 1.18.0. --- gnu/packages/freedesktop.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 921ced46ae..4d04d1d6c4 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -637,14 +637,14 @@ Python.") (define-public wayland (package (name "wayland") - (version "1.17.0") + (version "1.18.0") (source (origin (method url-fetch) (uri (string-append "https://wayland.freedesktop.org/releases/" name "-" version ".tar.xz")) (sha256 (base32 - "194ibzwpdcn6fvk4xngr4bf5axpciwg2bj82fdvz88kfmjw13akj")))) + "0k995rn96xkplrapz5k648j651wc43kq817xk1x8280h16gsfxa6")))) (build-system gnu-build-system) (arguments `(#:parallel-tests? #f)) -- cgit v1.2.3 From 574a5ea5a001b5aaa23eb021a3c4cdc283d06e1d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 22:40:25 +0200 Subject: gnu: libpsl: Update to 0.21.1. * gnu/packages/web.scm (libpsl): Update to 0.21.1. [source](uri): Adjust for new URL. --- gnu/packages/web.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 2263c4eda4..980b51d7bc 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1258,15 +1258,15 @@ perform the opening handshake in HTTP.") (define-public libpsl (package (name "libpsl") - (version "0.21.0") + (version "0.21.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/rockdaboot/libpsl/" - "releases/download/libpsl-" version + "releases/download/" version "/libpsl-" version ".tar.gz")) (sha256 (base32 - "04pfagb7ppq3yibx4lhazd1v9nwkxdfkyy2rgcrmrf3mldsirga1")))) + "0k0d46bbh1jj2ll369f134vciplrzbqkg7fv9m62bl6lzghy2v5c")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) -- cgit v1.2.3 From 47d723fee28d5784a720d650b460f90f6021a249 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 22:41:02 +0200 Subject: gnu: libvorbis: Update to 1.3.7. * gnu/packages/xiph.scm (libvorbis): Update to 1.3.7. --- gnu/packages/xiph.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index 7487858fd3..923b77e677 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -86,14 +86,14 @@ periodic timestamps for seeking.") (define libvorbis (package (name "libvorbis") - (version "1.3.6") + (version "1.3.7") (source (origin (method url-fetch) (uri (string-append "https://downloads.xiph.org/releases/vorbis/" "libvorbis-" version ".tar.xz")) (sha256 (base32 - "05dlzjkdpv46zb837wysxqyn8l636x3dw8v8ymlrwz2fg1dbn05g")))) + "0jwmf87x5sdis64rbv0l87mdpah1rbilkkxszipbzg128f9w8g5k")))) (build-system gnu-build-system) (propagated-inputs `(("libogg" ,libogg))) (arguments `(#:configure-flags '("LDFLAGS=-lm" -- cgit v1.2.3 From 84f3d745e51baa5118339d12997280aca535a13b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 22:41:31 +0200 Subject: gnu: libevdev: Update to 1.9.1. * gnu/packages/xorg.scm (libevdev): Update to 1.9.1. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 6b09845593..abe1249539 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2466,7 +2466,7 @@ XC-APPGROUP, XTEST.") (define-public libevdev (package (name "libevdev") - (version "1.8.0") + (version "1.9.1") (source (origin (method url-fetch) @@ -2474,7 +2474,7 @@ XC-APPGROUP, XTEST.") name "-" version ".tar.xz")) (sha256 (base32 - "04a2klvii0in9ln8r85mk2cm73jq8ry2m3yzmf2z8xyjxzjcmlr0")))) + "1jvsphdrs1i54ccjcn6ll26jy42am7h28lbsvwa6pmxgqm43qq7m")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-static"))) -- cgit v1.2.3 From 21d25ad5d258ceec07c763575cee600e3932ae32 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 22:41:58 +0200 Subject: gnu: xkeyboard-config: Update to 2.30. * gnu/packages/xorg.scm (xkeyboard-config): Update to 2.30. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index abe1249539..bc9ea125ca 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4027,7 +4027,7 @@ extension to the X11 protocol. It includes: (define-public xkeyboard-config (package (name "xkeyboard-config") - (version "2.29") + (version "2.30") (source (origin (method url-fetch) @@ -4037,7 +4037,7 @@ extension to the X11 protocol. It includes: ".tar.bz2")) (sha256 (base32 - "00hqc8nykvy8c09b8vab64dcd0ij3n5klxjn6rl00q7hickpah8x")))) + "1m4pnzlcdl6d1p7hdccpi0605zkikind00kjc5bx4gk3gd7m4nh9")))) (build-system gnu-build-system) (inputs `(("libx11" ,libx11) -- cgit v1.2.3 From 9c71b3411d8d7da0437dbd83805899a747fd223b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 22:42:31 +0200 Subject: gnu: libvdpau: Update to 1.4. * gnu/packages/video.scm (libvdpau): Update to 1.4. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 0dee73476e..54ba4f81a2 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -2509,7 +2509,7 @@ and JACK.") (define-public libvdpau (package (name "libvdpau") - (version "1.3") + (version "1.4") (source (origin (method git-fetch) @@ -2519,7 +2519,7 @@ and JACK.") (file-name (git-file-name name version)) (sha256 (base32 - "1fb1nh5apr9kzx9bm2lysjwpyva1s60b2l2p230nqgvb11q25hd2")))) + "1hc4mcrbr1yhfiy4zfd8wc2iiqbp90z6jswap0jia20vmyk5lqld")))) (build-system meson-build-system) (native-inputs `(("pkg-config" ,pkg-config))) -- cgit v1.2.3 From ca57048444b5a2d316818bb5bda35ae6e1fd2f61 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 22:43:37 +0200 Subject: gnu: libdrm: Update to 2.4.102. * gnu/packages/patches/libdrm-realpath-virtio.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/xdisorg.scm (libdrm): Update to 2.4.102. [source](patches): Remove. --- gnu/local.mk | 1 - gnu/packages/patches/libdrm-realpath-virtio.patch | 42 ----------------------- gnu/packages/xdisorg.scm | 5 ++- 3 files changed, 2 insertions(+), 46 deletions(-) delete mode 100644 gnu/packages/patches/libdrm-realpath-virtio.patch diff --git a/gnu/local.mk b/gnu/local.mk index 7f9ad1f97b..5fe33a8335 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1209,7 +1209,6 @@ dist_patch_DATA = \ %D%/packages/patches/libbase-use-own-logging.patch \ %D%/packages/patches/libbonobo-activation-test-race.patch \ %D%/packages/patches/libcanberra-sound-theme-freedesktop.patch \ - %D%/packages/patches/libdrm-realpath-virtio.patch \ %D%/packages/patches/libextractor-exiv2.patch \ %D%/packages/patches/libgeotiff-adapt-test-script-for-proj-6.2.patch \ %D%/packages/patches/libgit2-mtime-0.patch \ diff --git a/gnu/packages/patches/libdrm-realpath-virtio.patch b/gnu/packages/patches/libdrm-realpath-virtio.patch deleted file mode 100644 index b7d85160b4..0000000000 --- a/gnu/packages/patches/libdrm-realpath-virtio.patch +++ /dev/null @@ -1,42 +0,0 @@ -Only check for for relative path on virtio devices. Otherwise it could -break driver loading in some circumstances, notably the IceCat sandbox. - -https://gitlab.freedesktop.org/mesa/drm/-/issues/39 - -Taken from upstream: -https://gitlab.freedesktop.org/mesa/drm/-/commit/57df07572ce45a1b60bae6fb89770388d3abd6dd - -diff --git a/xf86drm.c b/xf86drm.c ---- a/xf86drm.c -+++ b/xf86drm.c -@@ -3103,15 +3103,18 @@ static int drmParseSubsystemType(int maj, int min) - int subsystem_type; - - snprintf(path, sizeof(path), "/sys/dev/char/%d:%d/device", maj, min); -- if (!realpath(path, real_path)) -- return -errno; -- snprintf(path, sizeof(path), "%s", real_path); - - subsystem_type = get_subsystem_type(path); -+ /* Try to get the parent (underlying) device type */ - if (subsystem_type == DRM_BUS_VIRTIO) { -+ /* Assume virtio-pci on error */ -+ if (!realpath(path, real_path)) -+ return DRM_BUS_VIRTIO; - strncat(path, "/..", PATH_MAX); - subsystem_type = get_subsystem_type(path); -- } -+ if (subsystem_type < 0) -+ return DRM_BUS_VIRTIO; -+ } - return subsystem_type; - #elif defined(__OpenBSD__) || defined(__DragonFly__) || defined(__FreeBSD__) - return DRM_BUS_PCI; -@@ -3920,6 +3923,7 @@ process_device(drmDevicePtr *device, const char *d_name, - - switch (subsystem_type) { - case DRM_BUS_PCI: -+ case DRM_BUS_VIRTIO: - return drmProcessPciDevice(device, node, node_type, maj, min, - fetch_deviceinfo, flags); - case DRM_BUS_USB: diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 20702c3a4f..98d52cc392 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -497,7 +497,7 @@ rasterisation.") (define-public libdrm (package (name "libdrm") - (version "2.4.101") + (version "2.4.102") (source (origin (method url-fetch) (uri (string-append @@ -505,8 +505,7 @@ rasterisation.") version ".tar.xz")) (sha256 (base32 - "19vqbhqljhln0lrpnv3s7y3lkhsdcp76dl8bhqj3cis9ism1pwyx")) - (patches (search-patches "libdrm-realpath-virtio.patch")))) + "0nx0bd9dhymdsd99v4ifib77yjirkvkxf5hzdkbr7qr8dhrzkjwb")))) (build-system meson-build-system) (arguments `(#:configure-flags -- cgit v1.2.3 From 5060b49336fb915ec8cef0e2e69ff861ac87aa9c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 22:44:20 +0200 Subject: gnu: libva: Update to 2.8.0. * gnu/packages/video.scm (libva): Update to 2.8.0. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 54ba4f81a2..7cfa2d616f 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -847,7 +847,7 @@ libebml is a C++ library to read and write EBML files.") (define-public libva (package (name "libva") - (version "2.7.1") + (version "2.8.0") (source (origin (method url-fetch) @@ -859,7 +859,7 @@ libebml is a C++ library to read and write EBML files.") (string-append "https://www.freedesktop.org/software/vaapi/releases/" "libva/libva-" version "/libva-" version ".tar.bz2"))) (sha256 - (base32 "014av7ayyc624xfmr63xhbgg7nw8fynsswj1g2wmk4lnkyfz23x0")))) + (base32 "1hqy9pnz5jh3dz5r59358n9p2vfy8aj59wpwrj4qz43qs9215fxd")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) -- cgit v1.2.3 From 7033bd0e0081c97fd8d6111991b0d293274770b3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 22:44:57 +0200 Subject: gnu: mesa: Update to 20.1.4. * gnu/packages/gl.scm (mesa): Update to 20.1.4. [replacement]: Remove. (mesa-20.0.8): Remove variable. --- gnu/packages/gl.scm | 26 ++------------------------ 1 file changed, 2 insertions(+), 24 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index fb33bd7f6d..3542fdcc1b 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -233,14 +233,7 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "20.0.7") - - ;; Mesa 20.0.5 through 20.0.7 has problems with some graphic drivers, so - ;; we need this newer version. - ;; https://gitlab.freedesktop.org/mesa/mesa/-/issues/2882 - ;; https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4861 - (replacement mesa-20.0.8) - + (version "20.1.4") (source (origin (method url-fetch) @@ -252,7 +245,7 @@ also known as DXTn or DXTC) for Mesa.") version "/mesa-" version ".tar.xz"))) (sha256 (base32 - "0y517qpdg6v6dsdgzb365p03m30511sbyh8pq0mcvhvjwy7javpy")) + "1zlrczmmkcy42w332rfmlicihlnrxmkrnkpb21sl98725cf2f038")) (patches (search-patches "mesa-skip-disk-cache-test.patch")))) (build-system meson-build-system) @@ -446,21 +439,6 @@ device drivers allows Mesa to be used in many different environments ranging from software emulation to complete hardware acceleration for modern GPUs.") (license license:x11))) -;; Replacement package to fix . -(define mesa-20.0.8 - (package - (inherit mesa) - (version "20.0.8") - (source (origin - (inherit (package-source mesa)) - (uri (list (string-append "https://mesa.freedesktop.org/archive/" - "mesa-" version ".tar.xz") - (string-append "ftp://ftp.freedesktop.org/pub/mesa/" - "mesa-" version ".tar.xz"))) - (sha256 - (base32 - "0v0bfh3ay07s6msxmklvwfaif0q02kq2yhy65fdhys49vw8c1w3c")))))) - (define-public mesa-opencl (package/inherit mesa (name "mesa-opencl") -- cgit v1.2.3 From 7f8ed249cf30729776b1703d6c5dbbdb1632dffe Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 22:55:42 +0200 Subject: gnu: python-coverage: Update to 5.2.1. * gnu/packages/check.scm (python-coverage): Update to 5.2.1. --- gnu/packages/check.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 305b86c7de..41aadb5d2c 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -1510,14 +1510,14 @@ have failed since the last commit or what tests are currently failing."))) (define-public python-coverage (package (name "python-coverage") - (version "5.0.3") + (version "5.2.1") (source (origin (method url-fetch) (uri (pypi-uri "coverage" version)) (sha256 (base32 - "1vrg8panqw79pswg52ygbrff3wdnxarrd9qz6c64ah0c4h2cmbvp")))) + "16z8i18msgs8k74n73dj9x49wzkl0vk4vq8k5pl1bsj70y7b4k53")))) (build-system python-build-system) (arguments ;; FIXME: 95 tests failed, 539 passed, 6 skipped, 2 errors. -- cgit v1.2.3 From 5f95df09b9e16d720cf8debc6de1aeaaf7218bd7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jul 2020 23:11:22 +0200 Subject: gnu: linux-pam: Update to 1.4.0. * gnu/packages/linux.scm (linux-pam): Update to 1.4.0. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 6f98277c89..945d7f2282 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1238,7 +1238,7 @@ application by hooking GStreamer into the loopback device.") (define-public linux-pam (package (name "linux-pam") - (version "1.3.1") + (version "1.4.0") (source (origin (method url-fetch) @@ -1247,7 +1247,7 @@ application by hooking GStreamer into the loopback device.") version "/Linux-PAM-" version ".tar.xz")) (sha256 (base32 - "1nyh9kdi3knhxcbv5v4snya0g3gff0m671lnvqcbygw3rm77mx7g")) + "0d6hvz6lpkac08hw5wnlhfdm0fhqd0n6jf6v7fz3jhg6a6694vfd")) (patches (search-patches "linux-pam-no-setfsuid.patch")))) (build-system gnu-build-system) -- cgit v1.2.3 From e1409c764f554b688efe07c04bf90198daeca258 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 25 Jul 2020 00:56:31 +0200 Subject: gnu: check: Update to 0.15.1. * gnu/packages/check.scm (check): Update to 0.15.1. (check-0.14): New public variable. * gnu/packages/backup.scm (burp)[native-inputs]: Change from CHECK to CHECK-0.14. * gnu/packages/bioinformatics.scm (libsbml)[native-inputs]: Likewise. * gnu/packages/databases.scm (recutils)[native-inputs]: Likewise. * gnu/packages/electronics.scm (libsigrokdecode)[native-inputs]: Likewise. * gnu/packages/enlightenment.scm (efl, edi)[native-inputs]: Likewise. * gnu/packages/gnome.scm (gdm)[inputs]: Likewise. * gnu/packages/gtk.scm (girara)[native-inputs]: Likewise. * gnu/packages/messaging.scm (pidgin)[native-inputs]: Likewise. * gnu/packages/networking.scm (iodine)[native-inputs]: Likewise. * gnu/packages/pulseaudio.scm (pulseaudio)[native-inputs]: Likewise. * gnu/packages/sssd.scm (sssd)[native-inputs]: Likewise. * gnu/packages/web.scm (libwapcaplet)[native-inputs]: Likewise. --- gnu/packages/backup.scm | 2 +- gnu/packages/bioinformatics.scm | 2 +- gnu/packages/check.scm | 18 +++++++++++++++--- gnu/packages/databases.scm | 2 +- gnu/packages/electronics.scm | 2 +- gnu/packages/enlightenment.scm | 4 ++-- gnu/packages/gnome.scm | 2 +- gnu/packages/gtk.scm | 2 +- gnu/packages/messaging.scm | 2 +- gnu/packages/networking.scm | 2 +- gnu/packages/pulseaudio.scm | 2 +- gnu/packages/sssd.scm | 2 +- gnu/packages/web.scm | 2 +- 13 files changed, 28 insertions(+), 16 deletions(-) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index fb6d000170..cd3874b543 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -1102,7 +1102,7 @@ interractive mode.") (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) - ("check" ,check) + ("check" ,check-0.14) ("pkg-config" ,pkg-config))) (home-page "https://burp.grke.org") (synopsis "Differential backup and restore") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 681919df3d..4145d9e1f2 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -15939,7 +15939,7 @@ than is possible with plain-text methods alone.") (propagated-inputs `(("libxml2" ,libxml2))) (native-inputs - `(("check" ,check) + `(("check" ,check-0.14) ("swig" ,swig))) (home-page "http://sbml.org/Software/libSBML") (synopsis "Process SBML files and data streams") diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 41aadb5d2c..79475fbe03 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -83,7 +83,7 @@ (define-public check (package (name "check") - (version "0.14.0") + (version "0.15.1") (source (origin (method url-fetch) @@ -91,7 +91,7 @@ version "/check-" version ".tar.gz")) (sha256 (base32 - "02zkfiyklckmivrfvdsrlzvzphkdsgjrz3igncw05dv5pshhq3xx")))) + "0080qvd7gj1c7j79v9wfiwkp259gcs0xi45b8a0ds3jwjxj3vk61")))) (build-system gnu-build-system) (home-page "https://libcheck.github.io/check/") (synopsis "Unit test framework for C") @@ -104,7 +104,19 @@ faults or other signals. The output from unit tests can be used within source code editors and IDEs.") (license license:lgpl2.1+))) -;; Some packages require this older version. Removed once no longer needed. +;; Some packages require older versions. Removed once no longer needed. +(define-public check-0.14 + (package + (inherit check) + (version "0.14.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/libcheck/check/releases" + "/download/" version "/check-" version ".tar.gz")) + (sha256 + (base32 + "02zkfiyklckmivrfvdsrlzvzphkdsgjrz3igncw05dv5pshhq3xx")))))) + (define-public check-0.12 (package (inherit check) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index ca320f25e8..5c63fd7c66 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1139,7 +1139,7 @@ organized in a hash table or B+ tree.") (native-inputs `(("bc" ,bc) ("bash:include" ,bash "include") - ("check" ,check) + ("check" ,check-0.14) ("libuuid" ,util-linux) ("pkg-config" ,pkg-config))) diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm index 77b383d69c..e4a6d4481b 100644 --- a/gnu/packages/electronics.scm +++ b/gnu/packages/electronics.scm @@ -88,7 +88,7 @@ to take care of the OS-specific details when writing software that uses serial p "/share/doc/libsigrokdecode")) #t))))) (native-inputs - `(("check" ,check) + `(("check" ,check-0.14) ("doxygen" ,doxygen) ("graphviz" ,graphviz) ("pkg-config" ,pkg-config))) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 02e1b0e220..2e8cd6d7ce 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -81,7 +81,7 @@ "0ajwc8lmay5ai7nsrp778g393h0p4h98p4c22gic2w61fgkcd5fy")))) (build-system meson-build-system) (native-inputs - `(("check" ,check) + `(("check" ,check-0.14) ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs @@ -476,7 +476,7 @@ Libraries stack (eo, evas, ecore, edje, emotion, ethumb and elementary).") (lambda _ (setenv "HOME" "/tmp") #t))) #:tests? #f)) ; tests require running dbus service (native-inputs - `(("check" ,check) + `(("check" ,check-0.14) ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 2acfaea9e8..8afeb5ea58 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -7119,7 +7119,7 @@ libxml2.") ("xmllint" ,libxml2))) (inputs `(("accountsservice" ,accountsservice) - ("check" ,check) ; for testing + ("check" ,check-0.14) ;for testing ("elogind" ,elogind) ("gnome-session" ,gnome-session) ("gnome-settings-daemon" ,gnome-settings-daemon) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 85c5ae14f9..28eb769fb1 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1513,7 +1513,7 @@ and routines to assist in editing internationalized text.") (sha256 (base32 "08rpw9hkaprm4r853xy1d35i2af1pji8c3mzzl01mmwmyr9p0x8k")))) (native-inputs `(("pkg-config" ,pkg-config) - ("check" ,check) + ("check" ,check-0.14) ("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ("xorg-server" ,xorg-server-for-tests))) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index adf648a0a6..45d1c211fa 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -457,7 +457,7 @@ authentication.") (build-system glib-or-gtk-build-system) (native-inputs `(("pkg-config" ,pkg-config) - ("check" ,check) + ("check" ,check-0.14) ("intltool" ,intltool) ("gconf" ,gconf) ("python" ,python-2) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 8df66af120..a686db83b2 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -860,7 +860,7 @@ test_parse_format_ipv(4(|_listen_all|_mapped_ipv6)|6)\\);") #:test-target "test")) (inputs `(("net-tools" ,net-tools) ("zlib" ,zlib))) - (native-inputs `(("check" ,check) + (native-inputs `(("check" ,check-0.14) ("pkg-config" ,pkg-config))) (home-page "https://code.kryo.se/iodine/") (synopsis "Tunnel IPv4 data through a DNS server") diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index 58c7e5bd7d..8e8812edd0 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -219,7 +219,7 @@ rates.") ("eudev" ,eudev))) ;for the detection of hardware audio devices (native-inputs - `(("check" ,check) + `(("check" ,check-0.14) ("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ("m4" ,m4) diff --git a/gnu/packages/sssd.scm b/gnu/packages/sssd.scm index c004e8c21c..859112f070 100644 --- a/gnu/packages/sssd.scm +++ b/gnu/packages/sssd.scm @@ -160,7 +160,7 @@ fundamental object types for C.") ("tdb" ,tdb) ("tevent" ,tevent))) (native-inputs - `(("check" ,check) + `(("check" ,check-0.14) ("docbook-xsl" ,docbook-xsl) ("docbook-xml" ,docbook-xml) ("libxml2" ,libxml2) ; for xmllint diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 980b51d7bc..4fc7181f34 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4976,7 +4976,7 @@ commenting.") (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) ("pkg-config" ,pkg-config) - ("check" ,check))) ;for tests + ("check" ,check-0.14))) ;for tests (arguments netsurf-buildsystem-arguments) (home-page "https://www.netsurf-browser.org/projects/libwapcaplet/") (synopsis "String internment library") -- cgit v1.2.3 From 45f7dc37c6bbbd334bc2fed8f088f94b32971948 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 25 Jul 2020 01:12:35 +0200 Subject: gnu: Remove python2-sphinx. * gnu/packages/sphinx.scm (python-sphinx)[properties]: Use self as python2 variant. (python2-sphinx): Remove variable. --- gnu/packages/sphinx.scm | 47 +---------------------------------------------- 1 file changed, 1 insertion(+), 46 deletions(-) diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm index f27f9d0176..2b8b15ff7d 100644 --- a/gnu/packages/sphinx.scm +++ b/gnu/packages/sphinx.scm @@ -99,52 +99,7 @@ for Python projects or other documents consisting of multiple reStructuredText sources.") (license license:bsd-2) - (properties `((python2-variant . ,(delay python2-sphinx)))))) - -;; Sphinx 2 does not support Python 2, so we stick with this older version here. -;; Remove this package once python2-pbcore no longer requires it. -(define-public python2-sphinx - (let ((base (package-with-python2 (strip-python2-variant python-sphinx)))) - (package - (inherit base) - (version "1.7.7") - (source (origin - (method url-fetch) - (uri (pypi-uri "Sphinx" version)) - (sha256 - (base32 - "0pkkbfj7cl157q550gcs45am5y78ps0h7q6455d64s1zmw01jlvi")))) - (arguments - (substitute-keyword-arguments (package-arguments base) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'check 'disable-broken-tests - (lambda _ - ;; These tests are broken when using Python2: - ;; . - (for-each delete-file '("tests/test_api_translator.py" - "tests/test_setup_command.py")) - #t)))))) - (native-inputs `(("python2-mock" ,python2-mock) - ("python2-enum34" ,python2-enum34) - ,@(package-native-inputs base))) - ;; Sphinx 2 has some dependencies that do not support Python 2, so - ;; we keep our own propagated-inputs here instead of inheriting. - (propagated-inputs `(("python2-pytz" ,python2-pytz) - ("python2-typing" ,python2-typing) - ("python2-imagesize" ,python2-imagesize) - ("python2-sphinx-alabaster-theme" - ,python2-sphinx-alabaster-theme) - ("python2-babel" ,python2-babel-2.6) - ("python2-snowballstemmer" ,python2-snowballstemmer) - ("python2-docutils" ,python2-docutils-0.14) - ("python2-jinja2" ,python2-jinja2) - ("python2-packaging" ,python2-packaging) - ("python2-pygments" ,python2-pygments) - ("python2-requests" ,python2-requests) - ("python2-six" ,python2-six) - ("python2-sphinxcontrib-websupport" - ,python2-sphinxcontrib-websupport)))))) + (properties `((python2-variant . ,(delay python-sphinx)))))) (define-public python-sphinxcontrib-applehelp (package -- cgit v1.2.3 From c866b09d40eb17293db99f7c6caaef7fb77bfa33 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 25 Jul 2020 01:15:25 +0200 Subject: gnu: Sphinx: Update to 3.1.2. * gnu/packages/sphinx.scm (python-sphinx): Update to 3.1.2. --- gnu/packages/sphinx.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm index 2b8b15ff7d..5ba9594135 100644 --- a/gnu/packages/sphinx.scm +++ b/gnu/packages/sphinx.scm @@ -48,14 +48,14 @@ (define-public python-sphinx (package (name "python-sphinx") - (version "2.3.1") + (version "3.1.2") (source (origin (method url-fetch) (uri (pypi-uri "Sphinx" version)) (sha256 (base32 - "19a28nsb0w4bs6k8rdfyk6vzrcwdpvhs2wq77rgpmww59yvndrz6")))) + "1zd8l4dh0v4p8m7s51xr001k09cq2023dd0953ygw7xa76dypnmr")))) (build-system python-build-system) (arguments `(#:phases -- cgit v1.2.3 From e605d3bd54118605281a472c97db3d74e7b97b63 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 25 Jul 2020 01:20:26 +0200 Subject: gnu: popt: Update to 1.18. * gnu/packages/popt.scm (popt): Update to 1.18. [source](uri): Change to new tarball URL. [arguments]: Adjust test substitutions for file renames. --- gnu/packages/popt.scm | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/gnu/packages/popt.scm b/gnu/packages/popt.scm index df80f12077..11d2b1827d 100644 --- a/gnu/packages/popt.scm +++ b/gnu/packages/popt.scm @@ -59,27 +59,23 @@ line syntax.") (define-public popt (package (name "popt") - (version "1.16") + (version "1.18") (source (origin (method url-fetch) - ;; The original rpm5.org domain is not accessible since - ;; 2019-06-13, so use Debians copy of the tarball. - (uri (string-append "https://deb.debian.org/debian/pool/main" - "/p/popt/popt_" version ".orig.tar.gz")) - ;; Ensure the file name stays the same to prevent rebuilds. - (file-name (string-append "popt-" version ".tar.gz")) + (uri (string-append "http://ftp.rpm.org/popt/releases" + "/popt-1.x/popt-" version ".tar.gz")) (sha256 (base32 - "1j2c61nn2n351nhj4d25mnf3vpiddcykq005w2h6kw79dwlysa77")))) + "1lf5zlj5rbg6s4bww7hbhpca97prgprnarx978vcwa0bl81vqnai")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases (add-before 'configure 'patch-test (lambda _ - (substitute* "test-poptrc.in" + (substitute* "tests/test-poptrc.in" (("/bin/echo") (which "echo"))) - (substitute* "testit.sh" ; don't expect old libtool names + (substitute* "tests/testit.sh" ;don't expect old libtool names (("lt-test1") "test1")) #t))))) (home-page "http://rpm5.org/files/popt/") -- cgit v1.2.3 From 2960d31aec2541aae8f4b93a0f1bbb0ed2e27f76 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 25 Jul 2020 10:07:59 +0200 Subject: gnu: libical: Disable parallel build. * gnu/packages/calendar.scm (libical)[arguments]: Add #:parallel-build?. --- gnu/packages/calendar.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index 53c73c969d..812c75e98a 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -123,6 +123,7 @@ the library for handling time zones and leap seconds.") (build-system cmake-build-system) (arguments '(#:tests? #f ; test suite appears broken + #:parallel-build? #f ;may cause GIR generation failure #:configure-flags '("-DSHARED_ONLY=true" ;; required by evolution-data-server "-DGOBJECT_INTROSPECTION=true" -- cgit v1.2.3 From 62df18d305bc99a685f6621726b71572771fa09c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 25 Jul 2020 13:18:40 +0200 Subject: gnu: dconf: Update to 0.36.0. * gnu/packages/patches/dconf-meson-0.52.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/gnome.scm (dconf): Update to 0.36.0. [source](patches): Remove. --- gnu/local.mk | 1 - gnu/packages/gnome.scm | 5 ++--- gnu/packages/patches/dconf-meson-0.52.patch | 19 ------------------- 3 files changed, 2 insertions(+), 23 deletions(-) delete mode 100644 gnu/packages/patches/dconf-meson-0.52.patch diff --git a/gnu/local.mk b/gnu/local.mk index 5fe33a8335..4d04c322e7 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -880,7 +880,6 @@ dist_patch_DATA = \ %D%/packages/patches/dbus-CVE-2020-12049.patch \ %D%/packages/patches/dbus-c++-gcc-compat.patch \ %D%/packages/patches/dbus-c++-threading-mutex.patch \ - %D%/packages/patches/dconf-meson-0.52.patch \ %D%/packages/patches/debops-constants-for-external-program-names.patch \ %D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \ %D%/packages/patches/desmume-gcc6-fixes.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 8afeb5ea58..f05af6be13 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3478,17 +3478,16 @@ and RDP protocols.") (define-public dconf (package (name "dconf") - (version "0.34.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" (version-major+minor version) "/" name "-" version ".tar.xz")) - (patches (search-patches "dconf-meson-0.52.patch")) (sha256 (base32 - "0lnsl85cp2vpzgp8pkf6l6yd2i3lp02jdvga1icfa78j2smr8fll")))) + "0bfs069pjv6lhp7xrzmrhz3876ay2ryqxzc6mlva1hhz34ibprlz")))) (build-system meson-build-system) (propagated-inputs ;; In Requires of dconf.pc. diff --git a/gnu/packages/patches/dconf-meson-0.52.patch b/gnu/packages/patches/dconf-meson-0.52.patch deleted file mode 100644 index c636edc108..0000000000 --- a/gnu/packages/patches/dconf-meson-0.52.patch +++ /dev/null @@ -1,19 +0,0 @@ -Fix build failure with Meson 0.52. - -Taken from upstream: -https://gitlab.gnome.org/GNOME/dconf/commit/7ad890fb7a2ec90a777a756a1fa20a615ec7245e -https://gitlab.gnome.org/GNOME/dconf/merge_requests/54 - -diff --git a/client/meson.build b/client/meson.build -index f3b7122cb05bfa7bb481c487e3cd052aa1ad58e5..de6387e2cac2aba12b83f2614c277bada434fd16 100644 ---- a/client/meson.build -+++ b/client/meson.build -@@ -28,7 +28,7 @@ libdconf_client = static_library( - - libdconf_client_dep = declare_dependency( - dependencies: gio_dep, -- link_whole: libdconf_client, -+ link_with: libdconf_client, - ) - - libdconf = shared_library( -- cgit v1.2.3 From 8780b0e12598e336eba6bfc4b5c631e61e761287 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 25 Jul 2020 14:14:55 +0200 Subject: gnu: alsa-lib: Update to 1.2.3.2. * gnu/packages/linux.scm (alsa-lib): Update to 1.2.3.2. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 945d7f2282..23d544cf62 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1947,7 +1947,7 @@ intercept and print the system calls executed by the program.") (define-public alsa-lib (package (name "alsa-lib") - (version "1.2.2") + (version "1.2.3.2") (source (origin (method url-fetch) (uri (string-append @@ -1955,7 +1955,7 @@ intercept and print the system calls executed by the program.") version ".tar.bz2")) (sha256 (base32 - "1v5kb8jyvrpkvvq7dq8hfbmcj68lml97i4s0prxpfx2mh3c57s6q")))) + "05dyk856ppvqymazyk1cmpln53g88cq1wjpnsygqrvnamyvwa7z8")))) (build-system gnu-build-system) (arguments '(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" -- cgit v1.2.3 From f7b8c5561246d41e49e9e25c18a0b821d68576da Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 25 Jul 2020 14:15:15 +0200 Subject: gnu: alsa-utils: Update to 1.2.3. * gnu/packages/linux.scm (alsa-utils): Update to 1.2.3. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 23d544cf62..cf2f9b2a01 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1971,14 +1971,14 @@ MIDI functionality to the Linux-based operating system.") (define-public alsa-utils (package (name "alsa-utils") - (version "1.2.2") + (version "1.2.3") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.alsa-project.org/pub/utils/" name "-" version ".tar.bz2")) (sha256 (base32 - "1wz460by17rmxrcydn583rd4lhj6wlvqs6x1j5pdzxn5g3app024")))) + "1ai1z4kf91b1m3qrpwqkc1af5vm2fkdkknqv95xdwf19q94aw6gz")))) (build-system gnu-build-system) (arguments ;; XXX: Disable man page creation until we have DocBook. -- cgit v1.2.3 From 91fadb7aa16cecb3c50cfa1e4ec6a5621d489ab3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 25 Jul 2020 14:59:55 +0200 Subject: gnu: dconf: Increase test timeout. * gnu/packages/gnome.scm (dconf)[arguments]: Add #:phases. --- gnu/packages/gnome.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index f05af6be13..806548d428 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3507,7 +3507,16 @@ and RDP protocols.") ("vala" ,vala))) (arguments `(#:glib-or-gtk? #t - #:configure-flags '("-Denable-gtk-doc=true"))) + #:configure-flags '("-Denable-gtk-doc=true") + #:phases (modify-phases %standard-phases + (add-after 'unpack 'increase-test-timeout + (lambda _ + ;; On big-memory systems, the engine test may take + ;; much longer than the default of 30 seconds. + (substitute* "tests/meson.build" + (("test\\(unit_test\\[0\\], exe" all) + (string-append all ", timeout : 90"))) + #t))))) (home-page "https://developer.gnome.org/dconf/") (synopsis "Low-level GNOME configuration system") (description "Dconf is a low-level configuration system. Its main purpose -- cgit v1.2.3 From 25cdd9f7a469f4394568be7e7648021cc723aaae Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 27 Jul 2020 10:06:03 +0300 Subject: gnu: rust: Update to 1.45. * gnu/packages/rust.scm (rust): Change to 1.45. --- gnu/packages/rust.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 9cb0ae59ca..a123bc4eec 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016 Nikita ;;; Copyright © 2017 Ben Woodcroft ;;; Copyright © 2017, 2018 Nikolai Merinov -;;; Copyright © 2017, 2019 Efraim Flashner +;;; Copyright © 2017, 2019, 2020 Efraim Flashner ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Danny Milosavljevic ;;; Copyright © 2019 Ivan Petkov @@ -1315,4 +1315,4 @@ move around." #t))))))))) ;; TODO(staging): Bump this variable to the latest packaged rust. -(define-public rust rust-1.39) +(define-public rust rust-1.45) -- cgit v1.2.3 From bbee4490d961ceb8d025726b04ea0f2a40355186 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 29 Jul 2020 18:37:22 +0200 Subject: gnu: git: Update to 2.28.0. * gnu/packages/version-control.scm (git): Update to 2.28.0. --- gnu/packages/version-control.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index d2a24c7571..9792466f58 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -154,14 +154,14 @@ as well as the classic centralized workflow.") (define-public git (package (name "git") - (version "2.27.0") + (version "2.28.0") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/scm/git/git-" version ".tar.xz")) (sha256 (base32 - "1ybk39ylvs32lywq7ra4l2kdr5izc80r9461hwfnw8pssxs9gjkk")))) + "17a311vzimqn1glc9d7x82rhb1mb81m5rr4g8xji8idaafid39fz")))) (build-system gnu-build-system) (native-inputs `(("native-perl" ,perl) @@ -178,7 +178,7 @@ as well as the classic centralized workflow.") version ".tar.xz")) (sha256 (base32 - "176lkcfhjhqin2w8s814j9wwcian9jr6xx6xzn35i5scn14spjz6")))) + "1dvwq0py8a2ywmgc5pzdlsj3608s7r9wyba292728fcs3yj7ynk6")))) ;; For subtree documentation. ("asciidoc" ,asciidoc-py3) ("docbook-xsl" ,docbook-xsl) -- cgit v1.2.3 From 810f4cc187fff8dfae0ddde460f48b383498d482 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 28 Jul 2020 10:55:03 +0300 Subject: gnu: rust-1.28: Remove disable-cargo-test-for-nightly-channel phase. * gnu/packages/rust.scm (rust-1.28)[arguments]: Remove custom 'disable-cargo-test-for-nightly-channel phase. (rust-1.40)[arguments]: Don't remove removed phase. --- gnu/packages/rust.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index a123bc4eec..0c15205773 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -800,7 +800,6 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" (("fn finds_author_git") "#[ignore]\nfn finds_author_git") (("fn finds_local_author_git") "#[ignore]\nfn finds_local_author_git")) #t)) - ;; TODO(rebuild-rust): Remove this phase in rust-1.28 when rebuilding. (add-after 'patch-cargo-tests 'disable-cargo-test-for-nightly-channel (lambda* _ ;; This test failed to work on "nightly" channel builds @@ -880,6 +879,8 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" (substitute* "src/test/run-pass/issue-44056.rs" (("only-x86_64") "ignore-test")) #t)) + ;; This is no longer needed as of 1.28 + (delete 'disable-cargo-test-for-nightly-channel) ;; The thinlto test should pass with llvm 6. (delete 'disable-thinlto-test)))))))) @@ -1249,8 +1250,6 @@ move around." ,(patch-command-exec-tests-phase '(match (find-files "src/test" "command-exec\\.rs") ((file) file)))) - ;; TODO(rebuild-rust): The test in question got fixed long ago. - (delete 'disable-cargo-test-for-nightly-channel) ;; The test got removed in commit 000fe63b6fc57b09828930cacbab20c2ee6e6d15 ;; "Remove painful test that is not pulling its weight" (delete 'remove-unsupported-tests))))))))) -- cgit v1.2.3 From db5604870eb1c870828741861f3fd110568abdaa Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 28 Jul 2020 10:57:13 +0300 Subject: gnu: rust-1.38: Build with llvm-9. * gnu/packages/rust.scm (rust-1.38)[inputs]: Build with llvm-9. (rust-1.40)[inputs]: Don't replace llvm version. --- gnu/packages/rust.scm | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 0c15205773..9b8e7e2604 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -1143,14 +1143,13 @@ move around." (setenv "CARGO_HOME" cargo-home) #t)))))))))) -;; TODO(rebuild-rust): Switch to LLVM 9 in 1.38 instead of 1.40. (define-public rust-1.38 (let ((base-rust (rust-bootstrapped-package rust-1.37 "1.38.0" "101dlpsfkq67p0hbwx4acqq6n90dj4bbprndizpgh1kigk566hk4"))) (package (inherit base-rust) - #;(inputs + (inputs (alist-replace "llvm" (list llvm-9) (package-inputs base-rust))) (arguments @@ -1193,9 +1192,6 @@ move around." "1ba9llwhqm49w7sz3z0gqscj039m53ky9wxzhaj11z6yg1ah15yx"))) (package (inherit base-rust) - (inputs - (alist-replace "llvm" (list llvm-9) - (package-inputs base-rust))) (source (origin (inherit (package-source base-rust)) -- cgit v1.2.3 From b9c30fe7d61d1594fa7589cda6945095af1d27ac Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 29 Jul 2020 08:07:24 +0300 Subject: gnu: rust-1.26: Build with newer openssl. * gnu/packages/rust.scm (rust-1.26)[unputs]: Replace openssl-1.0 with openssl. --- gnu/packages/rust.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 9b8e7e2604..8e3afdd2ed 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -758,6 +758,9 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" (patches (search-patches "rust-coresimd-doctest.patch" "rust-1.25-accept-more-detailed-gdb-lines.patch")))) + (inputs + (alist-replace "openssl" (list openssl) + (package-inputs base-rust))) (arguments (substitute-keyword-arguments (package-arguments base-rust) ((#:phases phases) -- cgit v1.2.3 From 710fc4c845278f9f08e15d67f59b5be2301d3c6a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 2 Aug 2020 10:41:42 +0300 Subject: gnu: imlib2: Update to 1.7.0. * gnu/packages/image.scm (imlib2): Update to 1.7.0. --- gnu/packages/image.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index f216815ddf..34ab2a0255 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -931,7 +931,7 @@ Metafile}, and @acronym{EMF+, Enhanced Metafile Plus} files.") (define-public imlib2 (package (name "imlib2") - (version "1.6.1") + (version "1.7.0") (source (origin (method url-fetch) (uri (string-append @@ -939,7 +939,7 @@ Metafile}, and @acronym{EMF+, Enhanced Metafile Plus} files.") "/imlib2-" version ".tar.bz2")) (sha256 (base32 - "0v8n3dswx7rxqfd0q03xwc7j2w1mv8lv18rdxv487a1xw5vklfad")))) + "0zdk4afdrrr1539f2q15zja19j4wwfmpswzws2ffgflcnhywlxhr")))) (build-system gnu-build-system) (native-inputs `(("pkgconfig" ,pkg-config))) -- cgit v1.2.3 From 08683393c37e947ca119c72911bec7cfca0fad85 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 2 Aug 2020 10:44:41 +0300 Subject: gnu: imlib2: Don't build static library. * gnu/packages/image.scm (imlib2)[arguments]: Disable static library. --- gnu/packages/image.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 34ab2a0255..38e9086110 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -941,6 +941,8 @@ Metafile}, and @acronym{EMF+, Enhanced Metafile Plus} files.") (base32 "0zdk4afdrrr1539f2q15zja19j4wwfmpswzws2ffgflcnhywlxhr")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags (list "--disable-static"))) (native-inputs `(("pkgconfig" ,pkg-config))) (inputs -- cgit v1.2.3 From ab6fe9d362046231ad6f46eccfd1ea2c9c80b401 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20K=C4=85dzio=C5=82ka?= Date: Sat, 25 Jul 2020 23:05:33 +0200 Subject: gnu: qtbase: Provide debug symbols. * gnu/packages/qt.scm (qtbase)[outputs]: Add "debug". [arguments]: Add "-force-debug-info" to configure flags. --- gnu/packages/qt.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 949d56d87b..ee903ecae9 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -368,6 +368,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") "zlib")) #t))))) (build-system gnu-build-system) + (outputs '("out" "debug")) (propagated-inputs `(("mesa" ,mesa) ;; Use which the package, not the function @@ -474,6 +475,9 @@ developers using C++ or QML, a CSS & JavaScript like language.") "-opensource" "-confirm-license" + ;; Later stripped into the :debug output. + "-force-debug-info" + ;; These features require higher versions of Linux than the ;; minimum version of the glibc. See ;; src/corelib/global/minimum-linux_p.h. By disabling these -- cgit v1.2.3 From a13f45c1505fb4cf02dcbd3a80df90cc3edbb9ca Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Mon, 7 Sep 2020 14:57:57 +0200 Subject: build-system: asdf: Switch from bundles to regular compilation. * gnu/packages/lisp.scm (sbcl, ecl)[native-search-paths]: Add 'XDG_CONFIG_DIRS'. * guix/build-system/asdf.scm (asdf-build): Replace 'asd-file' and 'asd-system-name' keywords by 'asd-files' and 'asd-systems'. * guix/build/asdf-build-system.scm (%object-prefix, %lisp-source-install-prefix): Update variables. (install): Update variable. (main-system-name): New variable. (copy-source): Replace 'asd-file' and 'asd-system-name' keywords by 'asd-files' and 'asd-systems'. (configure): New variable. (build, check): Replace 'asd-file' and 'asd-system-name' keywords by 'asd-files' and 'asd-systems'. (create-asd-file, symlink-asd-files): Remove variables. (create-asdf-configuration): New variable. (cleanup-files): Update variable. (%standard-phases): Remove 'create-asd-file' and 'symlink-asd-files' phases. Add 'configure' and 'create-asdf-configuration' phases. * guix/build/lisp-utils.scm (%bundle-install-prefix, normalize-dependency, inputs->asd-file-map, asdf-load-all, compile-system): Remove variables. (compile-systems): New variable. (system-dependencies, compiled-system, generate-system-definition): Remove variable. (test-system): Replace 'asd-file' parameter by 'asd-files'. (generate-executable-for-system): Update variable. (generate-dependency-links, make-asd-file, bundle-asd-file): Remove variables. (make-asdf-configuration): New variable. (build-program, build-image): Set 'XDG_CONFIG_DIRS'. (generate-executable): Update variable. --- gnu/packages/lisp.scm | 10 +- guix/build-system/asdf.scm | 38 ++++-- guix/build/asdf-build-system.scm | 163 +++++++++++--------------- guix/build/lisp-utils.scm | 245 +++++++++------------------------------ 4 files changed, 160 insertions(+), 296 deletions(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index df901aa34f..d2730f3bda 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -298,7 +298,10 @@ interface to the Tk widget system.") (native-search-paths (list (search-path-specification (variable "XDG_DATA_DIRS") - (files '("share"))))) + (files '("share"))) + (search-path-specification + (variable "XDG_CONFIG_DIRS") + (files '("etc"))))) (home-page "http://ecls.sourceforge.net/") (synopsis "Embeddable Common Lisp") (description "ECL is an implementation of the Common Lisp language as @@ -546,7 +549,10 @@ an interpreter, a compiler, a debugger, and much more.") (native-search-paths (list (search-path-specification (variable "XDG_DATA_DIRS") - (files '("share"))))) + (files '("share"))) + (search-path-specification + (variable "XDG_CONFIG_DIRS") + (files '("etc"))))) (home-page "http://www.sbcl.org/") (synopsis "Common Lisp implementation") (description "Steel Bank Common Lisp (SBCL) is a high performance Common diff --git a/guix/build-system/asdf.scm b/guix/build-system/asdf.scm index 630b99e2bf..334a119948 100644 --- a/guix/build-system/asdf.scm +++ b/guix/build-system/asdf.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017 Andy Patterson -;;; Copyright © 2019 Guillaume Le Vaillant +;;; Copyright © 2019, 2020 Guillaume Le Vaillant ;;; ;;; This file is part of GNU Guix. ;;; @@ -54,12 +54,14 @@ ;; Imported build-side modules `((guix build asdf-build-system) (guix build lisp-utils) + (guix build union) ,@%gnu-build-system-modules)) (define %asdf-build-modules ;; Used (visible) build-side modules '((guix build asdf-build-system) (guix build utils) + (guix build union) (guix build lisp-utils))) (define (default-lisp implementation) @@ -210,7 +212,7 @@ set up using CL source package conventions." (define base-arguments (if target-is-source? (strip-keyword-arguments - '(#:tests? #:asd-file #:lisp #:asd-system-name #:test-asd-file) + '(#:tests? #:asd-files #:lisp #:asd-systems #:test-asd-file) (package-arguments pkg)) (package-arguments pkg))) @@ -278,8 +280,8 @@ set up using CL source package conventions." (lambda* (store name inputs #:key source outputs (tests? #t) - (asd-file #f) - (asd-system-name #f) + (asd-files ''()) + (asd-systems ''()) (test-asd-file #f) (phases '(@ (guix build asdf-build-system) %standard-phases)) @@ -289,12 +291,24 @@ set up using CL source package conventions." (imported-modules %asdf-build-system-modules) (modules %asdf-build-modules)) - (define system-name - (or asd-system-name - (string-drop - ;; NAME is the value returned from `package-full-name'. - (hyphen-separated-name->name+version name) - (1+ (string-length lisp-type))))) ; drop the "-" prefix. + ;; FIXME: The definitions of 'systems' and 'files' are pretty hacky. + ;; Is there a more elegant way to do it? + (define systems + (if (null? (cadr asd-systems)) + `(quote + ,(list + (string-drop + ;; NAME is the value returned from `package-full-name'. + (hyphen-separated-name->name+version name) + (1+ (string-length lisp-type))))) ; drop the "-" prefix. + asd-systems)) + + (define files + (if (null? (cadr asd-files)) + `(quote ,(map (lambda (system) + (string-append system ".asd")) + (cadr systems))) + asd-files)) (define builder `(begin @@ -309,8 +323,8 @@ set up using CL source package conventions." (derivation->output-path source)) ((source) source) (source source)) - #:asd-file ,(or asd-file (string-append system-name ".asd")) - #:asd-system-name ,system-name + #:asd-files ,files + #:asd-systems ,systems #:test-asd-file ,test-asd-file #:system ,system #:tests? ,tests? diff --git a/guix/build/asdf-build-system.scm b/guix/build/asdf-build-system.scm index 25dd031962..b7957e7fc5 100644 --- a/guix/build/asdf-build-system.scm +++ b/guix/build/asdf-build-system.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017 Andy Patterson +;;; Copyright © 2020 Guillaume Le Vaillant ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,6 +20,7 @@ (define-module (guix build asdf-build-system) #:use-module ((guix build gnu-build-system) #:prefix gnu:) #:use-module (guix build utils) + #:use-module (guix build union) #:use-module (guix build lisp-utils) #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) @@ -41,14 +43,22 @@ ;; ;; Code: -(define %object-prefix "/lib") +(define %object-prefix "/lib/common-lisp") (define (%lisp-source-install-prefix) - (string-append %source-install-prefix "/" (%lisp-type) "-source")) + (string-append %source-install-prefix "/" (%lisp-type))) (define %system-install-prefix (string-append %source-install-prefix "/systems")) +(define (main-system-name output) + (let ((package-name (package-name->name+version + (strip-store-file-name output))) + (lisp-prefix (string-append (%lisp-type) "-"))) + (if (string-prefix? lisp-prefix package-name) + (string-drop package-name (string-length lisp-prefix)) + package-name))) + (define (lisp-source-directory output name) (string-append output (%lisp-source-install-prefix) "/" name)) @@ -126,8 +136,7 @@ if it's present in the native-inputs." (and parent (string-append parent "/share/common-lisp/" (string-take parent-name - (string-index parent-name #\-)) - "-source"))) + (string-index parent-name #\-))))) (define (first-subdirectory directory) ; From gnu-build-system. "Return the file name of the first sub-directory of DIRECTORY." @@ -146,122 +155,87 @@ if it's present in the native-inputs." (with-directory-excursion source-directory (copy-files-to-output output package-name))) -(define* (copy-source #:key outputs asd-system-name #:allow-other-keys) +(define* (copy-source #:key outputs asd-systems #:allow-other-keys) "Copy the source to the library output." (let* ((out (library-output outputs)) - (install-path (string-append out %source-install-prefix))) - (copy-files-to-output out asd-system-name) + (install-path (string-append out %source-install-prefix)) + (system-name (main-system-name out))) + (copy-files-to-output out system-name) ;; Hide the files from asdf (with-directory-excursion install-path - (rename-file "source" (string-append (%lisp-type) "-source")) + (rename-file "source" (%lisp-type)) (delete-file-recursively "systems"))) #t) -(define* (build #:key outputs inputs asd-file asd-system-name +(define* (configure #:key inputs #:allow-other-keys) + ;; Create a directory having the configuration files for + ;; all the dependencies in 'etc/common-lisp/'. + (let ((out (string-append (getcwd) "/.cl-union"))) + (match inputs + (((name . directories) ...) + (union-build out (filter directory-exists? directories) + #:create-all-directories? #t + #:log-port (%make-void-port "w")))) + (setenv "CL_UNION" out) + (setenv "XDG_CONFIG_DIRS" (string-append out "/etc"))) + #t) + +(define* (build #:key outputs inputs asd-files asd-systems #:allow-other-keys) "Compile the system." (let* ((out (library-output outputs)) - (source-path (lisp-source-directory out asd-system-name)) + (system-name (main-system-name out)) + (source-path (string-append out (%lisp-source-install-prefix))) (translations (wrap-output-translations `(,(output-translation source-path out)))) - (asd-file (source-asd-file out asd-system-name asd-file))) - + (asd-files (map (lambda (asd-file) + (source-asd-file out system-name asd-file)) + asd-files))) (setenv "ASDF_OUTPUT_TRANSLATIONS" (replace-escaped-macros (format #f "~S" translations))) - (setenv "HOME" out) ; ecl's asdf sometimes wants to create $HOME/.cache - - (compile-system asd-system-name asd-file) - - ;; As above, ecl will sometimes create this even though it doesn't use it - - (let ((cache-directory (string-append out "/.cache"))) - (when (directory-exists? cache-directory) - (delete-file-recursively cache-directory)))) + (compile-systems asd-systems asd-files)) #t) -(define* (check #:key tests? outputs inputs asd-file asd-system-name +(define* (check #:key tests? outputs inputs asd-files asd-systems test-asd-file #:allow-other-keys) "Test the system." (let* ((out (library-output outputs)) - (asd-file (source-asd-file out asd-system-name asd-file)) + (system-name (main-system-name out)) + (asd-files (map (lambda (asd-file) + (source-asd-file out system-name asd-file)) + asd-files)) (test-asd-file (and=> test-asd-file - (cut source-asd-file out asd-system-name <>)))) + (cut source-asd-file out system-name <>)))) (if tests? - (test-system asd-system-name asd-file test-asd-file) + (test-system (first asd-systems) asd-files test-asd-file) (format #t "test suite not run~%"))) #t) -(define* (create-asd-file #:key outputs - inputs - asd-file - asd-system-name - #:allow-other-keys) - "Create a system definition file for the built system." - (let*-values (((out) (library-output outputs)) - ((_ version) (package-name->name+version - (strip-store-file-name out))) - ((new-asd-file) (string-append - (library-directory out) - "/" (normalize-string asd-system-name) - ".asd"))) - - (make-asd-file new-asd-file - #:system asd-system-name - #:version version - #:inputs inputs - #:system-asd-file asd-file)) - #t) - -(define* (symlink-asd-files #:key outputs #:allow-other-keys) - "Create an extra reference to the system in a convenient location." - (let* ((out (library-output outputs))) - (for-each - (lambda (asd-file) - (receive (new-asd-file asd-file-directory) - (bundle-asd-file out asd-file) - (mkdir-p asd-file-directory) - (symlink asd-file new-asd-file) - ;; Update the source registry for future phases which might want to - ;; use the newly compiled system. - (prepend-to-source-registry - (string-append asd-file-directory "/")))) - - (find-files (string-append out %object-prefix) "\\.asd$"))) - #t) +(define* (create-asdf-configuration #:key inputs outputs #:allow-other-keys) + "Create the ASDF configuration files for the built systems." + (let* ((system-name (main-system-name (assoc-ref outputs "out"))) + (out (library-output outputs)) + (conf-dir (string-append out "/etc/common-lisp")) + (deps-conf-dir (string-append (getenv "CL_UNION") "/etc/common-lisp")) + (source-dir (lisp-source-directory out system-name)) + (lib-dir (string-append (library-directory out) "/" system-name))) + (make-asdf-configuration system-name conf-dir deps-conf-dir + source-dir lib-dir) + #t)) (define* (cleanup-files #:key outputs #:allow-other-keys) "Remove any compiled files which are not a part of the final bundle." - (let ((out (library-output outputs))) - (match (%lisp-type) - ("sbcl" - (for-each - (lambda (file) - (unless (string-suffix? "--system.fasl" file) - (delete-file file))) - (find-files out "\\.fasl$"))) - ("ecl" - (for-each delete-file - (append (find-files out "\\.fas$") - (find-files out "\\.o$"))))) - - (with-directory-excursion (library-directory out) - (for-each - (lambda (file) - (rename-file file - (string-append "./" (basename file)))) - (find-files ".")) - (for-each delete-file-recursively - (scandir "." - (lambda (file) - (and - (directory-exists? file) - (string<> "." file) - (string<> ".." file))))))) + (let* ((out (library-output outputs)) + (cache-directory (string-append out "/.cache"))) + ;; Remove the cache directory in case the lisp implementation wrote + ;; something in there when compiling or testing a system. + (when (directory-exists? cache-directory) + (delete-file-recursively cache-directory))) #t) (define* (strip #:rest args) @@ -280,15 +254,14 @@ if it's present in the native-inputs." (define %standard-phases (modify-phases gnu:%standard-phases (delete 'bootstrap) - (delete 'configure) - (delete 'install) + (replace 'configure configure) + (add-before 'configure 'copy-source copy-source) (replace 'build build) - (add-before 'build 'copy-source copy-source) (replace 'check check) - (replace 'strip strip) - (add-after 'check 'create-asd-file create-asd-file) - (add-after 'create-asd-file 'cleanup cleanup-files) - (add-after 'cleanup 'create-symlinks symlink-asd-files))) + (add-after 'check 'create-asdf-configuration create-asdf-configuration) + (add-after 'create-asdf-configuration 'cleanup cleanup-files) + (delete 'install) + (replace 'strip strip))) (define* (asdf-build #:key inputs (phases %standard-phases) diff --git a/guix/build/lisp-utils.scm b/guix/build/lisp-utils.scm index f6d9168c48..8a02cb68dd 100644 --- a/guix/build/lisp-utils.scm +++ b/guix/build/lisp-utils.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017 Andy Patterson +;;; Copyright © 2020 Guillaume Le Vaillant ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,19 +29,17 @@ %lisp-type %source-install-prefix lisp-eval-program - compile-system + compile-systems test-system replace-escaped-macros generate-executable-wrapper-system generate-executable-entry-point generate-executable-for-system - %bundle-install-prefix - bundle-asd-file wrap-output-translations prepend-to-source-registry build-program build-image - make-asd-file + make-asdf-configuration valid-char-set normalize-string library-output)) @@ -65,9 +64,6 @@ ;; link farm for system definition (.asd) files. (define %source-install-prefix "/share/common-lisp") -(define (%bundle-install-prefix) - (string-append %source-install-prefix "/" (%lisp-type) "-bundle-systems")) - (define (library-output outputs) "If a `lib' output exists, build things there. Otherwise use `out'." (or (assoc-ref outputs "lib") (assoc-ref outputs "out"))) @@ -81,38 +77,6 @@ "Replace invalid characters in STR with a hyphen." (string-join (string-tokenize str valid-char-set) "-")) -(define (normalize-dependency dependency) - "Normalize the name of DEPENDENCY. Handles dependency definitions of the -dependency-def form described by -. -Assume that any symbols in DEPENDENCY will be in upper-case." - (match dependency - ((':VERSION name rest ...) - `(:version ,(normalize-string name) ,@rest)) - ((':FEATURE feature-specification dependency-specification) - `(:feature - ,feature-specification - ,(normalize-dependency dependency-specification))) - ((? string? name) (normalize-string name)) - (require-specification require-specification))) - -(define (inputs->asd-file-map inputs) - "Produce a hash table of the form (system . asd-file), where system is the -name of an ASD system, and asd-file is the full path to its definition." - (alist->hash-table - (filter-map - (match-lambda - ((_ . path) - (let ((prefix (string-append path (%bundle-install-prefix)))) - (and (directory-exists? prefix) - (match (find-files prefix "\\.asd$") - ((asd-file) - (cons - (string-drop-right (basename asd-file) 4) ; drop ".asd" - asd-file)) - (_ #f)))))) - inputs))) - (define (wrap-output-translations translations) `(:output-translations ,@translations @@ -143,70 +107,26 @@ with PROGRAM." "--eval" "(quit)")) (_ (error "The LISP provided is not supported at this time.")))) -(define (asdf-load-all systems) - (map (lambda (system) - `(asdf:load-system ,system)) - systems)) - -(define (compile-system system asd-file) - "Use a lisp implementation to compile SYSTEM using asdf. Load ASD-FILE -first." +(define (compile-systems systems asd-files) + "Use a lisp implementation to compile the SYSTEMS using asdf. +Load ASD-FILES first." (lisp-eval-program `((require :asdf) - (asdf:load-asd (truename ,asd-file) :name ,(normalize-string system)) - (asdf:operate 'asdf:compile-bundle-op ,system)))) - -(define (system-dependencies system asd-file) - "Return the dependencies of SYSTEM, as reported by -asdf:system-depends-on. First load the system's ASD-FILE." - (define deps-file ".deps.sexp") - (define program - `((require :asdf) - (asdf:load-asd (truename ,asd-file) :name ,(normalize-string system)) - (with-open-file - (stream ,deps-file :direction :output) - (format stream - "~s~%" - (asdf:system-depends-on - (asdf:find-system ,system)))))) - - (dynamic-wind - (lambda _ - (lisp-eval-program program)) - (lambda _ - (call-with-input-file deps-file read)) - (lambda _ - (when (file-exists? deps-file) - (delete-file deps-file))))) - -(define (compiled-system system) - (let ((system (basename system))) ; this is how asdf handles slashes - (match (%lisp-type) - ("sbcl" (string-append system "--system")) - (_ system)))) - -(define* (generate-system-definition system - #:key version dependencies component?) - `(asdf:defsystem - ,(normalize-string system) - ,@(if component? - '(:class asdf/bundle:prebuilt-system) - '()) - :version ,version - :depends-on ,dependencies - ,@(if component? - `(:components ((:compiled-file ,(compiled-system system)))) - '()) - ,@(if (string=? "ecl" (%lisp-type)) - `(:lib ,(string-append system ".a")) - '()))) - -(define (test-system system asd-file test-asd-file) - "Use a lisp implementation to test SYSTEM using asdf. Load ASD-FILE first. + ,@(map (lambda (asd-file) + `(asdf:load-asd (truename ,asd-file))) + asd-files) + ,@(map (lambda (system) + `(asdf:compile-system ,system)) + systems)))) + +(define (test-system system asd-files test-asd-file) + "Use a lisp implementation to test SYSTEM using asdf. Load ASD-FILES first. Also load TEST-ASD-FILE if necessary." (lisp-eval-program `((require :asdf) - (asdf:load-asd (truename ,asd-file) :name ,(normalize-string system)) + ,@(map (lambda (asd-file) + `(asdf:load-asd (truename ,asd-file))) + asd-files) ,@(if test-asd-file `((asdf:load-asd (truename ,test-asd-file))) ;; Try some likely files. @@ -237,6 +157,7 @@ created a \"SYSTEM-exec\" system which contains the entry program." :executable t :compression t)) '()) + (asdf:load-asd (truename ,(string-append system "-exec.asd"))) (asdf:operate ',type ,(string-append system "-exec"))))) (define (generate-executable-wrapper-system system dependencies) @@ -271,79 +192,30 @@ ENTRY-PROGRAM for SYSTEM within the current directory." (declare (ignorable arguments)) ,@entry-program)))))))) -(define (generate-dependency-links registry system) - "Creates a program which populates asdf's source registry from REGISTRY, an -alist of dependency names to corresponding asd files. This allows the system -to locate its dependent systems." - `(progn - (asdf/source-registry:ensure-source-registry) - ,@(map (match-lambda - ((name . asd-file) - `(setf - (gethash ,name - asdf/source-registry:*source-registry*) - ,(string->symbol "#p") - ,asd-file))) - registry))) - -(define* (make-asd-file asd-file - #:key system version inputs - (system-asd-file #f)) - "Create an ASD-FILE for SYSTEM@VERSION, appending a program to allow the -system to find its dependencies, as described by GENERATE-DEPENDENCY-LINKS." - (define dependencies - (let ((deps - (system-dependencies system system-asd-file))) - (if (eq? 'NIL deps) - '() - (map normalize-dependency deps)))) - - (define lisp-input-map - (inputs->asd-file-map inputs)) - - (define dependency-name - (match-lambda - ((':version name _ ...) name) - ((':feature _ dependency-specification) - (dependency-name dependency-specification)) - ((? string? name) name) - (_ #f))) - - (define registry - (filter-map hash-get-handle - (make-list (length dependencies) - lisp-input-map) - (map dependency-name dependencies))) - - ;; Ensure directory exists, which might not be the case for an .asd without components. - (mkdir-p (dirname asd-file)) - (call-with-output-file asd-file - (lambda (port) - (display - (replace-escaped-macros - (format #f "~y~%~y~%" - (generate-system-definition - system - #:version version - #:dependencies dependencies - ;; Some .asd don't have components, and thus they don't generate any .fasl. - #:component? (match (%lisp-type) - ("sbcl" (pair? (find-files (dirname asd-file) - "--system\\.fasl$"))) - ("ecl" (pair? (find-files (dirname asd-file) - "\\.fasb$"))) - (_ (error "The LISP provided is not supported at this time.")))) - (generate-dependency-links registry system))) - port)))) - -(define (bundle-asd-file output-path original-asd-file) - "Find the symlinked bundle file for ORIGINAL-ASD-FILE by looking in -OUTPUT-PATH/share/common-lisp/LISP-bundle-systems/.asd. Returns two -values: the asd file itself and the directory in which it resides." - (let ((bundle-asd-path (string-append output-path - (%bundle-install-prefix)))) - (values (string-append bundle-asd-path "/" (basename original-asd-file)) - bundle-asd-path))) +(define (make-asdf-configuration name conf-dir deps-conf-dir source-dir lib-dir) + (let ((registry-dir (string-append + conf-dir "/source-registry.conf.d")) + (translations-dir (string-append + conf-dir "/asdf-output-translations.conf.d")) + (deps-registry-dir (string-append + deps-conf-dir "/source-registry.conf.d")) + (deps-translations-dir (string-append + deps-conf-dir + "/asdf-output-translations.conf.d"))) + (mkdir-p registry-dir) + (when (directory-exists? deps-registry-dir) + (copy-recursively deps-registry-dir registry-dir)) + (with-output-to-file (string-append registry-dir "/50-" name ".conf") + (lambda _ + (format #t "~y~%" `(:tree ,source-dir)))) + + (mkdir-p translations-dir) + (when (directory-exists? deps-translations-dir) + (copy-recursively deps-translations-dir translations-dir)) + (with-output-to-file (string-append translations-dir "/50-" name ".conf") + (lambda _ + (format #t "~y~%" `((,source-dir :**/ :*.*.*) + (,lib-dir :**/ :*.*.*))))))) (define (replace-escaped-macros string) "Replace simple lisp forms that the guile writer escapes, for example by @@ -368,6 +240,7 @@ will run ENTRY-PROGRAM, a list of Common Lisp expressions in which `arguments' has been bound to the command-line arguments which were passed. Link in any asd files from DEPENDENCY-PREFIXES to ensure references to those libraries are retained." + (setenv "XDG_CONFIG_DIRS" (string-append (library-output outputs) "/etc")) (generate-executable program #:dependencies dependencies #:dependency-prefixes dependency-prefixes @@ -388,6 +261,7 @@ retained." "Generate an image, possibly standalone, which contains all DEPENDENCIES, placing the result in IMAGE.image. Link in any asd files from DEPENDENCY-PREFIXES to ensure references to those libraries are retained." + (setenv "XDG_CONFIG_DIRS" (string-append (library-output outputs) "/etc")) (generate-executable image #:dependencies dependencies #:dependency-prefixes dependency-prefixes @@ -416,20 +290,15 @@ references to those libraries are retained." (mkdir-p bin-directory) (with-directory-excursion bin-directory (generate-executable-wrapper-system name dependencies) - (generate-executable-entry-point name entry-program)) - - (prepend-to-source-registry - (string-append bin-directory "/")) - - (setenv "ASDF_OUTPUT_TRANSLATIONS" - (replace-escaped-macros - (format - #f "~S" - (wrap-output-translations - `(((,bin-directory :**/ :*.*.*) - (,bin-directory :**/ :*.*.*))))))) - - (generate-executable-for-system type name #:compress? compress?) + (generate-executable-entry-point name entry-program) + (setenv "ASDF_OUTPUT_TRANSLATIONS" + (replace-escaped-macros + (format + #f "~S" + (wrap-output-translations + `(((,bin-directory :**/ :*.*.*) + (,bin-directory :**/ :*.*.*))))))) + (generate-executable-for-system type name #:compress? compress?)) (let* ((after-store-prefix-index (string-index out-file #\/ @@ -445,9 +314,11 @@ references to those libraries are retained." (symlink asd-file (string-append hidden-asd-links "/" (basename asd-file)))) - (find-files (string-append path (%bundle-install-prefix)) + (find-files (string-append path %source-install-prefix "/" + (%lisp-type)) "\\.asd$"))) dependency-prefixes)) (delete-file (string-append bin-directory "/" name "-exec.asd")) - (delete-file (string-append bin-directory "/" name "-exec.lisp")))) + (delete-file (string-append bin-directory "/" name "-exec.lisp")) + (delete-file (string-append bin-directory "/" name "-exec.fasl")))) -- cgit v1.2.3 From 2ff8b5bafc80b559d4da94562371f69fe1d364aa Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Thu, 10 Sep 2020 17:25:33 +0200 Subject: gnu: Adapt Lisp packages to changes in asdf-build-system. * gnu/packages/patches/sbcl-graph-asdf-definitions.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. * gnu/packages/lisp-xyz.scm (sbcl-cl-ppcre)[arguments]: Add 'disable-ppcre-unicode' phase. (sbcl-cl-unicode-base): Remove variable and merge its content in ... (sbcl-cl-unicode): ... here. (sbcl-cl-ppcre-unicode)[arguments]: Add 'disable-ppcre' phase. (sbcl-cl-aa, sbcl-cl-paths, sbcl-cl-paths-ttf): Remove variables and merge their contents in ... (sbcl-cl-vectors): ... here. (sbcl-spatial-trees)[arguments]: Remove 'asd-file' keyword. (sbcl-clx-truetype)[inputs]: Remove 'cl-paths-ttf'. (sbcl-slynk-boot0, sbcl-slynk-arglists, sbcl-slynk-util, sbcl-slynk-fancy-inspector, sbcl-slynk-package-fu, sbcl-slynk-mrepl, sbcl-slynk-trace-dialog, sbcl-slynk-profiler, sbcl-slynk-stickers, sbcl-slynk-indentation, sbcl-slynk-retro, slynk-systems): Remove variables and merge their contents in ... (sbcl-slynk): ... here. (uglify-js)[arguments]: Fix ASDF initialization in Lisp script. (sbcl-cl-yacc)[arguments]: Remove 'asd-file' and 'asd-system-name' keywords and add 'asd-files' and 'asd-systems' keywords. (sbcl-3bmd-ext-code-blocks): Remove variable and merge its content in ... (sbcl-3bmd): ... here. (sbcl-slime-swank, ecl-slime-swank): New variables. (sbcl-mgl-pax)[propagated-inputs]: Remove and move the content in ... [inputs]: ... here. Remove '3bmd-ext-code-blocks'. (sbcl-prove-asdf): Remove variable and merge its content in ... (sbcl-prove): ... here. (sbcl-proc-parse)[native-inputs]: Remove 'prove-asdf'. (sbcl-ascii-strings, sbcl-simple-scanf): Remove variables and merge their contents in ... (sbcl-cl-string-match): ... here. (sbcl-queues.simple-queue, sbcl-queues.simple-cqueue, sbcl-queues.priority-queue, sbcl-queues.priority-cqueue): Remove variables and merge their contents in ... (sbcl-queues): ... here. (sbcl-cffi-bootstrap, sbcl-cffi-toolchain, sbcl-cffi-libffi, sbcl-cffi-grovel, sbcl-cffi-uffi-compat): Remove variables and merge their contents in ... (sbcl-cffi): ... here. (ecl-cffi): New variable. (sbcl-cl-sqlite)[arguments]: Remove 'asd-file' and 'asd-system-name' keywords and add 'asd-files' and 'asd-systems' keywords. (sbcl-cl-cffi-gtk-boot0, sbcl-cl-cffi-gtk-glib, sbcl-cl-cffi-gtk-gobject, sbcl-cl-cffi-gtk-gio, sbcl-cl-cffi-gtk-cairo, sbcl-cl-cffi-gtk-pango, sbcl-cl-cffi-gtk-gdk-pixbuf, sbcl-cl-cffi-gtk-gdk): Remove variables and merge their contents in ... (sbcl-cl-cffi-gtk): ... here. (sbcl-cl-webkit)[arguments]: Remove 'asd-file' and 'asd-system-name' keywords and add 'asd-files' and 'asd-systems' keywords. (sbcl-usocket-boot0, sbcl-usocket-server): Remove variables and merge their contents in ... (sbcl-usocket): ... here. (sbcl-cl-annot)[arguments]: Remove. (sbcl-cl-syntax-annot, sbcl-cl-syntax-interpol): Remove variables and merge their contents in ... (sbcl-cl-syntax): ... here. (sbcl-cl-utilities)[arguments]: Remove 'asd-file' and 'asd-system-name' keywords and add 'asd-files' and 'asd-systems' keywords. (sbcl-quri, sbcl-myway, sbcl-subseq, sbcl-smart-buffer)[native-inputs]: Remove 'prove-asdf'. (sbcl-fast-http)[native-inputs]: Remove 'prove-asdf' and 'cl-syntax-interpol'. Add 'cl-syntax'. (sbcl-static-vectors)[native-inputs]: Remove 'cffi-grovel'. Add 'cffi'. (sbcl-jonathan)[native-inputs]: Remove 'prove-asdf'. [inputs]: Remove 'cl-syntax-annot'. (sbcl-http-body)[native-inputs]: Remove 'prove-asdf'. (sbcl-lack-request, sbcl-lack-response, sbcl-lack-component, sbcl-lack-util, sbcl-lack-middleware-backtrace, sbcl-lack-middleware-static): Remove variables and merge their contents in ... (sbcl-lack): ... here. (sbcl-ningle)[native-inputs]: Remove 'prove-asdf'. [inputs]: Remove 'cl-syntax-annot', 'lack-request', 'lack-response' and 'lack-component'. Add 'lack'. (clack-commit, clack-revision, sbcl-clack-handler-fcgi, sbcl-clack-socket, sbcl-clack-handler-hunchentoot): Remove variables and merge their contents in ... (sbcl-clack): ... here. (sbcl-parse-declarations)[arguments]: Remove 'asd-file' and 'asd-system-name' keywords and add 'asd-files' and 'asd-systems' keywords. (sbcl-burgled-batteries3)[inputs]: Remove 'cffi-grovel'. (sbcl-trivial-utf-8)[arguments]: Remove 'asd-file' and 'asd-system-name' keywords and add 'asd-files' and 'asd-systems' keywords. (sbcl-iolib.asdf, sbcl-iolib.conf, sbcl-iolib.common-lisp, sbcl-iolib.base, sbcl-iolib.grovel, sbcl-iolib+syscalls, sbcl-iolib+multiplex, sbcl-iolib+streams, sbcl-iolib+sockets): Remove variables and merge their contents in ... (sbcl-iolib): ... here. (sbcl-cxml+xml, sbcl-cxml+dom, sbcl-cxml+klacks, sbcl-cxml+test): Remove variables and merge their contents in ... (sbcl-cxml): ... here. (sbcl-cl-cookie)[native-inputs]: Remove 'prove-asdf'. (sbcl-dexador)[native-inputs]: Remove 'prove-asdf' and 'lack-request'. Add 'lack". (sbcl-fare-quasiquote-optima, sbcl-fare-quasiquote-readtable, sbcl-fare-quasiquote-extras): Remove variables and merge their contents in ... (sbcl-fare-quasiquote): ... here. (sbcl-trivia.level0, sbcl-trivia.level1, sbcl-trivia.level2): Remove variables and merge their contents in ... (sbcl-trivia.trivial): ... here. (sbcl-trivia.balland2006, sbcl-trivia.ppcre, sbcl-trivia.quasiquote, sbcl-trivia.cffi): Remove variables and merge their contents in ... (sbcl-trivia): ... here. (sbcl-cl-str)[native-inputs]: Remove 'prove-asdf'. [arguments]: Remove 'asd-file' and 'asd-system-name' keywords and add 'asd-files' and 'asd-systems' keywords. (sbcl-dbus): New variable. (sbcl-s-sysdeps)[inputs]: Remove 'usocket-server'. (sbcl-periods-series): Remove variable and merge its content in ... (sbcl-periods): ... here. (sbcl-fprog): Remove variable and merge its content in ... (sbcl-cambl): ... here. (sbcl-cl-ledger)[inputs]: Remove 'periods-series'. Add 'periods'. (sbcl-serapeum)[inputs]: Remove 'trivia.quasiquote' and 'fare-quasiquote-extras'. Add 'fare-quasiquote'. (sbcl-stefil)[native-inputs]: Remove. [inputs]: Add swank. (sbcl-graph-dot, sbcl-graph-json): Remove variables and merge their contents in ... (sbcl-graph): ... here. (sbcl-foreign-array, sbcl-physical-dimension, sbcl-science-data): Remove variables and merge their contents in ... (sbcl-antik-base): ... here. (sbcl-gsll)[inputs]: Remove 'cffi-grovel', 'cffi-libffi' and 'foreign-array'. Add 'antik-base' and 'cffi'. (sbcl-antik)[inputs]: Remove 'physical-dimension". Add 'antik-base'. [arguments]: Remove 'asd-file' and 'asd-system-name' keywords and add 'asd-files' and 'asd-systems' keywords. Add 'fix-build' phase. (sbcl-symbol-munger-boot0): Remove variable and merge its content in ... (sbcl-symbol-munger): ... here. (sbcl-lisp-unit2-boot0): Remove variable and merge its content in ... (sbcl-lisp-unit2): ... here. (sbcl-cl-ana-boot0, sbcl-cl-ana.pathname-utils, sbcl-cl-ana.package-utils, sbcl-cl-ana.string-utils, sbcl-cl-ana.functional-utils, sbcl-cl-ana.list-utils, sbcl-cl-ana.generic-math, sbcl-cl-ana.math-functions, sbcl-cl-ana.calculus, sbcl-cl-ana.symbol-utils, sbcl-cl-ana.macro-utils, sbcl-cl-ana.binary-tree, sbcl-cl-ana.tensor, sbcl-cl-ana.error-propagation, sbcl-cl-ana.quantity, sbcl-cl-ana.table, sbcl-cl-ana.table-utils, sbcl-cl-ana.hdf-cffi, sbcl-cl-ana.int-char, sbcl-cl-ana.memoization, sbcl-cl-ana.typespec, sbcl-cl-ana.hdf-typespec, sbcl-cl-ana.hdf-utils, typed-table, sbcl-cl-ana.hdf-table, sbcl-cl-ana.gsl-cffi, sbcl-cl-ana.ntuple-table, sbcl-cl-ana.csv-table, sbcl-cl-ana.reusable-table, sbcl-cl-ana.linear-algebra, sbcl-cl-ana.lorentz, sbcl-cl-ana.clos-utils, sbcl-cl-ana.hash-table-utils, sbcl-cl-ana.map, sbcl-cl-ana.fitting, sbcl-cl-ana.histogram, sbcl-cl-ana.file-utils, sbcl-cl-ana.statistics, sbcl-cl-ana.gnuplot-interface, sbcl-cl-ana.plotting, sbcl-cl-ana.table-viewing, sbcl-cl-ana.serialization, sbcl-cl-ana.makeres, sbcl-cl-ana.makeres-macro, sbcl-cl-ana.makeres-block, sbcl-cl-ana.makeres-progress, sbcl-cl-ana.makeres-table, sbcl-cl-ana.makeres-graphviz, sbcl-cl-ana.makeres-branch, sbcl-cl-ana.utils, sbcl-cl-ana.statistical-learning): Remove variables and merge their contents in ... (sbcl-cl-ana): ... here. (sbcl-cl-libuv)[inputs]: Remove 'cffi-grovel'. (sbcl-cl-async-base, sbcl-cl-async-util, sbcl-cl-async-repl, sbcl-cl-async-ssl): Remove variables and merge their contents in ... (sbcl-cl-async): ... here. (sbcl-ltk-mw, sbcl-ltk-remote): Remove variables and merge their contents in ... (sbcl-ltk): ... here. [arguments]: Add 'fix-build' phase. (sbcl-hdf5-cffi)[inputs]: Remove 'cffi-grovel'. [arguments]: Remove 'asd-file' and 'asd-system-name' keywords and add 'asd-files' and 'asd-systems' keywords. (sbcl-cl-randist, sbcl-float-features, sbcl-function-cache, sbcl-type-r, sbcl-trivialib-type-unify, sbcl-specialized-function, sbcl-constantfold, sbcl-gtype, sbcl-numcl)[arguments]: Remove 'asd-file' and 'asd-system-name' keywords and add 'asd-files' and 'asd-systems' keywords. (sbcl-pzmq)[inputs]: Remove 'cffi-grovel'. (sbcl-simple-date, sbcl-cl-postgres, sbcl-simple-date-postgrs-glue, sbcl-s-sql): Remove variables and merge their contents in ... (sbcl-postmodern): ... here. (sbcl-dbd-mysql, sbcl-dbd-postgres, sbcl-dbd-sqlite3): Remove variables and merge their contents in ... (sbcl-dbi): ... here. (sbcl-clsql-uffi, sbcl-clsql-sqlite3, sbcl-clsql-postgresql, sbcl-clsql-postgresql-socket3, sbcl-clsql-mysql): Remove variables and merge their contents in ... (sbcl-clsql): ... here. (sbcl-sycamore)[arguments]: Remove 'asd-file' keyword and add 'asd-files' keyword. (sbcl-osicat)[native-inputs]: Remove 'cffi-grovel'. (sbcl-clx-xembed, sbcl-quantile-estimator): Remove 'asd-system-name' keyword and add 'asd-systems' keyword. (sbcl-prometheus.collectors.sbcl, sbcl-prometheus.collectors.process, sbcl-prometheus.formats.test, sbcl-prometheus.exposers.hunchentoot, sbcl-prometheus.pushgateway): Remove variables and merge their contents in ... (sbcl-prometheus): ... here. (sbcl-sxql)[native-inputs]: Remove 'prove-asdf'. [inputs]: Remove 'cl-syntax-annot'. Add 'cl-syntax'. (sbcl-1am)[arguments]: Remove 'asd-system-name' keyword and add 'asd-systems' keyword. (sbcl-cl-rdkafka)[inputs]: Remove 'cffi-grovel'. (sbcl-clump-2-3-tree, sbcl-clum-binary-tree): Remove variables and merge their contents in ... (sbcl-clump): ... here. (sbcl-cluffer-base, sbcl-cluffer-standard-line, sbcl-cluffer-standard-buffer, sbcl-cluffer-simple-line, sbcl-cluffer-simple-buffer): Remove variables and merge their contents in ... (sbcl-cluffer): ... here. (sbcl-cl-libsvm-format, sbcl-cl-online-learning, sbcl-cl-random-forest)[native-inputs]: Remove 'prove-asdf'. (sbcl-cl-freetype2)[inputs]: Remove 'cffi-grovel'. (sbcl-clim-lisp, sbcl-clim-basic, sbcl-clim-core, sbcl-esa-mcclim, sbcl-mcclim-fonts, sbcl-automaton, sbcl-persistent, sbcl-drei-mcclim, sbcl-clim, sbcl-mcclim-backend-common, sbcl-mcclim-clx, sbcl-mcclim-fonts-truetype, sbcl-mcclim-fonts-clx-truetype, sbcl-mcclim-clx-truetype, sbcl-mcclim-fontconfig, sbcl-mcclim-harfbuzz, sbcl-mcclim-fonts-clx-truetype, sbcl-mcclim-clx-freetype, sbcl-mcclim-render, sbcl-mcclim-clx-fb, xbcl-mcclim-null, sbcl-clim-postscript-font, sbcl-clim-postscript, sbcl-clim-pdf, sbcl-mcclim-looks, sbcl-mcclim-franz, sbcl-mcclim-bezier-core, sbcl-mcclim-bezier-clx, sbcl-mcclim-bezier, sbcl-mcclim-bitmaps, sbcl-conditional-commands, sbcl-mcclim-layouts-tab, sbcl-mcclim-extensions, sbcl-mcclim-test-util, sbcl-mcclim-raster-image, sbcl-clim-examples): Remove variables and merge their contents in ... (sbcl-mcclim): ... here. (sbcl-mito-core, sbcl-mito-migration, sbcl-lack-middleware-mito): Remove variables and merge their contents in ... (sbcl-mito): ... here. (sbcl-kebab)[native-inputs]: Remove 'prove-asdf'. (sbcl-datafly)[native-inputs]: Remove 'prove-asdf' and 'dbd-sqlite3'. [inputs]: Remove 'cl-syntax-annot'. Add 'cl-syntax'. (sbcl-caveman)[inputs]: Remove 'lack-request', 'lack-response' and 'cl-syntax-annot'. Add 'lack' and 'cl-syntax'. [arguments]: Remove 'asd-file' and 'asd-system-name' keywords and add 'asd-files' and 'asd-systems' keywords. * gnu/packages/wm.scm (stumpwm, sbcl-stumpwm-ttf-fontsn, sbcl-stumpwm-pass, sbcl-stumpwm-globalwindows, sbcl-stumpwm-swm-gaps, sbcl-stumpwm-net, sbcl-stumpwm-wifi, sbcl-stumpwm-stumptray, sbcl-stumpwm-kbd-layouts): Remove 'asd-system-name' keyword and add 'asd-systems' keyword. (stumpwm-with-slynk)[arguments]: Remove references to variables that don't exist anymore. --- gnu/local.mk | 1 - gnu/packages/lisp-xyz.scm | 6122 +++++--------------- .../patches/sbcl-graph-asdf-definitions.patch | 70 - gnu/packages/wm.scm | 29 +- 4 files changed, 1437 insertions(+), 4785 deletions(-) delete mode 100644 gnu/packages/patches/sbcl-graph-asdf-definitions.patch diff --git a/gnu/local.mk b/gnu/local.mk index 1baa8405c5..303f0d75f3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1555,7 +1555,6 @@ dist_patch_DATA = \ %D%/packages/patches/rust-reproducible-builds.patch \ %D%/packages/patches/rust-openssl-sys-no-vendor.patch \ %D%/packages/patches/rxvt-unicode-escape-sequences.patch \ - %D%/packages/patches/sbcl-graph-asdf-definitions.patch \ %D%/packages/patches/scalapack-blacs-mpi-deprecations.patch \ %D%/packages/patches/scheme48-tests.patch \ %D%/packages/patches/scotch-build-parallelism.patch \ diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index f73709515f..d1dd6c111f 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -321,7 +321,18 @@ streams which are similar to string streams.") (sha256 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi")))) (build-system asdf-build-system/sbcl) - (native-inputs `(("flexi-streams" ,sbcl-flexi-streams))) + (native-inputs + `(("flexi-streams" ,sbcl-flexi-streams))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-ppcre-unicode + ;; cl-ppcre and cl-ppcre-unicode are put in different packages + ;; to work around the circular dependency between edicl/cl-ppcre + ;; and edicl/cl-unicode. + (lambda _ + (delete-file "cl-ppcre-unicode.asd") + #t))))) (synopsis "Portable regular expression library for Common Lisp") (description "CL-PPCRE is a portable regular expression library for Common Lisp, which is compatible with perl. It is pretty fast, thread-safe, and @@ -335,9 +346,9 @@ compatible with ANSI-compliant Common Lisp implementations.") (define-public ecl-cl-ppcre (sbcl-package->ecl-package sbcl-cl-ppcre)) -(define sbcl-cl-unicode-base +(define-public sbcl-cl-unicode (package - (name "sbcl-cl-unicode-base") + (name "sbcl-cl-unicode") (version "0.1.6") (source (origin (method git-fetch) @@ -349,9 +360,8 @@ compatible with ANSI-compliant Common Lisp implementations.") (base32 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza")))) (build-system asdf-build-system/sbcl) - (arguments - '(#:asd-file "cl-unicode.asd" - #:asd-system-name "cl-unicode/base")) + (native-inputs + `(("flexi-streams" ,sbcl-flexi-streams))) (inputs `(("cl-ppcre" ,sbcl-cl-ppcre))) (home-page "http://weitz.de/cl-unicode/") @@ -361,23 +371,33 @@ is compatible with perl. It is pretty fast, thread-safe, and compatible with ANSI-compliant Common Lisp implementations.") (license license:bsd-2))) -(define-public sbcl-cl-unicode - (package - (inherit sbcl-cl-unicode-base) - (name "sbcl-cl-unicode") - (inputs - `(("cl-unicode/base" ,sbcl-cl-unicode-base) - ,@(package-inputs sbcl-cl-unicode-base))) - (native-inputs - `(("flexi-streams" ,sbcl-flexi-streams))) - (arguments '()))) - (define-public ecl-cl-unicode (sbcl-package->ecl-package sbcl-cl-unicode)) (define-public cl-unicode (sbcl-package->cl-source-package sbcl-cl-unicode)) +(define-public sbcl-cl-ppcre-unicode + (package (inherit sbcl-cl-ppcre) + (name "sbcl-cl-ppcre-unicode") + (inputs + `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre) + ("sbcl-cl-unicode" ,sbcl-cl-unicode))) + (arguments + `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-ppcre + ;; cl-ppcre and cl-ppcre-unicode are put in different packages + ;; to work around the circular dependency between edicl/cl-ppcre + ;; and edicl/cl-unicode. + (lambda _ + (delete-file "cl-ppcre.asd") + #t))))))) + +(define-public ecl-cl-ppcre-unicode + (sbcl-package->ecl-package sbcl-cl-ppcre-unicode)) + (define-public sbcl-zpb-ttf (package (name "sbcl-zpb-ttf") @@ -407,9 +427,9 @@ file.") (define-public cl-zpb-ttf (sbcl-package->cl-source-package sbcl-zpb-ttf)) -(define-public sbcl-cl-aa +(define-public sbcl-cl-vectors (package - (name "sbcl-cl-aa") + (name "sbcl-cl-vectors") (version "0.1.5") (source (origin @@ -420,67 +440,21 @@ file.") (base32 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh")))) (build-system asdf-build-system/sbcl) - (arguments '(#:asd-file "cl-aa.asd")) - (home-page "http://projects.tuxee.net/cl-vectors/") - (synopsis "Polygon rasterizer") - (description - "This is a Common Lisp library implementing the AA polygon rasterization -algorithm from the @url{http://antigrain.com, Antigrain} project.") - (license license:expat))) - -(define-public ecl-cl-aa - (sbcl-package->ecl-package sbcl-cl-aa)) - -(define-public cl-aa - (sbcl-package->cl-source-package sbcl-cl-aa)) - -(define-public sbcl-cl-paths - (package - (inherit sbcl-cl-aa) - (name "sbcl-cl-paths") - (arguments '(#:asd-file "cl-paths.asd")) - (synopsis "Facilities to create and manipulate vectorial paths") - (description - "This package provides facilities to create and manipulate vectorial -paths."))) - -(define-public ecl-cl-paths - (sbcl-package->ecl-package sbcl-cl-paths)) - -(define-public cl-paths - (sbcl-package->cl-source-package sbcl-cl-paths)) - -(define-public sbcl-cl-paths-ttf - (package - (inherit sbcl-cl-aa) - (name "sbcl-cl-paths-ttf") - (arguments '(#:asd-file "cl-paths-ttf.asd")) (inputs - `(("cl-paths" ,sbcl-cl-paths) - ("zpb-ttf" ,sbcl-zpb-ttf))) - (synopsis "Facilities to create and manipulate vectorial paths") - (description - "This package provides facilities to create and manipulate vectorial -paths."))) - -(define-public ecl-cl-paths-ttf - (sbcl-package->ecl-package sbcl-cl-paths-ttf)) - -(define-public cl-paths-ttf - (sbcl-package->cl-source-package sbcl-cl-paths-ttf)) - -(define-public sbcl-cl-vectors - (package - (inherit sbcl-cl-aa) - (name "sbcl-cl-vectors") - (arguments '(#:asd-file "cl-vectors.asd")) - (inputs - `(("cl-aa" ,sbcl-cl-aa) - ("cl-paths" ,sbcl-cl-paths))) + `(("zpb-ttf" ,sbcl-zpb-ttf))) + (arguments + '(#:asd-files '("cl-vectors.asd" + "cl-aa.asd" + "cl-paths.asd" + "cl-paths-ttf.asd") + #:asd-systems '("cl-vectors" + "cl-paths-ttf"))) + (home-page "http://projects.tuxee.net/cl-vectors/") (synopsis "Create, transform and render anti-aliased vectorial paths") (description "This is a pure Common Lisp library to create, transform and render -anti-aliased vectorial paths."))) +anti-aliased vectorial paths.") + (license license:expat))) (define-public ecl-cl-vectors (sbcl-package->ecl-package sbcl-cl-vectors)) @@ -508,7 +482,6 @@ anti-aliased vectorial paths."))) (build-system asdf-build-system/sbcl) (arguments '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns - #:asd-file "spatial-trees.asd" #:test-asd-file "spatial-trees.test.asd")) (native-inputs `(("fiveam" ,sbcl-fiveam))) @@ -650,7 +623,6 @@ from other CLXes around the net.") `(("clx" ,sbcl-clx) ("zpb-ttf" ,sbcl-zpb-ttf) ("cl-vectors" ,sbcl-cl-vectors) - ("cl-paths-ttf" ,sbcl-cl-paths-ttf) ("cl-fad" ,sbcl-cl-fad) ("cl-store" ,sbcl-cl-store) ("trivial-features" ,sbcl-trivial-features))) @@ -660,30 +632,13 @@ from other CLXes around the net.") antialiased TrueType font rendering using CLX and XRender extension.") (license license:expat)))) -(define-public sbcl-cl-ppcre-unicode - (package (inherit sbcl-cl-ppcre) - (name "sbcl-cl-ppcre-unicode") - (arguments - `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found" - #:asd-file "cl-ppcre-unicode.asd")) - (inputs - `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre) - ("sbcl-cl-unicode" ,sbcl-cl-unicode))))) - -(define-public ecl-cl-ppcre-unicode - (sbcl-package->ecl-package sbcl-cl-ppcre-unicode)) - -;; The slynk that users expect to install includes all of slynk's contrib -;; modules. Therefore, we build the base module and all contribs first; then -;; we expose the union of these as `sbcl-slynk'. The following variable -;; describes the base module. -(define sbcl-slynk-boot0 +(define-public sbcl-slynk (let ((revision "3") ;; Update together with emacs-sly. (commit "6a2f543cb21f14104c2253af5a1427b884a987ae")) (package - (name "sbcl-slynk-boot0") - (version (string-append "1.0.0-beta-" revision "." (string-take commit 7))) + (name "sbcl-slynk") + (version (git-version "1.0.0-beta" revision commit)) (source (origin (method git-fetch) @@ -693,7 +648,7 @@ antialiased TrueType font rendering using CLX and XRender extension.") (commit commit))) (sha256 (base32 "0wbpg9p9yg2hd62l15pvy50fk3hndq5zzyqlyyf04g368s895144")) - (file-name (string-append "slynk-" version "-checkout")) + (file-name (git-file-name "slynk" version)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -724,9 +679,41 @@ antialiased TrueType font rendering using CLX and XRender extension.") (scandir "slynk")) #t)))) (build-system asdf-build-system/sbcl) + (outputs '("out" "image")) (arguments `(#:tests? #f ; No test suite - #:asd-system-name "slynk")) + #:asd-files '("slynk.asd") + #:asd-systems '("slynk" + "slynk/arglists" + "slynk/util" + "slynk/fancy-inspector" + "slynk/package-fu" + "slynk/mrepl" + "slynk/trace-dialog" + "slynk/profiler" + "slynk/stickers" + "slynk/indentation" + "slynk/retro") + #:phases + (modify-phases %standard-phases + (add-after 'create-asdf-configuration 'build-image + (lambda* (#:key outputs #:allow-other-keys) + (build-image (string-append + (assoc-ref %outputs "image") + "/bin/slynk") + %outputs + #:dependencies '("slynk" + "slynk/arglists" + "slynk/util" + "slynk/fancy-inspector" + "slynk/package-fu" + "slynk/mrepl" + "slynk/trace-dialog" + "slynk/profiler" + "slynk/stickers" + "slynk/indentation" + "slynk/retro")) + #t))))) (synopsis "Common Lisp IDE for Emacs") (description "SLY is a fork of SLIME, an IDE backend for Common Lisp. It also features a completely redesigned REPL based on Emacs's own @@ -739,193 +726,9 @@ multiple inspectors with independent history.") (define-public cl-slynk (package - (inherit (sbcl-package->cl-source-package sbcl-slynk-boot0)) + (inherit (sbcl-package->cl-source-package sbcl-slynk)) (name "cl-slynk"))) -(define ecl-slynk-boot0 - (sbcl-package->ecl-package sbcl-slynk-boot0)) - -(define sbcl-slynk-arglists - (package - (inherit sbcl-slynk-boot0) - (name "sbcl-slynk-arglists") - (inputs `(("slynk" ,sbcl-slynk-boot0))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0) - ((#:asd-file _ "") "slynk.asd") - ((#:asd-system-name _ #f) "slynk/arglists"))))) - -(define ecl-slynk-arglists - (sbcl-package->ecl-package sbcl-slynk-arglists)) - -(define sbcl-slynk-util - (package - (inherit sbcl-slynk-boot0) - (name "sbcl-slynk-util") - (inputs `(("slynk" ,sbcl-slynk-boot0))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0) - ((#:asd-file _ "") "slynk.asd") - ((#:asd-system-name _ #f) "slynk/util"))))) - -(define ecl-slynk-util - (sbcl-package->ecl-package sbcl-slynk-util)) - -(define sbcl-slynk-fancy-inspector - (package - (inherit sbcl-slynk-arglists) - (name "sbcl-slynk-fancy-inspector") - (inputs `(("slynk-util" ,sbcl-slynk-util) - ,@(package-inputs sbcl-slynk-arglists))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists) - ((#:asd-system-name _ #f) "slynk/fancy-inspector"))))) - -(define ecl-slynk-fancy-inspector - (sbcl-package->ecl-package sbcl-slynk-fancy-inspector)) - -(define sbcl-slynk-package-fu - (package - (inherit sbcl-slynk-arglists) - (name "sbcl-slynk-package-fu") - (arguments - (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists) - ((#:asd-system-name _ #f) "slynk/package-fu"))))) - -(define ecl-slynk-package-fu - (sbcl-package->ecl-package sbcl-slynk-package-fu)) - -(define sbcl-slynk-mrepl - (package - (inherit sbcl-slynk-fancy-inspector) - (name "sbcl-slynk-mrepl") - (arguments - (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists) - ((#:asd-system-name _ #f) "slynk/mrepl"))))) - -(define ecl-slynk-mrepl - (sbcl-package->ecl-package sbcl-slynk-mrepl)) - -(define sbcl-slynk-trace-dialog - (package - (inherit sbcl-slynk-arglists) - (name "sbcl-slynk-trace-dialog") - (arguments - (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists) - ((#:asd-system-name _ #f) "slynk/trace-dialog"))))) - -(define ecl-slynk-trace-dialog - (sbcl-package->ecl-package sbcl-slynk-trace-dialog)) - -(define sbcl-slynk-profiler - (package - (inherit sbcl-slynk-arglists) - (name "sbcl-slynk-profiler") - (arguments - (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists) - ((#:asd-system-name _ #f) "slynk/profiler"))))) - -(define ecl-slynk-profiler - (sbcl-package->ecl-package sbcl-slynk-profiler)) - -(define sbcl-slynk-stickers - (package - (inherit sbcl-slynk-arglists) - (name "sbcl-slynk-stickers") - (arguments - (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists) - ((#:asd-system-name _ #f) "slynk/stickers"))))) - -(define ecl-slynk-stickers - (sbcl-package->ecl-package sbcl-slynk-stickers)) - -(define sbcl-slynk-indentation - (package - (inherit sbcl-slynk-arglists) - (name "sbcl-slynk-indentation") - (arguments - (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists) - ((#:asd-system-name _ #f) "slynk/indentation"))))) - -(define ecl-slynk-indentation - (sbcl-package->ecl-package sbcl-slynk-indentation)) - -(define sbcl-slynk-retro - (package - (inherit sbcl-slynk-arglists) - (name "sbcl-slynk-retro") - (arguments - (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists) - ((#:asd-system-name _ #f) "slynk/retro"))))) - -(define ecl-slynk-retro - (sbcl-package->ecl-package sbcl-slynk-retro)) - -(define slynk-systems - '("slynk" - "slynk-util" - "slynk-arglists" - "slynk-fancy-inspector" - "slynk-package-fu" - "slynk-mrepl" - "slynk-profiler" - "slynk-trace-dialog" - "slynk-stickers" - "slynk-indentation" - "slynk-retro")) - -(define-public sbcl-slynk - (package - (inherit sbcl-slynk-boot0) - (name "sbcl-slynk") - (inputs - `(("slynk" ,sbcl-slynk-boot0) - ("slynk-util" ,sbcl-slynk-util) - ("slynk-arglists" ,sbcl-slynk-arglists) - ("slynk-fancy-inspector" ,sbcl-slynk-fancy-inspector) - ("slynk-package-fu" ,sbcl-slynk-package-fu) - ("slynk-mrepl" ,sbcl-slynk-mrepl) - ("slynk-profiler" ,sbcl-slynk-profiler) - ("slynk-trace-dialog" ,sbcl-slynk-trace-dialog) - ("slynk-stickers" ,sbcl-slynk-stickers) - ("slynk-indentation" ,sbcl-slynk-indentation) - ("slynk-retro" ,sbcl-slynk-retro))) - (native-inputs `(("sbcl" ,sbcl))) - (build-system trivial-build-system) - (source #f) - (outputs '("out" "image")) - (arguments - `(#:modules ((guix build union) - (guix build utils) - (guix build lisp-utils)) - #:builder - (begin - (use-modules (ice-9 match) - (srfi srfi-1) - (guix build union) - (guix build lisp-utils)) - - (union-build - (assoc-ref %outputs "out") - (filter-map - (match-lambda - ((name . path) - (if (string-prefix? "slynk" name) path #f))) - %build-inputs)) - - (prepend-to-source-registry - (string-append (assoc-ref %outputs "out") "//")) - - (parameterize ((%lisp-type "sbcl") - (%lisp (string-append (assoc-ref %build-inputs "sbcl") - "/bin/sbcl"))) - (build-image (string-append - (assoc-ref %outputs "image") - "/bin/slynk") - %outputs - #:dependencies ',slynk-systems)) - #t))))) - (define-public ecl-slynk (package (inherit sbcl-slynk) @@ -1095,9 +898,14 @@ compressor. It works on data produced by @code{parse-js} to generate a (with-output-to-file script (lambda _ (format #t "#!~a/bin/sbcl --script + (require :asdf) - (push (truename \"~a/lib/sbcl\") asdf:*central-registry*)" + (asdf:initialize-source-registry + #p\"~a/etc/common-lisp/source-registry.conf.d/\") + (asdf:initialize-output-translations + #p\"~a/etc/common-lisp/asdf-output-translations.conf.d/\")" (assoc-ref %build-inputs "sbcl") + (assoc-ref %build-inputs "sbcl-cl-uglify-js") (assoc-ref %build-inputs "sbcl-cl-uglify-js")) ;; FIXME: cannot use progn here because otherwise it fails to ;; find cl-uglify-js. @@ -1293,8 +1101,8 @@ GNU libiconv, but completely written in Common Lisp.") (file-name (string-append "cl-yacc-" version "-checkout")))) (build-system asdf-build-system/sbcl) (arguments - `(#:asd-file "yacc.asd" - #:asd-system-name "yacc")) + `(#:asd-files '("yacc.asd") + #:asd-systems '("yacc"))) (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc") (description "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit @@ -1569,9 +1377,13 @@ C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.") (arguments ;; FIXME: We need to specify the name because the build-system thinks ;; "3" is a version marker. - `(#:asd-system-name "3bmd")) + `(#:asd-files '("3bmd.asd" + "3bmd-ext-code-blocks.asd") + #:asd-systems '("3bmd" + "3bmd-ext-code-blocks"))) (inputs - `(("esrap" ,sbcl-esrap) + `(("colorize" ,sbcl-colorize) + ("esrap" ,sbcl-esrap) ("split-sequence" ,sbcl-split-sequence))) (synopsis "Markdown processor in Command Lisp using esrap parser") (description @@ -1586,29 +1398,6 @@ parsing, and grammar based on @command{peg-markdown}.") (define-public ecl-3bmd (sbcl-package->ecl-package sbcl-3bmd)) -(define-public sbcl-3bmd-ext-code-blocks - (let ((commit "192ea13435b605a96ef607df51317056914cabbd")) - (package - (inherit sbcl-3bmd) - (name "sbcl-3bmd-ext-code-blocks") - (arguments - `(#:asd-system-name "3bmd-ext-code-blocks" - #:asd-file "3bmd-ext-code-blocks.asd")) - (inputs - `(("3bmd" ,sbcl-3bmd) - ("colorize" ,sbcl-colorize))) - (synopsis "3bmd extension which adds support for GitHub-style fenced -code blocks") - (description - "3bmd extension which adds support for GitHub-style fenced code blocks, -with @command{colorize} support.")))) - -(define-public cl-3bmd-ext-code-blocks - (sbcl-package->cl-source-package sbcl-3bmd-ext-code-blocks)) - -(define-public ecl-3bmd-ext-code-blocks - (sbcl-package->ecl-package sbcl-3bmd-ext-code-blocks)) - (define-public sbcl-cl-fad (package (name "sbcl-cl-fad") @@ -1810,19 +1599,13 @@ writing code that contains string literals that contain code themselves.") (define-public ecl-pythonic-string-reader (sbcl-package->ecl-package sbcl-pythonic-string-reader)) -;; SLIME does not have a ASDF system definition to build all of Swank. As a -;; result, the asdf-build-system/sbcl will produce an almost empty package. -;; Some work was done to fix this at -;; https://github.com/sionescu/slime/tree/swank-asdf but it was never merged -;; and is now lagging behind. Building SBCL fasls might not be worth the -;; hassle, so let's just ship the source then. -(define-public cl-slime-swank +(define-public sbcl-slime-swank (package - (name "cl-slime-swank") + (name "sbcl-slime-swank") (version "2.24") (source (origin - (file-name (string-append name "-" version ".tar.gz")) + (file-name (git-file-name "slime-swank" version)) (method git-fetch) (uri (git-reference (url "https://github.com/slime/slime/") @@ -1830,7 +1613,10 @@ writing code that contains string literals that contain code themselves.") (sha256 (base32 "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh")))) - (build-system asdf-build-system/source) + (build-system asdf-build-system/sbcl) + (arguments + '(#:asd-files '("swank.asd") + #:asd-systems '("swank"))) (home-page "https://github.com/slime/slime") (synopsis "Common Lisp Swank server") (description @@ -1839,8 +1625,11 @@ processes that doesn't run under Emacs. Lisp processes created by @command{M-x slime} automatically start the server.") (license (list license:gpl2+ license:public-domain)))) -(define-public sbcl-slime-swank - (deprecated-package "sbcl-slime-swank" cl-slime-swank)) +(define-public cl-slime-swank + (sbcl-package->cl-source-package sbcl-slime-swank)) + +(define-public ecl-slime-swank + (sbcl-package->ecl-package sbcl-slime-swank)) (define-public sbcl-mgl-pax (let ((commit "818448418d6b9de74620f606f5b23033c6082769")) @@ -1860,16 +1649,12 @@ processes that doesn't run under Emacs. Lisp processes created by (build-system asdf-build-system/sbcl) (inputs `(("3bmd" ,sbcl-3bmd) - ("3bmd-ext-code-blocks" ,sbcl-3bmd-ext-code-blocks) ("babel" ,sbcl-babel) ("cl-fad" ,sbcl-cl-fad) ("ironclad" ,sbcl-ironclad) ("named-readtables" ,sbcl-named-readtables) - ("pythonic-string-reader" ,sbcl-pythonic-string-reader))) - (propagated-inputs - ;; Packages having mgl-pax as input complain that it can't find - ;; swank if we put it in inputs, so let's put it in propageted-inputs. - `(("swank" ,cl-slime-swank))) + ("pythonic-string-reader" ,sbcl-pythonic-string-reader) + ("swank" ,sbcl-slime-swank))) (synopsis "Exploratory programming environment and documentation generator") (description "PAX provides an extremely poor man's Explorable Programming @@ -2116,10 +1901,10 @@ named color.") (define-public ecl-cl-ansi-text (sbcl-package->ecl-package sbcl-cl-ansi-text)) -(define-public sbcl-prove-asdf +(define-public sbcl-prove (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0")) (package - (name "sbcl-prove-asdf") + (name "sbcl-prove") (version (git-version "1.0.0" "1" commit)) (source (origin @@ -2132,35 +1917,16 @@ named color.") "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc")) (file-name (git-file-name "prove" version)))) (build-system asdf-build-system/sbcl) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("cl-ppcre" ,sbcl-cl-ppcre) + ("cl-ansi-text" ,sbcl-cl-ansi-text))) (arguments - `(#:asd-file "prove-asdf.asd")) - (synopsis "Test requirement for the Common Lisp 'prove' library") + `(#:asd-files '("prove.asd" + "prove-asdf.asd"))) + (synopsis "Yet another unit testing framework for Common Lisp") (description - "Test requirement for the Common Lisp @command{prove} library.") - (home-page "https://github.com/fukamachi/prove") - (license license:expat)))) - -(define-public cl-prove-asdf - (sbcl-package->cl-source-package sbcl-prove-asdf)) - -(define-public ecl-prove-asdf - (sbcl-package->ecl-package sbcl-prove-asdf)) - -(define-public sbcl-prove - (package - (inherit sbcl-prove-asdf) - (name "sbcl-prove") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ppcre" ,sbcl-cl-ppcre) - ("cl-ansi-text" ,sbcl-cl-ansi-text))) - (native-inputs - `(("prove-asdf" ,sbcl-prove-asdf))) - (arguments - `(#:asd-file "prove.asd")) - (synopsis "Yet another unit testing framework for Common Lisp") - (description - "This project was originally called @command{cl-test-more}. + "This project was originally called @command{cl-test-more}. @command{prove} is yet another unit testing framework for Common Lisp. The advantages of @command{prove} are: @@ -2170,7 +1936,9 @@ advantages of @command{prove} are: @item Extensible test reporters @item Colorizes the report if it's available (note for SLIME) @item Reports test durations -@end itemize\n"))) +@end itemize\n") + (home-page "https://github.com/fukamachi/prove") + (license license:expat)))) (define-public cl-prove (sbcl-package->cl-source-package sbcl-prove)) @@ -2198,8 +1966,7 @@ advantages of @command{prove} are: `(("alexandria" ,sbcl-alexandria) ("babel" ,sbcl-babel))) (native-inputs - `(("prove" ,sbcl-prove) - ("prove-asdf" ,sbcl-prove-asdf))) + `(("prove" ,sbcl-prove))) (arguments ;; TODO: Tests don't find "proc-parse-test", why? `(#:tests? #f)) @@ -2237,8 +2004,7 @@ pattern-matching-like, but a char-by-char procedural parser.") `(("alexandria" ,sbcl-alexandria) ("babel" ,sbcl-babel))) (native-inputs - `(("prove" ,sbcl-prove) - ("prove-asdf" ,sbcl-prove-asdf))) + `(("prove" ,sbcl-prove))) (arguments ;; TODO: Tests don't find "proc-parse-test", why? `(#:tests? #f)) @@ -2255,12 +2021,12 @@ values from a string in Common Lisp.") (define-public ecl-parse-float (sbcl-package->ecl-package sbcl-parse-float)) -(define-public sbcl-ascii-strings +(define-public sbcl-cl-string-match (let ((revision "1") (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97")) (package - (name "sbcl-ascii-strings") - (version (string-append "0-" revision "." (string-take changeset 7))) + (name "sbcl-cl-string-match") + (version (git-version "0" revision changeset)) (source (origin (method hg-fetch) @@ -2274,69 +2040,31 @@ values from a string in Common Lisp.") (build-system asdf-build-system/sbcl) (inputs `(("alexandria" ,sbcl-alexandria) - ("babel" ,sbcl-babel))) + ("babel" ,sbcl-babel) + ("iterate" ,sbcl-iterate) + ("jpl-queues" ,sbcl-jpl-queues) + ("jpl-util" ,sbcl-jpl-util) + ("mgl-pax" ,sbcl-mgl-pax) + ("parse-float" ,sbcl-parse-float) + ("proc-parse" ,sbcl-proc-parse) + ("yacc" ,sbcl-cl-yacc))) + ;; TODO: Tests are not evaluated properly. + (native-inputs + ;; For testing: + `(("lisp-unit" ,sbcl-lisp-unit))) (arguments - `(#:asd-file "ascii-strings.asd")) - (synopsis "Operations on ASCII strings") + `(#:tests? #f + #:asd-files '("cl-string-match.asd" + "ascii-strings.asd" + "simple-scanf.asd"))) + (synopsis "Set of utilities to manipulate strings in Common Lisp") (description - "Operations on ASCII strings. Essentially this can be any kind of -single-byte encoded strings.") + "@command{cl-strings} is a small, portable, dependency-free set of +utilities that make it even easier to manipulate text in Common Lisp. It has +100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.") (home-page "https://bitbucket.org/vityok/cl-string-match/") (license license:bsd-3)))) -(define-public cl-ascii-strings - (sbcl-package->cl-source-package sbcl-ascii-strings)) - -(define-public ecl-ascii-strings - (sbcl-package->ecl-package sbcl-ascii-strings)) - -(define-public sbcl-simple-scanf - (package - (inherit sbcl-ascii-strings) - (name "sbcl-simple-scanf") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("iterate" ,sbcl-iterate) - ("proc-parse" ,sbcl-proc-parse) - ("parse-float" ,sbcl-parse-float))) - (arguments - `(#:asd-file "simple-scanf.asd")) - (synopsis "Simple scanf-like functionality implementation") - (description - "A simple scanf-like functionality implementation."))) - -(define-public cl-simple-scanf - (sbcl-package->cl-source-package sbcl-simple-scanf)) - -(define-public ecl-simple-scanf - (sbcl-package->ecl-package sbcl-simple-scanf)) - -(define-public sbcl-cl-string-match - (package - (inherit sbcl-ascii-strings) - (name "sbcl-cl-string-match") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("ascii-strings" ,sbcl-ascii-strings) - ("yacc" ,sbcl-cl-yacc) - ("jpl-util" ,sbcl-jpl-util) - ("jpl-queues" ,sbcl-jpl-queues) - ("mgl-pax" ,sbcl-mgl-pax) - ("iterate" ,sbcl-iterate))) - ;; TODO: Tests are not evaluated properly. - (native-inputs - ;; For testing: - `(("lisp-unit" ,sbcl-lisp-unit) - ("simple-scanf" ,sbcl-simple-scanf))) - (arguments - `(#:tests? #f - #:asd-file "cl-string-match.asd")) - (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp") - (description - "@command{cl-strings} is a small, portable, dependency-free set of -utilities that make it even easier to manipulate text in Common Lisp. It has -100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp."))) - (define-public cl-string-match (sbcl-package->cl-source-package sbcl-cl-string-match)) @@ -2419,6 +2147,19 @@ Lisp programs. It parses URI according to the RFC 2396 specification.") (base32 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv")))) (build-system asdf-build-system/sbcl) + (inputs + `(("bordeaux-threads" ,sbcl-bordeaux-threads))) + (arguments + '(#:asd-files '("queues.asd" + "queues.simple-queue.asd" + "queues.simple-cqueue.asd" + "queues.priority-queue.asd" + "queues.priority-cqueue.asd") + #:asd-systems '("queues" + "queues.simple-queue" + "queues.simple-cqueue" + "queues.priority-queue" + "queues.priority-cqueue"))) (home-page "https://github.com/oconnore/queues") (synopsis "Common Lisp queue library") (description @@ -2432,93 +2173,9 @@ non-consing thread safe queues and fibonacci priority queues.") (define-public ecl-queues (sbcl-package->ecl-package sbcl-queues)) -(define-public sbcl-queues.simple-queue - (package - (inherit sbcl-queues) - (name "sbcl-queues.simple-queue") - (inputs - `(("sbcl-queues" ,sbcl-queues))) - (arguments - `(#:asd-file "queues.simple-queue.asd")) - (synopsis "Simple queue implementation") - (description - "This is a simple queue library for Common Lisp with features such as -non-consing thread safe queues and fibonacci priority queues.") - (license license:expat))) - -(define-public cl-queues.simple-queue - (sbcl-package->cl-source-package sbcl-queues.simple-queue)) - -(define-public ecl-queues.simple-queue - (sbcl-package->ecl-package sbcl-queues.simple-queue)) - -(define-public sbcl-queues.simple-cqueue - (package - (inherit sbcl-queues) - (name "sbcl-queues.simple-cqueue") - (inputs - `(("sbcl-queues" ,sbcl-queues) - ("sbcl-queues.simple-queue" ,sbcl-queues.simple-queue) - ("bordeaux-threads" ,sbcl-bordeaux-threads))) - (arguments - `(#:asd-file "queues.simple-cqueue.asd")) - (synopsis "Thread safe queue implementation") - (description - "This is a simple queue library for Common Lisp with features such as -non-consing thread safe queues and fibonacci priority queues.") - (license license:expat))) - -(define-public cl-queues.simple-cqueue - (sbcl-package->cl-source-package sbcl-queues.simple-cqueue)) - -(define-public ecl-queues.simple-cqueue - (sbcl-package->ecl-package sbcl-queues.simple-cqueue)) - -(define-public sbcl-queues.priority-queue - (package - (inherit sbcl-queues) - (name "sbcl-queues.priority-queue") - (inputs - `(("sbcl-queues" ,sbcl-queues))) - (arguments - `(#:asd-file "queues.priority-queue.asd")) - (synopsis "Priority queue (Fibonacci) implementation") - (description - "This is a simple queue library for Common Lisp with features such as -non-consing thread safe queues and fibonacci priority queues.") - (license license:expat))) - -(define-public cl-queues.priority-queue - (sbcl-package->cl-source-package sbcl-queues.priority-queue)) - -(define-public ecl-queues.priority-queue - (sbcl-package->ecl-package sbcl-queues.priority-queue)) - -(define-public sbcl-queues.priority-cqueue - (package - (inherit sbcl-queues) - (name "sbcl-queues.priority-cqueue") - (inputs - `(("sbcl-queues" ,sbcl-queues) - ("sbcl-queues.priority-queue" ,sbcl-queues.priority-queue) - ("bordeaux-threads" ,sbcl-bordeaux-threads))) - (arguments - `(#:asd-file "queues.priority-cqueue.asd")) - (synopsis "Thread safe fibonacci priority queue implementation") - (description - "This is a simple queue library for Common Lisp with features such as -non-consing thread safe queues and fibonacci priority queues.") - (license license:expat))) - -(define-public cl-queues.priority-cqueue - (sbcl-package->cl-source-package sbcl-queues.priority-cqueue)) - -(define-public ecl-queues.priority-cqueue - (sbcl-package->ecl-package sbcl-queues.priority-cqueue)) - -(define sbcl-cffi-bootstrap +(define-public sbcl-cffi (package - (name "sbcl-cffi-bootstrap") + (name "sbcl-cffi") (version "0.21.0") (source (origin @@ -2531,12 +2188,14 @@ non-consing thread safe queues and fibonacci priority queues.") (base32 "1qalargz9bhp850qv60ffwpdqi4xirzar4l3g6qcg8yc6xqf2cjk")))) (build-system asdf-build-system/sbcl) (inputs - `(("libffi" ,libffi) - ("alexandria" ,sbcl-alexandria) + `(("alexandria" ,sbcl-alexandria) ("babel" ,sbcl-babel) + ("libffi" ,libffi) ("trivial-features" ,sbcl-trivial-features))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("bordeaux-threads" ,sbcl-bordeaux-threads) + ("pkg-config" ,pkg-config) + ("rt" ,sbcl-rt))) (arguments '(#:phases (modify-phases %standard-phases @@ -2547,9 +2206,21 @@ non-consing thread safe queues and fibonacci priority queues.") (assoc-ref inputs "libffi") "/lib/" all))) (substitute* "toolchain/c-toolchain.lisp" - (("\"cc\"") (format #f "~S" (which "gcc"))))))) - #:asd-system-name "cffi" - #:tests? #f)) + (("\"cc\"") (format #f "~S" (which "gcc")))))) + (add-after 'build 'install-headers + (lambda* (#:key outputs #:allow-other-keys) + (install-file "grovel/common.h" + (string-append + (assoc-ref outputs "out") + "/include/grovel"))))) + #:asd-files '("cffi.asd" + "cffi-toolchain.asd" + "cffi-grovel.asd" + "cffi-libffi.asd" + "cffi-uffi-compat.asd") + #:asd-systems '("cffi" + "cffi-libffi" + "cffi-uffi-compat"))) (home-page "https://common-lisp.net/project/cffi/") (synopsis "Common Foreign Function Interface for Common Lisp") (description "The Common Foreign Function Interface (CFFI) @@ -2559,77 +2230,13 @@ in the CFFI-SYS package, and a portable frontend in the CFFI package.") (license license:expat))) -(define-public sbcl-cffi-toolchain - (package - (inherit sbcl-cffi-bootstrap) - (name "sbcl-cffi-toolchain") - (inputs - `(("libffi" ,libffi) - ("sbcl-cffi" ,sbcl-cffi-bootstrap))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cffi-bootstrap) - ((#:asd-system-name _) #f) - ((#:tests? _) #t))))) +(define-public cl-cffi + (sbcl-package->cl-source-package sbcl-cffi)) -(define-public sbcl-cffi-libffi - (package - (inherit sbcl-cffi-toolchain) - (name "sbcl-cffi-libffi") - (inputs - `(("cffi" ,sbcl-cffi-bootstrap) - ("cffi-grovel" ,sbcl-cffi-grovel) - ("trivial-features" ,sbcl-trivial-features) - ("libffi" ,libffi))))) +(define-public ecl-cffi + (sbcl-package->ecl-package sbcl-cffi)) -(define-public sbcl-cffi-grovel - (package - (inherit sbcl-cffi-toolchain) - (name "sbcl-cffi-grovel") - (inputs - `(("libffi" ,libffi) - ("cffi" ,sbcl-cffi-bootstrap) - ("cffi-toolchain" ,sbcl-cffi-toolchain) - ("alexandria" ,sbcl-alexandria))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cffi-toolchain) - ((#:phases phases) - `(modify-phases ,phases - (add-after 'build 'install-headers - (lambda* (#:key outputs #:allow-other-keys) - (install-file "grovel/common.h" - (string-append - (assoc-ref outputs "out") - "/include/grovel")))))))))) - -(define-public sbcl-cffi - (package - (inherit sbcl-cffi-toolchain) - (name "sbcl-cffi") - (inputs (package-inputs sbcl-cffi-bootstrap)) - (native-inputs - `(("cffi-grovel" ,sbcl-cffi-grovel) - ("cffi-libffi" ,sbcl-cffi-libffi) - ("rt" ,sbcl-rt) - ("bordeaux-threads" ,sbcl-bordeaux-threads) - ,@(package-native-inputs sbcl-cffi-bootstrap))))) - -(define-public cl-cffi - (sbcl-package->cl-source-package sbcl-cffi)) - -(define-public sbcl-cffi-uffi-compat - (package - (inherit sbcl-cffi-toolchain) - (name "sbcl-cffi-uffi-compat") - (native-inputs - `(,@(package-inputs sbcl-cffi-bootstrap))) ; For fix-paths phase - (inputs - `(("cffi" ,sbcl-cffi))) - (synopsis "UFFI Compatibility Layer for CFFI"))) - -(define-public cl-cffi-uffi-compat - (sbcl-package->cl-source-package sbcl-cffi-uffi-compat)) - -(define-public sbcl-cl-sqlite +(define-public sbcl-cl-sqlite (package (name "sbcl-cl-sqlite") (version "0.2.1") @@ -2652,8 +2259,8 @@ package.") `(("fiveam" ,sbcl-fiveam) ("bordeaux-threads" ,sbcl-bordeaux-threads))) (arguments - `(#:asd-file "sqlite.asd" - #:asd-system-name "sqlite" + `(#:asd-files '("sqlite.asd") + #:asd-systems '("sqlite") #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-paths @@ -2856,10 +2463,10 @@ Lisp implementations.") (define-public ecl-closer-mop (sbcl-package->ecl-package sbcl-closer-mop)) -(define sbcl-cl-cffi-gtk-boot0 +(define-public sbcl-cl-cffi-gtk (let ((commit "412d17214e092220c65a5660f5cbbd9cb69b8fe4")) (package - (name "sbcl-cl-cffi-gtk-boot0") + (name "sbcl-cl-cffi-gtk") (version (git-version "0.11.2" "1" commit)) (source (origin @@ -2872,17 +2479,35 @@ Lisp implementations.") (base32 "0n997yhcnzk048nalx8ys62ja2ac8iv4mbn3mb55iapl0321hghn")))) (build-system asdf-build-system/sbcl) + (native-inputs + `(("fiveam" ,sbcl-fiveam))) (inputs - `(("iterate" ,sbcl-iterate) + `(("bordeaux-threads" ,sbcl-bordeaux-threads) + ("cairo" ,cairo) ("cffi" ,sbcl-cffi) - ("trivial-features" ,sbcl-trivial-features) + ("closer-mop" ,sbcl-closer-mop) + ("gdk-pixbuf" ,gdk-pixbuf) ("glib" ,glib) - ("cairo" ,cairo) + ("gtk" ,gtk+) + ("iterate" ,sbcl-iterate) ("pango" ,pango) - ("gdk-pixbuf" ,gdk-pixbuf) - ("gtk" ,gtk+))) + ("trivial-features" ,sbcl-trivial-features) + ("trivial-garbage" ,sbcl-trivial-garbage))) (arguments - `(#:phases + `(#:asd-files '("gtk/cl-cffi-gtk.asd" + "glib/cl-cffi-gtk-glib.asd" + "gobject/cl-cffi-gtk-gobject.asd" + "gio/cl-cffi-gtk-gio.asd" + "cairo/cl-cffi-gtk-cairo.asd" + "pango/cl-cffi-gtk-pango.asd" + "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd" + "gdk/cl-cffi-gtk-gdk.asd") + #:asd-systems '("cl-cffi-gtk") + #:test-asd-file "test/cl-cffi-gtk-test.asd" + ;; TODO: Tests fail with memory fault. + ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24. + #:tests? #f + #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-paths (lambda* (#:key inputs #:allow-other-keys) @@ -2917,220 +2542,6 @@ Lisp implementations.") is a library for creating graphical user interfaces.") (license license:lgpl3)))) -(define-public sbcl-cl-cffi-gtk-glib - (package - (inherit sbcl-cl-cffi-gtk-boot0) - (name "sbcl-cl-cffi-gtk-glib") - (inputs - `(("bordeaux-threads" ,sbcl-bordeaux-threads) - ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) - ((#:asd-file _ "") "glib/cl-cffi-gtk-glib.asd"))))) - -(define-public sbcl-cl-cffi-gtk-gobject - (package - (inherit sbcl-cl-cffi-gtk-boot0) - (name "sbcl-cl-cffi-gtk-gobject") - (inputs - `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) - ("trivial-garbage" ,sbcl-trivial-garbage) - ("bordeaux-threads" ,sbcl-bordeaux-threads) - ("closer-mop" ,sbcl-closer-mop) - ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) - ((#:asd-file _ "") "gobject/cl-cffi-gtk-gobject.asd") - ((#:phases phases) - `(modify-phases ,phases - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-gobject"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t))))))))) - -(define-public sbcl-cl-cffi-gtk-gio - (package - (inherit sbcl-cl-cffi-gtk-boot0) - (name "sbcl-cl-cffi-gtk-gio") - (inputs - `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) - ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) - ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) - ((#:asd-file _ "") "gio/cl-cffi-gtk-gio.asd") - ((#:phases phases) - `(modify-phases ,phases - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-gio"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t))))))))) - -(define-public sbcl-cl-cffi-gtk-cairo - (package - (inherit sbcl-cl-cffi-gtk-boot0) - (name "sbcl-cl-cffi-gtk-cairo") - (inputs - `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) - ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) - ((#:asd-file _ "") "cairo/cl-cffi-gtk-cairo.asd") - ((#:phases phases) - `(modify-phases ,phases - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-cairo"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t))))))))) - -(define-public sbcl-cl-cffi-gtk-pango - (package - (inherit sbcl-cl-cffi-gtk-boot0) - (name "sbcl-cl-cffi-gtk-pango") - (inputs - `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) - ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) - ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo) - ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) - ((#:asd-file _ "") "pango/cl-cffi-gtk-pango.asd") - ((#:phases phases) - `(modify-phases ,phases - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-pango"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t))))))))) - -(define-public sbcl-cl-cffi-gtk-gdk-pixbuf - (package - (inherit sbcl-cl-cffi-gtk-boot0) - (name "sbcl-cl-cffi-gtk-gdk-pixbuf") - (inputs - `(("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) - ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) - ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) - ((#:asd-file _ "") "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd") - ((#:phases phases) - `(modify-phases ,phases - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-gdk-pixbuf"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t))))))))) - -(define-public sbcl-cl-cffi-gtk-gdk - (package - (inherit sbcl-cl-cffi-gtk-boot0) - (name "sbcl-cl-cffi-gtk-gdk") - (inputs - `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) - ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) - ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio) - ("cl-cffi-gtk-gdk-pixbuf" ,sbcl-cl-cffi-gtk-gdk-pixbuf) - ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo) - ("cl-cffi-gtk-pango" ,sbcl-cl-cffi-gtk-pango) - ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) - ((#:asd-file _ "") "gdk/cl-cffi-gtk-gdk.asd") - ((#:phases phases) - `(modify-phases ,phases - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-gdk"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t))))))))) - -(define-public sbcl-cl-cffi-gtk - (package - (inherit sbcl-cl-cffi-gtk-boot0) - (name "sbcl-cl-cffi-gtk") - (inputs - `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) - ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) - ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio) - ("cl-cffi-gtk-gdk" ,sbcl-cl-cffi-gtk-gdk) - ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) - (native-inputs - `(("fiveam" ,sbcl-fiveam))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) - ((#:asd-file _ "") "gtk/cl-cffi-gtk.asd") - ((#:test-asd-file _ "") "test/cl-cffi-gtk-test.asd") - ;; TODO: Tests fail with memory fault. - ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24. - ((#:tests? _ #f) #f) - ((#:phases phases) - `(modify-phases ,phases - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t))))))))) - (define-public cl-cffi-gtk (sbcl-package->cl-source-package sbcl-cl-cffi-gtk)) @@ -3155,8 +2566,8 @@ is a library for creating graphical user interfaces.") ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk) ("webkitgtk" ,webkitgtk))) (arguments - `(#:asd-file "webkit2/cl-webkit2.asd" - #:asd-system-name "cl-webkit2" + `(#:asd-files '("webkit2/cl-webkit2.asd") + #:asd-systems '("cl-webkit2") #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-paths @@ -3328,14 +2739,12 @@ Lisp (from GBBopen project).") (define-public cl-portable-threads (sbcl-package->cl-source-package sbcl-portable-threads)) -(define-public ecl-portable-threada +(define-public ecl-portable-threads (sbcl-package->ecl-package sbcl-portable-threads)) -(define sbcl-usocket-boot0 - ;; usocket's test rely on usocket-server which depends on usocket itself. - ;; We break this cyclic dependency with -boot0 that packages usocket. +(define-public sbcl-usocket (package - (name "sbcl-usocket-boot0") + (name "sbcl-usocket") (version "0.8.3") (source (origin @@ -3348,48 +2757,25 @@ Lisp (from GBBopen project).") (base32 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826")))) (build-system asdf-build-system/sbcl) + (native-inputs + `(("rt" ,sbcl-rt))) (inputs - `(("split-sequence" ,sbcl-split-sequence))) + `(("bordeaux-threads" ,sbcl-bordeaux-threads) + ("split-sequence" ,sbcl-split-sequence))) (arguments - `(#:tests? #f - #:asd-system-name "usocket")) + `(#:tests? #f ; FIXME: Tests need network access? + #:asd-files '("usocket.asd" + "usocket-server.asd") + #:asd-systems '("usocket" + "usocket-server"))) (home-page "https://common-lisp.net/project/usocket/") - (synopsis "Universal socket library for Common Lisp (server side)") + (synopsis "Universal socket library for Common Lisp") (description "This library strives to provide a portable TCP/IP and UDP/IP socket interface for as many Common Lisp implementations as possible, while keeping the abstraction and portability layer as thin as possible.") (license license:expat))) -(define-public sbcl-usocket-server - (package - (inherit sbcl-usocket-boot0) - (name "sbcl-usocket-server") - (inputs - `(("bordeaux-threads" ,sbcl-bordeaux-threads) - ("usocket" ,sbcl-usocket-boot0))) - (arguments - '(#:asd-system-name "usocket-server")) - (synopsis "Universal socket library for Common Lisp (server side)"))) - -(define-public cl-usocket-server - (sbcl-package->cl-source-package sbcl-usocket-server)) - -(define-public ecl-socket-server - (sbcl-package->ecl-package sbcl-usocket-server)) - -(define-public sbcl-usocket - (package - (inherit sbcl-usocket-boot0) - (name "sbcl-usocket") - (arguments - ;; FIXME: Tests need network access? - `(#:tests? #f)) - (native-inputs - ;; Testing only. - `(("usocket-server" ,sbcl-usocket-server) - ("rt" ,sbcl-rt))))) - (define-public cl-usocket (sbcl-package->cl-source-package sbcl-usocket)) @@ -3924,34 +3310,6 @@ PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.") (define-public cl-trivial-types (sbcl-package->cl-source-package sbcl-trivial-types)) -(define-public sbcl-cl-syntax - (package - (name "sbcl-cl-syntax") - (version "0.0.3") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/m2ym/cl-syntax") - (commit "03f0c329bbd55b8622c37161e6278366525e2ccc"))) - (file-name (git-file-name "cl-syntax" version)) - (sha256 - (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y")))) - (build-system asdf-build-system/sbcl) - (arguments - '(#:asd-file "cl-syntax.asd" - #:asd-system-name "cl-syntax")) - (inputs `(("sbcl-trivial-types" ,sbcl-trivial-types) - ("sbcl-named-readtables" ,sbcl-named-readtables))) - (home-page "https://github.com/m2ym/cl-syntax") - (synopsis "Reader Syntax Coventions for Common Lisp and SLIME") - (description - "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.") - (license license:llgpl))) - -(define-public cl-syntax - (sbcl-package->cl-source-package sbcl-cl-syntax)) - (define-public sbcl-cl-annot (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d") (revision "1")) @@ -3968,9 +3326,6 @@ PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.") (sha256 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n")))) (build-system asdf-build-system/sbcl) - (arguments - '(#:asd-file "cl-annot.asd" - #:asd-system-name "cl-annot")) (inputs `(("sbcl-alexandria" ,sbcl-alexandria))) (home-page "https://github.com/m2ym/cl-annot") @@ -3982,41 +3337,40 @@ PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.") (define-public cl-annot (sbcl-package->cl-source-package sbcl-cl-annot)) -(define-public sbcl-cl-syntax-annot - (package - (inherit sbcl-cl-syntax) - (name "sbcl-cl-syntax-annot") - (arguments - '(#:asd-file "cl-syntax-annot.asd" - #:asd-system-name "cl-syntax-annot")) - (inputs - `(("sbcl-cl-syntax" ,sbcl-cl-syntax) - ("sbcl-cl-annot" ,sbcl-cl-annot))) - (synopsis "Common Lisp reader Syntax for cl-annot") - (description - "CL-SYNTAX provides reader syntax coventions for Common Lisp and -@code{cl-annot}."))) - -(define-public cl-syntax-annot - (sbcl-package->cl-source-package sbcl-cl-syntax-annot)) - -(define-public sbcl-cl-syntax-interpol +(define-public sbcl-cl-syntax (package - (inherit sbcl-cl-syntax) - (name "sbcl-cl-syntax-interpol") - (arguments - '(#:asd-file "cl-syntax-interpol.asd" - #:asd-system-name "cl-syntax-interpol")) + (name "sbcl-cl-syntax") + (version "0.0.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/m2ym/cl-syntax") + (commit "03f0c329bbd55b8622c37161e6278366525e2ccc"))) + (file-name (git-file-name "cl-syntax" version)) + (sha256 + (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y")))) + (build-system asdf-build-system/sbcl) (inputs - `(("sbcl-cl-syntax" ,sbcl-cl-syntax) - ("sbcl-cl-interpol" ,sbcl-cl-interpol))) - (synopsis "Common Lisp reader Syntax for cl-interpol") + `(("cl-annot" ,sbcl-cl-annot) + ("cl-interpol" ,sbcl-cl-interpol) + ("named-readtables" ,sbcl-named-readtables) + ("trivial-types" ,sbcl-trivial-types))) + (arguments + '(#:asd-files '("cl-syntax.asd" + "cl-syntax-annot.asd" + "cl-syntax-interpol.asd") + #:asd-systems '("cl-syntax" + "cl-syntax-annot" + "cl-syntax-interpol"))) + (home-page "https://github.com/m2ym/cl-syntax") + (synopsis "Reader Syntax Coventions for Common Lisp and SLIME") (description - "CL-SYNTAX provides reader syntax coventions for Common Lisp and -@code{cl-interpol}."))) + "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.") + (license license:llgpl))) -(define-public cl-syntax-interpol - (sbcl-package->cl-source-package sbcl-cl-syntax-interpol)) +(define-public cl-syntax + (sbcl-package->cl-source-package sbcl-cl-syntax)) (define-public sbcl-cl-utilities (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b") @@ -4035,8 +3389,8 @@ PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.") (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2")))) (build-system asdf-build-system/sbcl) (arguments - '(#:asd-file "cl-utilities.asd" - #:asd-system-name "cl-utilities" + '(#:asd-files '("cl-utilities.asd") + #:asd-systems '("cl-utilities") #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-paths @@ -4105,8 +3459,7 @@ addition, removal, and random selection.") ;; Tests fail with: Component QURI-ASD::QURI-TEST not found, ;; required by #. Why? '(#:tests? #f)) - (native-inputs `(("sbcl-prove-asdf" ,sbcl-prove-asdf) - ("sbcl-prove" ,sbcl-prove))) + (native-inputs `(("sbcl-prove" ,sbcl-prove))) (inputs `(("sbcl-babel" ,sbcl-babel) ("sbcl-split-sequence" ,sbcl-split-sequence) ("sbcl-cl-utilities" ,sbcl-cl-utilities) @@ -4142,8 +3495,7 @@ Lisp. It is intended to be a replacement of PURI.") ;; by #. Why? '(#:tests? #f)) (native-inputs - `(("sbcl-prove-asdf" ,sbcl-prove-asdf) - ("sbcl-prove" ,sbcl-prove))) + `(("sbcl-prove" ,sbcl-prove))) (inputs `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre) ("sbcl-quri" ,sbcl-quri) @@ -4177,8 +3529,7 @@ Lisp. It is intended to be a replacement of PURI.") ;; required by #. Why? '(#:tests? #f)) (native-inputs - `(("sbcl-prove-asdf" ,sbcl-prove-asdf) - ("sbcl-prove" ,sbcl-prove))) + `(("sbcl-prove" ,sbcl-prove))) (home-page "https://github.com/fukamachi/xsubseq") (synopsis "Efficient way to use \"subseq\"s in Common Lisp") (description @@ -4210,8 +3561,7 @@ effieiently.") ;; found, required by #. Why? `(#:tests? #f)) (native-inputs - `(("sbcl-prove-asdf" ,sbcl-prove-asdf) - ("sbcl-prove" ,sbcl-prove))) + `(("sbcl-prove" ,sbcl-prove))) (inputs `(("sbcl-xsubseq" ,sbcl-xsubseq) ("sbcl-flexi-streams" ,sbcl-flexi-streams))) @@ -4246,9 +3596,8 @@ depending on content size.") ;; required by #. Why? `(#:tests? #f)) (native-inputs - `(("sbcl-prove-asdf" ,sbcl-prove-asdf) - ("sbcl-prove" ,sbcl-prove) - ("cl-syntax-interpol" ,sbcl-cl-syntax-interpol))) + `(("sbcl-prove" ,sbcl-prove) + ("cl-syntax" ,sbcl-cl-syntax))) (inputs `(("sbcl-alexandria" ,sbcl-alexandria) ("sbcl-proc-parse" ,sbcl-proc-parse) @@ -4282,8 +3631,7 @@ Lisp.") (native-inputs `(("sbcl-fiveam" ,sbcl-fiveam))) (inputs - `(("sbcl-cffi-grovel" ,sbcl-cffi-grovel) - ("sbcl-cffi" ,sbcl-cffi))) + `(("sbcl-cffi" ,sbcl-cffi))) (build-system asdf-build-system/sbcl) (home-page "https://github.com/sionescu/static-vectors") (synopsis "Allocate SIMPLE-ARRAYs in static memory") @@ -4423,11 +3771,9 @@ streams (though primarily the former, while wrapping the latter).") ;; required by #. Why? `(#:tests? #f)) (native-inputs - `(("sbcl-prove-asdf" ,sbcl-prove-asdf) - ("sbcl-prove" ,sbcl-prove))) + `(("sbcl-prove" ,sbcl-prove))) (inputs `(("sbcl-cl-syntax" ,sbcl-cl-syntax) - ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot) ("sbcl-fast-io" ,sbcl-fast-io) ("sbcl-proc-parse" ,sbcl-proc-parse) ("sbcl-cl-ppcre" ,sbcl-cl-ppcre))) @@ -4463,8 +3809,7 @@ CCL.") ;; found, required by #. Why? `(#:tests? #f)) (native-inputs - `(("sbcl-prove-asdf" ,sbcl-prove-asdf) - ("sbcl-prove" ,sbcl-prove))) + `(("sbcl-prove" ,sbcl-prove))) (inputs `(("sbcl-fast-http" ,sbcl-fast-http) ("sbcl-jonathan" ,sbcl-jonathan) @@ -4514,46 +3859,60 @@ reset to 0 and you're able to read it again.") (define-public cl-circular-streams (sbcl-package->cl-source-package sbcl-circular-streams)) -(define-public sbcl-lack-request +(define-public sbcl-lack (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b") (revision "1")) (package - (name "sbcl-lack-request") - (version (git-version "0.1.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/fukamachi/lack") - (commit commit))) - (file-name (git-file-name "lack-request" version)) - (sha256 - (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85")))) - (build-system asdf-build-system/sbcl) - (arguments - '(#:asd-file "lack-request.asd" - #:asd-system-name "lack-request" - #:test-asd-file "t-lack-request.asd" - ;; XXX: Component :CLACK-TEST not found - #:tests? #f)) - (native-inputs - `(("sbcl-prove-asdf" ,sbcl-prove-asdf) - ("sbcl-prove" ,sbcl-prove))) - (inputs - `(("sbcl-quri" ,sbcl-quri) - ("sbcl-http-body" ,sbcl-http-body) - ("sbcl-circular-streams" ,sbcl-circular-streams))) - (home-page "https://github.com/fukamachi/lack") - (synopsis "Lack, the core of Clack") - (description - "Lack is a Common Lisp library which allows web applications to be + (name "sbcl-lack") + (version (git-version "0.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fukamachi/lack") + (commit commit))) + (file-name (git-file-name "lack" version)) + (sha256 + (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("prove" ,sbcl-prove))) + (inputs + `(("circular-streams" ,sbcl-circular-streams) + ("http-body" ,sbcl-http-body) + ("ironclad" ,sbcl-ironclad) + ("local-time" ,sbcl-local-time) + ("quri" ,sbcl-quri) + ("trivial-mimes" ,sbcl-trivial-mimes))) + (arguments + '(#:asd-files '("lack.asd" + "lack-request.asd" + "lack-response.asd" + "lack-component.asd" + "lack-util.asd" + "lack-middleware-backtrace.asd" + "lack-middleware-static.asd") + #:asd-systems '("lack" + "lack-request" + "lack-response" + "lack-component" + "lack-util" + "lack-middleware-backtrace" + "lack-middleware-static") + #:test-asd-file "t-lack.asd" + ;; XXX: Component :CLACK not found + #:tests? #f)) + (home-page "https://github.com/fukamachi/lack") + (synopsis "Lack, the core of Clack") + (description + "Lack is a Common Lisp library which allows web applications to be constructed of modular components. It was originally a part of Clack, however it's going to be rewritten as an individual project since Clack v2 with performance and simplicity in mind.") - (license license:llgpl)))) + (license license:llgpl)))) -(define-public cl-lack-request - (sbcl-package->cl-source-package sbcl-lack-request)) +(define-public cl-lack + (sbcl-package->cl-source-package sbcl-lack)) (define-public sbcl-local-time (let ((commit "62792705245168d3fc2e04164b9a143477284142") @@ -4590,283 +3949,55 @@ Long Painful History of Time\".") (define-public cl-local-time (sbcl-package->cl-source-package sbcl-local-time)) -(define-public sbcl-lack-response - (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b") +(define-public sbcl-trivial-mimes + (let ((commit "303f8ac0aa6ca0bc139aa3c34822e623c3723fab") (revision "1")) (package - (name "sbcl-lack-response") - (version (git-version "0.1.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/fukamachi/lack") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85")))) - (build-system asdf-build-system/sbcl) - (arguments - '(#:asd-file "lack-response.asd" - #:asd-system-name "lack-response" - ;; XXX: no tests for lack-response. - #:tests? #f)) - (native-inputs - `(("sbcl-prove-asdf" ,sbcl-prove-asdf) - ("sbcl-prove" ,sbcl-prove))) - (inputs - `(("sbcl-quri" ,sbcl-quri) - ("sbcl-http-body" ,sbcl-http-body) - ("sbcl-circular-streams" ,sbcl-circular-streams) - ("sbcl-local-time" ,sbcl-local-time))) - (home-page "https://github.com/fukamachi/lack") - (synopsis "Lack, the core of Clack") - (description - "Lack is a Common Lisp library which allows web applications to be -constructed of modular components. It was originally a part of Clack, however -it's going to be rewritten as an individual project since Clack v2 with -performance and simplicity in mind.") - (license license:llgpl)))) + (name "sbcl-trivial-mimes") + (version (git-version "1.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shinmera/trivial-mimes") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "17jxgl47r695bvsb7wi3n2ws5rp1zzgvw0zii8cy5ggw4b4ayv6m")))) + (build-system asdf-build-system/sbcl) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after + 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((anchor "#p\"/etc/mime.types\"")) + (substitute* "mime-types.lisp" + ((anchor all) + (string-append + anchor "\n" + "(asdf:system-relative-pathname :trivial-mimes " + "\"../../share/common-lisp/" (%lisp-type) + "-source/trivial-mimes/mime.types\")"))))))))) + (native-inputs + `(("stefil" ,sbcl-hu.dwim.stefil))) + (inputs + `(("sbcl-cl-fad" ,sbcl-cl-fad))) + (home-page "https://shinmera.github.io/trivial-mimes/") + (synopsis "Tiny Common Lisp library to detect mime types in files") + (description + "This is a teensy library that provides some functions to determine the +mime-type of a file.") + (license license:artistic2.0)))) -(define-public cl-lack-response - (sbcl-package->cl-source-package sbcl-lack-response)) +(define-public cl-trivial-mimes + (sbcl-package->cl-source-package sbcl-trivial-mimes)) -(define-public sbcl-lack-component - (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b") - (revision "1")) - (package - (name "sbcl-lack-component") - (version (git-version "0.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/fukamachi/lack") - (commit commit))) - (file-name (git-file-name "lack-component" version)) - (sha256 - (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85")))) - (build-system asdf-build-system/sbcl) - (arguments - '(#:asd-file "lack-component.asd" - #:asd-system-name "lack-component" - #:test-asd-file "t-lack-component.asd" - ;; XXX: Component :LACK-TEST not found - #:tests? #f)) - (native-inputs - `(("prove-asdf" ,sbcl-prove-asdf))) - (home-page "https://github.com/fukamachi/lack") - (synopsis "Lack, the core of Clack") - (description - "Lack is a Common Lisp library which allows web applications to be -constructed of modular components. It was originally a part of Clack, however -it's going to be rewritten as an individual project since Clack v2 with -performance and simplicity in mind.") - (license license:llgpl)))) - -(define-public cl-lack-component - (sbcl-package->cl-source-package sbcl-lack-component)) - -(define-public sbcl-lack-util - (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b") - (revision "1")) - (package - (name "sbcl-lack-util") - (version (git-version "0.1.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/fukamachi/lack") - (commit commit))) - (file-name (git-file-name "lack-util" version)) - (sha256 - (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85")))) - (build-system asdf-build-system/sbcl) - (arguments - '(#:asd-file "lack-util.asd" - #:asd-system-name "lack-util" - #:test-asd-file "t-lack-util.asd" - ;; XXX: Component :LACK-TEST not found - #:tests? #f)) - (native-inputs - `(("prove-asdf" ,sbcl-prove-asdf))) - (inputs - `(("sbcl-ironclad" ,sbcl-ironclad))) - (home-page "https://github.com/fukamachi/lack") - (synopsis "Lack, the core of Clack") - (description - "Lack is a Common Lisp library which allows web applications to be -constructed of modular components. It was originally a part of Clack, however -it's going to be rewritten as an individual project since Clack v2 with -performance and simplicity in mind.") - (license license:llgpl)))) - -(define-public cl-lack-util - (sbcl-package->cl-source-package sbcl-lack-util)) - -(define-public sbcl-lack-middleware-backtrace - (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b") - (revision "1")) - (package - (name "sbcl-lack-middleware-backtrace") - (version (git-version "0.1.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/fukamachi/lack") - (commit commit))) - (file-name (git-file-name "lack-middleware-backtrace" version)) - (sha256 - (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85")))) - (build-system asdf-build-system/sbcl) - (arguments - '(#:asd-file "lack-middleware-backtrace.asd" - #:asd-system-name "lack-middleware-backtrace" - #:test-asd-file "t-lack-middleware-backtrace.asd" - ;; XXX: Component :LACK not found - #:tests? #f)) - (native-inputs - `(("prove-asdf" ,sbcl-prove-asdf))) - (home-page "https://github.com/fukamachi/lack") - (synopsis "Lack, the core of Clack") - (description - "Lack is a Common Lisp library which allows web applications to be -constructed of modular components. It was originally a part of Clack, however -it's going to be rewritten as an individual project since Clack v2 with -performance and simplicity in mind.") - (license license:llgpl)))) - -(define-public cl-lack-middleware-backtrace - (sbcl-package->cl-source-package sbcl-lack-middleware-backtrace)) - -(define-public sbcl-trivial-mimes - (let ((commit "303f8ac0aa6ca0bc139aa3c34822e623c3723fab") - (revision "1")) - (package - (name "sbcl-trivial-mimes") - (version (git-version "1.1.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Shinmera/trivial-mimes") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "17jxgl47r695bvsb7wi3n2ws5rp1zzgvw0zii8cy5ggw4b4ayv6m")))) - (build-system asdf-build-system/sbcl) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after - 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (let ((anchor "#p\"/etc/mime.types\"")) - (substitute* "mime-types.lisp" - ((anchor all) - (string-append - anchor "\n" - "(asdf:system-relative-pathname :trivial-mimes " - "\"../../share/common-lisp/" (%lisp-type) - "-source/trivial-mimes/mime.types\")"))))))))) - (native-inputs - `(("stefil" ,sbcl-hu.dwim.stefil))) - (inputs - `(("sbcl-cl-fad" ,sbcl-cl-fad))) - (home-page "https://shinmera.github.io/trivial-mimes/") - (synopsis "Tiny Common Lisp library to detect mime types in files") - (description - "This is a teensy library that provides some functions to determine the -mime-type of a file.") - (license license:artistic2.0)))) - -(define-public cl-trivial-mimes - (sbcl-package->cl-source-package sbcl-trivial-mimes)) - -(define-public ecl-trivial-mimes - (sbcl-package->ecl-package sbcl-trivial-mimes)) - -(define-public sbcl-lack-middleware-static - (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b") - (revision "1")) - (package - (name "sbcl-lack-middleware-static") - (version (git-version "0.1.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/fukamachi/lack") - (commit commit))) - (file-name (git-file-name "lack-middleware-static" version)) - (sha256 - (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85")))) - (build-system asdf-build-system/sbcl) - (arguments - '(#:asd-file "lack-middleware-static.asd" - #:asd-system-name "lack-middleware-static" - #:test-asd-file "t-lack-middleware-static.asd" - ;; XXX: Component :LACK not found - #:tests? #f)) - (native-inputs - `(("prove-asdf" ,sbcl-prove-asdf))) - (inputs - `(("sbcl-ironclad" ,sbcl-ironclad) - ("sbcl-trivial-mimes" ,sbcl-trivial-mimes) - ("sbcl-local-time" ,sbcl-local-time))) - (home-page "https://github.com/fukamachi/lack") - (synopsis "Lack, the core of Clack") - (description - "Lack is a Common Lisp library which allows web applications to be -constructed of modular components. It was originally a part of Clack, however -it's going to be rewritten as an individual project since Clack v2 with -performance and simplicity in mind.") - (license license:llgpl)))) - -(define-public cl-lack-middleware-static - (sbcl-package->cl-source-package sbcl-lack-middleware-static)) - -(define-public sbcl-lack - (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b") - (revision "1")) - (package - (name "sbcl-lack") - (version (git-version "0.1.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/fukamachi/lack") - (commit commit))) - (file-name (git-file-name "lack" version)) - (sha256 - (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85")))) - (build-system asdf-build-system/sbcl) - (arguments - '(#:test-asd-file "t-lack.asd" - ;; XXX: Component :CLACK not found - #:tests? #f)) - (native-inputs - `(("prove-asdf" ,sbcl-prove-asdf))) - (inputs - `(("sbcl-lack-component" ,sbcl-lack-component) - ("sbcl-lack-util" ,sbcl-lack-util))) - (home-page "https://github.com/fukamachi/lack") - (synopsis "Lack, the core of Clack") - (description - "Lack is a Common Lisp library which allows web applications to be -constructed of modular components. It was originally a part of Clack, however -it's going to be rewritten as an individual project since Clack v2 with -performance and simplicity in mind.") - (license license:llgpl)))) - -(define-public cl-lack - (sbcl-package->cl-source-package sbcl-lack)) - -(define-public sbcl-ningle - (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad") +(define-public ecl-trivial-mimes + (sbcl-package->ecl-package sbcl-trivial-mimes)) + +(define-public sbcl-ningle + (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad") (revision "1")) (package (name "sbcl-ningle") @@ -4908,15 +4039,11 @@ performance and simplicity in mind.") fasl-files) #t))))) (native-inputs - `(("sbcl-prove-asdf" ,sbcl-prove-asdf) - ("sbcl-prove" ,sbcl-prove))) + `(("sbcl-prove" ,sbcl-prove))) (inputs `(("sbcl-cl-syntax" ,sbcl-cl-syntax) - ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot) ("sbcl-myway" ,sbcl-myway) - ("sbcl-lack-request" ,sbcl-lack-request) - ("sbcl-lack-response" ,sbcl-lack-response) - ("sbcl-lack-component" ,sbcl-lack-component) + ("sbcl-lack" ,sbcl-lack) ("sbcl-alexandria" ,sbcl-alexandria) ("sbcl-babel" ,sbcl-babel))) (home-page "https://8arrow.org/ningle/") @@ -4973,73 +4100,51 @@ mostly Common Lisp implementation.") (define-public ecl-cl-fastcgi (sbcl-package->ecl-package sbcl-cl-fastcgi)) -(define clack-commit "e3e032843bb1220ab96263c411aa7f2feb4746e0") -(define clack-revision "1") - (define-public sbcl-clack - (package - (name "sbcl-clack") - (version (git-version "2.0.0" clack-revision clack-commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/fukamachi/clack") - (commit clack-commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0")))) - (build-system asdf-build-system/sbcl) - (inputs - `(("sbcl-lack" ,sbcl-lack) - ("sbcl-lack-middleware-backtrace" ,sbcl-lack-middleware-backtrace) - ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads))) - (home-page "https://github.com/fukamachi/clack") - (synopsis "Web Application Environment for Common Lisp") - (description - "Clack is a web application environment for Common Lisp inspired by + (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0") + (revision "1")) + (package + (name "sbcl-clack") + (version (git-version "2.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fukamachi/clack") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("bordeaux-threads" ,sbcl-bordeaux-threads) + ("cl-fastcgi" ,sbcl-cl-fastcgi) + ("flexi-streams" ,sbcl-flexi-streams) + ("hunchentoot" ,sbcl-hunchentoot) + ("lack" ,sbcl-lack) + ("split-sequence" ,sbcl-split-sequence) + ("usocket" ,sbcl-usocket) + ("quri" ,sbcl-quri))) + (arguments + '(#:asd-files '("clack.asd" + "clack-handler-fcgi.asd" + "clack-socket.asd" + "clack-handler-hunchentoot.asd") + #:asd-systems '("clack" + "clack-handler-fcgi" + "clack-socket" + "clack-handler-hunchentoot"))) + (home-page "https://github.com/fukamachi/clack") + (synopsis "Web Application Environment for Common Lisp") + (description + "Clack is a web application environment for Common Lisp inspired by Python's WSGI and Ruby's Rack.") - (license license:llgpl))) + (license license:llgpl)))) (define-public cl-clack (sbcl-package->cl-source-package sbcl-clack)) -(define-public sbcl-clack-handler-fcgi - (package - (inherit sbcl-clack) - (name "sbcl-clack-handler-fcgi") - (version (git-version "0.3.1" clack-revision clack-commit)) - (inputs - `(("cl-fastcgi" ,sbcl-cl-fastcgi) - ("alexandria" ,sbcl-alexandria) - ("flexi-streams" ,sbcl-flexi-streams) - ("usocket" ,sbcl-usocket) - ("quri" ,sbcl-quri))) - (synopsis "Web Application Environment for Common Lisp (FastCGI handler)"))) - -(define-public cl-clack-handler-fcgi - (sbcl-package->cl-source-package sbcl-clack-handler-fcgi)) - -(define sbcl-clack-socket - (package - (inherit sbcl-clack) - (name "sbcl-clack-socket") - (version (git-version "0.1" clack-revision clack-commit)))) - -(define-public sbcl-clack-handler-hunchentoot - (package - (inherit sbcl-clack) - (name "sbcl-clack-handler-hunchentoot") - (version (git-version "0.4.0" clack-revision clack-commit)) - (inputs - `(("hunchentoot" ,sbcl-hunchentoot) - ("clack-socket" ,sbcl-clack-socket) - ("flexi-streams" ,sbcl-flexi-streams) - ("bordeaux-threads" ,sbcl-bordeaux-threads) - ("split-sequence" ,sbcl-split-sequence) - ("alexandria" ,sbcl-alexandria))) - (synopsis "Web Application Environment for Common Lisp (Hunchentoot handler)"))) - (define-public sbcl-log4cl (let ((commit "611e094458504b938d49de904eab141285328c7c") (revision "1")) @@ -5218,8 +4323,8 @@ the CFFI approach used by burgled-batteries, but has the same goal.") (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd")))) (build-system asdf-build-system/sbcl) (arguments - `(#:asd-file "parse-declarations-1.0.asd" - #:asd-system-name "parse-declarations-1.0")) + `(#:asd-files '("parse-declarations-1.0.asd") + #:asd-systems '("parse-declarations-1.0"))) (home-page "https://common-lisp.net/project/parse-declarations/") (synopsis "Parse, filter, and build declarations") (description @@ -5263,7 +4368,7 @@ high-level way. This library provides such operators.") ;; MIT (license license:expat)))) -(define-public cl-cl-quickcheck +(define-public cl-quickcheck (sbcl-package->cl-source-package sbcl-cl-quickcheck)) (define-public ecl-cl-quickcheck @@ -5317,7 +4422,6 @@ high-level way. This library provides such operators.") (inputs `(("python" ,python) ("sbcl-cffi" ,sbcl-cffi) - ("sbcl-cffi-grovel" ,sbcl-cffi-grovel) ("sbcl-alexandria" , sbcl-alexandria) ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations) ("sbcl-trivial-garbage" ,sbcl-trivial-garbage))) @@ -5428,8 +4532,8 @@ basic everyday functions and macros.") (arguments ;; Guix incorrectly assumes the "8" is part of the version ;; number and lobs it off. - `(#:asd-file "trivial-utf-8.asd" - #:asd-system-name "trivial-utf-8")) + `(#:asd-files '("trivial-utf-8.asd") + #:asd-systems '("trivial-utf-8"))) (build-system asdf-build-system/sbcl) (synopsis "UTF-8 input/output library") (description @@ -5508,13 +4612,12 @@ formats.") (define-public ecl-swap-bytes (sbcl-package->ecl-package sbcl-swap-bytes)) -(define-public sbcl-iolib.asdf +(define-public sbcl-iolib ;; Latest release is from June 2017. (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021") (revision "2")) (package - (name "sbcl-iolib.asdf") - (build-system asdf-build-system/sbcl) + (name "sbcl-iolib") (version (git-version "0.8.3" revision commit)) (home-page "https://github.com/sionescu/iolib") (source @@ -5527,135 +4630,42 @@ formats.") (sha256 (base32 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12")))) + (build-system asdf-build-system/sbcl) (inputs - `(("alexandria" ,sbcl-alexandria))) + `(("alexandria" ,sbcl-alexandria) + ("bordeaux-threads" ,sbcl-bordeaux-threads) + ("cffi" ,sbcl-cffi) + ("idna" ,sbcl-idna) + ("libfixposix" ,libfixposix) + ("split-sequence" ,sbcl-split-sequence) + ("swap-bytes" ,sbcl-swap-bytes))) (arguments - '(#:asd-file "iolib.asdf.asd")) - (synopsis "ASDF component classes for IOLib, a Common Lisp I/O library") + '(#:asd-files '("iolib.asdf.asd" + "iolib.conf.asd" + "iolib.common-lisp.asd" + "iolib.base.asd" + "iolib.asd") + #:asd-systems '("iolib") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/syscalls/ffi-functions-unix.lisp" + (("\\(:default \"libfixposix\"\\)") + (string-append + "(:default \"" + (assoc-ref inputs "libfixposix") "/lib/libfixposix\")"))) + ;; Socket tests need Internet access, disable them. + (substitute* "iolib.asd" + (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)") + ""))))))) + (synopsis "Common Lisp I/O library") (description "IOlib is to be a better and more modern I/O library than the standard Common Lisp library. It contains a socket library, a DNS resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)} and @code{kqueue(2)}), a pathname library and file-system utilities.") (license license:expat)))) -(define-public sbcl-iolib.conf - (package - (inherit sbcl-iolib.asdf) - (name "sbcl-iolib.conf") - (inputs - `(("iolib.asdf" ,sbcl-iolib.asdf))) - (arguments - '(#:asd-file "iolib.conf.asd")) - (synopsis "Compile-time configuration for IOLib, a Common Lisp I/O library"))) - -(define-public sbcl-iolib.common-lisp - (package - (inherit sbcl-iolib.asdf) - (name "sbcl-iolib.common-lisp") - (inputs - `(("iolib.asdf" ,sbcl-iolib.asdf) - ("iolib.conf" ,sbcl-iolib.conf))) - (arguments - '(#:asd-file "iolib.common-lisp.asd")) - (synopsis "Slightly modified Common Lisp for IOLib, a Common Lisp I/O library"))) - -(define-public sbcl-iolib.base - (package - (inherit sbcl-iolib.asdf) - (name "sbcl-iolib.base") - (inputs - `(("iolib.asdf" ,sbcl-iolib.asdf) - ("iolib.conf" ,sbcl-iolib.conf) - ("iolib.common-lisp" ,sbcl-iolib.common-lisp) - ("split-sequence" ,sbcl-split-sequence))) - (arguments - '(#:asd-file "iolib.base.asd")) - (synopsis "Base package for IOLib, a Common Lisp I/O library"))) - -(define-public sbcl-iolib.grovel - (deprecated-package "sbcl-iolib.grovel" sbcl-cffi-grovel)) - -(define sbcl-iolib+syscalls - (package - (inherit sbcl-iolib.asdf) - (name "sbcl-iolib+syscalls") - (inputs - `(("iolib.asdf" ,sbcl-iolib.asdf) - ("iolib.conf" ,sbcl-iolib.conf) - ("cffi-grovel" ,sbcl-cffi-grovel) - ("iolib.base" ,sbcl-iolib.base) - ("bordeaux-threads" ,sbcl-bordeaux-threads) - ("idna" ,sbcl-idna) - ("swap-bytes" ,sbcl-swap-bytes) - ("libfixposix" ,libfixposix) - ("cffi" ,sbcl-cffi))) - (native-inputs - `(("fiveam" ,sbcl-fiveam))) - (arguments - '(#:asd-file "iolib.asd" - #:asd-system-name "iolib/syscalls" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "src/syscalls/ffi-functions-unix.lisp" - (("\\(:default \"libfixposix\"\\)") - (string-append - "(:default \"" - (assoc-ref inputs "libfixposix") "/lib/libfixposix\")"))) - ;; Socket tests need Internet access, disable them. - (substitute* "iolib.asd" - (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)") - ""))))))) - (synopsis "Common Lisp I/O library"))) - -(define sbcl-iolib+multiplex - (package - (inherit sbcl-iolib+syscalls) - (name "sbcl-iolib+multiplex") - (inputs - `(("iolib+syscalls" ,sbcl-iolib+syscalls) - ,@(package-inputs sbcl-iolib+syscalls))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls) - ((#:asd-system-name _) "iolib/multiplex"))))) - -(define sbcl-iolib+streams - (package - (inherit sbcl-iolib+syscalls) - (name "sbcl-iolib+streams") - (inputs - `(("iolib+multiplex" ,sbcl-iolib+multiplex) - ,@(package-inputs sbcl-iolib+syscalls))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls) - ((#:asd-system-name _) "iolib/streams"))))) - -(define sbcl-iolib+sockets - (package - (inherit sbcl-iolib+syscalls) - (name "sbcl-iolib+sockets") - (inputs - `(("iolib+syscalls" ,sbcl-iolib+syscalls) - ("iolib+streams" ,sbcl-iolib+streams) - ,@(package-inputs sbcl-iolib+syscalls))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls) - ((#:asd-system-name _) "iolib/sockets"))))) - -(define-public sbcl-iolib - (package - (inherit sbcl-iolib+syscalls) - (name "sbcl-iolib") - (inputs - `(("iolib+multiplex" ,sbcl-iolib+multiplex) - ("iolib+streams" ,sbcl-iolib+streams) - ("iolib+sockets" ,sbcl-iolib+sockets) - ,@(package-inputs sbcl-iolib+syscalls))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls) - ((#:asd-system-name _) "iolib"))))) - (define-public cl-iolib (let ((parent (sbcl-package->cl-source-package sbcl-iolib))) (package @@ -5720,14 +4730,12 @@ Closure is a reference to the web browser it was originally written for.") ;; TODO: License? (license #f)))) -(define-public sbcl-cxml+xml +(define-public sbcl-cxml (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf") (revision "1")) (package - (name "sbcl-cxml+xml") - (build-system asdf-build-system/sbcl) + (name "sbcl-cxml") (version (git-version "0.0.0" revision commit)) - (home-page "https://common-lisp.net/project/cxml/") (source (origin (method git-fetch) @@ -5738,77 +4746,26 @@ Closure is a reference to the web browser it was originally written for.") (sha256 (base32 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37")))) - (inputs - `(("closure-common" ,sbcl-closure-common) - ("puri" ,sbcl-puri) - ("trivial-gray-streams" ,sbcl-trivial-gray-streams))) - (arguments - `(#:asd-file "cxml.asd" - #:asd-system-name "cxml/xml")) - (synopsis "Common Lisp XML parser") - (description "CXML implements a namespace-aware, validating XML 1.0 -parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are -offered, one SAX-like, the other similar to StAX.") - (license license:llgpl)))) - -(define sbcl-cxml+dom - (package - (inherit sbcl-cxml+xml) - (name "sbcl-cxml+dom") - (inputs - `(("closure-common" ,sbcl-closure-common) - ("puri" ,sbcl-puri) - ("cxml+xml" ,sbcl-cxml+xml))) - (arguments - `(#:asd-file "cxml.asd" - #:asd-system-name "cxml/dom")))) - -(define sbcl-cxml+klacks - (package - (inherit sbcl-cxml+xml) - (name "sbcl-cxml+klacks") + (build-system asdf-build-system/sbcl) (inputs `(("closure-common" ,sbcl-closure-common) ("puri" ,sbcl-puri) - ("cxml+xml" ,sbcl-cxml+xml))) + ("trivial-gray-streams" ,sbcl-trivial-gray-streams))) (arguments - `(#:asd-file "cxml.asd" - #:asd-system-name "cxml/klacks")))) - -(define sbcl-cxml+test - (package - (inherit sbcl-cxml+xml) - (name "sbcl-cxml+test") - (inputs - `(("closure-common" ,sbcl-closure-common) - ("puri" ,sbcl-puri) - ("cxml+xml" ,sbcl-cxml+xml))) - (arguments - `(#:asd-file "cxml.asd" - #:asd-system-name "cxml/test")))) - -(define-public sbcl-cxml - (package - (inherit sbcl-cxml+xml) - (name "sbcl-cxml") - (inputs - `(("closure-common" ,sbcl-closure-common) - ("puri" ,sbcl-puri) - ("trivial-gray-streams" ,sbcl-trivial-gray-streams) - ("cxml+dom" ,sbcl-cxml+dom) - ("cxml+klacks" ,sbcl-cxml+klacks) - ("cxml+test" ,sbcl-cxml+test))) - (arguments - `(#:asd-file "cxml.asd" - #:asd-system-name "cxml" - #:phases + `(#:phases (modify-phases %standard-phases (add-after 'build 'install-dtd (lambda* (#:key outputs #:allow-other-keys) (install-file "catalog.dtd" (string-append (assoc-ref outputs "out") - "/lib/" (%lisp-type)))))))))) + "/lib/common-lisp/" (%lisp-type) "/cxml"))))))) + (synopsis "Common Lisp XML parser") + (description "CXML implements a namespace-aware, validating XML 1.0 +parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are +offered, one SAX-like, the other similar to StAX.") + (home-page "https://common-lisp.net/project/cxml/") + (license license:llgpl)))) (define-public cl-cxml (sbcl-package->cl-source-package sbcl-cxml)) @@ -5869,8 +4826,7 @@ cookie headers, cookie creation, cookie jar creation and more.") ("cl-ppcre" ,sbcl-cl-ppcre) ("local-time" ,sbcl-local-time))) (native-inputs - `(("prove-asdf" ,sbcl-prove-asdf) - ("prove" ,sbcl-prove))) + `(("prove" ,sbcl-prove))) (arguments ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test. `(#:tests? #f)) @@ -5919,8 +4875,7 @@ cookie headers, cookie creation, cookie jar creation and more.") ("alexandria" ,sbcl-alexandria))) (native-inputs `(("prove" ,sbcl-prove) - ("prove-asdf" ,sbcl-prove-asdf) - ("lack-request" ,sbcl-lack-request) + ("lack" ,sbcl-lack) ("clack" ,sbcl-clack) ("babel" ,sbcl-babel) ("alexandria" ,sbcl-alexandria) @@ -6150,11 +5105,19 @@ optimizing techniques widely used in the functional programming world.") (sha256 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg")))) (inputs - `(("fare-utils" ,sbcl-fare-utils))) + `(("fare-utils" ,sbcl-fare-utils) + ("named-readtables" ,sbcl-named-readtables) + ("optima" ,sbcl-optima))) (arguments ;; XXX: Circular dependencies: Tests depend on subsystems, ;; which depend on the main systems. `(#:tests? #f + #:asd-files '("fare-quasiquote.asd" + "fare-quasiquote-optima.asd" + "fare-quasiquote-readtable.asd" + "fare-quasiquote-extras.asd") + #:asd-systems '("fare-quasiquote" + "fare-quasiquote-extras") #:phases (modify-phases %standard-phases ;; XXX: Require 1.0.0 version of fare-utils, and we package some @@ -6164,7 +5127,11 @@ optimizing techniques widely used in the functional programming world.") (lambda _ (substitute* "fare-quasiquote.asd" (("\\(:version \"fare-utils\" \"1.0.0\"\\)") - "\"fare-utils\""))))))) + "\"fare-utils\"")) + (substitute* "fare-quasiquote-optima.asd" + (("\\(:version \"optima\" \"1\\.0\"\\)") + "\"optima\"")) + #t))))) (synopsis "Pattern-matching friendly implementation of quasiquote") (description "The main purpose of this n+2nd reimplementation of quasiquote is enable matching of quasiquoted patterns, using Optima or @@ -6174,218 +5141,91 @@ Trivia.") (define-public cl-fare-quasiquote (sbcl-package->cl-source-package sbcl-fare-quasiquote)) -(define-public sbcl-fare-quasiquote-optima - (package - (inherit sbcl-fare-quasiquote) - (name "sbcl-fare-quasiquote-optima") - (inputs - `(("optima" ,sbcl-optima) - ("fare-quasiquote" ,sbcl-fare-quasiquote))) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-requirement - (lambda _ - (substitute* "fare-quasiquote-optima.asd" - (("\\(:version \"optima\" \"1\\.0\"\\)") - "\"optima\"")) - #t))))))) - -(define-public cl-fare-quasiquote-optima - (sbcl-package->cl-source-package sbcl-fare-quasiquote-optima)) - -(define-public sbcl-fare-quasiquote-readtable - (package - (inherit sbcl-fare-quasiquote) - (name "sbcl-fare-quasiquote-readtable") - (inputs - `(("fare-quasiquote" ,sbcl-fare-quasiquote) - ("named-readtables" ,sbcl-named-readtables))) - (description "The main purpose of this n+2nd reimplementation of -quasiquote is enable matching of quasiquoted patterns, using Optima or -Trivia. - -This package uses fare-quasiquote with named-readtable."))) - -(define-public cl-fare-quasiquote-readtable - (sbcl-package->cl-source-package sbcl-fare-quasiquote-readtable)) - -(define-public sbcl-fare-quasiquote-extras - (package - (inherit sbcl-fare-quasiquote) - (name "sbcl-fare-quasiquote-extras") - (build-system asdf-build-system/sbcl) - (inputs - `(("fare-quasiquote-optima" ,sbcl-fare-quasiquote-optima) - ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable))) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'build - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib/" (%lisp-type)))) - (mkdir-p lib) - (install-file "fare-quasiquote-extras.asd" lib) - (make-file-writable - (string-append lib "/fare-quasiquote-extras.asd")) - #t)))))) - (description "This library combines @code{fare-quasiquote-readtable} and -@code{fare-quasiquote-optima}."))) - -(define-public cl-fare-quasiquote-extras - (package - (inherit cl-fare-quasiquote) - (name "cl-fare-quasiquote-extras") - (build-system asdf-build-system/source) - (propagated-inputs - `(("fare-quasiquote" ,cl-fare-quasiquote) - ("fare-quasiquote-optima" ,cl-fare-quasiquote-optima) - ("fare-quasiquote-readtable" ,cl-fare-quasiquote-readtable))) - (description "This library combines @code{fare-quasiquote-readtable} and -@code{fare-quasiquote-optima}."))) - -(define-public sbcl-trivia.level0 +;;; Split the trivia package in two to work around the circular dependency +;;; between guicho271828/trivia and guicho271828/type-i. +(define-public sbcl-trivia.trivial (let ((commit "37698b47a14c2007630468de7a993694ef7bd475") (revision "2")) (package - (name "sbcl-trivia.level0") - (build-system asdf-build-system/sbcl) + (name "sbcl-trivia.trivial") (version (git-version "0.0.0" revision commit)) - (home-page "https://github.com/guicho271828/trivia") (source (origin (method git-fetch) (uri (git-reference - (url home-page) + (url "https://github.com/guicho271828/trivia") (commit commit))) - (file-name (git-file-name name version)) + (file-name (git-file-name "trivia" version)) (sha256 (base32 "0rsbwbw3ipxxgr6zzhci12nilq8zky475kmhz1rcxy4q8a85vn72")))) + (build-system asdf-build-system/sbcl) (inputs - `(("alexandria" ,sbcl-alexandria))) + `(("alexandria" ,sbcl-alexandria) + ("closer-mop" ,sbcl-closer-mop) + ("lisp-namespace" ,sbcl-lisp-namespace) + ("trivial-cltl2" ,sbcl-trivial-cltl2))) + (arguments + '(#:asd-files '("trivia.level0.asd" + "trivia.level1.asd" + "trivia.level2.asd" + "trivia.trivial.asd") + #:asd-systems '("trivia.trivial") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-build + (lambda _ + (for-each delete-file + '("trivia.balland2006.asd" + "trivia.ppcre.asd" + "trivia.quasiquote.asd" + "trivia.cffi.asd" + "trivia.asd" + "trivia.test.asd")) + #t))))) (synopsis "Pattern matching in Common Lisp") (description "Trivia is a pattern matching compiler that is compatible with Optima, another pattern matching library for Common Lisp. It is meant to be faster and more extensible than Optima.") + (home-page "https://github.com/guicho271828/trivia") (license license:llgpl)))) -(define-public sbcl-trivia.level1 - (package - (inherit sbcl-trivia.level0) - (name "sbcl-trivia.level1") - (inputs - `(("trivia.level0" ,sbcl-trivia.level0))) - (description "Trivia is a pattern matching compiler that is compatible -with Optima, another pattern matching library for Common Lisp. It is meant to -be faster and more extensible than Optima. - -This system contains the core patterns of Trivia."))) - -(define-public sbcl-trivia.level2 - (package - (inherit sbcl-trivia.level0) - (name "sbcl-trivia.level2") - (inputs - `(("trivia.level1" ,sbcl-trivia.level1) - ("lisp-namespace" ,sbcl-lisp-namespace) - ("trivial-cltl2" ,sbcl-trivial-cltl2) - ("closer-mop" ,sbcl-closer-mop))) - (description "Trivia is a pattern matching compiler that is compatible -with Optima, another pattern matching library for Common Lisp. It is meant to -be faster and more extensible than Optima. - -This system contains a non-optimized pattern matcher compatible with Optima, -with extensible optimizer interface."))) - -(define-public sbcl-trivia.trivial - (package - (inherit sbcl-trivia.level0) - (name "sbcl-trivia.trivial") - (inputs - `(("trivia.level2" ,sbcl-trivia.level2))) - (description "Trivia is a pattern matching compiler that is compatible -with Optima, another pattern matching library for Common Lisp. It is meant to -be faster and more extensible than Optima. - -This system contains the base level system of Trivia with a trivial optimizer."))) - -(define-public sbcl-trivia.balland2006 - (package - (inherit sbcl-trivia.level0) - (name "sbcl-trivia.balland2006") - (inputs - `(("trivia.trivial" ,sbcl-trivia.trivial) - ("iterate" ,sbcl-iterate) - ("type-i" ,sbcl-type-i) - ("alexandria" ,sbcl-alexandria))) - (arguments - ;; Tests are done in trivia itself. - `(#:tests? #f)) - (description "Trivia is a pattern matching compiler that is compatible -with Optima, another pattern matching library for Common Lisp. It is meant to -be faster and more extensible than Optima. - -This system contains the base level system of Trivia with a trivial optimizer."))) - -(define-public sbcl-trivia.ppcre - (package - (inherit sbcl-trivia.level0) - (name "sbcl-trivia.ppcre") - (inputs - `(("trivia.trivial" ,sbcl-trivia.trivial) - ("cl-ppcre" ,sbcl-cl-ppcre))) - (description "Trivia is a pattern matching compiler that is compatible -with Optima, another pattern matching library for Common Lisp. It is meant to -be faster and more extensible than Optima. - -This system contains the PPCRE extension."))) - -(define-public sbcl-trivia.quasiquote - (package - (inherit sbcl-trivia.level0) - (name "sbcl-trivia.quasiquote") - (inputs - `(("trivia.trivial" ,sbcl-trivia.trivial) - ("fare-quasiquote" ,sbcl-fare-quasiquote) - ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable))) - (description "Trivia is a pattern matching compiler that is compatible -with Optima, another pattern matching library for Common Lisp. It is meant to -be faster and more extensible than Optima. - -This system contains the fare-quasiquote extension."))) - -(define-public sbcl-trivia.cffi - (package - (inherit sbcl-trivia.level0) - (name "sbcl-trivia.cffi") - (inputs - `(("cffi" ,sbcl-cffi) - ("trivia.trivial" ,sbcl-trivia.trivial))) - (description "Trivia is a pattern matching compiler that is compatible -with Optima, another pattern matching library for Common Lisp. It is meant to -be faster and more extensible than Optima. - -This system contains the CFFI foreign slot access extension."))) - (define-public sbcl-trivia (package - (inherit sbcl-trivia.level0) + (inherit sbcl-trivia.trivial) (name "sbcl-trivia") - (inputs - `(("trivia.balland2006" ,sbcl-trivia.balland2006))) (native-inputs `(("fiveam" ,sbcl-fiveam) - ("trivia.ppcre" ,sbcl-trivia.ppcre) - ("trivia.quasiquote" ,sbcl-trivia.quasiquote) - ("trivia.cffi" ,sbcl-trivia.cffi) ("optima" ,sbcl-optima))) - (arguments - `(#:test-asd-file "trivia.test.asd")) - (description "Trivia is a pattern matching compiler that is compatible -with Optima, another pattern matching library for Common Lisp. It is meant to -be faster and more extensible than Optima."))) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("cffi" ,sbcl-cffi) + ("cl-ppcre" ,sbcl-cl-ppcre) + ("fare-quasiquote" ,sbcl-fare-quasiquote) + ("iterate" ,sbcl-iterate) + ("trivia.trivial" ,sbcl-trivia.trivial) + ("type-i" ,sbcl-type-i))) + (arguments + '(#:asd-files '("trivia.balland2006.asd" + "trivia.ppcre.asd" + "trivia.quasiquote.asd" + "trivia.cffi.asd" + "trivia.asd") + #:asd-systems '("trivia" + "trivia.ppcre" + "trivia.quasiquote" + "trivia.cffi") + #:test-asd-file "trivia.test.asd" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-build + (lambda _ + (for-each delete-file + '("trivia.level0.asd" + "trivia.level1.asd" + "trivia.level2.asd" + "trivia.trivial.asd")) + #t))))))) (define-public cl-trivia (sbcl-package->cl-source-package sbcl-trivia)) @@ -6444,11 +5284,10 @@ various string metrics in Common Lisp: ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode) ("cl-change-case" ,sbcl-cl-change-case))) (native-inputs - `(("prove" ,sbcl-prove) - ("prove-asdf" ,sbcl-prove-asdf))) + `(("prove" ,sbcl-prove))) (arguments - `(#:asd-file "str.asd" - #:asd-system-name "str" + `(#:asd-files '("str.asd") + #:asd-systems '("str") #:test-asd-file "str.test.asd")) (synopsis "Modern, consistent and terse Common Lisp string manipulation library") (description "A modern and consistent Common Lisp string manipulation @@ -6495,15 +5334,11 @@ constructs can be used interchangeably with pattern matching, and the full power of CXML is available when necessary.") (license license:bsd-3)))) -;; TODO: dbus uses ASDF's package-inferred-system which is not supported by -;; asdf-build-system/sbcl as of 2019-08-02. We should fix -;; asdf-build-system/sbcl. -(define-public cl-dbus +(define-public sbcl-dbus (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a") (revision "1")) (package - (name "cl-dbus") - (build-system asdf-build-system/source) + (name "sbcl-dbus") (version (git-version "20190408" revision commit)) (home-page "https://github.com/death/dbus") (source @@ -6516,9 +5351,8 @@ power of CXML is available when necessary.") (sha256 (base32 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5")))) - ;; Inputs must be propagated or else packages depending on this won't - ;; have the necessary packages. - (propagated-inputs + (build-system asdf-build-system/sbcl) + (inputs `(("alexandria" ,sbcl-alexandria) ("trivial-garbage" ,sbcl-trivial-garbage) ("babel" ,sbcl-babel) @@ -6532,6 +5366,9 @@ power of CXML is available when necessary.") objects as well as send and notify other objects connected to a bus.") (license license:bsd-2)))) +(define-public cl-dbus + (sbcl-package->cl-source-package sbcl-dbus)) + (define-public sbcl-cl-hooks (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7") (revision "1")) @@ -6616,8 +5453,7 @@ extension-points via the concept of hooks.") "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b")))) (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads) - ("usocket" ,sbcl-usocket) - ("usocket-server" ,sbcl-usocket-server))) + ("usocket" ,sbcl-usocket))) (synopsis "Common Lisp abstraction layer over platform dependent functionality") (description "@code{s-sysdeps} is an abstraction layer over platform dependent functionality. This simple package is used as a building block in a @@ -6731,7 +5567,13 @@ programming style and the efficiency of an iterative programming style.") "0z30jr3lxz3cmi019fsl4lgcgwf0yqpn95v9zkkkwgymdrkd4lga")))) (build-system asdf-build-system/sbcl) (inputs - `(("local-time" ,sbcl-local-time))) + `(("local-time" ,sbcl-local-time) + ("series" ,sbcl-series))) + (arguments + '(#:asd-files '("periods.asd" + "periods-series.asd") + #:asd-systems '("periods" + "periods-series"))) (synopsis "Common Lisp library for manipulating date/time objects") (description "Periods is a Common Lisp library providing a set of utilities for @@ -6746,26 +5588,6 @@ discontiguous ranges of time.") (define-public ecl-periods (sbcl-package->ecl-package sbcl-periods)) -(define-public sbcl-periods-series - (package - (inherit sbcl-periods) - (name "sbcl-periods-series") - (inputs - `(("periods" ,sbcl-periods) - ("series" ,sbcl-series))) - (arguments - '(#:asd-file "periods-series.asd" - #:asd-system-name "periods-series")) - (description - "Periods-series is an extension of the periods Common Lisp library -providing functions compatible with the series Common Lisp library."))) - -(define-public cl-periods-series - (sbcl-package->cl-source-package sbcl-periods-series)) - -(define-public ecl-periods-series - (sbcl-package->ecl-package sbcl-periods-series)) - (define-public sbcl-metatilities-base (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5") (revision "1")) @@ -6887,57 +5709,41 @@ on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.") (define-public ecl-xlunit (sbcl-package->ecl-package sbcl-xlunit)) -(define-public sbcl-fprog +(define-public sbcl-cambl (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636") (revision "1")) (package - (name "sbcl-fprog") - (version (git-version "1.0.0" revision commit)) + (name "sbcl-cambl") + (version (git-version "4.0.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/jwiegley/cambl") (commit commit))) - (file-name (git-file-name name version)) + (file-name (git-file-name "cambl" version)) (sha256 - (base32 - "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz")))) + (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz")))) (build-system asdf-build-system/sbcl) - (synopsis "Functional programming utilities for Common Lisp") - (description - "@code{fprog} is a Common Lisp library allowing iteration over -immutable lists sharing identical sublists.") - (home-page "https://github.com/jwiegley/cambl") - (license license:bsd-3)))) - -(define-public cl-fprog - (sbcl-package->cl-source-package sbcl-fprog)) - -(define-public ecl-fprog - (sbcl-package->ecl-package sbcl-fprog)) - -(define-public sbcl-cambl - (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636") - (revision "1")) - (package - (inherit sbcl-fprog) - (name "sbcl-cambl") - (version (git-version "4.0.0" revision commit)) (native-inputs `(("xlunit" ,sbcl-xlunit))) (inputs `(("alexandria" ,sbcl-alexandria) ("cl-containers" ,sbcl-cl-containers) ("local-time" ,sbcl-local-time) - ("periods" ,sbcl-periods) - ("fprog" ,sbcl-fprog))) + ("periods" ,sbcl-periods))) + (arguments + '(#:asd-files '("fprog.asd" + "cambl.asd") + #:asd-systems '("cambl"))) (synopsis "Commoditized amounts and balances for Common Lisp") (description "CAMBL is a Common Lisp library providing a convenient facility for working with commoditized values. It does not allow compound units (and so is not suited for scientific operations) but does work rather nicely for the -purpose of financial calculations.")))) +purpose of financial calculations.") + (home-page "https://github.com/jwiegley/cambl") + (license license:bsd-3)))) (define-public cl-cambl (sbcl-package->cl-source-package sbcl-cambl)) @@ -6966,7 +5772,7 @@ purpose of financial calculations.")))) `(("cambl" ,sbcl-cambl) ("cl-ppcre" ,sbcl-cl-ppcre) ("local-time" ,sbcl-local-time) - ("periods-series" ,sbcl-periods-series))) + ("periods" ,sbcl-periods))) (arguments '(#:phases (modify-phases %standard-phases @@ -7380,14 +6186,13 @@ implementation specific equivalent.") (inputs `(("alexandria" ,sbcl-alexandria) ("trivia" ,sbcl-trivia) - ("trivia.quasiquote" ,sbcl-trivia.quasiquote) ("split-sequence" ,sbcl-split-sequence) ("string-case" ,sbcl-string-case) ("parse-number" ,sbcl-parse-number) ("trivial-garbage" ,sbcl-trivial-garbage) ("bordeaux-threads" ,sbcl-bordeaux-threads) ("named-readtables" ,sbcl-named-readtables) - ("fare-quasiquote-extras" ,sbcl-fare-quasiquote-extras) + ("fare-quasiquote" ,sbcl-fare-quasiquote) ("parse-declarations-1.0" ,sbcl-parse-declarations) ("global-vars" ,sbcl-global-vars) ("trivial-file-size" ,sbcl-trivial-file-size) @@ -7593,11 +6398,8 @@ JSON interchange format.") (inputs `(("alexandria" ,sbcl-alexandria) ("iterate" ,sbcl-iterate) - ("metabang-bind" ,sbcl-metabang-bind))) - (propagated-inputs - ;; Swank doesn't have a pre-compiled package, therefore we must - ;; propagate its sources. - `(("swank" ,cl-slime-swank))) + ("metabang-bind" ,sbcl-metabang-bind) + ("swank" ,sbcl-slime-swank))) (arguments '(#:phases (modify-phases %standard-phases @@ -7632,19 +6434,23 @@ interactive development.") (file-name (git-file-name name version)) (sha256 (base32 - "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g")) - (patches (search-patches "sbcl-graph-asdf-definitions.patch")))) + "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g")))) (build-system asdf-build-system/sbcl) (native-inputs `(("stefil" ,sbcl-stefil))) (inputs `(("alexandria" ,sbcl-alexandria) ("cl-heap" ,sbcl-cl-heap) + ("cl-ppcre" ,sbcl-cl-ppcre) ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros) ("metabang-bind" ,sbcl-metabang-bind) - ("named-readtables" ,sbcl-named-readtables))) + ("named-readtables" ,sbcl-named-readtables) + ("yason" ,sbcl-yason))) (arguments - '(#:test-asd-file "graph-test.asd")) + '(#:asd-files '("graph.asd") + #:asd-systems '("graph" + "graph/dot" + "graph/json"))) (synopsis "Graph data structure and algorithms for Common Lisp") (description "The GRAPH Common Lisp library provides a data structures to represent @@ -7656,40 +6462,6 @@ path, maximum flow, minimum spanning tree, etc.).") (define-public cl-graph (sbcl-package->cl-source-package sbcl-graph)) -(define-public sbcl-graph-dot - (package - (inherit sbcl-graph) - (name "sbcl-graph-dot") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ppcre" ,sbcl-cl-ppcre) - ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros) - ("graph" ,sbcl-graph) - ("metabang-bind" ,sbcl-metabang-bind) - ("named-readtables" ,sbcl-named-readtables))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-graph) - ((#:asd-file _ "") "graph-dot.asd") - ((#:asd-system-name _ #f) "graph-dot"))) - (synopsis "Serialize graphs to and from DOT format"))) - -(define-public sbcl-graph-json - (package - (inherit sbcl-graph) - (name "sbcl-graph-json") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros) - ("graph" ,sbcl-graph) - ("metabang-bind" ,sbcl-metabang-bind) - ("named-readtables" ,sbcl-named-readtables) - ("yason" ,sbcl-yason))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-graph) - ((#:asd-file _ "") "graph-json.asd") - ((#:asd-system-name _ #f) "graph-json"))) - (synopsis "Serialize graphs to and from JSON format"))) - (define-public sbcl-trivial-indent (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a") (revision "0")) @@ -7881,6 +6653,8 @@ your own classes.") (define-public cl-plump (sbcl-package->cl-source-package sbcl-plump)) +;;; Split the antik package in two to work around the circular dependency +;;; between antik/antik and antik/gsll. (define-public sbcl-antik-base (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3") (revision "1")) @@ -7900,13 +6674,34 @@ your own classes.") (build-system asdf-build-system/sbcl) (inputs `(("alexandria" ,sbcl-alexandria) + ("cffi" ,sbcl-cffi) ("cl-ppcre" ,sbcl-cl-ppcre) + ("drakma" ,sbcl-drakma) + ("fare-utils" ,sbcl-fare-utils) ("iterate" ,sbcl-iterate) ("metabang-bind" ,sbcl-metabang-bind) ("named-readtables" ,sbcl-named-readtables) - ("split-sequence" ,sbcl-split-sequence))) + ("split-sequence" ,sbcl-split-sequence) + ("static-vectors" ,sbcl-static-vectors) + ("trivial-garbage" ,sbcl-trivial-garbage) + ("trivial-utf-8" ,sbcl-trivial-utf-8))) (native-inputs `(("lisp-unit" ,sbcl-lisp-unit))) + (arguments + '(#:asd-files '("antik-base.asd" + "foreign-array.asd" + "physical-dimension.asd" + "science-data.asd") + #:asd-systems '("antik-base" + "foreign-array" + "physical-dimension" + "science-data") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-build + (lambda _ + (delete-file "antik.asd") + #t))))) (synopsis "Scientific and engineering computation in Common Lisp") (description "Antik provides a foundation for scientific and engineering @@ -7919,68 +6714,6 @@ computer known.") (home-page "https://common-lisp.net/project/antik/") (license license:gpl3)))) -(define-public cl-antik-base - (sbcl-package->cl-source-package sbcl-antik-base)) - -(define-public ecl-antik-base - (sbcl-package->ecl-package sbcl-antik-base)) - -(define-public sbcl-foreign-array - (package - (inherit sbcl-antik-base) - (name "sbcl-foreign-array") - (arguments - (substitute-keyword-arguments (package-arguments sbcl-antik-base) - ((#:asd-file _ "") "foreign-array.asd") - ((#:asd-system-name _ #f) "foreign-array"))) - (inputs - `(("antik-base" ,sbcl-antik-base) - ("cffi" ,sbcl-cffi) - ("trivial-garbage" ,sbcl-trivial-garbage) - ("static-vectors" ,sbcl-static-vectors))) - (synopsis "Common Lisp library providing access to foreign arrays"))) - -(define-public cl-foreign-array - (sbcl-package->cl-source-package sbcl-foreign-array)) - -(define-public ecl-foreign-array - (sbcl-package->ecl-package sbcl-foreign-array)) - -(define-public sbcl-physical-dimension - (package - (inherit sbcl-antik-base) - (name "sbcl-physical-dimension") - (inputs - `(("fare-utils" ,sbcl-fare-utils) - ("foreign-array" ,sbcl-foreign-array) - ("trivial-utf-8" ,sbcl-trivial-utf-8))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-antik-base) - ((#:asd-file _ "") "physical-dimension.asd") - ((#:asd-system-name _ #f) "physical-dimension"))) - (synopsis - "Common Lisp library providing computations with physical units"))) - -(define-public cl-physical-dimension - (sbcl-package->cl-source-package sbcl-physical-dimension)) - -(define-public sbcl-science-data - (package - (inherit sbcl-antik-base) - (name "sbcl-science-data") - (inputs - `(("physical-dimension" ,sbcl-physical-dimension) - ("drakma" ,sbcl-drakma))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-antik-base) - ((#:asd-file _ "") "science-data.asd") - ((#:asd-system-name _ #f) "science-data"))) - (synopsis - "Common Lisp library for scientific and engineering numerical data"))) - -(define-public cl-science-data - (sbcl-package->cl-source-package sbcl-science-data)) - (define-public sbcl-gsll (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308") (revision "1")) @@ -8002,9 +6735,8 @@ computer known.") `(("lisp-unit" ,sbcl-lisp-unit))) (inputs `(("alexandria" ,sbcl-alexandria) - ("cffi-grovel" ,sbcl-cffi-grovel) - ("cffi-libffi" ,sbcl-cffi-libffi) - ("foreign-array" ,sbcl-foreign-array) + ("antik-base" ,sbcl-antik-base) + ("cffi" ,sbcl-cffi) ("gsl" ,gsl) ("metabang-bind" ,sbcl-metabang-bind) ("trivial-features" ,sbcl-trivial-features) @@ -8048,12 +6780,21 @@ intending to program in Lisp.") (inherit sbcl-antik-base) (name "sbcl-antik") (inputs - `(("gsll" ,sbcl-gsll) - ("physical-dimension" ,sbcl-physical-dimension))) + `(("antik-base" ,sbcl-antik-base) + ("gsll" ,sbcl-gsll))) (arguments - (substitute-keyword-arguments (package-arguments sbcl-antik-base) - ((#:asd-file _ "") "antik.asd") - ((#:asd-system-name _ #f) "antik"))))) + '(#:asd-files '("antik.asd") + #:asd-systems '("antik") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-build + (lambda _ + (for-each delete-file + '("antik-base.asd" + "foreign-array.asd" + "physical-dimension.asd" + "science-data.asd")) + #t))))))) (define-public cl-antik (sbcl-package->cl-source-package sbcl-antik)) @@ -8096,13 +6837,11 @@ doesn't support them.") (define-public ecl-cl-interpol (sbcl-package->ecl-package sbcl-cl-interpol)) -(define sbcl-symbol-munger-boot0 - ;; There is a cyclical dependency between symbol-munger and lisp-unit2. - ;; See https://github.com/AccelerationNet/symbol-munger/issues/4 - (let ((commit "cc2bb4b7acd454d756484aec81ba487648385fc3") +(define-public sbcl-symbol-munger + (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416") (revision "1")) (package - (name "sbcl-symbol-munger-boot0") + (name "sbcl-symbol-munger") (version (git-version "0.0.1" revision commit)) (source (origin @@ -8113,16 +6852,15 @@ doesn't support them.") (file-name (git-file-name name version)) (sha256 (base32 - "0diav5ricqsybqvbp4bkxyj3bn3v9n7xb2pqqc4vg1algsw2pyjl")))) + "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km")))) (build-system asdf-build-system/sbcl) - (arguments - `(#:asd-file "symbol-munger.asd" - #:asd-system-name "symbol-munger")) (inputs - `(("iterate" ,sbcl-iterate) - ("alexandria" ,sbcl-alexandria))) - (native-inputs - `(("lisp-unit" ,sbcl-lisp-unit))) + `(("alexandria" ,sbcl-alexandria) + ("iterate" ,sbcl-iterate))) + (arguments + ;; There is a cyclical dependency between symbol-munger and lisp-unit2. + ;; See https://github.com/AccelerationNet/symbol-munger/issues/4 + '(#:tests? #f)) (synopsis "Capitalization and spacing conversion functions for Common Lisp") (description @@ -8135,13 +6873,19 @@ and camel-case rules.") ;; See https://github.com/AccelerationNet/symbol-munger/issues/5 (license license:expat)))) -(define sbcl-lisp-unit2-boot0 +(define-public cl-symbol-munger + (sbcl-package->cl-source-package sbcl-symbol-munger)) + +(define-public ecl-symbol-munger + (sbcl-package->ecl-package sbcl-symbol-munger)) + +(define-public sbcl-lisp-unit2 ;; There is a cyclical dependency between symbol-munger and lisp-unit2. ;; See https://github.com/AccelerationNet/symbol-munger/issues/4 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c") (revision "1")) (package - (name "sbcl-lisp-unit2-boot0") + (name "sbcl-lisp-unit2") (version (git-version "0.2.0" revision commit)) (source (origin @@ -8154,14 +6898,11 @@ and camel-case rules.") (base32 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp")))) (build-system asdf-build-system/sbcl) - (arguments - `(#:asd-file "lisp-unit2.asd" - #:asd-system-name "lisp-unit2")) (inputs `(("alexandria" ,sbcl-alexandria) ("cl-interpol" ,sbcl-cl-interpol) ("iterate" ,sbcl-iterate) - ("symbol-munger-boot0" ,sbcl-symbol-munger-boot0))) + ("symbol-munger" ,sbcl-symbol-munger))) (synopsis "Test Framework for Common Lisp") (description "LISP-UNIT2 is a Common Lisp library that supports unit testing in the @@ -8170,56 +6911,6 @@ by Chris Riesbeck.") (home-page "https://github.com/AccelerationNet/lisp-unit2") (license license:expat)))) -(define-public sbcl-symbol-munger - (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416") - (revision "1")) - (package - (name "sbcl-symbol-munger") - (version (git-version "0.0.1" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/AccelerationNet/symbol-munger") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km")))) - (build-system asdf-build-system/sbcl) - (inputs - `(("alexandria" ,sbcl-alexandria) - ("iterate" ,sbcl-iterate))) - (native-inputs - `(("lisp-unit2-boot0" ,sbcl-lisp-unit2-boot0))) - (synopsis - "Capitalization and spacing conversion functions for Common Lisp") - (description - "This is a Common Lisp library to change the capitalization and spacing -of a string or a symbol. It can convert to and from Lisp, english, underscore -and camel-case rules.") - (home-page "https://github.com/AccelerationNet/symbol-munger") - ;; The package declares a BSD license, but all of the license - ;; text is MIT. - ;; See https://github.com/AccelerationNet/symbol-munger/issues/5 - (license license:expat)))) - -(define-public cl-symbol-munger - (sbcl-package->cl-source-package sbcl-symbol-munger)) - -(define-public ecl-symbol-munger - (sbcl-package->ecl-package sbcl-symbol-munger)) - -(define-public sbcl-lisp-unit2 - (package - (inherit sbcl-lisp-unit2-boot0) - (name "sbcl-lisp-unit2") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-interpol" ,sbcl-cl-interpol) - ("iterate" ,sbcl-iterate) - ("symbol-munger" ,sbcl-symbol-munger))))) - (define-public cl-lisp-unit2 (sbcl-package->cl-source-package sbcl-lisp-unit2)) @@ -8301,11 +6992,11 @@ sacrificing much in the way of power.") (define-public ecl-external-program (sbcl-package->ecl-package sbcl-external-program)) -(define sbcl-cl-ana-boot0 +(define-public sbcl-cl-ana (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9") (revision "1")) (package - (name "sbcl-cl-ana-boot0") + (name "sbcl-cl-ana") (version (git-version "0.0.0" revision commit)) (source (origin @@ -8315,9 +7006,90 @@ sacrificing much in the way of power.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 - "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh")))) + (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh")))) (build-system asdf-build-system/sbcl) + (native-inputs + `(("cl-fad" ,sbcl-cl-fad))) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("antik" ,sbcl-antik) + ("cffi" ,sbcl-cffi) + ("cl-csv" ,sbcl-cl-csv) + ("closer-mop" ,sbcl-closer-mop) + ("external-program" ,sbcl-external-program) + ("gsl" ,gsl) + ("gsll" ,sbcl-gsll) + ("hdf5" ,hdf5-parallel-openmpi) + ("iterate" ,sbcl-iterate) + ("libffi" ,libffi) + ("split-sequence" ,sbcl-split-sequence))) + (arguments + `(#:asd-files '("cl-ana.asd" + "pathname-utils/cl-ana.pathname-utils.asd" + "package-utils/cl-ana.package-utils.asd" + "string-utils/cl-ana.string-utils.asd" + "functional-utils/cl-ana.functional-utils.asd" + "list-utils/cl-ana.list-utils.asd" + "generic-math/cl-ana.generic-math.asd" + "math-functions/cl-ana.math-functions.asd" + "calculus/cl-ana.calculus.asd" + "symbol-utils/cl-ana.symbol-utils.asd" + "macro-utils/cl-ana.macro-utils.asd" + "binary-tree/cl-ana.binary-tree.asd" + "tensor/cl-ana.tensor.asd" + "error-propogation/cl-ana.error-propogation.asd" + "quantity/cl-ana.quantity.asd" + "table/cl-ana.table.asd" + "table-utils/cl-ana.table-utils.asd" + "hdf-cffi/cl-ana.hdf-cffi.asd" + "int-char/cl-ana.int-char.asd" + "memoization/cl-ana.memoization.asd" + "typespec/cl-ana.typespec.asd" + "hdf-typespec/cl-ana.hdf-typespec.asd" + "hdf-utils/cl-ana.hdf-utils.asd" + "typed-table/cl-ana.typed-table.asd" + "hdf-table/cl-ana.hdf-table.asd" + "gsl-cffi/cl-ana.gsl-cffi.asd" + "ntuple-table/cl-ana.ntuple-table.asd" + "csv-table/cl-ana.csv-table.asd" + "reusable-table/cl-ana.reusable-table.asd" + "linear-algebra/cl-ana.linear-algebra.asd" + "lorentz/cl-ana.lorentz.asd" + "clos-utils/cl-ana.clos-utils.asd" + "hash-table-utils/cl-ana.hash-table-utils.asd" + "map/cl-ana.map.asd" + "fitting/cl-ana.fitting.asd" + "histogram/cl-ana.histogram.asd" + "file-utils/cl-ana.file-utils.asd" + "statistics/cl-ana.statistics.asd" + "gnuplot-interface/cl-ana.gnuplot-interface.asd" + "plotting/cl-ana.plotting.asd" + "table-viewing/cl-ana.table-viewing.asd" + "serialization/cl-ana.serialization.asd" + "makeres/cl-ana.makeres.asd" + "makeres-macro/cl-ana.makeres-macro.asd" + "makeres-block/cl-ana.makeres-block.asd" + "makeres-progress/cl-ana.makeres-progress.asd" + "makeres-table/cl-ana.makeres-table.asd" + "makeres-graphviz/cl-ana.makeres-graphviz.asd" + "makeres-branch/cl-ana.makeres-branch.asd" + "makeres-utils/cl-ana.makeres-utils.asd" + "statistical-learning/cl-ana.statistical-learning.asd") + #:asd-systems '("cl-ana") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "hdf-cffi/hdf-cffi.lisp" + (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so") + (string-append (assoc-ref inputs "hdf5") + "/lib/libhdf5.so"))) + (substitute* "gsl-cffi/gsl-cffi.lisp" + (("define-foreign-library gsl-cffi" all) + (string-append all " (:unix " + (assoc-ref inputs "gsl") + "/lib/libgsl.so)"))) + #t))))) (synopsis "Common Lisp data analysis library") (description "CL-ANA is a data analysis library in Common Lisp providing tabular and @@ -8326,1229 +7098,175 @@ visualization.") (home-page "https://github.com/ghollisjr/cl-ana") (license license:gpl3)))) -(define-public sbcl-cl-ana.pathname-utils - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.pathname-utils") - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "pathname-utils/cl-ana.pathname-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.pathname-utils"))))) - -(define-public cl-ana.pathname-utils - (sbcl-package->cl-source-package sbcl-cl-ana.pathname-utils)) - -(define-public ecl-cl-ana.pathname-utils - (sbcl-package->ecl-package sbcl-cl-ana.pathname-utils)) - -(define-public sbcl-cl-ana.package-utils - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.package-utils") - (inputs - `(("alexandria" ,sbcl-alexandria))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "package-utils/cl-ana.package-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.package-utils"))))) - -(define-public cl-ana.package-utils - (sbcl-package->cl-source-package sbcl-cl-ana.package-utils)) - -(define-public ecl-cl-ana.package-utils - (sbcl-package->ecl-package sbcl-cl-ana.package-utils)) - -(define-public sbcl-cl-ana.string-utils - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.string-utils") - (inputs - `(("split-sequence" ,sbcl-split-sequence))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "string-utils/cl-ana.string-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.string-utils"))))) - -(define-public cl-ana.string-utils - (sbcl-package->cl-source-package sbcl-cl-ana.string-utils)) - -(define-public ecl-cl-ana.string-utils - (sbcl-package->ecl-package sbcl-cl-ana.string-utils)) - -(define-public sbcl-cl-ana.functional-utils - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.functional-utils") - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "functional-utils/cl-ana.functional-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.functional-utils"))))) - -(define-public cl-ana.functional-utils - (sbcl-package->cl-source-package sbcl-cl-ana.functional-utils)) - -(define-public ecl-cl-ana.functional-utils - (sbcl-package->ecl-package sbcl-cl-ana.functional-utils)) - -(define-public sbcl-cl-ana.list-utils - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.list-utils") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils) - ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "list-utils/cl-ana.list-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.list-utils"))))) - -(define-public cl-ana.list-utils - (sbcl-package->cl-source-package sbcl-cl-ana.list-utils)) - -(define-public ecl-cl-ana.list-utils - (sbcl-package->ecl-package sbcl-cl-ana.list-utils)) - -(define-public sbcl-cl-ana.generic-math - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.generic-math") - (inputs - `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "generic-math/cl-ana.generic-math.asd") - ((#:asd-system-name _ #f) "cl-ana.generic-math"))))) - -(define-public cl-ana.generic-math - (sbcl-package->cl-source-package sbcl-cl-ana.generic-math)) - -(define-public ecl-cl-ana.generic-math - (sbcl-package->ecl-package sbcl-cl-ana.generic-math)) - -(define-public sbcl-cl-ana.math-functions - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.math-functions") - (inputs - `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("gsll" ,sbcl-gsll))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "math-functions/cl-ana.math-functions.asd") - ((#:asd-system-name _ #f) "cl-ana.math-functions"))))) +(define-public cl-ana + (sbcl-package->cl-source-package sbcl-cl-ana)) -(define-public cl-ana.math-functions - (sbcl-package->cl-source-package sbcl-cl-ana.math-functions)) +(define-public sbcl-archive + (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc") + (revision "1")) + (package + (name "sbcl-archive") + (version (git-version "0.9" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sharplispers/archive") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("cl-fad" ,sbcl-cl-fad) + ("trivial-gray-streams" ,sbcl-trivial-gray-streams))) + (synopsis "Common Lisp library for tar and cpio archives") + (description + "This is a Common Lisp library to read and write disk-based file +archives such as those generated by the tar and cpio programs on Unix.") + (home-page "https://github.com/sharplispers/archive") + (license license:bsd-3)))) -(define-public sbcl-cl-ana.calculus - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.calculus") - (inputs - `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "calculus/cl-ana.calculus.asd") - ((#:asd-system-name _ #f) "cl-ana.calculus"))))) +(define-public cl-archive + (sbcl-package->cl-source-package sbcl-archive)) -(define-public cl-ana.calculus - (sbcl-package->cl-source-package sbcl-cl-ana.calculus)) +(define-public ecl-archive + (sbcl-package->ecl-package sbcl-archive)) -(define-public ecl-cl-ana.calculus - (sbcl-package->ecl-package sbcl-cl-ana.calculus)) +(define-public sbcl-misc-extensions + (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a") + (revision "1")) + (package + (name "sbcl-misc-extensions") + (version (git-version "3.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.common-lisp.net/misc-extensions/devel.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0")))) + (build-system asdf-build-system/sbcl) + (synopsis "Collection of small macros and extensions for Common Lisp") + (description + "This project is intended as a catchall for small, general-purpose +extensions to Common Lisp. It contains: -(define-public sbcl-cl-ana.symbol-utils - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.symbol-utils") - (inputs - `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "symbol-utils/cl-ana.symbol-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.symbol-utils"))))) +@itemize +@item @code{new-let}, a macro that combines and generalizes @code{let}, +@code{let*} and @code{multiple-value-bind}, +@item @code{gmap}, an iteration macro that generalizes @code{map}. +@end itemize\n") + (home-page "https://common-lisp.net/project/misc-extensions/") + (license license:public-domain)))) -(define-public cl-ana.symbol-utils - (sbcl-package->cl-source-package sbcl-cl-ana.symbol-utils)) +(define-public cl-misc-extensions + (sbcl-package->cl-source-package sbcl-misc-extensions)) -(define-public ecl-cl-ana.symbol-utils - (sbcl-package->ecl-package sbcl-cl-ana.symbol-utils)) +(define-public ecl-misc-extensions + (sbcl-package->ecl-package sbcl-misc-extensions)) -(define-public sbcl-cl-ana.macro-utils +(define-public sbcl-mt19937 (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.macro-utils") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils) - ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils) - ("split-sequence" ,sbcl-split-sequence))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "macro-utils/cl-ana.macro-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.macro-utils"))))) + (name "sbcl-mt19937") + (version "1.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://common-lisp.net/project/asdf-packaging/" + "mt19937-latest.tar.gz")) + (sha256 + (base32 + "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv")))) + (build-system asdf-build-system/sbcl) + (synopsis "Mersenne Twister pseudo-random number generator") + (description + "MT19937 is a portable Mersenne Twister pseudo-random number generator +for Common Lisp.") + (home-page "https://www.cliki.net/mt19937") + (license license:public-domain))) -(define-public cl-ana.macro-utils - (sbcl-package->cl-source-package sbcl-cl-ana.macro-utils)) +(define-public cl-mt19937 + (sbcl-package->cl-source-package sbcl-mt19937)) -(define-public ecl-cl-ana.macro-utils - (sbcl-package->ecl-package sbcl-cl-ana.macro-utils)) +(define-public ecl-mt19937 + (sbcl-package->ecl-package sbcl-mt19937)) -(define-public sbcl-cl-ana.binary-tree - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.binary-tree") - (inputs - `(("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "binary-tree/cl-ana.binary-tree.asd") - ((#:asd-system-name _ #f) "cl-ana.binary-tree"))))) +(define-public sbcl-fset + (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852") + (revision "1")) + (package + (name "sbcl-fset") + (version (git-version "1.3.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/slburson/fset") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy")) + (snippet '(begin + ;; Remove obsolete copy of system definition. + (delete-file "Code/fset.asd") + #t)))) + (build-system asdf-build-system/sbcl) + (inputs + `(("misc-extensions" ,sbcl-misc-extensions) + ("mt19937" ,sbcl-mt19937) + ("named-readtables" ,sbcl-named-readtables))) + (synopsis "Functional set-theoretic collections library") + (description + "FSet is a functional set-theoretic collections library for Common Lisp. +Functional means that all update operations return a new collection rather than +modifying an existing one in place. Set-theoretic means that collections may +be nested arbitrarily with no additional programmer effort; for instance, sets +may contain sets, maps may be keyed by sets, etc.") + (home-page "https://common-lisp.net/project/fset/Site/index.html") + (license license:llgpl)))) -(define-public cl-ana.binary-tree - (sbcl-package->cl-source-package sbcl-cl-ana.binary-tree)) +(define-public cl-fset + (sbcl-package->cl-source-package sbcl-fset)) -(define-public ecl-cl-ana.binary-tree - (sbcl-package->ecl-package sbcl-cl-ana.binary-tree)) +(define-public sbcl-cl-cont + (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a") + (revision "1")) + (package + (name "sbcl-cl-cont") + (version (git-version "0.3.8" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("closer-mop" ,sbcl-closer-mop))) + (native-inputs + `(("rt" ,sbcl-rt))) + (synopsis "Delimited continuations for Common Lisp") + (description + "This is a library that implements delimited continuations by +transforming Common Lisp code to continuation passing style.") + (home-page "https://common-lisp.net/project/cl-cont/") + (license license:llgpl)))) -(define-public sbcl-cl-ana.tensor - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.tensor") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "tensor/cl-ana.tensor.asd") - ((#:asd-system-name _ #f) "cl-ana.tensor"))))) +(define-public cl-cont + (sbcl-package->cl-source-package sbcl-cl-cont)) -(define-public cl-ana.tensor - (sbcl-package->cl-source-package sbcl-cl-ana.tensor)) - -(define-public ecl-cl-ana.tensor - (sbcl-package->ecl-package sbcl-cl-ana.tensor)) - -(define-public sbcl-cl-ana.error-propogation - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.error-propogation") - (inputs - `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "error-propogation/cl-ana.error-propogation.asd") - ((#:asd-system-name _ #f) "cl-ana.error-propogation"))))) - -(define-public cl-ana.error-propogation - (sbcl-package->cl-source-package sbcl-cl-ana.error-propogation)) - -(define-public sbcl-cl-ana.quantity - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.quantity") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation) - ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "quantity/cl-ana.quantity.asd") - ((#:asd-system-name _ #f) "cl-ana.quantity"))))) - -(define-public cl-ana.quantity - (sbcl-package->cl-source-package sbcl-cl-ana.quantity)) - -(define-public sbcl-cl-ana.table - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.table") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils) - ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "table/cl-ana.table.asd") - ((#:asd-system-name _ #f) "cl-ana.table"))))) - -(define-public cl-ana.table - (sbcl-package->cl-source-package sbcl-cl-ana.table)) - -(define-public ecl-cl-ana.table - (sbcl-package->ecl-package sbcl-cl-ana.table)) - -(define-public sbcl-cl-ana.table-utils - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.table-utils") - (inputs - `(("cl-ana.string-utils" ,sbcl-cl-ana.string-utils) - ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils) - ("cl-ana.table" ,sbcl-cl-ana.table))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "table-utils/cl-ana.table-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.table-utils"))))) - -(define-public cl-ana.table-utils - (sbcl-package->cl-source-package sbcl-cl-ana.table-utils)) - -(define-public ecl-cl-ana.table-utils - (sbcl-package->ecl-package sbcl-cl-ana.table-utils)) - -(define-public sbcl-cl-ana.hdf-cffi - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.hdf-cffi") - (inputs - `(("cffi" ,sbcl-cffi) - ("hdf5" ,hdf5-parallel-openmpi))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "hdf-cffi/cl-ana.hdf-cffi.asd") - ((#:asd-system-name _ #f) "cl-ana.hdf-cffi") - ((#:phases phases '%standard-phases) - `(modify-phases ,phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "hdf-cffi/hdf-cffi.lisp" - (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so") - (string-append - (assoc-ref inputs "hdf5") - "/lib/libhdf5.so"))))))))))) - -(define-public cl-ana.hdf-cffi - (sbcl-package->cl-source-package sbcl-cl-ana.hdf-cffi)) - -(define-public ecl-cl-ana.hdf-cffi - (sbcl-package->ecl-package sbcl-cl-ana.hdf-cffi)) - -(define-public sbcl-cl-ana.int-char - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.int-char") - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "int-char/cl-ana.int-char.asd") - ((#:asd-system-name _ #f) "cl-ana.int-char"))))) - -(define-public cl-ana.int-char - (sbcl-package->cl-source-package sbcl-cl-ana.int-char)) - -(define-public ecl-cl-ana.int-char - (sbcl-package->ecl-package sbcl-cl-ana.int-char)) - -(define-public sbcl-cl-ana.memoization - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.memoization") - (inputs - `(("alexandria" ,sbcl-alexandria))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "memoization/cl-ana.memoization.asd") - ((#:asd-system-name _ #f) "cl-ana.memoization"))))) - -(define-public cl-ana.memoization - (sbcl-package->cl-source-package sbcl-cl-ana.memoization)) - -(define-public ecl-cl-ana.memoization - (sbcl-package->ecl-package sbcl-cl-ana.memoization)) - -(define-public sbcl-cl-ana.typespec - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.typespec") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cffi" ,sbcl-cffi) - ("cl-ana.int-char" ,sbcl-cl-ana.int-char) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.memoization" ,sbcl-cl-ana.memoization) - ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils) - ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils) - ("cl-ana.tensor" ,sbcl-cl-ana.tensor))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "typespec/cl-ana.typespec.asd") - ((#:asd-system-name _ #f) "cl-ana.typespec"))))) - -(define-public cl-ana.typespec - (sbcl-package->cl-source-package sbcl-cl-ana.typespec)) - -(define-public ecl-cl-ana.typespec - (sbcl-package->ecl-package sbcl-cl-ana.typespec)) - -(define-public sbcl-cl-ana.hdf-typespec - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.hdf-typespec") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cffi" ,sbcl-cffi) - ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.memoization" ,sbcl-cl-ana.memoization) - ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils) - ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils) - ("cl-ana.typespec" ,sbcl-cl-ana.typespec))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "hdf-typespec/cl-ana.hdf-typespec.asd") - ((#:asd-system-name _ #f) "cl-ana.hdf-typespec"))))) - -(define-public cl-ana.hdf-typespec - (sbcl-package->cl-source-package sbcl-cl-ana.hdf-typespec)) - -(define-public ecl-cl-ana.hdf-typespec - (sbcl-package->ecl-package sbcl-cl-ana.hdf-typespec)) - -(define-public sbcl-cl-ana.hdf-utils - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.hdf-utils") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cffi" ,sbcl-cffi) - ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi) - ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.memoization" ,sbcl-cl-ana.memoization) - ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils) - ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils) - ("cl-ana.typespec" ,sbcl-cl-ana.typespec))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "hdf-utils/cl-ana.hdf-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.hdf-utils"))))) - -(define-public cl-ana.hdf-utils - (sbcl-package->cl-source-package sbcl-cl-ana.hdf-utils)) - -(define-public ecl-cl-ana.hdf-utils - (sbcl-package->ecl-package sbcl-cl-ana.hdf-utils)) - -(define-public sbcl-cl-ana.typed-table - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.typed-table") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils) - ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils) - ("cl-ana.table" ,sbcl-cl-ana.table) - ("cl-ana.typespec" ,sbcl-cl-ana.typespec))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "typed-table/cl-ana.typed-table.asd") - ((#:asd-system-name _ #f) "cl-ana.typed-table"))))) - -(define-public cl-ana.typed-table - (sbcl-package->cl-source-package sbcl-cl-ana.typed-table)) - -(define-public ecl-cl-ana.typed-table - (sbcl-package->ecl-package sbcl-cl-ana.typed-table)) - -(define-public sbcl-cl-ana.hdf-table - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.hdf-table") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree) - ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi) - ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec) - ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.memoization" ,sbcl-cl-ana.memoization) - ("cl-ana.table" ,sbcl-cl-ana.table) - ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table) - ("cl-ana.typespec" ,sbcl-cl-ana.typespec))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "hdf-table/cl-ana.hdf-table.asd") - ((#:asd-system-name _ #f) "cl-ana.hdf-table"))))) - -(define-public cl-ana.hdf-table - (sbcl-package->cl-source-package sbcl-cl-ana.hdf-table)) - -(define-public ecl-cl-ana.hdf-table - (sbcl-package->ecl-package sbcl-cl-ana.hdf-table)) - -(define-public sbcl-cl-ana.gsl-cffi - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.gsl-cffi") - (inputs - `(("cffi" ,sbcl-cffi) - ("gsl" ,gsl))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "gsl-cffi/cl-ana.gsl-cffi.asd") - ((#:asd-system-name _ #f) "cl-ana.gsl-cffi") - ((#:phases phases '%standard-phases) - `(modify-phases ,phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "gsl-cffi/gsl-cffi.lisp" - (("define-foreign-library gsl-cffi" all) - (string-append all " (:unix " - (assoc-ref inputs "gsl") - "/lib/libgsl.so)"))))))))))) - -(define-public cl-ana.gsl-cffi - (sbcl-package->cl-source-package sbcl-cl-ana.gsl-cffi)) - -(define-public ecl-cl-ana.gsl-cffi - (sbcl-package->ecl-package sbcl-cl-ana.gsl-cffi)) - -(define-public sbcl-cl-ana.ntuple-table - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.ntuple-table") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cffi" ,sbcl-cffi) - ("cl-ana.gsl-cffi" ,sbcl-cl-ana.gsl-cffi) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.table" ,sbcl-cl-ana.table) - ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table) - ("cl-ana.typespec" ,sbcl-cl-ana.typespec) - ("gsll" ,sbcl-gsll))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "ntuple-table/cl-ana.ntuple-table.asd") - ((#:asd-system-name _ #f) "cl-ana.ntuple-table"))))) - -(define-public cl-ana.ntuple-table - (sbcl-package->cl-source-package sbcl-cl-ana.ntuple-table)) - -(define-public sbcl-cl-ana.csv-table - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.csv-table") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("antik" ,sbcl-antik) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.table" ,sbcl-cl-ana.table) - ("cl-csv" ,sbcl-cl-csv) - ("iterate" ,sbcl-iterate))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "csv-table/cl-ana.csv-table.asd") - ((#:asd-system-name _ #f) "cl-ana.csv-table"))))) - -(define-public cl-ana.csv-table - (sbcl-package->cl-source-package sbcl-cl-ana.csv-table)) - -(define-public sbcl-cl-ana.reusable-table - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.reusable-table") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.table" ,sbcl-cl-ana.table))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "reusable-table/cl-ana.reusable-table.asd") - ((#:asd-system-name _ #f) "cl-ana.reusable-table"))))) - -(define-public cl-ana.reusable-table - (sbcl-package->cl-source-package sbcl-cl-ana.reusable-table)) - -(define-public ecl-cl-ana.reusable-table - (sbcl-package->ecl-package sbcl-cl-ana.reusable-table)) - -(define-public sbcl-cl-ana.linear-algebra - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.linear-algebra") - (inputs - `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions) - ("cl-ana.tensor" ,sbcl-cl-ana.tensor) - ("gsll" ,sbcl-gsll))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "linear-algebra/cl-ana.linear-algebra.asd") - ((#:asd-system-name _ #f) "cl-ana.linear-algebra"))))) - -(define-public cl-ana.linear-algebra - (sbcl-package->cl-source-package sbcl-cl-ana.linear-algebra)) - -(define-public sbcl-cl-ana.lorentz - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.lorentz") - (inputs - `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra) - ("cl-ana.tensor" ,sbcl-cl-ana.tensor) - ("iterate" ,sbcl-iterate))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "lorentz/cl-ana.lorentz.asd") - ((#:asd-system-name _ #f) "cl-ana.lorentz"))))) - -(define-public cl-ana.lorentz - (sbcl-package->cl-source-package sbcl-cl-ana.lorentz)) - -(define-public sbcl-cl-ana.clos-utils - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.clos-utils") - (inputs - `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils) - ("cl-ana.tensor" ,sbcl-cl-ana.tensor) - ("closer-mop" ,sbcl-closer-mop))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "clos-utils/cl-ana.clos-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.clos-utils"))))) - -(define-public cl-ana.clos-utils - (sbcl-package->cl-source-package sbcl-cl-ana.clos-utils)) - -(define-public ecl-cl-ana.clos-utils - (sbcl-package->ecl-package sbcl-cl-ana.clos-utils)) - -(define-public sbcl-cl-ana.hash-table-utils - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.hash-table-utils") - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "hash-table-utils/cl-ana.hash-table-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.hash-table-utils"))))) - -(define-public cl-ana.hash-table-utils - (sbcl-package->cl-source-package sbcl-cl-ana.hash-table-utils)) - -(define-public ecl-cl-ana.hash-table-utils - (sbcl-package->ecl-package sbcl-cl-ana.hash-table-utils)) - -(define-public sbcl-cl-ana.map - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.map") - (inputs - `(("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "map/cl-ana.map.asd") - ((#:asd-system-name _ #f) "cl-ana.map"))))) - -(define-public cl-ana.map - (sbcl-package->cl-source-package sbcl-cl-ana.map)) - -(define-public ecl-cl-ana.map - (sbcl-package->ecl-package sbcl-cl-ana.map)) - -(define-public sbcl-cl-ana.fitting - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.fitting") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation) - ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.map" ,sbcl-cl-ana.map) - ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions) - ("gsll" ,sbcl-gsll))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "fitting/cl-ana.fitting.asd") - ((#:asd-system-name _ #f) "cl-ana.fitting"))))) - -(define-public cl-ana.fitting - (sbcl-package->cl-source-package sbcl-cl-ana.fitting)) - -(define-public sbcl-cl-ana.histogram - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.histogram") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("iterate" ,sbcl-iterate) - ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree) - ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils) - ("cl-ana.fitting" ,sbcl-cl-ana.fitting) - ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils) - ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.map" ,sbcl-cl-ana.map) - ("cl-ana.tensor" ,sbcl-cl-ana.tensor))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "histogram/cl-ana.histogram.asd") - ((#:asd-system-name _ #f) "cl-ana.histogram"))))) - -(define-public cl-ana.histogram - (sbcl-package->cl-source-package sbcl-cl-ana.histogram)) - -(define-public sbcl-cl-ana.file-utils - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.file-utils") - (inputs - `(("external-program" ,sbcl-external-program) - ("split-sequence" ,sbcl-split-sequence))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "file-utils/cl-ana.file-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.file-utils"))))) - -(define-public cl-ana.file-utils - (sbcl-package->cl-source-package sbcl-cl-ana.file-utils)) - -(define-public ecl-cl-ana.file-utils - (sbcl-package->ecl-package sbcl-cl-ana.file-utils)) - -(define-public sbcl-cl-ana.statistics - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.statistics") - (inputs - `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.histogram" ,sbcl-cl-ana.histogram) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.map" ,sbcl-cl-ana.map))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "statistics/cl-ana.statistics.asd") - ((#:asd-system-name _ #f) "cl-ana.statistics"))))) - -(define-public cl-ana.statistics - (sbcl-package->cl-source-package sbcl-cl-ana.statistics)) - -(define-public sbcl-cl-ana.gnuplot-interface - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.gnuplot-interface") - (inputs - `(("external-program" ,sbcl-external-program))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "gnuplot-interface/cl-ana.gnuplot-interface.asd") - ((#:asd-system-name _ #f) "cl-ana.gnuplot-interface"))))) - -(define-public cl-ana.gnuplot-interface - (sbcl-package->cl-source-package sbcl-cl-ana.gnuplot-interface)) - -(define-public ecl-cl-ana.gnuplot-interface - (sbcl-package->ecl-package sbcl-cl-ana.gnuplot-interface)) - -(define-public sbcl-cl-ana.plotting - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.plotting") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation) - ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils) - ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.gnuplot-interface" ,sbcl-cl-ana.gnuplot-interface) - ("cl-ana.histogram" ,sbcl-cl-ana.histogram) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.map" ,sbcl-cl-ana.map) - ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions) - ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils) - ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils) - ("cl-ana.tensor" ,sbcl-cl-ana.tensor) - ("external-program" ,sbcl-external-program) - ("split-sequence" ,sbcl-split-sequence))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "plotting/cl-ana.plotting.asd") - ((#:asd-system-name _ #f) "cl-ana.plotting"))))) - -(define-public cl-ana.plotting - (sbcl-package->cl-source-package sbcl-cl-ana.plotting)) - -(define-public sbcl-cl-ana.table-viewing - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.table-viewing") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.histogram" ,sbcl-cl-ana.histogram) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.plotting" ,sbcl-cl-ana.plotting) - ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils) - ("cl-ana.table" ,sbcl-cl-ana.table))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "table-viewing/cl-ana.table-viewing.asd") - ((#:asd-system-name _ #f) "cl-ana.table-viewing"))))) - -(define-public cl-ana.table-viewing - (sbcl-package->cl-source-package sbcl-cl-ana.table-viewing)) - -(define-public sbcl-cl-ana.serialization - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.serialization") - (inputs - `(("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation) - ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils) - ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table) - ("cl-ana.histogram" ,sbcl-cl-ana.histogram) - ("cl-ana.int-char" ,sbcl-cl-ana.int-char) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.typespec" ,sbcl-cl-ana.typespec))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "serialization/cl-ana.serialization.asd") - ((#:asd-system-name _ #f) "cl-ana.serialization"))))) - -(define-public cl-ana.serialization - (sbcl-package->cl-source-package sbcl-cl-ana.serialization)) - -(define-public sbcl-cl-ana.makeres - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.makeres") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation) - ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils) - ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils) - ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils) - ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils) - ("cl-ana.histogram" ,sbcl-cl-ana.histogram) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.map" ,sbcl-cl-ana.map) - ("cl-ana.memoization" ,sbcl-cl-ana.memoization) - ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils) - ("cl-ana.plotting" ,sbcl-cl-ana.plotting) - ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table) - ("cl-ana.serialization" ,sbcl-cl-ana.serialization) - ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils) - ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils) - ("cl-ana.table" ,sbcl-cl-ana.table) - ("external-program" ,sbcl-external-program))) - (native-inputs - `(("cl-fad" ,sbcl-cl-fad))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "makeres/cl-ana.makeres.asd") - ((#:asd-system-name _ #f) "cl-ana.makeres"))))) - -(define-public cl-ana.makeres - (sbcl-package->cl-source-package sbcl-cl-ana.makeres)) - -(define-public sbcl-cl-ana.makeres-macro - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.makeres-macro") - (inputs - `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.makeres" ,sbcl-cl-ana.makeres))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "makeres-macro/cl-ana.makeres-macro.asd") - ((#:asd-system-name _ #f) "cl-ana.makeres-macro"))))) - -(define-public cl-ana.makeres-macro - (sbcl-package->cl-source-package sbcl-cl-ana.makeres-macro)) - -(define-public sbcl-cl-ana.makeres-block - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.makeres-block") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.makeres" ,sbcl-cl-ana.makeres))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "makeres-block/cl-ana.makeres-block.asd") - ((#:asd-system-name _ #f) "cl-ana.makeres-block"))))) - -(define-public cl-ana.makeres-block - (sbcl-package->cl-source-package sbcl-cl-ana.makeres-block)) - -(define-public sbcl-cl-ana.makeres-progress - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.makeres-progress") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.makeres" ,sbcl-cl-ana.makeres))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "makeres-progress/cl-ana.makeres-progress.asd") - ((#:asd-system-name _ #f) "cl-ana.makeres-progress"))))) - -(define-public cl-ana.makeres-progress - (sbcl-package->cl-source-package sbcl-cl-ana.makeres-progress)) - -(define-public sbcl-cl-ana.makeres-table - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.makeres-table") - (inputs - `(("cl-ana.csv-table" ,sbcl-cl-ana.csv-table) - ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils) - ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table) - ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.makeres" ,sbcl-cl-ana.makeres) - ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro) - ("cl-ana.memoization" ,sbcl-cl-ana.memoization) - ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table) - ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table) - ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils) - ("cl-ana.table" ,sbcl-cl-ana.table))) - (native-inputs - `(("cl-fad" ,sbcl-cl-fad))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "makeres-table/cl-ana.makeres-table.asd") - ((#:asd-system-name _ #f) "cl-ana.makeres-table"))))) - -(define-public cl-ana.makeres-table - (sbcl-package->cl-source-package sbcl-cl-ana.makeres-table)) - -(define-public sbcl-cl-ana.makeres-graphviz - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.makeres-graphviz") - (inputs - `(("cl-ana.makeres" ,sbcl-cl-ana.makeres) - ("external-program" ,sbcl-external-program))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "makeres-graphviz/cl-ana.makeres-graphviz.asd") - ((#:asd-system-name _ #f) "cl-ana.makeres-graphviz"))))) - -(define-public cl-ana.makeres-graphviz - (sbcl-package->cl-source-package sbcl-cl-ana.makeres-graphviz)) - -(define-public sbcl-cl-ana.makeres-branch - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.makeres-branch") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.map" ,sbcl-cl-ana.map) - ("cl-ana.makeres" ,sbcl-cl-ana.makeres))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "makeres-branch/cl-ana.makeres-branch.asd") - ((#:asd-system-name _ #f) "cl-ana.makeres-branch"))))) - -(define-public cl-ana.makeres-branch - (sbcl-package->cl-source-package sbcl-cl-ana.makeres-branch)) - -(define-public sbcl-cl-ana.makeres-utils - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.makeres-utils") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils) - ("cl-ana.fitting" ,sbcl-cl-ana.fitting) - ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils) - ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.histogram" ,sbcl-cl-ana.histogram) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.makeres" ,sbcl-cl-ana.makeres) - ("cl-ana.map" ,sbcl-cl-ana.map) - ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils) - ("cl-ana.plotting" ,sbcl-cl-ana.plotting) - ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table) - ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils) - ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils) - ("cl-ana.table" ,sbcl-cl-ana.table))) - (native-inputs - `(("cl-fad" ,sbcl-cl-fad))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "makeres-utils/cl-ana.makeres-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.makeres-utils"))))) - -(define-public cl-ana.makeres-utils - (sbcl-package->cl-source-package sbcl-cl-ana.makeres-utils)) - -(define-public sbcl-cl-ana.statistical-learning - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.statistical-learning") - (inputs - `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils) - ("cl-ana.histogram" ,sbcl-cl-ana.histogram) - ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions) - ("cl-ana.map" ,sbcl-cl-ana.map) - ("cl-ana.statistics" ,sbcl-cl-ana.statistics))) - (native-inputs - `(("cl-fad" ,sbcl-cl-fad))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") - "statistical-learning/cl-ana.statistical-learning.asd") - ((#:asd-system-name _ #f) "cl-ana.statistical-learning"))))) - -(define-public cl-ana.statistical-learning - (sbcl-package->cl-source-package sbcl-cl-ana.statistical-learning)) - -(define-public sbcl-cl-ana - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana") - (inputs - `(("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree) - ("cl-ana.calculus" ,sbcl-cl-ana.calculus) - ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils) - ("cl-ana.csv-table" ,sbcl-cl-ana.csv-table) - ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation) - ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils) - ("cl-ana.fitting" ,sbcl-cl-ana.fitting) - ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils) - ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table) - ("cl-ana.histogram" ,sbcl-cl-ana.histogram) - ("cl-ana.int-char" ,sbcl-cl-ana.int-char) - ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra) - ("cl-ana.lorentz" ,sbcl-cl-ana.lorentz) - ("cl-ana.map" ,sbcl-cl-ana.map) - ("cl-ana.makeres" ,sbcl-cl-ana.makeres) - ("cl-ana.makeres-block" ,sbcl-cl-ana.makeres-block) - ("cl-ana.makeres-branch" ,sbcl-cl-ana.makeres-branch) - ("cl-ana.makeres-graphviz" ,sbcl-cl-ana.makeres-graphviz) - ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro) - ("cl-ana.makeres-progress" ,sbcl-cl-ana.makeres-progress) - ("cl-ana.makeres-table" ,sbcl-cl-ana.makeres-table) - ("cl-ana.makeres-utils" ,sbcl-cl-ana.makeres-utils) - ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions) - ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table) - ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils) - ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils) - ("cl-ana.plotting" ,sbcl-cl-ana.plotting) - ("cl-ana.quantity" ,sbcl-cl-ana.quantity) - ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table) - ("cl-ana.serialization" ,sbcl-cl-ana.serialization) - ("cl-ana.statistics" ,sbcl-cl-ana.statistics) - ("cl-ana.statistical-learning" ,sbcl-cl-ana.statistical-learning) - ("cl-ana.table" ,sbcl-cl-ana.table) - ("cl-ana.table-utils" ,sbcl-cl-ana.table-utils) - ("cl-ana.table-viewing" ,sbcl-cl-ana.table-viewing) - ("cl-ana.tensor" ,sbcl-cl-ana.tensor) - ("libffi" ,libffi))) - (native-inputs - `(("cl-fad" ,sbcl-cl-fad))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "cl-ana.asd") - ((#:asd-system-name _ #f) "cl-ana"))))) - -(define-public cl-ana - (sbcl-package->cl-source-package sbcl-cl-ana)) - -(define-public sbcl-archive - (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc") - (revision "1")) - (package - (name "sbcl-archive") - (version (git-version "0.9" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/sharplispers/archive") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p")))) - (build-system asdf-build-system/sbcl) - (inputs - `(("cl-fad" ,sbcl-cl-fad) - ("trivial-gray-streams" ,sbcl-trivial-gray-streams))) - (synopsis "Common Lisp library for tar and cpio archives") - (description - "This is a Common Lisp library to read and write disk-based file -archives such as those generated by the tar and cpio programs on Unix.") - (home-page "https://github.com/sharplispers/archive") - (license license:bsd-3)))) - -(define-public cl-archive - (sbcl-package->cl-source-package sbcl-archive)) - -(define-public ecl-archive - (sbcl-package->ecl-package sbcl-archive)) - -(define-public sbcl-misc-extensions - (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a") - (revision "1")) - (package - (name "sbcl-misc-extensions") - (version (git-version "3.3" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.common-lisp.net/misc-extensions/devel.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0")))) - (build-system asdf-build-system/sbcl) - (synopsis "Collection of small macros and extensions for Common Lisp") - (description - "This project is intended as a catchall for small, general-purpose -extensions to Common Lisp. It contains: - -@itemize -@item @code{new-let}, a macro that combines and generalizes @code{let}, -@code{let*} and @code{multiple-value-bind}, -@item @code{gmap}, an iteration macro that generalizes @code{map}. -@end itemize\n") - (home-page "https://common-lisp.net/project/misc-extensions/") - (license license:public-domain)))) - -(define-public cl-misc-extensions - (sbcl-package->cl-source-package sbcl-misc-extensions)) - -(define-public ecl-misc-extensions - (sbcl-package->ecl-package sbcl-misc-extensions)) - -(define-public sbcl-mt19937 - (package - (name "sbcl-mt19937") - (version "1.1") - (source - (origin - (method url-fetch) - (uri (string-append "https://common-lisp.net/project/asdf-packaging/" - "mt19937-latest.tar.gz")) - (sha256 - (base32 - "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv")))) - (build-system asdf-build-system/sbcl) - (synopsis "Mersenne Twister pseudo-random number generator") - (description - "MT19937 is a portable Mersenne Twister pseudo-random number generator -for Common Lisp.") - (home-page "https://www.cliki.net/mt19937") - (license license:public-domain))) - -(define-public cl-mt19937 - (sbcl-package->cl-source-package sbcl-mt19937)) - -(define-public ecl-mt19937 - (sbcl-package->ecl-package sbcl-mt19937)) - -(define-public sbcl-fset - (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852") - (revision "1")) - (package - (name "sbcl-fset") - (version (git-version "1.3.2" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/slburson/fset") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy")) - (snippet '(begin - ;; Remove obsolete copy of system definition. - (delete-file "Code/fset.asd") - #t)))) - (build-system asdf-build-system/sbcl) - (inputs - `(("misc-extensions" ,sbcl-misc-extensions) - ("mt19937" ,sbcl-mt19937) - ("named-readtables" ,sbcl-named-readtables))) - (synopsis "Functional set-theoretic collections library") - (description - "FSet is a functional set-theoretic collections library for Common Lisp. -Functional means that all update operations return a new collection rather than -modifying an existing one in place. Set-theoretic means that collections may -be nested arbitrarily with no additional programmer effort; for instance, sets -may contain sets, maps may be keyed by sets, etc.") - (home-page "https://common-lisp.net/project/fset/Site/index.html") - (license license:llgpl)))) - -(define-public cl-fset - (sbcl-package->cl-source-package sbcl-fset)) - -(define-public sbcl-cl-cont - (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a") - (revision "1")) - (package - (name "sbcl-cl-cont") - (version (git-version "0.3.8" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz")))) - (build-system asdf-build-system/sbcl) - (inputs - `(("alexandria" ,sbcl-alexandria) - ("closer-mop" ,sbcl-closer-mop))) - (native-inputs - `(("rt" ,sbcl-rt))) - (synopsis "Delimited continuations for Common Lisp") - (description - "This is a library that implements delimited continuations by -transforming Common Lisp code to continuation passing style.") - (home-page "https://common-lisp.net/project/cl-cont/") - (license license:llgpl)))) - -(define-public cl-cont - (sbcl-package->cl-source-package sbcl-cl-cont)) - -(define-public ecl-cl-cont - (sbcl-package->ecl-package sbcl-cl-cont)) +(define-public ecl-cl-cont + (sbcl-package->ecl-package sbcl-cl-cont)) (define-public sbcl-cl-coroutine (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72") @@ -9648,7 +7366,6 @@ has a small codebase that's easy to understand and use.") (inputs `(("alexandria" ,sbcl-alexandria) ("cffi" ,sbcl-cffi) - ("cffi-grovel" ,sbcl-cffi-grovel) ("libuv" ,libuv))) (arguments `(#:phases @@ -9678,11 +7395,11 @@ has a small codebase that's easy to understand and use.") (define-public ecl-cl-libuv (sbcl-package->ecl-package sbcl-cl-libuv)) -(define-public sbcl-cl-async-base +(define-public sbcl-cl-async (let ((commit "f6423e44404a44434d803605e0d2e17199158e28") (revision "1")) (package - (name "sbcl-cl-async-base") + (name "sbcl-cl-async") (version (git-version "0.6.1" revision commit)) (source (origin @@ -9696,98 +7413,26 @@ has a small codebase that's easy to understand and use.") "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x")))) (build-system asdf-build-system/sbcl) (inputs - `(("bordeaux-threads" ,sbcl-bordeaux-threads) + `(("babel" ,sbcl-babel) + ("bordeaux-threads" ,sbcl-bordeaux-threads) ("cffi" ,sbcl-cffi) - ("cl-libuv" ,sbcl-cl-libuv))) + ("cl-libuv" ,sbcl-cl-libuv) + ("cl-ppcre" ,sbcl-cl-ppcre) + ("fast-io" ,sbcl-fast-io) + ("openssl" ,openssl) + ("static-vectors" ,sbcl-static-vectors) + ("trivial-features" ,sbcl-trivial-features) + ("trivial-gray-streams" ,sbcl-trivial-gray-streams) + ("vom" ,sbcl-vom))) (arguments - `(#:asd-file "cl-async.asd")) - (synopsis "Base system for cl-async") - (description - "Cl-async is a library for general purpose, non-blocking programming in -Common Lisp. It uses the libuv library as backend.") - (home-page "https://orthecreedence.github.io/cl-async/") - (license license:expat)))) - -(define-public cl-async-base - (sbcl-package->cl-source-package sbcl-cl-async-base)) - -(define-public ecl-cl-async-base - (sbcl-package->ecl-package sbcl-cl-async-base)) - -(define-public sbcl-cl-async-util - (package - (inherit sbcl-cl-async-base) - (name "sbcl-cl-async-util") - (inputs - `(("bordeaux-threads" ,sbcl-bordeaux-threads) - ("cffi" ,sbcl-cffi) - ("cl-async-base" ,sbcl-cl-async-base) - ("cl-libuv" ,sbcl-cl-libuv) - ("cl-ppcre" ,sbcl-cl-ppcre) - ("fast-io" ,sbcl-fast-io) - ("vom" ,sbcl-vom))) - (synopsis "Internal utilities for cl-async"))) - -(define-public cl-async-util - (sbcl-package->cl-source-package sbcl-cl-async-util)) - -(define-public ecl-cl-async-util - (sbcl-package->ecl-package sbcl-cl-async-util)) - -(define-public sbcl-cl-async - (package - (inherit sbcl-cl-async-base) - (name "sbcl-cl-async") - (inputs - `(("babel" ,sbcl-babel) - ("cffi" ,sbcl-cffi) - ("cl-async-base" ,sbcl-cl-async-base) - ("cl-async-util" ,sbcl-cl-async-util) - ("cl-libuv" ,sbcl-cl-libuv) - ("cl-ppcre" ,sbcl-cl-ppcre) - ("static-vectors" ,sbcl-static-vectors) - ("trivial-features" ,sbcl-trivial-features) - ("trivial-gray-streams" ,sbcl-trivial-gray-streams))) - (synopsis "Asynchronous operations for Common Lisp"))) - -(define-public cl-async - (sbcl-package->cl-source-package sbcl-cl-async)) - -(define-public ecl-cl-async - (sbcl-package->ecl-package sbcl-cl-async)) - -(define-public sbcl-cl-async-repl - (package - (inherit sbcl-cl-async-base) - (name "sbcl-cl-async-repl") - (inputs - `(("bordeaux-threads" ,sbcl-bordeaux-threads) - ("cl-async" ,sbcl-cl-async))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-async-base) - ((#:asd-file _ "") "cl-async-repl.asd"))) - (synopsis "REPL integration for cl-async"))) - -(define-public cl-async-repl - (sbcl-package->cl-source-package sbcl-cl-async-repl)) - -(define-public ecl-cl-async-repl - (sbcl-package->ecl-package sbcl-cl-async-repl)) - -(define-public sbcl-cl-async-ssl - (package - (inherit sbcl-cl-async-base) - (name "sbcl-cl-async-ssl") - (inputs - `(("cffi" ,sbcl-cffi) - ("cl-async" ,sbcl-cl-async) - ("openssl" ,openssl) - ("vom" ,sbcl-vom))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-async-base) - ((#:asd-file _ "") "cl-async-ssl.asd") - ((#:phases phases '%standard-phases) - `(modify-phases ,phases + `(#:asd-files '("cl-async.asd" + "cl-async-repl.asd" + "cl-async-ssl.asd") + #:asd-systems '("cl-async" + "cl-async-repl" + "cl-async-ssl") + #:phases + (modify-phases %standard-phases (add-after 'unpack 'fix-paths (lambda* (#:key inputs #:allow-other-keys) (substitute* "src/ssl/package.lisp" @@ -9797,14 +7442,19 @@ Common Lisp. It uses the libuv library as backend.") (("libssl\\.so") (string-append (assoc-ref inputs "openssl") "/lib/libssl.so"))) - #t)))))) - (synopsis "SSL wrapper around cl-async socket implementation"))) + #t))))) + (synopsis "Asynchronous operations for Common Lisp") + (description + "Cl-async is a library for general purpose, non-blocking programming in +Common Lisp. It uses the libuv library as backend.") + (home-page "https://orthecreedence.github.io/cl-async/") + (license license:expat)))) -(define-public cl-async-ssl - (sbcl-package->cl-source-package sbcl-cl-async-ssl)) +(define-public cl-async + (sbcl-package->cl-source-package sbcl-cl-async)) -(define-public ecl-cl-async-ssl - (sbcl-package->ecl-package sbcl-cl-async-ssl)) +(define-public ecl-cl-async + (sbcl-package->ecl-package sbcl-cl-async)) (define-public sbcl-blackbird (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8") @@ -10006,21 +7656,33 @@ ZeroMQ.") `(("imagemagick" ,imagemagick) ("tk" ,tk))) (arguments - `(#:asd-file "ltk/ltk.asd" + `(#:asd-files '("ltk/ltk.asd" + "ltk/ltk-mw.asd" + "ltk/ltk-remote.asd") + #:asd-systems '("ltk" + "ltk-mw" + "ltk-remote") #:tests? #f - #:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "ltk/ltk.lisp" - (("#-freebsd \"wish\"") - (string-append "#-freebsd \"" - (assoc-ref inputs "tk") - "/bin/wish\"")) - (("do-execute \"convert\"") - (string-append "do-execute \"" - (assoc-ref inputs "imagemagick") - "/bin/convert\""))) - #t))))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "ltk/ltk.lisp" + (("#-freebsd \"wish\"") + (string-append "#-freebsd \"" + (assoc-ref inputs "tk") + "/bin/wish\"")) + (("do-execute \"convert\"") + (string-append "do-execute \"" + (assoc-ref inputs "imagemagick") + "/bin/convert\""))) + #t)) + (add-after 'unpack 'fix-build + (lambda _ + (substitute* "ltk/ltk-remote.lisp" + (("\\(:export") + "(:shadow #:raise) (:export")) + #t))))) (synopsis "Common Lisp bindings for the Tk GUI toolkit") (description "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written @@ -10034,44 +7696,6 @@ in pure Common Lisp and does not require any Tk knowledge for its usage.") (define-public ecl-ltk (sbcl-package->ecl-package sbcl-ltk)) -(define-public sbcl-ltk-mw - (package - (inherit sbcl-ltk) - (name "sbcl-ltk-mw") - (inputs - `(("ltk" ,sbcl-ltk))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-ltk) - ((#:asd-file _) "ltk/ltk-mw.asd") - ((#:phases _) '%standard-phases))) - (synopsis "Extra widgets for LTK") - (description - "This is a collection of higher-level widgets built on top of LTK."))) - -(define-public cl-ltk-mw - (sbcl-package->cl-source-package sbcl-ltk-mw)) - -(define-public ecl-ltk-mw - (sbcl-package->ecl-package sbcl-ltk-mw)) - -(define-public sbcl-ltk-remote - (package - (inherit sbcl-ltk) - (name "sbcl-ltk-remote") - (inputs - `(("ltk" ,sbcl-ltk))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-ltk) - ((#:asd-file _) "ltk/ltk-remote.asd") - ((#:phases _) '%standard-phases))) - (synopsis "Remote GUI support for LTK") - (description - "This LTK extension allows the GUI to be displayed on a computer different -from the one running the Lisp program by using a TCP connection."))) - -(define-public cl-ltk-remote - (sbcl-package->cl-source-package sbcl-ltk-remote)) - (define-public sbcl-cl-lex (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b") (revision "1")) @@ -10400,13 +8024,12 @@ them as PNG files.") "/LICENSE"))) (inputs `(("cffi" ,sbcl-cffi) - ("cffi-grovel" ,sbcl-cffi-grovel) ("hdf5" ,hdf5-1.10))) (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - `(#:asd-system-name "hdf5-cffi" - #:asd-file "hdf5-cffi.asd" + `(#:asd-systems '("hdf5-cffi") + #:asd-files '("hdf5-cffi.asd") #:test-asd-file "hdf5-cffi.test.asd" ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd, ;; I don't know if there is a way to tell asdf-build-system to load @@ -10458,8 +8081,8 @@ generation functions from the GSL library.") (home-page "https://github.com/lvaruzza/cl-randist") (license license:bsd-2) (arguments - `(#:asd-system-name "cl-randist" - #:asd-file "cl-randist.asd" + `(#:asd-systems '("cl-randist") + #:asd-files '("cl-randist.asd") #:tests? #f)))) (define-public cl-randist @@ -10492,8 +8115,8 @@ covered by the Common Lisp standard.") (inputs `(("documentation-utils" ,sbcl-documentation-utils))) (arguments - `(#:asd-system-name "float-features" - #:asd-file "float-features.asd" + `(#:asd-systems '("float-features") + #:asd-files '("float-features.asd") #:tests? #f)))) (define-public cl-float-features @@ -10532,8 +8155,8 @@ caching based on arguments (an expanded form of memoization).") ("symbol-munger" ,sbcl-symbol-munger) ("closer-mop" ,sbcl-closer-mop))) (arguments - `(#:asd-system-name "function-cache" - #:asd-file "function-cache.asd" + `(#:asd-systems '("function-cache") + #:asd-files '("function-cache.asd") #:tests? #f)))) (define-public cl-function-cache @@ -10572,8 +8195,8 @@ the elements in compound type specifier, e.g. @code{dimensions} in (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - `(#:asd-system-name "type-r" - #:asd-file "type-r.asd" + `(#:asd-systems '("type-r") + #:asd-files '("type-r.asd") #:test-asd-file "type-r.test.asd"))))) (define-public cl-type-r @@ -10611,8 +8234,8 @@ correctly.") (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - `(#:asd-system-name "trivialib.type-unify" - #:asd-file "trivialib.type-unify.asd" + `(#:asd-systems '("trivialib.type-unify") + #:asd-files '("trivialib.type-unify.asd") #:test-asd-file "trivialib.type-unify.test.asd"))))) (define-public cl-trivialib-type-unify @@ -10653,8 +8276,8 @@ code. The main target of this macro is speed.") (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - `(#:asd-system-name "specialized-function" - #:asd-file "specialized-function.asd" + `(#:asd-systems '("specialized-function") + #:asd-files '("specialized-function.asd") #:test-asd-file "specialized-function.test.asd"))))) (define-public cl-specialized-function @@ -10691,8 +8314,8 @@ additional form that is considered as a candidate for a constant.") (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - `(#:asd-system-name "constantfold" - #:asd-file "constantfold.asd" + `(#:asd-systems '("constantfold") + #:asd-files '("constantfold.asd") #:test-asd-file "constantfold.test.asd"))))) (define-public cl-constantfold @@ -10731,8 +8354,8 @@ type correctness in Common Lisp. It is based on CLtL2 extensions.") (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - `(#:asd-system-name "gtype" - #:asd-file "gtype.asd" + `(#:asd-systems '("gtype") + #:asd-files '("gtype.asd") #:test-asd-file "gtype.test.asd"))))) (define-public cl-gtype @@ -10778,8 +8401,8 @@ and usefulness, not speed. Track the progress at (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - `(#:asd-system-name "numcl" - #:asd-file "numcl.asd" + `(#:asd-systems '("numcl") + #:asd-files '("numcl.asd") #:test-asd-file "numcl.test.asd"))))) (define-public cl-numcl @@ -10807,7 +8430,6 @@ and usefulness, not speed. Track the progress at ("let-plus" ,sbcl-let-plus))) (inputs `(("cffi" ,sbcl-cffi) - ("cffi-grovel" ,sbcl-cffi-grovel) ("zeromq" ,zeromq))) (arguments `(#:phases (modify-phases %standard-phases @@ -10945,11 +8567,11 @@ approach to templating.") (define-public cl-mysql (sbcl-package->cl-source-package sbcl-cl-mysql)) -(define-public sbcl-simple-date +(define-public sbcl-postmodern (let ((commit "74469b25bbda990ec9b77e0d0eccdba0cd7e721a") (revision "1")) (package - (name "sbcl-simple-date") + (name "sbcl-postmodern") (version (git-version "1.19" revision commit)) (source (origin @@ -10963,108 +8585,27 @@ approach to templating.") (build-system asdf-build-system/sbcl) (native-inputs `(("fiveam" ,sbcl-fiveam))) - (synopsis "Basic date and time objects for Common Lisp") - (description - "@code{simple-date} is a very basic implementation of date and time -objects, used to support storing and retrieving time-related SQL types.") - (home-page "https://marijnhaverbeke.nl/postmodern/") - (license license:zlib)))) - -(define-public cl-simple-date - (sbcl-package->cl-source-package sbcl-simple-date)) - -(define-public ecl-simple-date - (sbcl-package->ecl-package sbcl-simple-date)) - -(define-public sbcl-cl-postgres - (package - (inherit sbcl-simple-date) - (name "sbcl-cl-postgres") - (native-inputs - `(("fiveam" ,sbcl-fiveam) - ("simple-date" ,sbcl-simple-date))) - (inputs - `(("md5" ,sbcl-md5) - ("split-sequence" ,sbcl-split-sequence) - ("usocket" ,sbcl-usocket))) - (arguments - `(#:tests? #f)) ; TODO: Break simple-date/postgres-glue circular dependency - (synopsis "Common Lisp interface for PostgreSQL") - (description - "@code{cl-postgres} is a low-level library used for interfacing with -a PostgreSQL server over a socket."))) - -(define-public cl-postgres - (sbcl-package->cl-source-package sbcl-cl-postgres)) - -(define-public ecl-cl-postgres - (package - (inherit (sbcl-package->ecl-package sbcl-cl-postgres)) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-ecl - (lambda _ - (substitute* "cl-postgres.asd" - (("\\) \"usocket\"") " :ecl) \"usocket\"")) - #t))) - #:tests? #f)))) - -(define-public sbcl-simple-date-postgres-glue - (package - (inherit sbcl-simple-date) - (name "sbcl-simple-date-postgres-glue") - (inputs - `(("cl-postgres" ,sbcl-cl-postgres) - ("simple-date" ,sbcl-simple-date))) - (arguments - `(#:asd-file "simple-date.asd" - #:asd-system-name "simple-date/postgres-glue")))) - -(define-public cl-simple-date-postgres-glue - (sbcl-package->cl-source-package sbcl-simple-date-postgres-glue)) - -(define-public sbcl-s-sql - (package - (inherit sbcl-simple-date) - (name "sbcl-s-sql") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-postgres" ,sbcl-cl-postgres))) - (arguments - `(#:tests? #f)) ; TODO: Break postmodern circular dependency - (synopsis "Lispy DSL for SQL") - (description - "@code{s-sql} is a Common Lisp library that can be used to compile -s-expressions to strings of SQL code, escaping any Lisp values inside, and -doing as much as possible of the work at compile time."))) - -(define-public cl-s-sql - (sbcl-package->cl-source-package sbcl-s-sql)) - -(define-public sbcl-postmodern - (package - (inherit sbcl-simple-date) - (name "sbcl-postmodern") - (native-inputs - `(("fiveam" ,sbcl-fiveam) - ("simple-date" ,sbcl-simple-date) - ("simple-date-postgres-glue" ,sbcl-simple-date-postgres-glue))) - (inputs - `(("alexandria" ,sbcl-alexandria) - ("bordeaux-threads" ,sbcl-bordeaux-threads) - ("cl-postgres" ,sbcl-cl-postgres) - ("closer-mop" ,sbcl-closer-mop) - ("global-vars" ,sbcl-global-vars) - ("s-sql" ,sbcl-s-sql) - ("split-sequence" ,sbcl-split-sequence))) - (arguments - ;; TODO: Fix missing dependency errors for simple-date/postgres-glue, - ;; cl-postgres/tests and s-sql/tests. - `(#:tests? #f)) - (synopsis "Common Lisp library for interacting with PostgreSQL") - (description - "@code{postmodern} is a Common Lisp library for interacting with + (inputs + `(("alexandria" ,sbcl-alexandria) + ("bordeaux-threads" ,sbcl-bordeaux-threads) + ("closer-mop" ,sbcl-closer-mop) + ("global-vars" ,sbcl-global-vars) + ("md5" ,sbcl-md5) + ("split-sequence" ,sbcl-split-sequence) + ("usocket" ,sbcl-usocket))) + (arguments + ;; TODO: Fix missing dependency errors for simple-date/postgres-glue, + ;; cl-postgres/tests and s-sql/tests. + `(#:tests? #f + #:asd-files '("postmodern.asd" + "simple-date.asd" + "cl-postgres.asd" + "s-sql.asd") + #:asd-systems '("postmodern" + "simple-date/postgres-glue"))) + (synopsis "Common Lisp library for interacting with PostgreSQL") + (description + "@code{postmodern} is a Common Lisp library for interacting with PostgreSQL databases. It provides the following features: @itemize @@ -11074,7 +8615,9 @@ foreign libraries. @item A syntax for mixing SQL and Lisp code. @item Convenient support for prepared statements and stored procedures. @item A metaclass for simple database-access objects. -@end itemize\n"))) +@end itemize\n") + (home-page "https://marijnhaverbeke.nl/postmodern/") + (license license:zlib)))) (define-public cl-postmodern (sbcl-package->cl-source-package sbcl-postmodern)) @@ -11097,12 +8640,27 @@ foreign libraries. (sha256 (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3")))) (build-system asdf-build-system/sbcl) + (native-inputs + `(("rove" ,sbcl-rove) + ("trivial-types" ,sbcl-trivial-types))) (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads) + ("cl-mysql" ,sbcl-cl-mysql) + ("cl-sqlite" ,sbcl-cl-sqlite) ("closer-mop" ,sbcl-closer-mop) - ("split-sequence" ,sbcl-split-sequence))) + ("postmodern" ,sbcl-postmodern) + ("split-sequence" ,sbcl-split-sequence) + ("trivial-garbage" ,sbcl-trivial-garbage))) (arguments - `(#:tests? #f)) ; TODO: Break circular dependency with dbd-* + `(#:asd-files '("cl-dbi.asd" + "dbi.asd" + "dbd-mysql.asd" + "dbd-postgres.asd" + "dbd-sqlite3.asd") + #:asd-systems '("dbi" + "dbd-mysql" + "dbd-postgres" + "dbd-sqlite3"))) (synopsis "Database independent interface for Common Lisp") (description "@code{dbi} is a Common Lisp library providing a database independent @@ -11113,44 +8671,6 @@ interface for MySQL, PostgreSQL and SQLite.") (define-public cl-dbi (sbcl-package->cl-source-package sbcl-dbi)) -(define-public sbcl-dbd-mysql - (package - (inherit sbcl-dbi) - (name "sbcl-dbd-mysql") - (inputs - `(("cl-mysql" ,sbcl-cl-mysql) - ("dbi" ,sbcl-dbi))) - (synopsis "Database driver for MySQL"))) - -(define-public cl-dbd-mysql - (sbcl-package->cl-source-package sbcl-dbd-mysql)) - -(define-public sbcl-dbd-postgres - (package - (inherit sbcl-dbi) - (name "sbcl-dbd-postgres") - (inputs - `(("cl-postgres" ,sbcl-cl-postgres) - ("dbi" ,sbcl-dbi) - ("trivial-garbage" ,sbcl-trivial-garbage))) - (synopsis "Database driver for PostgreSQL"))) - -(define-public cl-dbd-postgres - (sbcl-package->cl-source-package sbcl-dbd-postgres)) - -(define-public sbcl-dbd-sqlite3 - (package - (inherit sbcl-dbi) - (name "sbcl-dbd-sqlite3") - (inputs - `(("cl-sqlite" ,sbcl-cl-sqlite) - ("dbi" ,sbcl-dbi) - ("trivial-garbage" ,sbcl-trivial-garbage))) - (synopsis "Database driver for SQLite3"))) - -(define-public cl-dbd-sqlite3 - (sbcl-package->cl-source-package sbcl-dbd-sqlite3)) - (define-public sbcl-uffi (package (name "sbcl-uffi") @@ -11215,175 +8735,113 @@ interface for MySQL, PostgreSQL and SQLite.") #t)))) (build-system asdf-build-system/sbcl) (native-inputs - `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat) - ("rt" ,sbcl-rt) - ("uffi" ,sbcl-uffi))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-permissions - (lambda _ - (make-file-writable "doc/html.tar.gz") - #t)) - (add-after 'unpack 'fix-tests - (lambda _ - (substitute* "clsql.asd" - (("clsql-tests :force t") - "clsql-tests")) - #t))))) - (synopsis "Common Lisp SQL Interface library") - (description - "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the -Xanalys CommonSQL interface for Lispworks. It provides low-level database -interfaces as well as a functional and an object oriented interface.") - (home-page "http://clsql.kpe.io/") - (license license:llgpl))) - -(define-public cl-clsql - (package - (inherit (sbcl-package->cl-source-package sbcl-clsql)) - (native-inputs - `(("rt" ,cl-rt))) + `(("rt" ,sbcl-rt))) (inputs - `(("mysql" ,mysql) + `(("cffi" ,sbcl-cffi) + ("md5" ,sbcl-md5) + ("mysql" ,mysql) ("postgresql" ,postgresql) + ("postmodern" ,sbcl-postmodern) ("sqlite" ,sqlite) + ("uffi" ,sbcl-uffi) ("zlib" ,zlib))) - (propagated-inputs - `(("cl-postgres" ,cl-postgres) - ("cffi-uffi-compat" ,cl-cffi-uffi-compat) - ("md5" ,cl-md5) - ("uffi" ,cl-uffi))) (arguments - `(#:phases - ;; asdf-build-system/source has its own phases and does not inherit - ;; from asdf-build-system/sbcl phases. - (modify-phases %standard-phases/source + `(#:asd-files '("clsql-cffi.asd" + "clsql.asd" + "clsql-uffi.asd" + "clsql-sqlite3.asd" + "clsql-postgresql.asd" + "clsql-postgresql-socket3.asd" + "clsql-mysql.asd") + #:asd-systems '("clsql" + "clsql-sqlite3" + ;; TODO: Find why postgresql-sql.lisp fails to compile. + ;;"clsql-postgresql" + "clsql-postgresql-socket3" + "clsql-mysql") + #:phases + (modify-phases %standard-phases (add-after 'unpack 'fix-permissions (lambda _ (make-file-writable "doc/html.tar.gz") - #t))))))) - -(define-public sbcl-clsql-uffi - (package - (inherit sbcl-clsql) - (name "sbcl-clsql-uffi") - (inputs - `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat) - ("clsql" ,sbcl-clsql) - ("uffi" ,sbcl-uffi))) - (synopsis "UFFI helper functions for Common Lisp SQL interface library"))) - -(define-public sbcl-clsql-sqlite3 - (package - (inherit sbcl-clsql) - (name "sbcl-clsql-sqlite3") - (inputs - `(("clsql" ,sbcl-clsql) - ("clsql-uffi" ,sbcl-clsql-uffi) - ("sqlite" ,sqlite))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-clsql) - ((#:phases phases '%standard-phases) - `(modify-phases ,phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "db-sqlite3/sqlite3-loader.lisp" - (("libsqlite3") - (string-append (assoc-ref inputs "sqlite") - "/lib/libsqlite3"))) - #t)))))) - (synopsis "SQLite3 driver for Common Lisp SQL interface library"))) - -(define-public sbcl-clsql-postgresql - (package - (inherit sbcl-clsql) - (name "sbcl-clsql-postgresql") - (inputs - `(("clsql" ,sbcl-clsql) - ("clsql-uffi" ,sbcl-clsql-uffi) - ("postgresql" ,postgresql))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-clsql) - ((#:phases phases '%standard-phases) - `(modify-phases ,phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "db-postgresql/postgresql-loader.lisp" - (("libpq") - (string-append (assoc-ref inputs "postgresql") - "/lib/libpq"))) - #t)))))) - (synopsis "PostgreSQL driver for Common Lisp SQL interface library"))) - -(define-public sbcl-clsql-postgresql-socket3 - (package - (inherit sbcl-clsql) - (name "sbcl-clsql-postgresql-socket3") - (inputs - `(("cl-postgres" ,sbcl-cl-postgres) - ("clsql" ,sbcl-clsql) - ("md5" ,sbcl-md5))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-clsql) - ((#:phases phases '%standard-phases) - `(modify-phases ,phases - (add-after 'create-asd-file 'fix-asd-file - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib/" (%lisp-type))) - (asd (string-append lib "/clsql-postgresql-socket3.asd"))) - (substitute* asd - (("CLSQL-POSTGRESQL-SOCKET-SYSTEM::") - ""))) - #t)))))) - (synopsis "PostgreSQL driver for Common Lisp SQL interface library"))) + #t)) + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "db-sqlite3/sqlite3-loader.lisp" + (("libsqlite3") + (string-append (assoc-ref inputs "sqlite") + "/lib/libsqlite3"))) + (substitute* "db-postgresql/postgresql-loader.lisp" + (("libpq") + (string-append (assoc-ref inputs "postgresql") + "/lib/libpq"))) + (let ((lib (string-append "#p\"" + (assoc-ref outputs "out") + "/lib/\""))) + (substitute* "clsql-mysql.asd" + (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"") + lib)) + (substitute* "db-mysql/mysql-loader.lisp" + (("libmysqlclient" all) + (string-append (assoc-ref inputs "mysql") "/lib/" all)) + (("clsql-mysql-system::\\*library-file-dir\\*") + lib))) + #t)) + (add-before 'build 'build-helper-library + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((mysql (assoc-ref inputs "mysql")) + (inc-dir (string-append mysql "/include/mysql")) + (lib-dir (string-append mysql "/lib")) + (shared-lib-dir (string-append (assoc-ref outputs "out") + "/lib")) + (shared-lib (string-append shared-lib-dir + "/clsql_mysql.so"))) + (mkdir-p shared-lib-dir) + (invoke "gcc" "-fPIC" "-shared" + "-I" inc-dir + "db-mysql/clsql_mysql.c" + "-Wl,-soname=clsql_mysql" + "-L" lib-dir "-lmysqlclient" "-lz" + "-o" shared-lib) + #t))) + (add-after 'unpack 'fix-tests + (lambda _ + (substitute* "clsql.asd" + (("clsql-tests :force t") + "clsql-tests")) + #t))))) + (synopsis "Common Lisp SQL Interface library") + (description + "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the +Xanalys CommonSQL interface for Lispworks. It provides low-level database +interfaces as well as a functional and an object oriented interface.") + (home-page "http://clsql.kpe.io/") + (license license:llgpl))) -(define-public sbcl-clsql-mysql +(define-public cl-clsql (package - (inherit sbcl-clsql) - (name "sbcl-clsql-mysql") + (inherit (sbcl-package->cl-source-package sbcl-clsql)) + (native-inputs + `(("rt" ,cl-rt))) (inputs `(("mysql" ,mysql) - ("sbcl-clsql" ,sbcl-clsql) - ("sbcl-clsql-uffi" ,sbcl-clsql-uffi) + ("postgresql" ,postgresql) + ("sqlite" ,sqlite) ("zlib" ,zlib))) + (propagated-inputs + `(("cffi" ,cl-cffi) + ("md5" ,cl-md5) + ("postmodern" ,cl-postmodern) + ("uffi" ,cl-uffi))) (arguments - (substitute-keyword-arguments (package-arguments sbcl-clsql) - ((#:phases phases '%standard-phases) - `(modify-phases ,phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((lib (string-append "#p\"" - (assoc-ref outputs "out") - "/lib/\""))) - (substitute* "clsql-mysql.asd" - (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"") - lib)) - (substitute* "db-mysql/mysql-loader.lisp" - (("libmysqlclient" all) - (string-append (assoc-ref inputs "mysql") "/lib/" all)) - (("clsql-mysql-system::\\*library-file-dir\\*") - lib))) - #t)) - (add-before 'build 'build-helper-library - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((mysql (assoc-ref inputs "mysql")) - (inc-dir (string-append mysql "/include/mysql")) - (lib-dir (string-append mysql "/lib")) - (shared-lib-dir (string-append (assoc-ref outputs "out") - "/lib")) - (shared-lib (string-append shared-lib-dir - "/clsql_mysql.so"))) - (mkdir-p shared-lib-dir) - (invoke "gcc" "-fPIC" "-shared" - "-I" inc-dir - "db-mysql/clsql_mysql.c" - "-Wl,-soname=clsql_mysql" - "-L" lib-dir "-lmysqlclient" "-lz" - "-o" shared-lib) - #t))))))) - (synopsis "MySQL driver for Common Lisp SQL interface library"))) + `(#:phases + ;; asdf-build-system/source has its own phases and does not inherit + ;; from asdf-build-system/sbcl phases. + (modify-phases %standard-phases/source + (add-after 'unpack 'fix-permissions + (lambda _ + (make-file-writable "doc/html.tar.gz") + #t))))))) (define-public sbcl-sycamore (let ((commit "fd2820fec165ad514493426dea209728f64e6d18")) @@ -11401,7 +8859,7 @@ interfaces as well as a functional and an object oriented interface.") (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7")))) (build-system asdf-build-system/sbcl) (arguments - `(#:asd-file "src/sycamore.asd")) + `(#:asd-files '("src/sycamore.asd"))) (inputs `(("alexandria" ,sbcl-alexandria) ("cl-ppcre" ,sbcl-cl-ppcre))) @@ -11589,8 +9047,7 @@ MOP easier to use.") ("cffi" ,sbcl-cffi) ("trivial-features" ,sbcl-trivial-features))) (native-inputs - `(("cffi-grovel" ,sbcl-cffi-grovel) - ("rt" ,sbcl-rt))) + `(("rt" ,sbcl-rt))) (synopsis "Operating system interface for Common Lisp") (description "Osicat is a lightweight operating system interface for Common Lisp on @@ -11619,7 +9076,7 @@ accompaniment to the standard ANSI facilities.") (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12")))) (build-system asdf-build-system/sbcl) (arguments - `(#:asd-system-name "xembed")) + `(#:asd-systems '("xembed"))) (inputs `(("sbcl-clx" ,sbcl-clx))) (synopsis "CL(x) xembed protocol implementation ") @@ -11649,7 +9106,7 @@ accompaniment to the standard ANSI facilities.") "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9")))) (build-system asdf-build-system/sbcl) (arguments - '(#:asd-system-name "quantile-estimator")) + '(#:asd-systems '("quantile-estimator"))) (inputs `(("alexandria" ,sbcl-alexandria))) (home-page "https://github.com/deadtrickster/quantile-estimator.cl") @@ -11685,9 +9142,29 @@ Streams in ICDE’05.") (inputs `(("alexandria" ,sbcl-alexandria) ("bordeaux-threads" ,sbcl-bordeaux-threads) + ("cffi" ,sbcl-cffi) + ("cl-fad" ,sbcl-cl-fad) ("cl-ppcre" ,sbcl-cl-ppcre) + ("drakma" ,sbcl-drakma) + ("hunchentoot" ,sbcl-hunchentoot) ("local-time" ,sbcl-local-time) - ("quantile-estimator" ,sbcl-quantile-estimator))) + ("quantile-estimator" ,sbcl-quantile-estimator) + ("salza2" ,sbcl-salza2) + ("split-sequence" ,sbcl-split-sequence) + ("trivial-utf-8" ,sbcl-trivial-utf-8))) + (arguments + '(#:asd-files '("prometheus.asd" + "prometheus.collectors.sbcl.asd" + "prometheus.collectors.process.asd" + "prometheus.formats.text.asd" + "prometheus.exposers.hunchentoot.asd" + "prometheus.pushgateway.asd") + #:asd-systems '("prometheus" + "prometheus.collectors.sbcl" + "prometheus.collectors.process" + "prometheus.formats.text" + "prometheus.exposers.hunchentoot" + "prometheus.pushgateway"))) (home-page "https://github.com/deadtrickster/prometheus.cl") (synopsis "Prometheus.io Common Lisp client") (description "Prometheus.io Common Lisp client.") @@ -11699,85 +9176,6 @@ Streams in ICDE’05.") (define-public ecl-prometheus (sbcl-package->ecl-package sbcl-prometheus)) -(define-public sbcl-prometheus.collectors.sbcl - (package - (inherit sbcl-prometheus) - (name "sbcl-prometheus.collectors.sbcl") - (inputs `(("prometheus" ,sbcl-prometheus))) - (synopsis "Prometheus collector for SBCL metrics") - (description "Prometheus collector for SBCL metrics."))) - -(define-public cl-prometheus.collectors.sbcl - (sbcl-package->cl-source-package sbcl-prometheus.collectors.sbcl)) - -(define-public sbcl-prometheus.collectors.process - (package - (inherit sbcl-prometheus) - (name "sbcl-prometheus.collectors.process") - (inputs - `(("cffi" ,sbcl-cffi) - ("cffi-grovel" ,sbcl-cffi-grovel) - ("cl-fad" ,sbcl-cl-fad) - ("prometheus" ,sbcl-prometheus) - ("split-sequence" ,sbcl-split-sequence))) - (synopsis "Prometheus collector for process metrics") - (description "Prometheus collector for process metrics."))) - -(define-public cl-prometheus.collectors.process - (sbcl-package->cl-source-package sbcl-prometheus.collectors.process)) - -(define-public ecl-prometheus.collectors.process - (sbcl-package->ecl-package sbcl-prometheus.collectors.process)) - -(define-public sbcl-prometheus.formats.text - (package - (inherit sbcl-prometheus) - (name "sbcl-prometheus.formats.text") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("prometheus" ,sbcl-prometheus))) - (synopsis "Prometheus client text format") - (description "Prometheus client text format."))) - -(define-public cl-prometheus.formats.text - (sbcl-package->cl-source-package sbcl-prometheus.formats.text)) - -(define-public ecl-prometheus.formats.text - (sbcl-package->ecl-package sbcl-prometheus.formats.text)) - -(define-public sbcl-prometheus.exposers.hunchentoot - (package - (inherit sbcl-prometheus) - (name "sbcl-prometheus.exposers.hunchentoot") - (inputs - `(("hunchentoot" ,sbcl-hunchentoot) - ("prometheus" ,sbcl-prometheus) - ("prometheus.formats.text" ,sbcl-prometheus.formats.text) - ("salza2" ,sbcl-salza2) - ("trivial-utf-8" ,sbcl-trivial-utf-8))) - (synopsis "Prometheus collector for Hunchentoot metrics") - (description "Prometheus collector for Hunchentoot metrics"))) - -(define-public cl-prometheus.exposers.hunchentoot - (sbcl-package->cl-source-package sbcl-prometheus.exposers.hunchentoot)) - -(define-public sbcl-prometheus.pushgateway - (package - (inherit sbcl-prometheus) - (name "sbcl-prometheus.pushgateway") - (inputs - `(("drakma" ,sbcl-drakma) - ("prometheus" ,sbcl-prometheus) - ("prometheus.formats.text" ,sbcl-prometheus.formats.text))) - (synopsis "Prometheus Pushgateway client") - (description "Prometheus Pushgateway client."))) - -(define-public cl-prometheus.pushgateway - (sbcl-package->cl-source-package sbcl-prometheus.pushgateway)) - -(define-public ecl-prometheus.pushgateway - (sbcl-package->ecl-package sbcl-prometheus.pushgateway)) - (define-public sbcl-uuid (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8")) (package @@ -11842,9 +9240,6 @@ and active restarts.") (define-public ecl-dissect (sbcl-package->ecl-package sbcl-dissect)) -;; TODO: Uses ASDF's package-inferred-system which is not supported by -;; asdf-build-system/sbcl as of 2020-05-21. We should fix -;; asdf-build-system/sbcl. (define-public sbcl-rove (package (name "sbcl-rove") @@ -11928,14 +9323,13 @@ learn about each of the parameters.") `(#:test-asd-file "sxql-test.asd")) (inputs `(("alexandria" ,sbcl-alexandria) - ("cl-syntax-annot" ,sbcl-cl-syntax-annot) + ("cl-syntax" ,sbcl-cl-syntax) ("iterate" ,sbcl-iterate) ("optima" ,sbcl-optima) ("split-sequence" ,sbcl-split-sequence) ("trivial-types" ,sbcl-trivial-types))) (native-inputs - `(("prove" ,sbcl-prove) - ("prove-asdf" ,sbcl-prove-asdf))) + `(("prove" ,sbcl-prove))) (home-page "https://github.com/fukamachi/sxql") (synopsis "SQL generator for Common Lisp") (description "SQL generator for Common Lisp.") @@ -11964,7 +9358,7 @@ learn about each of the parameters.") "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g")))) (build-system asdf-build-system/sbcl) (arguments - `(#:asd-system-name "1am")) + `(#:asd-systems '("1am"))) (home-page "https://github.com/lmj/1am") (synopsis "Minimal testing framework for Common Lisp") (description "A minimal testing framework for Common Lisp.") @@ -12041,7 +9435,6 @@ tables.") (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads) ("cffi" ,sbcl-cffi) - ("cffi-grovel" ,sbcl-cffi-grovel) ("librdkafka" ,librdkafka) ("lparallel" ,sbcl-lparallel) ("trivial-garbage" ,sbcl-trivial-garbage))) @@ -12083,10 +9476,10 @@ weight, temperature, names of physical quantitites, etc.") (define-public cl-acclimation (sbcl-package->cl-source-package sbcl-acclimation)) -(define-public sbcl-clump-2-3-tree +(define-public sbcl-clump (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a")) (package - (name "sbcl-clump-2-3-tree") + (name "sbcl-clump") (version (git-version "0.0.0" "1" commit)) (source (origin @@ -12099,13 +9492,15 @@ weight, temperature, names of physical quantitites, etc.") (base32 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh")))) (arguments - '(#:asd-file "2-3-tree/clump-2-3-tree.asd" - #:asd-system-name "clump-2-3-tree")) + '(#:asd-files '("clump.asd" + "2-3-tree/clump-2-3-tree.asd" + "Binary-tree/clump-binary-tree.asd") + #:asd-systems '("clump"))) (inputs `(("acclimation" ,sbcl-acclimation))) (build-system asdf-build-system/sbcl) (home-page "https://github.com/robert-strandh/Clump") - (synopsis "Implementation of 2-3 trees for Common Lisp") + (synopsis "Collection of tree implementations for Common Lisp") (description "The purpose of this library is to provide a collection of implementations of trees. @@ -12119,34 +9514,13 @@ where the trees can be used as search trees or as trees that represent sequences of objects.") (license license:bsd-2)))) -(define-public sbcl-clump-binary-tree - (package - (inherit sbcl-clump-2-3-tree) - (name "sbcl-clump-binary-tree") - (arguments - '(#:asd-file "Binary-tree/clump-binary-tree.asd" - #:asd-system-name "clump-binary-tree")) - (synopsis "Implementation of binary trees for Common Lisp"))) - -(define-public sbcl-clump - (package - (inherit sbcl-clump-2-3-tree) - (name "sbcl-clump") - (arguments - '(#:asd-file "clump.asd" - #:asd-system-name "clump")) - (inputs - `(("clump-2-3-tree" ,sbcl-clump-2-3-tree) - ("clump-binary-tree" ,sbcl-clump-binary-tree))) - (synopsis "Collection of tree implementations for Common Lisp"))) - (define-public cl-clump (sbcl-package->cl-source-package sbcl-clump)) -(define-public sbcl-cluffer-base +(define-public sbcl-cluffer (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a")) (package - (name "sbcl-cluffer-base") + (name "sbcl-cluffer") (version (git-version "0.0.0" "1" commit)) (source (origin @@ -12158,12 +9532,18 @@ sequences of objects.") (sha256 (base32 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj")))) - (arguments - '(#:asd-file "Base/cluffer-base.asd" - #:asd-system-name "cluffer-base")) - (inputs - `(("acclimation" ,sbcl-acclimation))) (build-system asdf-build-system/sbcl) + (inputs + `(("acclimation" ,sbcl-acclimation) + ("clump" ,sbcl-clump))) + (arguments + '(#:asd-files '("cluffer.asd" + "Base/cluffer-base.asd" + "Standard-line/cluffer-standard-line.asd" + "Standard-buffer/cluffer-standard-buffer.asd" + "Simple-line/cluffer-simple-line.asd" + "Simple-buffer/cluffer-simple-buffer.asd") + #:asd-systems '("cluffer"))) (home-page "https://github.com/robert-strandh/cluffer") (synopsis "Common Lisp library providing a protocol for text-editor buffers") (description "Cluffer is a library for representing the buffer of a text @@ -12172,61 +9552,6 @@ interact with the buffer contents in various ways, and it supplies different implementations of those protocols for different purposes.") (license license:bsd-2)))) -(define-public sbcl-cluffer-standard-line - (package - (inherit sbcl-cluffer-base) - (name "sbcl-cluffer-standard-line") - (arguments - '(#:asd-file "Standard-line/cluffer-standard-line.asd" - #:asd-system-name "cluffer-standard-line")) - (inputs - `(("cluffer-base" ,sbcl-cluffer-base))))) - -(define-public sbcl-cluffer-standard-buffer - (package - (inherit sbcl-cluffer-base) - (name "sbcl-cluffer-standard-buffer") - (arguments - '(#:asd-file "Standard-buffer/cluffer-standard-buffer.asd" - #:asd-system-name "cluffer-standard-buffer")) - (inputs - `(("cluffer-base" ,sbcl-cluffer-base) - ("clump" ,sbcl-clump))))) - -(define-public sbcl-cluffer-simple-line - (package - (inherit sbcl-cluffer-base) - (name "sbcl-cluffer-simple-line") - (arguments - '(#:asd-file "Simple-line/cluffer-simple-line.asd" - #:asd-system-name "cluffer-simple-line")) - (inputs - `(("cluffer-base" ,sbcl-cluffer-base))))) - -(define-public sbcl-cluffer-simple-buffer - (package - (inherit sbcl-cluffer-base) - (name "sbcl-cluffer-simple-buffer") - (arguments - '(#:asd-file "Simple-buffer/cluffer-simple-buffer.asd" - #:asd-system-name "cluffer-simple-buffer")) - (inputs - `(("cluffer-base" ,sbcl-cluffer-base))))) - -(define-public sbcl-cluffer - (package - (inherit sbcl-cluffer-base) - (name "sbcl-cluffer") - (arguments - '(#:asd-file "cluffer.asd" - #:asd-system-name "cluffer")) - (inputs - `(("cluffer-base" ,sbcl-cluffer-base) - ("cluffer-standard-line" ,sbcl-cluffer-standard-line) - ("cluffer-standard-buffer" ,sbcl-cluffer-standard-buffer) - ("cluffer-simple-line" ,sbcl-cluffer-simple-line) - ("cluffer-simple-buffer" ,sbcl-cluffer-simple-buffer))))) - (define-public cl-cluffer (sbcl-package->cl-source-package sbcl-cluffer)) @@ -12248,8 +9573,7 @@ implementations of those protocols for different purposes.") "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg")))) (build-system asdf-build-system/sbcl) (native-inputs - `(("prove" ,sbcl-prove) - ("prove-asdf" ,sbcl-prove-asdf))) + `(("prove" ,sbcl-prove))) (inputs `(("alexandria" ,sbcl-alexandria))) (synopsis "LibSVM data format reader for Common Lisp") @@ -12283,8 +9607,7 @@ format.") "14x95rlg80ay5hv645ki57pqvy12v28hz4k1w0f6bsfi2rmpxchq")))) (build-system asdf-build-system/sbcl) (native-inputs - `(("prove" ,sbcl-prove) - ("prove-asdf" ,sbcl-prove-asdf))) + `(("prove" ,sbcl-prove))) (inputs `(("cl-libsvm-format" ,sbcl-cl-libsvm-format) ("cl-store" ,sbcl-cl-store))) @@ -12323,7 +9646,6 @@ online linear classification written in Common Lisp.") (build-system asdf-build-system/sbcl) (native-inputs `(("prove" ,sbcl-prove) - ("prove-asdf" ,sbcl-prove-asdf) ("trivial-garbage" ,sbcl-trivial-garbage))) (inputs `(("alexandria" ,sbcl-alexandria) @@ -12541,7 +9863,6 @@ wrappers of deflate streams. It currently does not handle compression.") (inputs `(("alexandria" ,sbcl-alexandria) ("cffi" ,sbcl-cffi) - ("cffi-grovel" ,sbcl-cffi-grovel) ("freetype" ,freetype) ("trivial-garbage" ,sbcl-trivial-garbage))) (arguments @@ -12636,861 +9957,310 @@ macros for the Opticl image processing library.") in the TIFF (Tagged Image File Format) format.") (license license:bsd-2)))) -(define-public cl-retrospectif - (sbcl-package->cl-source-package sbcl-retrospectiff)) - -(define-public ecl-retrospectiff - (sbcl-package->ecl-package sbcl-retrospectiff)) - -(define-public sbcl-mmap - (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7") - (revision "0")) - (package - (name "sbcl-mmap") - (version (git-version "1.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Shinmera/mmap") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q")))) - (build-system asdf-build-system/sbcl) - (native-inputs - `(("alexandria" ,sbcl-alexandria) - ("cffi" ,sbcl-cffi) - ("parachute" ,sbcl-parachute) - ("trivial-features" ,sbcl-trivial-features))) - (inputs - `(("cffi" ,sbcl-cffi) - ("documentation-utils" ,sbcl-documentation-utils))) - (home-page "https://shinmera.github.io/mmap/") - (synopsis "File memory mapping for Common Lisp") - (description - "This is a utility library providing access to the @emph{mmap} family of -functions in a portable way. It allows you to directly map a file into the -address space of your process without having to manually read it into memory -sequentially. Typically this is much more efficient for files that are larger -than a few Kb.") - (license license:zlib)))) - -(define-public cl-mmap - (sbcl-package->cl-source-package sbcl-mmap)) - -(define-public ecl-mmap - (sbcl-package->ecl-package sbcl-mmap)) - -(define-public sbcl-3bz - (let ((commit "d6119083b5e0b0a6dd3abc2877936c51f3f3deed") - (revision "0")) - (package - (name "sbcl-3bz") - (version (git-version "0.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/3b/3bz") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0fyxzyf2b6sc0w8d9g4nlva861565z6f3xszj0lw29x526dd9rhj")))) - (build-system asdf-build-system/sbcl) - (inputs - `(("alexandria" ,sbcl-alexandria) - ("babel" ,sbcl-babel) - ("cffi" ,sbcl-cffi) - ("mmap" ,sbcl-mmap) - ("nibbles" ,sbcl-nibbles) - ("trivial-features" ,sbcl-trivial-features))) - (arguments - ;; FIXME: Without the following line, the build fails (see issue 41437). - `(#:asd-system-name "3bz")) - (home-page "https://github.com/3b/3bz") - (synopsis "Deflate decompression for Common Lisp") - (description - "3bz is an implementation of Deflate decompression (RFC 1951) optionally -with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from -foreign pointers (for use with mmap and similar, etc), and from CL octet -vectors and streams.") - (license license:expat)))) - -(define-public cl-3bz - (sbcl-package->cl-source-package sbcl-3bz)) - -(define-public ecl-3bz - (sbcl-package->ecl-package sbcl-3bz)) - -(define-public sbcl-zpb-exif - (package - (name "sbcl-zpb-exif") - (version "1.2.4") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/xach/zpb-exif") - (commit (string-append "release-" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6")))) - (build-system asdf-build-system/sbcl) - (home-page "https://xach.com/lisp/zpb-exif/") - (synopsis "EXIF information extractor for Common Lisp") - (description - "This is a Common Lisp library to extract EXIF information from image -files.") - (license license:bsd-2))) - -(define-public cl-zpb-exif - (sbcl-package->cl-source-package sbcl-zpb-exif)) - -(define-public ecl-zpb-exif - (sbcl-package->ecl-package sbcl-zpb-exif)) - -(define-public sbcl-pngload - (package - (name "sbcl-pngload") - (version "2.0.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/bufferswap/pngload") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1ix8dd0fxlf8xm0bszh1s7sx83hn0vqq8b8c9gkrd5m310w8mpvh")))) - (build-system asdf-build-system/sbcl) - (inputs - `(("3bz" ,sbcl-3bz) - ("alexandria" ,sbcl-alexandria) - ("cffi" ,sbcl-cffi) - ("mmap" ,sbcl-mmap) - ("parse-float" ,sbcl-parse-float) - ("static-vectors" ,sbcl-static-vectors) - ("swap-bytes" ,sbcl-swap-bytes) - ("zpb-exif" ,sbcl-zpb-exif))) - (arguments - ;; Test suite disabled because of a dependency cycle. - ;; pngload tests depend on opticl which depends on pngload. - '(#:tests? #f)) - (home-page "https://github.com/bufferswap/pngload") - (synopsis "PNG image decoder for Common Lisp") - (description - "This is a Common Lisp library to load images in the PNG image format, -both from files on disk, or streams in memory.") - (license license:expat))) - -(define-public cl-pngload - (sbcl-package->cl-source-package sbcl-pngload)) +(define-public cl-retrospectif + (sbcl-package->cl-source-package sbcl-retrospectiff)) -(define-public ecl-pngload - (sbcl-package->ecl-package sbcl-pngload)) +(define-public ecl-retrospectiff + (sbcl-package->ecl-package sbcl-retrospectiff)) -(define-public sbcl-opticl - (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d") +(define-public sbcl-mmap + (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7") (revision "0")) (package - (name "sbcl-opticl") - (version (git-version "0.0.0" revision commit)) + (name "sbcl-mmap") + (version (git-version "1.0.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/slyrus/opticl") + (url "https://github.com/Shinmera/mmap") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1")))) + (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q")))) (build-system asdf-build-system/sbcl) (native-inputs - `(("fiveam" ,sbcl-fiveam))) - (inputs `(("alexandria" ,sbcl-alexandria) - ("cl-jpeg" ,sbcl-cl-jpeg) - ("cl-tga" ,sbcl-cl-tga) - ("png-read" ,sbcl-png-read) - ("pngload" ,sbcl-pngload) - ("retrospectiff" ,sbcl-retrospectiff) - ("skippy" ,sbcl-skippy) - ("zpng" ,sbcl-zpng))) - (home-page "https://github.com/slyrus/opticl") - (synopsis "Image processing library for Common Lisp") + ("cffi" ,sbcl-cffi) + ("parachute" ,sbcl-parachute) + ("trivial-features" ,sbcl-trivial-features))) + (inputs + `(("cffi" ,sbcl-cffi) + ("documentation-utils" ,sbcl-documentation-utils))) + (home-page "https://shinmera.github.io/mmap/") + (synopsis "File memory mapping for Common Lisp") (description - "Opticl is a Common Lisp library for representing, processing, loading, -and saving 2-dimensional pixel-based images.") - (license license:bsd-2)))) + "This is a utility library providing access to the @emph{mmap} family of +functions in a portable way. It allows you to directly map a file into the +address space of your process without having to manually read it into memory +sequentially. Typically this is much more efficient for files that are larger +than a few Kb.") + (license license:zlib)))) -(define-public cl-opticl - (sbcl-package->cl-source-package sbcl-opticl)) +(define-public cl-mmap + (sbcl-package->cl-source-package sbcl-mmap)) -(define-public sbcl-clim-lisp - (let ((commit "27b4d7a667c9b3faa74cabcb57706b888314fff7") +(define-public ecl-mmap + (sbcl-package->ecl-package sbcl-mmap)) + +(define-public sbcl-3bz + (let ((commit "d6119083b5e0b0a6dd3abc2877936c51f3f3deed") (revision "0")) (package - (name "sbcl-clim-lisp") - (version (git-version "0.9.7" revision commit)) + (name "sbcl-3bz") + (version (git-version "0.0.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/mcclim/mcclim") + (url "https://github.com/3b/3bz") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0jijfgkwas6xnpp5wiii6slcx9pgsalngacb8zm29x6pamx2193h")))) + (base32 "0fyxzyf2b6sc0w8d9g4nlva861565z6f3xszj0lw29x526dd9rhj")))) (build-system asdf-build-system/sbcl) (inputs `(("alexandria" ,sbcl-alexandria) - ("closer-mop" ,sbcl-closer-mop) - ("log4cl" ,sbcl-log4cl) - ("trivial-gray-streams" ,sbcl-trivial-gray-streams))) - (home-page "https://common-lisp.net/project/mcclim/") - (synopsis "Common Lisp GUI toolkit") + ("babel" ,sbcl-babel) + ("cffi" ,sbcl-cffi) + ("mmap" ,sbcl-mmap) + ("nibbles" ,sbcl-nibbles) + ("trivial-features" ,sbcl-trivial-features))) + (arguments + ;; FIXME: Without the following line, the build fails (see issue 41437). + `(#:asd-systems '("3bz"))) + (home-page "https://github.com/3b/3bz") + (synopsis "Deflate decompression for Common Lisp") (description - "McCLIM is an implementation of the @emph{Common Lisp Interface Manager -specification}, a toolkit for writing GUIs in Common Lisp.") - (license license:lgpl2.1+)))) - -(define-public sbcl-clim-basic - (package - (inherit sbcl-clim-lisp) - (name "sbcl-clim-basic") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("babel" ,sbcl-babel) - ("bordeaux-threads" ,sbcl-bordeaux-threads) - ("clim-lisp" ,sbcl-clim-lisp) - ("flexichain" ,sbcl-flexichain) - ("spatial-trees" ,sbcl-spatial-trees) - ("trivial-features" ,sbcl-trivial-features) - ("trivial-garbage" ,sbcl-trivial-garbage))) - (arguments - '(#:asd-file "Core/clim-basic/clim-basic.asd")))) - -(define-public sbcl-clim-core - (package - (inherit sbcl-clim-lisp) - (name "sbcl-clim-core") - (inputs - `(("clim-basic" ,sbcl-clim-basic))) - (arguments - '(#:asd-file "Core/clim-core/clim-core.asd")))) - -(define-public sbcl-esa-mcclim - (package - (inherit sbcl-clim-lisp) - (name "sbcl-esa-mcclim") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("clim-core" ,sbcl-clim-core))) - (arguments - '(#:asd-file "Libraries/ESA/esa-mcclim.asd")))) - -(define-public sbcl-mcclim-fonts - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-fonts") - (inputs - `(("clim-basic" ,sbcl-clim-basic))) - (arguments - '(#:asd-file "Extensions/fonts/mcclim-fonts.asd")))) - -(define-public sbcl-automaton - (package - (inherit sbcl-clim-lisp) - (name "sbcl-automaton") - (inputs - `()) - (arguments - '(#:asd-file "Libraries/Drei/cl-automaton/automaton.asd")))) - -(define-public sbcl-persistent - (package - (inherit sbcl-clim-lisp) - (name "sbcl-persistent") - (inputs - `()) - (arguments - '(#:asd-file "Libraries/Drei/Persistent/persistent.asd")))) - -(define-public sbcl-drei-mcclim - (package - (inherit sbcl-clim-lisp) - (name "sbcl-drei-mcclim") - (native-inputs - `(("fiveam" ,sbcl-fiveam))) - (inputs - `(("automaton" ,sbcl-automaton) - ("clim-core" ,sbcl-clim-core) - ("esa-mcclim" ,sbcl-esa-mcclim) - ("flexichain" ,sbcl-flexichain) - ("mcclim-fonts" ,sbcl-mcclim-fonts) - ("persistent" ,sbcl-persistent) - ("swank" ,cl-slime-swank))) - (arguments - '(#:asd-file "Libraries/Drei/drei-mcclim.asd")))) - -(define-public sbcl-clim - (package - (inherit sbcl-clim-lisp) - (name "sbcl-clim") - (inputs - `(("clim-core" ,sbcl-clim-core) - ("drei-mcclim" ,sbcl-drei-mcclim) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Core/clim/clim.asd")))) - -(define-public sbcl-mcclim-backend-common - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-backend-common") - (native-inputs - `(("fiveam" ,sbcl-fiveam))) - (inputs - `(("clim" ,sbcl-clim) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Backends/common/mcclim-backend-common.asd")))) - -(define-public sbcl-mcclim-clx - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-clx") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-unicode" ,sbcl-cl-unicode) - ("clx" ,sbcl-clx) - ("mcclim-backend-common" ,sbcl-mcclim-backend-common) - ("mcclim-fonts" ,sbcl-mcclim-fonts) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Backends/CLX/mcclim-clx.asd")))) - -(define-public sbcl-mcclim-fonts-truetype - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-fonts-truetype") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-aa" ,sbcl-cl-aa) - ("cl-paths-ttf" ,sbcl-cl-paths-ttf) - ("cl-vectors" ,sbcl-cl-vectors) - ("clim-basic" ,sbcl-clim-basic) - ("font-dejavu" ,font-dejavu) - ("zpb-ttf" ,sbcl-zpb-ttf))) - (arguments - '(#:asd-file "Extensions/fonts/mcclim-fonts.asd" - #:asd-system-name "mcclim-fonts/truetype" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - ;; mcclim-truetype uses DejaVu as default font and - ;; sets the path at build time. - (substitute* "Extensions/fonts/fontconfig.lisp" - (("/usr/share/fonts/truetype/dejavu/") - (string-append (assoc-ref inputs "font-dejavu") - "/share/fonts/truetype/"))) - #t))))))) - -(define-public sbcl-mcclim-fonts-clx-truetype - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-fonts-clx-truetype") - (inputs - `(("mcclim-clx" ,sbcl-mcclim-clx) - ("mcclim-fonts-truetype" ,sbcl-mcclim-fonts-truetype) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "./Extensions/fonts/mcclim-fonts.asd" - #:asd-system-name "mcclim-fonts/clx-truetype" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-asd-system-names - (lambda _ - (substitute* "Extensions/fonts/mcclim-fonts.asd" - ((":depends-on \\(#:mcclim-fonts/truetype") - ":depends-on (#:mcclim-fonts-truetype")) - #t))))))) - -(define-public sbcl-mcclim-clx-truetype - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-clx-truetype") - (inputs - `(("mcclim-clx" ,sbcl-mcclim-clx) - ("mcclim-fonts-clx-truetype" ,sbcl-mcclim-fonts-clx-truetype) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Backends/CLX/mcclim-clx.asd" - #:asd-system-name "mcclim-clx/truetype" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-asd-system-names - (lambda _ - (substitute* "Backends/CLX/mcclim-clx.asd" - (("mcclim-fonts/clx-truetype") - "mcclim-fonts-clx-truetype")) - #t))))))) - -(define-public sbcl-mcclim-fontconfig - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-fontconfig") - (native-inputs - `(("pkg-config" ,pkg-config))) - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cffi" ,sbcl-cffi) - ("cffi-grovel" ,sbcl-cffi-grovel) - ("fontconfig" ,fontconfig))) - (arguments - '(#:asd-file "Extensions/fontconfig/mcclim-fontconfig.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "Extensions/fontconfig/src/functions.lisp" - (("libfontconfig\\.so") - (string-append (assoc-ref inputs "fontconfig") - "/lib/libfontconfig.so"))) - #t)) - (add-after 'unpack 'fix-build - (lambda _ - ;; The cffi-grovel system does not get loaded automatically, - ;; so we load it explicitly. - (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd" - (("\\(asdf:defsystem #:mcclim-fontconfig" all) - (string-append "(asdf:load-system :cffi-grovel)\n" all))) - #t))))))) - -(define-public sbcl-mcclim-harfbuzz - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-harfbuzz") - (native-inputs - `(("pkg-config" ,pkg-config))) - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cffi" ,sbcl-cffi) - ("cffi-grovel" ,sbcl-cffi-grovel) - ("freetype" ,freetype) - ("harfbuzz" ,harfbuzz) - ("trivial-garbage" ,sbcl-trivial-garbage))) - (arguments - '(#:asd-file "Extensions/harfbuzz/mcclim-harfbuzz.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "Extensions/harfbuzz/src/functions.lisp" - (("libharfbuzz\\.so") - (string-append (assoc-ref inputs "harfbuzz") - "/lib/libharfbuzz.so"))) - #t)) - (add-after 'unpack 'fix-build - (lambda _ - ;; The cffi-grovel system does not get loaded automatically, - ;; so we load it explicitly. - (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd" - (("\\(asdf:defsystem #:mcclim-harfbuzz" all) - (string-append "(asdf:load-system :cffi-grovel)\n" all))) - #t))))))) - -(define-public sbcl-mcclim-fonts-clx-freetype - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-fonts-clx-freetype") - (inputs - `(("cl-freetype2" ,sbcl-cl-freetype2) - ("mcclim-clx" ,sbcl-mcclim-clx) - ("mcclim-fontconfig" ,sbcl-mcclim-fontconfig) - ("mcclim-fonts" ,sbcl-mcclim-fonts) - ("mcclim-harfbuzz" ,sbcl-mcclim-harfbuzz) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Extensions/fonts/mcclim-fonts.asd" - #:asd-system-name "mcclim-fonts/clx-freetype")))) - -(define-public sbcl-mcclim-clx-freetype - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-clx-freetype") - (inputs - `(("mcclim-clx" ,sbcl-mcclim-clx) - ("mcclim-fonts-clx-freetype" ,sbcl-mcclim-fonts-clx-freetype) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Backends/CLX/mcclim-clx.asd" - #:asd-system-name "mcclim-clx/freetype" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-asd-system-names - (lambda _ - (substitute* "Backends/CLX/mcclim-clx.asd" - (("mcclim-fonts/clx-freetype") - "mcclim-fonts-clx-freetype")) - #t))))))) - -(define-public sbcl-mcclim-render - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-render") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-vectors" ,sbcl-cl-vectors) - ("clim-basic" ,sbcl-clim-basic) - ("mcclim-backend-common" ,sbcl-mcclim-backend-common) - ("mcclim-fonts-truetype" ,sbcl-mcclim-fonts-truetype) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Extensions/render/mcclim-render.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-asd-system-names - (lambda _ - (substitute* "Extensions/render/mcclim-render.asd" - (("mcclim-fonts/truetype") - "mcclim-fonts-truetype")) - #t))))))) - -(define-public sbcl-mcclim-clx-fb - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-clx-fb") - (inputs - `(("mcclim-backend-common" ,sbcl-mcclim-backend-common) - ("mcclim-clx" ,sbcl-mcclim-clx) - ("mcclim-render" ,sbcl-mcclim-render) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Backends/CLX-fb/mcclim-clx-fb.asd")))) - -(define-public sbcl-mcclim-null - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-null") - (inputs - `(("clim" ,sbcl-clim) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Backends/Null/mcclim-null.asd")))) - -(define-public sbcl-clim-postscript-font - (package - (inherit sbcl-clim-lisp) - (name "sbcl-clim-postscript-font") - (inputs - `(("clim-basic" ,sbcl-clim-basic) - ("mcclim-backend-common" ,sbcl-mcclim-backend-common) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Backends/PostScript/clim-postscript-font.asd")))) - -(define-public sbcl-clim-postscript - (package - (inherit sbcl-clim-lisp) - (name "sbcl-clim-postscript") - (native-inputs - `(("fiveam" ,sbcl-fiveam))) - (inputs - `(("clim-basic" ,sbcl-clim-basic) - ("clim-postscript-font" ,sbcl-clim-postscript-font) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Backends/PostScript/clim-postscript.asd" - ;; Test suite disabled because of a dependency cycle. - ;; The tests depend on mcclim/test-util, which depends on mcclim, - ;; wich depends on mcclim/extensions, which depends on clim-postscript. - #:tests? #f)))) + "3bz is an implementation of Deflate decompression (RFC 1951) optionally +with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from +foreign pointers (for use with mmap and similar, etc), and from CL octet +vectors and streams.") + (license license:expat)))) -(define-public sbcl-clim-pdf - (package - (inherit sbcl-clim-lisp) - (name "sbcl-clim-pdf") - (native-inputs - `(("fiveam" ,sbcl-fiveam))) - (inputs - `(("cl-pdf" ,sbcl-cl-pdf) - ("clim-basic" ,sbcl-clim-basic) - ("clim-postscript-font" ,sbcl-clim-postscript-font) - ("flexi-streams" ,sbcl-flexi-streams) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Backends/PDF/clim-pdf.asd" - ;; Test suite disabled because of a dependency cycle. - ;; The tests depend on mcclim/test-util, which depends on mcclim, - ;; wich depends on mcclim/extensions, which depends on clim-pdf. - #:tests? #f)))) +(define-public cl-3bz + (sbcl-package->cl-source-package sbcl-3bz)) -(define-public sbcl-mcclim-looks - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-looks") - (inputs - `(("clim" ,sbcl-clim) - ("mcclim-clx" ,sbcl-mcclim-clx) - ("mcclim-clx-fb" ,sbcl-mcclim-clx-fb) - ("mcclim-clx-freetype" ,sbcl-mcclim-clx-freetype) - ("mcclim-clx-truetype" ,sbcl-mcclim-clx-truetype) - ("mcclim-null" ,sbcl-mcclim-null) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "mcclim.asd" - #:asd-system-name "mcclim/looks" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-asd-system-names - (lambda _ - (substitute* "mcclim.asd" - (("mcclim-clx/truetype") - "mcclim-clx-truetype") - (("mcclim-clx/freetype") - "mcclim-clx-freetype")) - #t))))))) +(define-public ecl-3bz + (sbcl-package->ecl-package sbcl-3bz)) -(define-public sbcl-mcclim-franz +(define-public sbcl-zpb-exif (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-franz") - (inputs - `(("clim" ,sbcl-clim) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Extensions/Franz/mcclim-franz.asd")))) + (name "sbcl-zpb-exif") + (version "1.2.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xach/zpb-exif") + (commit (string-append "release-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6")))) + (build-system asdf-build-system/sbcl) + (home-page "https://xach.com/lisp/zpb-exif/") + (synopsis "EXIF information extractor for Common Lisp") + (description + "This is a Common Lisp library to extract EXIF information from image +files.") + (license license:bsd-2))) -(define-public sbcl-mcclim-bezier-core - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-bezier-core") - (inputs - `(("clim" ,sbcl-clim) - ("clim-pdf" ,sbcl-clim-pdf) - ("clim-postscript" ,sbcl-clim-postscript) - ("mcclim-null" ,sbcl-mcclim-null) - ("mcclim-render" ,sbcl-mcclim-render) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Extensions/bezier/mcclim-bezier.asd" - #:asd-system-name "mcclim-bezier/core")))) +(define-public cl-zpb-exif + (sbcl-package->cl-source-package sbcl-zpb-exif)) -(define-public sbcl-mcclim-bezier-clx - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-bezier-clx") - (inputs - `(("clim" ,sbcl-clim) - ("mcclim-bezier/core" ,sbcl-mcclim-bezier-core) - ("mcclim-clx" ,sbcl-mcclim-clx) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Extensions/bezier/mcclim-bezier.asd" - #:asd-system-name "mcclim-bezier/clx" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-asd-system-names - (lambda _ - (substitute* "Extensions/bezier/mcclim-bezier.asd" - (("mcclim-bezier/core\\)") - "mcclim-bezier-core)")) - #t))))))) +(define-public ecl-zpb-exif + (sbcl-package->ecl-package sbcl-zpb-exif)) -(define-public sbcl-mcclim-bezier +(define-public sbcl-pngload (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-bezier") + (name "sbcl-pngload") + (version "2.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bufferswap/pngload") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ix8dd0fxlf8xm0bszh1s7sx83hn0vqq8b8c9gkrd5m310w8mpvh")))) + (build-system asdf-build-system/sbcl) (inputs - `(("mcclim-bezier/clx" ,sbcl-mcclim-bezier-clx) - ("mcclim-bezier/core" ,sbcl-mcclim-bezier-core) - ("swank" ,cl-slime-swank))) ; For drei-mcclim + `(("3bz" ,sbcl-3bz) + ("alexandria" ,sbcl-alexandria) + ("cffi" ,sbcl-cffi) + ("mmap" ,sbcl-mmap) + ("parse-float" ,sbcl-parse-float) + ("static-vectors" ,sbcl-static-vectors) + ("swap-bytes" ,sbcl-swap-bytes) + ("zpb-exif" ,sbcl-zpb-exif))) (arguments - '(#:asd-file "Extensions/bezier/mcclim-bezier.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-asd-system-names - (lambda _ - (substitute* "Extensions/bezier/mcclim-bezier.asd" - (("\\(#:mcclim-bezier/core") - "(#:mcclim-bezier-core") - (("#:mcclim-bezier/clx\\)\\)") - "#:mcclim-bezier-clx))")) - #t))))))) + ;; Test suite disabled because of a dependency cycle. + ;; pngload tests depend on opticl which depends on pngload. + '(#:tests? #f)) + (home-page "https://github.com/bufferswap/pngload") + (synopsis "PNG image decoder for Common Lisp") + (description + "This is a Common Lisp library to load images in the PNG image format, +both from files on disk, or streams in memory.") + (license license:expat))) -(define-public sbcl-mcclim-bitmaps - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-bitmaps") - (inputs - `(("clim-basic" ,sbcl-clim-basic) - ("opticl" ,sbcl-opticl))) - (arguments - '(#:asd-file "Extensions/bitmap-formats/mcclim-bitmaps.asd")))) +(define-public cl-pngload + (sbcl-package->cl-source-package sbcl-pngload)) -(define-public sbcl-conditional-commands - (package - (inherit sbcl-clim-lisp) - (name "sbcl-conditional-commands") - (inputs - `(("clim-basic" ,sbcl-clim-basic))) - (arguments - '(#:asd-file "Extensions/conditional-commands/conditional-commands.asd")))) +(define-public ecl-pngload + (sbcl-package->ecl-package sbcl-pngload)) -(define-public sbcl-mcclim-layouts-tab - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-layouts-tab") - (inputs - `(("clim" ,sbcl-clim) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Extensions/layouts/mcclim-layouts.asd" - #:asd-system-name "mcclim-layouts/tab")))) +(define-public sbcl-opticl + (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d") + (revision "0")) + (package + (name "sbcl-opticl") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/slyrus/opticl") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("fiveam" ,sbcl-fiveam))) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("cl-jpeg" ,sbcl-cl-jpeg) + ("cl-tga" ,sbcl-cl-tga) + ("png-read" ,sbcl-png-read) + ("pngload" ,sbcl-pngload) + ("retrospectiff" ,sbcl-retrospectiff) + ("skippy" ,sbcl-skippy) + ("zpng" ,sbcl-zpng))) + (home-page "https://github.com/slyrus/opticl") + (synopsis "Image processing library for Common Lisp") + (description + "Opticl is a Common Lisp library for representing, processing, loading, +and saving 2-dimensional pixel-based images.") + (license license:bsd-2)))) -(define-public sbcl-mcclim-extensions - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-extensions") - (inputs - `(("clim-pdf" ,sbcl-clim-pdf) - ("clim-postscript" ,sbcl-clim-postscript) - ("conditional-commands" ,sbcl-conditional-commands) - ("mcclim-bezier" ,sbcl-mcclim-bezier) - ("mcclim-bitmaps" ,sbcl-mcclim-bitmaps) - ("mcclim-franz" ,sbcl-mcclim-franz) - ("mcclim-layouts-tab" ,sbcl-mcclim-layouts-tab) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "mcclim.asd" - #:asd-system-name "mcclim/extensions" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-asd-system-names - (lambda _ - (substitute* "mcclim.asd" - (("mcclim-layouts/tab") - "mcclim-layouts-tab")) - #t))))))) +(define-public cl-opticl + (sbcl-package->cl-source-package sbcl-opticl)) (define-public sbcl-mcclim - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim") - (native-inputs - `(("fiveam" ,sbcl-fiveam))) - (inputs - `(("mcclim-looks" ,sbcl-mcclim-looks) - ("mcclim-extensions" ,sbcl-mcclim-extensions) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-asd-system-names - (lambda _ - (substitute* "mcclim.asd" - ((":depends-on \\(\"mcclim/looks\" \"mcclim/extensions\"\\)") - ":depends-on (\"mcclim-looks\" \"mcclim-extensions\")")) - #t))) - ;; Test suite disabled because of a dependency cycle. - ;; The tests depend on mcclim/test-util, which depends on mcclim. - #:tests? #f)))) - -(define-public cl-mcclim - (let ((base (sbcl-package->cl-source-package sbcl-clim-lisp))) + (let ((commit "27b4d7a667c9b3faa74cabcb57706b888314fff7") + (revision "0")) (package - (inherit base) - (name "cl-mcclim") + (name "sbcl-mcclim") + (version (git-version "0.9.7" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mcclim/mcclim") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0jijfgkwas6xnpp5wiii6slcx9pgsalngacb8zm29x6pamx2193h")))) + (build-system asdf-build-system/sbcl) (native-inputs - `(("fiveam" ,cl-fiveam) + `(("fiveam" ,sbcl-fiveam) ("pkg-config" ,pkg-config))) (inputs - `(("alexandria" ,cl-alexandria) - ("babel" ,cl-babel) - ("bordeaux-threads" ,cl-bordeaux-threads) - ("cffi" ,cl-cffi) - ("cl-aa" ,cl-aa) - ("cl-freetype2" ,cl-freetype2) - ("cl-paths-ttf" ,cl-paths-ttf) - ("cl-pdf" ,cl-pdf) - ("cl-unicode" ,cl-unicode) - ("cl-vectors" ,cl-vectors) - ("closer-mop" ,cl-closer-mop) - ("clx" ,cl-clx) - ("flexi-streams" ,cl-flexi-streams) - ("flexichain" ,cl-flexichain) + `(("alexandria" ,sbcl-alexandria) + ("babel" ,sbcl-babel) + ("bordeaux-threads" ,sbcl-bordeaux-threads) + ("cl-freetype2" ,sbcl-cl-freetype2) + ("cl-pdf" ,sbcl-cl-pdf) + ("cffi" ,sbcl-cffi) + ("cl-unicode" ,sbcl-cl-unicode) + ("cl-vectors" ,sbcl-cl-vectors) + ("closer-mop" ,sbcl-closer-mop) + ("clx" ,sbcl-clx) + ("flexi-streams" ,sbcl-flexi-streams) + ("flexichain" ,sbcl-flexichain) + ("font-dejavu" ,font-dejavu) ("fontconfig" ,fontconfig) ("freetype" ,freetype) ("harfbuzz" ,harfbuzz) - ("log4cl" ,cl-log4cl) - ("opticl" ,cl-opticl) - ("spatial-trees" ,cl-spatial-trees) - ("trivial-features" ,cl-trivial-features) - ("trivial-garbage" ,cl-trivial-garbage) - ("trivial-gray-streams" ,cl-trivial-gray-streams) - ("swank" ,cl-slime-swank) - ("zpb-ttf" ,cl-zpb-ttf)))))) - -(define-public sbcl-mcclim-test-util - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-test-util") - (inputs - `(("fiveam" ,sbcl-fiveam) - ("mcclim" ,sbcl-mcclim) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "mcclim.asd" - #:asd-system-name "mcclim/test-util")))) - -(define-public sbcl-mcclim-raster-image - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-raster-image") - (native-inputs - `(("fiveam" ,sbcl-fiveam) - ("mcclim-test-util" ,sbcl-mcclim-test-util))) - (inputs - `(("clim-basic" ,sbcl-clim-basic) - ("mcclim-backend-common" ,sbcl-mcclim-backend-common) - ("mcclim-render" ,sbcl-mcclim-render) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Backends/RasterImage/mcclim-raster-image.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-asd-system-names - (lambda _ - (substitute* "Backends/RasterImage/mcclim-raster-image.asd" - (("mcclim/test-util") - "mcclim-test-util")) - #t))))))) + ("log4cl" ,sbcl-log4cl) + ("opticl" ,sbcl-opticl) + ("spatial-trees" ,sbcl-spatial-trees) + ("swank" ,sbcl-slime-swank) + ("trivial-features" ,sbcl-trivial-features) + ("trivial-garbage" ,sbcl-trivial-garbage) + ("trivial-gray-streams" ,sbcl-trivial-gray-streams) + ("zpb-ttf" ,sbcl-zpb-ttf))) + (arguments + '(#:asd-files '("mcclim.asd" + "clim-lisp.asd" + "Core/clim-basic/clim-basic.asd" + "Core/clim-core/clim-core.asd" + "Libraries/ESA/esa-mcclim.asd" + "Extensions/fonts/mcclim-fonts.asd" + "Libraries/Drei/cl-automaton/automaton.asd" + "Libraries/Drei/Persistent/persistent.asd" + "Libraries/Drei/drei-mcclim.asd" + "Core/clim/clim.asd" + "Backends/common/mcclim-backend-common.asd" + "Backends/CLX/mcclim-clx.asd" + "Extensions/fontconfig/mcclim-fontconfig.asd" + "Extensions/harfbuzz/mcclim-harfbuzz.asd" + "Extensions/render/mcclim-render.asd" + "Backends/CLX-fb/mcclim-clx-fb.asd" + "Backends/Null/mcclim-null.asd" + "Backends/PostScript/clim-postscript-font.asd" + "Backends/PostScript/clim-postscript.asd" + "Backends/PDF/clim-pdf.asd" + "Extensions/Franz/mcclim-franz.asd" + "Extensions/bezier/mcclim-bezier.asd" + "Extensions/bitmap-formats/mcclim-bitmaps.asd" + "Extensions/conditional-commands/conditional-commands.asd" + "Extensions/layouts/mcclim-layouts.asd" + "Backends/RasterImage/mcclim-raster-image.asd" + "Examples/clim-examples.asd") + #:asd-systems '("mcclim" + "clim-examples") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + ;; mcclim-truetype uses DejaVu as default font and + ;; sets the path at build time. + (substitute* "Extensions/fonts/fontconfig.lisp" + (("/usr/share/fonts/truetype/dejavu/") + (string-append (assoc-ref inputs "font-dejavu") + "/share/fonts/truetype/"))) + (substitute* "Extensions/fontconfig/src/functions.lisp" + (("libfontconfig\\.so") + (string-append (assoc-ref inputs "fontconfig") + "/lib/libfontconfig.so"))) + (substitute* "Extensions/harfbuzz/src/functions.lisp" + (("libharfbuzz\\.so") + (string-append (assoc-ref inputs "harfbuzz") + "/lib/libharfbuzz.so"))) + #t)) + (add-after 'unpack 'fix-build + (lambda _ + ;; The cffi-grovel system does not get loaded automatically, + ;; so we load it explicitly. + (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd" + (("\\(asdf:defsystem #:mcclim-fontconfig" all) + (string-append "(asdf:load-system :cffi-grovel)\n" all))) + (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd" + (("\\(asdf:defsystem #:mcclim-harfbuzz" all) + (string-append "(asdf:load-system :cffi-grovel)\n" all))) + #t))))) + (home-page "https://common-lisp.net/project/mcclim/") + (synopsis "Common Lisp GUI toolkit") + (description + "McCLIM is an implementation of the @emph{Common Lisp Interface Manager +specification}, a toolkit for writing GUIs in Common Lisp.") + (license license:lgpl2.1+)))) -(define-public sbcl-clim-examples - (package - (inherit sbcl-clim-lisp) - (name "sbcl-clim-examples") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("closer-mop" ,sbcl-closer-mop) - ("mcclim" ,sbcl-mcclim) - ("mcclim-bezier" ,sbcl-mcclim-bezier) - ("mcclim-layouts-tab" ,sbcl-mcclim-layouts-tab) - ("mcclim-raster-image" ,sbcl-mcclim-raster-image) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Examples/clim-examples.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-asd-system-names - (lambda _ - (substitute* "Examples/clim-examples.asd" - (("mcclim-layouts/tab") - "mcclim-layouts-tab")) - #t))))))) +(define-public cl-mcclim + (sbcl-package->cl-source-package sbcl-mcclim)) (define-public sbcl-cl-inflector (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe") @@ -13746,11 +10516,11 @@ can separate configuration system from an implementation.") (define-public ecl-envy (sbcl-package->ecl-package sbcl-envy)) -(define sbcl-mito-core +(define-public sbcl-mito (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a") (revision "1")) (package - (name "sbcl-mito-core") + (name "sbcl-mito") (version (git-version "0.1" revision commit)) (home-page "https://github.com/fukamachi/mito") (source @@ -13763,77 +10533,27 @@ can separate configuration system from an implementation.") (sha256 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb")))) (build-system asdf-build-system/sbcl) + (native-inputs + `(("prove" ,sbcl-prove))) (inputs - `(("dbi" ,sbcl-dbi) - ("sxql" ,sbcl-sxql) + `(("alexandria" ,sbcl-alexandria) ("cl-ppcre" ,sbcl-cl-ppcre) + ("cl-reexport" ,sbcl-cl-reexport) ("closer-mop" ,sbcl-closer-mop) + ("dbi" ,sbcl-dbi) ("dissect" ,sbcl-dissect) - ("optima" ,sbcl-optima) - ("cl-reexport" ,sbcl-cl-reexport) + ("esrap" ,sbcl-esrap) ("local-time" ,sbcl-local-time) - ("uuid" ,sbcl-uuid) - ("alexandria" ,sbcl-alexandria))) - (synopsis "ORM for Common Lisp with migrations and relationships support") - (description "Mito is yet another object relational mapper, and it aims -to be a successor of Integral. - -@itemize -@item Support MySQL, PostgreSQL and SQLite3. -@item Add id (serial/uuid primary key), created_at and updated_at by default -like Ruby's ActiveRecord. -@item Migrations. -@item Database schema versioning. -@end itemize\n") - (license license:llgpl)))) - -(define sbcl-mito-migration - (package - (inherit sbcl-mito-core) - (name "sbcl-mito-migration") - (inputs - `(("mito-core" ,sbcl-mito-core) - ("dbi" ,sbcl-dbi) - ("sxql" ,sbcl-sxql) - ("closer-mop" ,sbcl-closer-mop) - ("cl-reexport" ,sbcl-cl-reexport) - ("uuid" ,sbcl-uuid) - ("alexandria" ,sbcl-alexandria) - ("esrap" ,sbcl-esrap))))) - -(define sbcl-lack-middleware-mito - (package - (inherit sbcl-mito-core) - (name "sbcl-lack-middleware-mito") - (inputs - `(("mito-core" ,sbcl-mito-core) - ("dbi" ,sbcl-dbi))) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-build - (lambda _ - (substitute* "lack-middleware-mito.asd" - (("cl-dbi") "dbi")) - #t))))))) - -(define-public sbcl-mito - (package - (inherit sbcl-mito-core) - (name "sbcl-mito") - (inputs - `(("mito-core" ,sbcl-mito-core) - ("mito-migration" ,sbcl-mito-migration) - ("lack-middleware-mito" ,sbcl-lack-middleware-mito) - ("cl-reexport" ,sbcl-cl-reexport))) - (native-inputs - `(("prove" ,sbcl-prove) - ("prove-asdf" ,sbcl-prove-asdf) - ("dbd-mysql" ,sbcl-dbd-mysql) - ("dbd-postgres" ,sbcl-dbd-postgres) - ("dbd-sqlite3" ,sbcl-dbd-sqlite3))) - (arguments - '(#:phases + ("optima" ,sbcl-optima) + ("sxql" ,sbcl-sxql) + ("uuid" ,sbcl-uuid))) + (arguments + '(#:asd-files '("mito.asd" + "mito-core.asd" + "mito-migration.asd" + "lack-middleware-mito.asd") + #:asd-systems '("mito") + #:phases (modify-phases %standard-phases (add-after 'unpack 'remove-non-functional-tests (lambda _ @@ -13852,7 +10572,19 @@ like Ruby's ActiveRecord. #t))) ;; TODO: While all enabled tests pass, the phase fails with: ;; Component MITO-ASD::MITO-TEST not found, required by # - #:tests? #f)))) + #:tests? #f)) + (synopsis "ORM for Common Lisp with migrations and relationships support") + (description "Mito is yet another object relational mapper, and it aims +to be a successor of Integral. + +@itemize +@item Support MySQL, PostgreSQL and SQLite3. +@item Add id (serial/uuid primary key), created_at and updated_at by default +like Ruby's ActiveRecord. +@item Migrations. +@item Database schema versioning. +@end itemize\n") + (license license:llgpl)))) (define-public cl-mito (sbcl-package->cl-source-package sbcl-mito)) @@ -13880,8 +10612,7 @@ like Ruby's ActiveRecord. ("cl-interpol" ,sbcl-cl-interpol) ("split-sequence" ,sbcl-split-sequence))) (native-inputs - `(("prove-asdf" ,sbcl-prove-asdf) - ("prove" ,sbcl-prove))) + `(("prove" ,sbcl-prove))) (arguments ;; Tests passes but the phase fails with ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #. @@ -13921,7 +10652,7 @@ camelCase, snake_case, kebab-case (lisp-case).") ("optima" ,sbcl-optima) ("trivial-types" ,sbcl-trivial-types) ("closer-mop" ,sbcl-closer-mop) - ("cl-syntax-annot" ,sbcl-cl-syntax-annot) + ("cl-syntax" ,sbcl-cl-syntax) ("sxql" ,sbcl-sxql) ("dbi" ,sbcl-dbi) ("babel" ,sbcl-babel) @@ -13931,9 +10662,7 @@ camelCase, snake_case, kebab-case (lisp-case).") ("kebab" ,sbcl-kebab) ("log4cl" ,sbcl-log4cl))) (native-inputs - `(("prove-asdf" ,sbcl-prove-asdf) - ("prove" ,sbcl-prove) - ("dbd-sqlite3" ,sbcl-dbd-sqlite3))) + `(("prove" ,sbcl-prove))) (arguments ;; TODO: Tests fail with ;; While evaluating the form starting at line 22, column 0 @@ -14072,19 +10801,18 @@ can begin writing unit tests as soon as the project is generated.") (build-system asdf-build-system/sbcl) (inputs `(("ningle" ,cl-ningle) - ("lack-request" ,sbcl-lack-request) - ("lack-response" ,sbcl-lack-response) + ("lack" ,sbcl-lack) ("cl-project" ,sbcl-cl-project) ("dbi" ,sbcl-dbi) - ("cl-syntax-annot" ,sbcl-cl-syntax-annot) + ("cl-syntax" ,sbcl-cl-syntax) ("myway" ,sbcl-myway) ("quri" ,sbcl-quri))) (native-inputs `(("usocket" ,sbcl-usocket) ("dexador" ,sbcl-dexador))) (arguments - `(#:asd-file "caveman2.asd" - #:asd-system-name "caveman2" + `(#:asd-files '("caveman2.asd") + #:asd-systems '("caveman2") #:phases (modify-phases %standard-phases (add-after 'unpack 'remove-v1 diff --git a/gnu/packages/patches/sbcl-graph-asdf-definitions.patch b/gnu/packages/patches/sbcl-graph-asdf-definitions.patch deleted file mode 100644 index ec17949675..0000000000 --- a/gnu/packages/patches/sbcl-graph-asdf-definitions.patch +++ /dev/null @@ -1,70 +0,0 @@ -commit 52ebece1243ae6900e414b6248b5145a28348eef -Author: Guillaume Le Vaillant -Date: Fri Oct 18 15:41:23 2019 +0200 - - Use basic ASDF system definitions instead of package-inferred-system - -diff --git a/graph.asd b/graph.asd -index 193b6e3..56afc8f 100644 ---- a/graph.asd -+++ b/graph.asd -@@ -3,12 +3,10 @@ - :version "0.0.0" - :author ("Eric Schulte " "Thomas Dye") - :licence "GPL V3" -- :class :package-inferred-system -- :defsystem-depends-on (:asdf-package-system) -+ :in-order-to ((test-op (test-op graph-test))) - :depends-on (alexandria - metabang-bind - named-readtables - curry-compose-reader-macros -- graph/graph)) -- --(register-system-packages "femlisp-matlisp" '(:fl.matlisp)) -+ cl-heap) -+ :components ((:file "graph"))) -diff --git a/graph-dot.asd b/graph-dot.asd -new file mode 100644 -index 0000000..12aec7e ---- /dev/null -+++ b/graph-dot.asd -@@ -0,0 +1,8 @@ -+(defsystem :graph-dot -+ :depends-on (alexandria -+ metabang-bind -+ named-readtables -+ curry-compose-reader-macros -+ cl-ppcre -+ graph) -+ :components ((:file "dot"))) -diff --git a/graph-json.asd b/graph-json.asd -new file mode 100644 -index 0000000..e7d091f ---- /dev/null -+++ b/graph-json.asd -@@ -0,0 +1,8 @@ -+(defsystem :graph-json -+ :depends-on (alexandria -+ metabang-bind -+ named-readtables -+ curry-compose-reader-macros -+ yason -+ graph) -+ :components ((:file "json"))) -diff --git a/graph-test.asd b/graph-test.asd -new file mode 100644 -index 0000000..1e811e1 ---- /dev/null -+++ b/graph-test.asd -@@ -0,0 +1,10 @@ -+(defsystem :graph-test -+ :depends-on (alexandria -+ metabang-bind -+ named-readtables -+ curry-compose-reader-macros -+ graph -+ stefil) -+ :perform (test-op (o s) -+ (uiop:symbol-call :graph/test 'test)) -+ :components ((:file "test"))) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 15fbf43ec7..53cfa5c916 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1598,10 +1598,10 @@ compositors that support the layer-shell protocol.") ("alexandria" ,sbcl-alexandria))) (outputs '("out" "lib")) (arguments - '(#:asd-system-name "stumpwm" + '(#:asd-systems '("stumpwm") #:phases (modify-phases %standard-phases - (add-after 'create-symlinks 'build-program + (add-after 'create-asdf-configuration 'build-program (lambda* (#:key outputs #:allow-other-keys) (build-program (string-append (assoc-ref outputs "out") "/bin/stumpwm") @@ -1670,20 +1670,15 @@ productive, customizable lisp based systems.") (program (string-append out "/bin/stumpwm"))) (build-program program outputs #:entry-program '((stumpwm:stumpwm) 0) - #:dependencies '("stumpwm" - ,@(@@ (gnu packages lisp-xyz) slynk-systems)) + #:dependencies '("stumpwm" "slynk") #:dependency-prefixes (map (lambda (input) (assoc-ref inputs input)) '("stumpwm" "slynk"))) - ;; Remove unneeded file. - (delete-file (string-append out "/bin/stumpwm-exec.fasl")) #t))) (delete 'copy-source) (delete 'build) (delete 'check) - (delete 'create-asd-file) - (delete 'cleanup) - (delete 'create-symlinks))))))) + (delete 'cleanup))))))) (define stumpwm-contrib (let ((commit "920f8fc1488f7953f205e1dda4c2ecbbbda56d63") @@ -1745,7 +1740,7 @@ productive, customizable lisp based systems.") `(("stumpwm" ,stumpwm "lib") ("clx-truetype" ,sbcl-clx-truetype))) (arguments - '(#:asd-system-name "ttf-fonts" + '(#:asd-systems '("ttf-fonts") #:tests? #f #:phases (modify-phases %standard-phases @@ -1762,7 +1757,7 @@ rendering.") (inherit stumpwm-contrib) (name "sbcl-stumpwm-pass") (arguments - '(#:asd-system-name "pass" + '(#:asd-systems '("pass") #:tests? #f #:phases (modify-phases %standard-phases @@ -1779,7 +1774,7 @@ password-store into StumpWM.") (inherit stumpwm-contrib) (name "sbcl-stumpwm-globalwindows") (arguments - '(#:asd-system-name "globalwindows" + '(#:asd-systems '("globalwindows") #:tests? #f #:phases (modify-phases %standard-phases @@ -1796,7 +1791,7 @@ windows in the current X session.") (inherit stumpwm-contrib) (name "sbcl-stumpwm-swm-gaps") (arguments - '(#:asd-system-name "swm-gaps" + '(#:asd-systems '("swm-gaps") #:tests? #f #:phases (modify-phases %standard-phases @@ -1813,7 +1808,7 @@ between windows.") (inherit stumpwm-contrib) (name "sbcl-stumpwm-net") (arguments - '(#:asd-system-name "net" + '(#:asd-systems '("net") #:tests? #f #:phases (modify-phases %standard-phases @@ -1831,7 +1826,7 @@ between windows.") (inherit stumpwm-contrib) (name "sbcl-stumpwm-wifi") (arguments - '(#:asd-system-name "wifi" + '(#:asd-systems '("wifi") #:tests? #f #:phases (modify-phases %standard-phases @@ -1849,7 +1844,7 @@ between windows.") (inherit stumpwm-contrib) (name "sbcl-stumpwm-stumptray") (arguments - '(#:asd-system-name "stumptray" + '(#:asd-systems '("stumptray") #:tests? #f #:phases (modify-phases %standard-phases @@ -1871,7 +1866,7 @@ between windows.") (inherit stumpwm-contrib) (name "sbcl-stumpwm-kbd-layouts") (arguments - '(#:asd-system-name "kbd-layouts" + '(#:asd-systems '("kbd-layouts") #:tests? #f #:phases (modify-phases %standard-phases -- cgit v1.2.3 From 4136736b52f757ef8ee9e40cd138c7cf7f619bba Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Sat, 12 Sep 2020 00:02:06 +0200 Subject: gnu: cl-asdf: Update to 3.3.4. * gnu/packages/lisp.scm (cl-asdf): Update to 3.3.4. [arguments]: Add small patch for default ASDF configuration. (asdf-substitutions): Remove variable. (sbcl, ecl)[arguments]: Remove call to 'asdf-substitutions'. --- gnu/packages/lisp.scm | 48 ++++++++++++++++++++++++++---------------------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index d2730f3bda..c2a3fa49b7 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -78,21 +78,10 @@ #:use-module (gnu packages xorg) #:use-module (ice-9 match)) -(define (asdf-substitutions lisp) - ;; Prepend XDG_DATA_DIRS/LISP-bundle-systems to ASDF's - ;; 'default-system-source-registry'. - `((("\\(,dir \"systems/\"\\)\\)") - (format #f - "(,dir \"~a-bundle-systems\"))) - - ,@(loop :for dir :in (xdg-data-dirs \"common-lisp/\") - :collect `(:directory (,dir \"systems\"))" - ,lisp)))) - (define-public cl-asdf (package (name "cl-asdf") - (version "3.3.3") + (version "3.3.4") (source (origin (method url-fetch) @@ -100,7 +89,7 @@ (string-append "https://common-lisp.net/project/asdf/archives/asdf-" version ".lisp")) (sha256 - (base32 "18lr6kxvzhr79c9rx3sdricz30aby866fj0m24w27zxsqlyvn3rd")))) + (base32 "1hpx30f6yrak15nw992k7x3pn75ahvjs04n4f134k68mhgs62km2")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils) @@ -112,9 +101,29 @@ (let* ((out (string-append (assoc-ref %outputs "out"))) (asdf-install (string-append out %source-install-prefix "/source/asdf/")) - (asdf (string-append (assoc-ref %build-inputs "source")))) + (src-asdf (string-append (assoc-ref %build-inputs "source"))) + (dst-asdf (string-append asdf-install "asdf.lisp"))) (mkdir-p asdf-install) - (copy-file asdf (string-append asdf-install "asdf.lisp")))))) + (copy-file src-asdf dst-asdf) + ;; Patch ASDF to make it read the configuration files in all + ;; the direcories listed in '$XDG_CONFIG_DIRS' instead of just + ;; the first. + (substitute* dst-asdf + (("\\(xdg-config-pathname \\*source-registry-directory\\* direction\\)") + "`(:source-registry + ,@(loop + for dir in (xdg-config-dirs + \"common-lisp/source-registry.conf.d/\") + collect `(:include ,dir)) + :inherit-configuration)") + (("\\(xdg-config-pathname \\*output-translations-directory\\* direction\\)") + "`(:output-translations + ,@(loop + for dir in (xdg-config-dirs + \"common-lisp/asdf-output-translations.conf.d/\") + collect `(:include ,dir)) + :inherit-configuration)"))) + #t))) (home-page "https://common-lisp.net/project/asdf/") (synopsis "Another System Definition Facility") (description @@ -261,10 +270,7 @@ interface to the Tk widget system.") "/share/common-lisp/source/asdf/asdf.lisp")) (out (string-append (assoc-ref outputs "out"))) (contrib-asdf "contrib/asdf/asdf.lisp")) - (copy-file guix-asdf contrib-asdf) - ;; Add ecl-bundle-systems to 'default-system-source-registry'. - (substitute* contrib-asdf - ,@(asdf-substitutions name))) + (copy-file guix-asdf contrib-asdf)) #t)) (add-after 'install 'wrap (lambda* (#:key inputs outputs #:allow-other-keys) @@ -440,9 +446,7 @@ an interpreter, a compiler, a debugger, and much more.") "/share/common-lisp/source/asdf/asdf.lisp")) (out (string-append (assoc-ref outputs "out"))) (contrib-asdf "contrib/asdf/asdf.lisp")) - (copy-file guix-asdf contrib-asdf) - (substitute* contrib-asdf - ,@(asdf-substitutions name))) + (copy-file guix-asdf contrib-asdf)) #t)) (add-before 'build 'patch-unix-tool-paths (lambda* (#:key outputs inputs #:allow-other-keys) -- cgit v1.2.3 From 466bf553d7b405b8c227b8a99aa6ef8b7a4392a8 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Sat, 12 Sep 2020 09:50:23 +0200 Subject: gnu: sbcl-moptilities: Fix tests. * gnu/packages/lisp-xyz.scm (sbcl-moptilities)[arguments]: Add 'fix-tests' phase. --- gnu/packages/lisp-xyz.scm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index d1dd6c111f..b6d1d6e612 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -9001,6 +9001,15 @@ PascalCase, snake_case, param-case, CONSTANT_CASE and more.") `(("closer-mop" ,sbcl-closer-mop))) (native-inputs `(("lift" ,sbcl-lift))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-tests + (lambda _ + (substitute* "lift-standard.config" + ((":relative-to lift-test") + ":relative-to moptilities-test")) + #t))))) (synopsis "Compatibility layer for Common Lisp MOP implementation differences") (description "MOP utilities provide a common interface between Lisps and make the -- cgit v1.2.3 From e44dd9a4e14c8009f8440b26bf4125a62e902767 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Sat, 12 Sep 2020 09:55:39 +0200 Subject: gnu: sbcl-osicat: Fix build. * gnu/packages/lisp-xyz.scm (sbcl-osicat)[arguments]: Remove custom 'cleanup' phase. --- gnu/packages/lisp-xyz.scm | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index b6d1d6e612..081aef65e0 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -9035,22 +9035,6 @@ MOP easier to use.") (sha256 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc")))) (build-system asdf-build-system/sbcl) - (arguments - `(#:phases - (modify-phases %standard-phases - ;; The cleanup phase moves files around but we need to keep the - ;; directory structure for the grovel-generated library. - (replace 'cleanup - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib/sbcl/"))) - (delete-file-recursively (string-append lib "src")) - (delete-file-recursively (string-append lib "tests")) - (for-each delete-file - (filter (lambda (file) - (not (member (basename file) '("libosicat.so")))) - (find-files (string-append lib "posix") ".*")))) - #t))))) (inputs `(("alexandria" ,sbcl-alexandria) ("cffi" ,sbcl-cffi) -- cgit v1.2.3 From f596b4768fc8f4c87034e3ef7910259fc5a739b2 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Sat, 12 Sep 2020 10:04:29 +0200 Subject: gnu: sbcl-cl-rdkafka: Fix build. * gnu/packages/lisp-xyz.scm (sbcl-cl-rdkafka)[arguments]: Remove 'move-bundle' phase. --- gnu/packages/lisp-xyz.scm | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 081aef65e0..67cb39b24e 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -9416,15 +9416,7 @@ tables.") (substitute* "src/low-level/librdkafka-bindings.lisp" (("librdkafka" all) (string-append (assoc-ref inputs "librdkafka") "/lib/" - all))))) - (add-before 'cleanup 'move-bundle - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (actual (string-append out "/lib/sbcl/src/cl-rdkafka.fasl")) - (expected (string-append - out "/lib/sbcl/cl-rdkafka--system.fasl"))) - (copy-file actual expected) - #t)))))) + all)))))))) (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads) ("cffi" ,sbcl-cffi) -- cgit v1.2.3 From cb92693ee278c17013654fb76177201fca9d2497 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Sat, 12 Sep 2020 10:20:13 +0200 Subject: gnu: sbcl-portable-threads: Update to 2.3-2.aa26bf3. * gnu/packages/lisp-xyz.scm (sbcl-portable-threads): Update to 2.3-2.aa26bf3. [synopsis]: Shorten the synopsis. --- gnu/packages/lisp-xyz.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 67cb39b24e..b6696a12dd 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -2711,10 +2711,10 @@ portability, and boilerplate reduction in CSS.") (sbcl-package->ecl-package sbcl-cl-css)) (define-public sbcl-portable-threads - (let ((commit "c0e61a1faeb0583c80fd3f20b16cc4c555226920")) + (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df")) (package (name "sbcl-portable-threads") - (version (git-version "2.3" "1" commit)) + (version (git-version "2.3" "2" commit)) (source (origin (method git-fetch) @@ -2723,14 +2723,13 @@ portability, and boilerplate reduction in CSS.") (commit commit))) (file-name (git-file-name "portable-threads" version)) (sha256 - (base32 - "03fmxyarc0xf4kavwkfa0a2spkyfrz6hbgbi9y4q7ny5aykdyfaq")))) + (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs")))) (build-system asdf-build-system/sbcl) (arguments `(;; Tests seem broken. #:tests? #f)) (home-page "https://github.com/binghe/portable-threads") - (synopsis "Portable threads (and scheduled and periodic functions) API for Common Lisp") + (synopsis "Portable threads API for Common Lisp") (description "Portable Threads (and Scheduled and Periodic Functions) API for Common Lisp (from GBBopen project).") -- cgit v1.2.3 From 3b39207477876cad8d6d12f906b86c0d3f9b8ac8 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Sat, 12 Sep 2020 10:38:47 +0200 Subject: gnu: cl-uffi: Fix build. * gnu/packages/lisp-xyz.scm (cl-uffi)[arguments]: Remove 'fix-permissions' and 'reset-gzip-timestamp' phases. --- gnu/packages/lisp-xyz.scm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index b6696a12dd..9003381e2c 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -8707,10 +8707,8 @@ interface for MySQL, PostgreSQL and SQLite.") ;; asdf-build-system/source has its own phases and does not inherit ;; from asdf-build-system/sbcl phases. (modify-phases %standard-phases/source - (add-after 'unpack 'fix-permissions - (lambda _ - (make-file-writable "doc/html.tar.gz") - #t))))))) + ;; Already done in SBCL package. + (delete 'reset-gzip-timestamps)))))) (define-public sbcl-clsql (package -- cgit v1.2.3 From 135bc7e31ba92b4a948fbb246ec4ed17a297e1fb Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Sun, 13 Sep 2020 11:17:51 +0200 Subject: gnu: sbcl-clsql: Activate postgresql support. * gnu/packages/lisp-xyz.scm (sbcl-clsql)[arguments]: Remove 'clsql-cffi.asd' from 'asd-files'. Add 'clsql-postgresql' to 'asd-systems'. Add 'fix-build' phase. --- gnu/packages/lisp-xyz.scm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 9003381e2c..8a98c9f902 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -8743,8 +8743,7 @@ interface for MySQL, PostgreSQL and SQLite.") ("uffi" ,sbcl-uffi) ("zlib" ,zlib))) (arguments - `(#:asd-files '("clsql-cffi.asd" - "clsql.asd" + `(#:asd-files '("clsql.asd" "clsql-uffi.asd" "clsql-sqlite3.asd" "clsql-postgresql.asd" @@ -8752,8 +8751,7 @@ interface for MySQL, PostgreSQL and SQLite.") "clsql-mysql.asd") #:asd-systems '("clsql" "clsql-sqlite3" - ;; TODO: Find why postgresql-sql.lisp fails to compile. - ;;"clsql-postgresql" + "clsql-postgresql" "clsql-postgresql-socket3" "clsql-mysql") #:phases @@ -8762,6 +8760,15 @@ interface for MySQL, PostgreSQL and SQLite.") (lambda _ (make-file-writable "doc/html.tar.gz") #t)) + (add-after 'unpack 'fix-build + (lambda _ + (substitute* "clsql-uffi.asd" + (("\\(:version uffi \"2.0\"\\)") + "uffi")) + (substitute* "db-postgresql/postgresql-api.lisp" + (("\\(data :cstring\\)") + "(data :string)")) + #t)) (add-after 'unpack 'fix-paths (lambda* (#:key inputs outputs #:allow-other-keys) (substitute* "db-sqlite3/sqlite3-loader.lisp" -- cgit v1.2.3 From 3d8c8d1542c74be762983d405dc4cdd040e4cc47 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Sun, 13 Sep 2020 11:27:19 +0200 Subject: gnu: Add cl-ppcre-unicode. * gnu/packages/lisp-xyz.scm (cl-ppcre-unicode): New variable. --- gnu/packages/lisp-xyz.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 8a98c9f902..5da171673e 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -395,6 +395,9 @@ ANSI-compliant Common Lisp implementations.") (delete-file "cl-ppcre.asd") #t))))))) +(define-public cl-ppcre-unicode + (sbcl-package->cl-source-package sbcl-cl-ppcre-unicode)) + (define-public ecl-cl-ppcre-unicode (sbcl-package->ecl-package sbcl-cl-ppcre-unicode)) -- cgit v1.2.3 From 3136fda73539f8cb78a219ba6ac4d0c6cd89c948 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Mon, 14 Sep 2020 15:43:31 +0200 Subject: gnu: sbcl-trivial-backtrace: Fix deletion of test results. * gnu/packages/lisp-xyz.scm (sbcl-trivial-backtrace)[arguments]: Fix 'delete-test-results' phase. --- gnu/packages/lisp-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 5da171673e..12102dcd1c 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -2926,7 +2926,7 @@ client and server.") (lambda* (#:key outputs #:allow-other-keys) (let ((test-results (string-append (assoc-ref outputs "out") "/share/common-lisp/" - (%lisp-type) "-source" + (%lisp-type) "/trivial-backtrace" "/test-results"))) (when (file-exists? test-results) -- cgit v1.2.3 From e79e9a3bb9b3310f94a5753e376f24c981032533 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Mon, 14 Sep 2020 15:54:51 +0200 Subject: gnu: sbcl-trivial-mimes: Remove unnecessary phase. * gnu/packages/lisp-xyz.scm (sbcl-trivial-mimes)[arguments]: Remove 'fix-paths' phase. --- gnu/packages/lisp-xyz.scm | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 12102dcd1c..2e280cc29f 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -3967,20 +3967,6 @@ Long Painful History of Time\".") (sha256 (base32 "17jxgl47r695bvsb7wi3n2ws5rp1zzgvw0zii8cy5ggw4b4ayv6m")))) (build-system asdf-build-system/sbcl) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after - 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (let ((anchor "#p\"/etc/mime.types\"")) - (substitute* "mime-types.lisp" - ((anchor all) - (string-append - anchor "\n" - "(asdf:system-relative-pathname :trivial-mimes " - "\"../../share/common-lisp/" (%lisp-type) - "-source/trivial-mimes/mime.types\")"))))))))) (native-inputs `(("stefil" ,sbcl-hu.dwim.stefil))) (inputs -- cgit v1.2.3 From c83618e6abe3f0a7ac094d7716d87d62a843c8d7 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Mon, 14 Sep 2020 16:00:49 +0200 Subject: gnu: sbcl-cxml: Remove unnecessary phase. * gnu/packages/lisp-xyz.scm (sbcl-cxml)[arguments]: Remove 'install-dtd' phase. --- gnu/packages/lisp-xyz.scm | 9 --------- 1 file changed, 9 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 2e280cc29f..92fe4841e8 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -4739,15 +4739,6 @@ Closure is a reference to the web browser it was originally written for.") `(("closure-common" ,sbcl-closure-common) ("puri" ,sbcl-puri) ("trivial-gray-streams" ,sbcl-trivial-gray-streams))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'build 'install-dtd - (lambda* (#:key outputs #:allow-other-keys) - (install-file "catalog.dtd" - (string-append - (assoc-ref outputs "out") - "/lib/common-lisp/" (%lisp-type) "/cxml"))))))) (synopsis "Common Lisp XML parser") (description "CXML implements a namespace-aware, validating XML 1.0 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are -- cgit v1.2.3 From d9bdde740bedca2232d7ff70bdc5f2b505076338 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Tue, 15 Sep 2020 10:58:14 +0200 Subject: gnu: Add some missing CL source packages. * gnu/packages/lisp-xyz.scm (cl-clx-truetype, cl-trivia.trivial, cl-xmlspam, cl-antik-base): New variables. --- gnu/packages/lisp-xyz.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 92fe4841e8..8485b6a899 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -635,6 +635,9 @@ from other CLXes around the net.") antialiased TrueType font rendering using CLX and XRender extension.") (license license:expat)))) +(define-public cl-clx-truetype + (sbcl-package->cl-source-package sbcl-clx-truetype)) + (define-public sbcl-slynk (let ((revision "3") ;; Update together with emacs-sly. @@ -5169,6 +5172,9 @@ be faster and more extensible than Optima.") (home-page "https://github.com/guicho271828/trivia") (license license:llgpl)))) +(define-public cl-trivia.trivial + (sbcl-package->cl-source-package sbcl-trivia.trivial)) + (define-public sbcl-trivia (package (inherit sbcl-trivia.trivial) @@ -5313,6 +5319,9 @@ constructs can be used interchangeably with pattern matching, and the full power of CXML is available when necessary.") (license license:bsd-3)))) +(define-public cl-xmlspam + (sbcl-package->cl-source-package sbcl-cl-xmlspam)) + (define-public sbcl-dbus (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a") (revision "1")) @@ -6693,6 +6702,9 @@ computer known.") (home-page "https://common-lisp.net/project/antik/") (license license:gpl3)))) +(define-public cl-antik-base + (sbcl-package->cl-source-package sbcl-antik-base)) + (define-public sbcl-gsll (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308") (revision "1")) -- cgit v1.2.3 From e7cbcf5aff81149ac8ffab2d38bdcc1e8df97bf1 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Tue, 15 Sep 2020 14:19:00 +0200 Subject: gnu: Add some missing ECL packages. * gnu/packages/lisp-xyz.scm (ecl-clx-truetype, ecl-parse-js, ecl-parse-number, ecl-cl-cffi-gtk, ecl-cl+ssl, ecl-kmrcl, ecl-cl-base64, ecl-chunga, ecl-chipz, ecl-cl-annot, ecl-map-set, ecl-quri, ecl-myway, ecl-fast-http, ecl-marshal, ecl-checkl, ecl-fast-io, ecl-jonathan, ecl-http-body, ecl-circular-streams, ecl-lack, ecl-local-time, ecl-ningle, ecl-iolib, ecl-ieee-floats, ecl-cxml, ecl-cl-reexport, ecl-cl-cookie, ecl-lisp-namespace, ecl-introspect-environment, ecl-optima, ecl-fare-quasiquote, ecl-mk-string-metrics, ecl-dbus, ecl-cl-gobject-introspection, ecl-graph, ecl-form-fiddle, ecl-parachute, ecl-array-utils, ecl-plump, ecl-cl-mysql, ecl-dbi, ecl-enchant, ecl-change-case, ecl-osicat, ecl-cl-rdkafka, ecl-acclimation, ecl-clump, ecl-cluffer, ecl-opticl, ecl-mcclim): New variables. --- gnu/packages/lisp-xyz.scm | 153 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 153 insertions(+) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 8485b6a899..88509b82bc 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -638,6 +638,9 @@ antialiased TrueType font rendering using CLX and XRender extension.") (define-public cl-clx-truetype (sbcl-package->cl-source-package sbcl-clx-truetype)) +(define-public ecl-clx-truetype + (sbcl-package->ecl-package sbcl-clx-truetype)) + (define-public sbcl-slynk (let ((revision "3") ;; Update together with emacs-sly. @@ -784,6 +787,9 @@ JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.") (define-public cl-parse-js (sbcl-package->cl-source-package sbcl-parse-js)) +(define-public ecl-parse-js + (sbcl-package->ecl-package sbcl-parse-js)) + (define-public sbcl-parse-number (package (name "sbcl-parse-number") @@ -811,6 +817,9 @@ else @code{parse-number} signals an error of type @code{invalid-number}.") (define-public cl-parse-number (sbcl-package->cl-source-package sbcl-parse-number)) +(define-public ecl-parse-number + (sbcl-package->ecl-package sbcl-parse-number)) + (define-public sbcl-iterate (package (name "sbcl-iterate") @@ -2551,6 +2560,9 @@ is a library for creating graphical user interfaces.") (define-public cl-cffi-gtk (sbcl-package->cl-source-package sbcl-cl-cffi-gtk)) +(define-public ecl-cl-cffi-gtk + (sbcl-package->ecl-package sbcl-cl-cffi-gtk)) + (define-public sbcl-cl-webkit (let ((commit "dccf9d25de4e9a69f716f8ed9578e58963ead967")) (package @@ -3052,6 +3064,9 @@ Development into CL+SSL was done by David Lichteblau.") (define-public cl-cl+ssl (sbcl-package->cl-source-package sbcl-cl+ssl)) +(define-public ecl-cl+ssl + (sbcl-package->ecl-package sbcl-cl+ssl)) + (define-public sbcl-kmrcl (let ((version "1.109.0") (commit "5260068b2eb735af6796740c2db4955afac21636") @@ -3085,6 +3100,9 @@ Rosenberg's CL packages.") (define-public cl-kmrcl (sbcl-package->cl-source-package sbcl-kmrcl)) +(define-public ecl-kmrcl + (sbcl-package->ecl-package sbcl-kmrcl)) + (define-public sbcl-cl-base64 (package (name "sbcl-cl-base64") @@ -3118,6 +3136,9 @@ encoding table that uses only URI-compatible characters.") (define-public cl-base64 (sbcl-package->cl-source-package sbcl-cl-base64)) +(define-public ecl-cl-base64 + (sbcl-package->ecl-package sbcl-cl-base64)) + (define-public sbcl-chunga (package (name "sbcl-chunga") @@ -3144,6 +3165,9 @@ defined in RFC 2616.") (define-public cl-chunga (sbcl-package->cl-source-package sbcl-chunga)) +(define-public ecl-chunga + (sbcl-package->ecl-package sbcl-chunga)) + (define-public sbcl-cl-who (let ((version "1.1.4") (commit "2c08caa4bafba720409af9171feeba3f32e86d32") @@ -3211,6 +3235,9 @@ the format used by the popular compression tool bzip2.") (define-public cl-chipz (sbcl-package->cl-source-package sbcl-chipz)) +(define-public ecl-chipz + (sbcl-package->ecl-package sbcl-chipz)) + (define-public sbcl-drakma (package (name "sbcl-drakma") @@ -3342,6 +3369,9 @@ PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.") (define-public cl-annot (sbcl-package->cl-source-package sbcl-cl-annot)) +(define-public ecl-cl-annot + (sbcl-package->ecl-package sbcl-cl-annot)) + (define-public sbcl-cl-syntax (package (name "sbcl-cl-syntax") @@ -3444,6 +3474,9 @@ addition, removal, and random selection.") (define-public cl-map-set (sbcl-package->cl-source-package sbcl-map-set)) +(define-public ecl-map-set + (sbcl-package->ecl-package sbcl-map-set)) + (define-public sbcl-quri (let ((commit "b53231c5f19446dd7c24b15a249fefa45ae94f9a") (revision "2")) @@ -3479,6 +3512,9 @@ Lisp. It is intended to be a replacement of PURI.") (define-public cl-quri (sbcl-package->cl-source-package sbcl-quri)) +(define-public ecl-quri + (sbcl-package->ecl-package sbcl-quri)) + (define-public sbcl-myway (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7") (revision "1")) @@ -3513,6 +3549,9 @@ Lisp. It is intended to be a replacement of PURI.") (define-public cl-myway (sbcl-package->cl-source-package sbcl-myway)) +(define-public ecl-myway + (sbcl-package->ecl-package sbcl-myway)) + (define-public sbcl-xsubseq (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b") (revision "1")) @@ -3620,6 +3659,9 @@ Lisp.") (define-public cl-fast-http (sbcl-package->cl-source-package sbcl-fast-http)) +(define-public ecl-fast-http + (sbcl-package->ecl-package sbcl-fast-http)) + (define-public sbcl-static-vectors (package (name "sbcl-static-vectors") @@ -3678,6 +3720,9 @@ Only minimal changes required to make your CLOS objects serializable.") (define-public cl-marshal (sbcl-package->cl-source-package sbcl-marshal)) +(define-public ecl-marshal + (sbcl-package->ecl-package sbcl-marshal)) + (define-public sbcl-checkl (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9") (revision "1")) @@ -3716,6 +3761,9 @@ against the last run.") (define-public cl-checkl (sbcl-package->cl-source-package sbcl-checkl)) +(define-public ecl-checkl + (sbcl-package->ecl-package sbcl-checkl)) + (define-public sbcl-fast-io (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b") (revision "2")) @@ -3755,6 +3803,9 @@ streams (though primarily the former, while wrapping the latter).") (define-public cl-fast-io (sbcl-package->cl-source-package sbcl-fast-io)) +(define-public ecl-fast-io + (sbcl-package->ecl-package sbcl-fast-io)) + (define-public sbcl-jonathan (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300") (revision "1")) @@ -3793,6 +3844,9 @@ CCL.") (define-public cl-jonathan (sbcl-package->cl-source-package sbcl-jonathan)) +(define-public ecl-jonathan + (sbcl-package->ecl-package sbcl-jonathan)) + (define-public sbcl-http-body (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73") (revision "1")) @@ -3830,6 +3884,9 @@ multipart/form-data.") (define-public cl-http-body (sbcl-package->cl-source-package sbcl-http-body)) +(define-public ecl-http-body + (sbcl-package->ecl-package sbcl-http-body)) + (define-public sbcl-circular-streams (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df") (revision "1")) @@ -3864,6 +3921,9 @@ reset to 0 and you're able to read it again.") (define-public cl-circular-streams (sbcl-package->cl-source-package sbcl-circular-streams)) +(define-public ecl-circular-streams + (sbcl-package->ecl-package sbcl-circular-streams)) + (define-public sbcl-lack (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b") (revision "1")) @@ -3919,6 +3979,9 @@ performance and simplicity in mind.") (define-public cl-lack (sbcl-package->cl-source-package sbcl-lack)) +(define-public ecl-lack + (sbcl-package->ecl-package sbcl-lack)) + (define-public sbcl-local-time (let ((commit "62792705245168d3fc2e04164b9a143477284142") (revision "1")) @@ -3954,6 +4017,9 @@ Long Painful History of Time\".") (define-public cl-local-time (sbcl-package->cl-source-package sbcl-local-time)) +(define-public ecl-local-time + (sbcl-package->ecl-package sbcl-local-time)) + (define-public sbcl-trivial-mimes (let ((commit "303f8ac0aa6ca0bc139aa3c34822e623c3723fab") (revision "1")) @@ -4046,6 +4112,9 @@ mime-type of a file.") (define-public cl-ningle (sbcl-package->cl-source-package sbcl-ningle)) +(define-public ecl-ningle + (sbcl-package->ecl-package sbcl-ningle)) + (define-public sbcl-cl-fastcgi (let ((commit "d576d20eeb12f225201074b28934ba395b15781a") (revision "1")) @@ -4666,6 +4735,9 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.") `(("libfixposix" ,libfixposix) ,@(package-propagated-inputs parent)))))) +(define-public ecl-iolib + (sbcl-package->ecl-package sbcl-iolib)) + (define-public sbcl-ieee-floats (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d") (revision "1")) @@ -4694,6 +4766,9 @@ floating point values to IEEE 754 binary representation.") (define-public cl-ieee-floats (sbcl-package->cl-source-package sbcl-ieee-floats)) +(define-public ecl-ieee-floats + (sbcl-package->ecl-package sbcl-ieee-floats)) + (define sbcl-closure-common (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c") (revision "1")) @@ -4752,6 +4827,9 @@ offered, one SAX-like, the other similar to StAX.") (define-public cl-cxml (sbcl-package->cl-source-package sbcl-cxml)) +(define-public ecl-cxml + (sbcl-package->ecl-package sbcl-cxml)) + (define-public sbcl-cl-reexport (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b") (revision "1")) @@ -4783,6 +4861,9 @@ cookie headers, cookie creation, cookie jar creation and more.") (define-public cl-reexport (sbcl-package->cl-source-package sbcl-cl-reexport)) +(define-public ecl-cl-reexport + (sbcl-package->ecl-package sbcl-cl-reexport)) + (define-public sbcl-cl-cookie (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546") (revision "1")) @@ -4820,6 +4901,9 @@ cookie headers, cookie creation, cookie jar creation and more.") (define-public cl-cookie (sbcl-package->cl-source-package sbcl-cl-cookie)) +(define-public ecl-cl-cookie + (sbcl-package->ecl-package sbcl-cl-cookie)) + (define-public sbcl-dexador (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc") (revision "1")) @@ -4926,6 +5010,9 @@ This library offers macros to deal with symbols from any namespace.") (define-public cl-lisp-namespace (sbcl-package->cl-source-package sbcl-lisp-namespace)) +(define-public ecl-lisp-namespace + (sbcl-package->ecl-package sbcl-lisp-namespace)) + (define-public sbcl-trivial-cltl2 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61") (revision "2")) @@ -4998,6 +5085,9 @@ can and/or provide reasonable defaults.") (define-public cl-introspect-environment (sbcl-package->cl-source-package sbcl-introspect-environment)) +(define-public ecl-introspect-environment + (sbcl-package->ecl-package sbcl-introspect-environment)) + (define-public sbcl-type-i (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667") (revision "2")) @@ -5068,6 +5158,9 @@ optimizing techniques widely used in the functional programming world.") (define-public cl-optima (sbcl-package->cl-source-package sbcl-optima)) +(define-public ecl-optima + (sbcl-package->ecl-package sbcl-optima)) + (define-public sbcl-fare-quasiquote (let ((commit "640d39a0451094071b3e093c97667b3947f43639") (revision "1")) @@ -5123,6 +5216,9 @@ Trivia.") (define-public cl-fare-quasiquote (sbcl-package->cl-source-package sbcl-fare-quasiquote)) +(define-public ecl-fare-quasiquote + (sbcl-package->ecl-package sbcl-fare-quasiquote)) + ;;; Split the trivia package in two to work around the circular dependency ;;; between guicho271828/trivia and guicho271828/type-i. (define-public sbcl-trivia.trivial @@ -5249,6 +5345,9 @@ various string metrics in Common Lisp: (define-public cl-mk-string-metrics (sbcl-package->cl-source-package sbcl-mk-string-metrics)) +(define-public ecl-mk-string-metrics + (sbcl-package->ecl-package sbcl-mk-string-metrics)) + (define-public sbcl-cl-str (let ((commit "eb480f283e28802d67b35bf916506701152f9a2a")) (package @@ -5357,6 +5456,9 @@ objects as well as send and notify other objects connected to a bus.") (define-public cl-dbus (sbcl-package->cl-source-package sbcl-dbus)) +(define-public ecl-dbus + (sbcl-package->ecl-package sbcl-dbus)) + (define-public sbcl-cl-hooks (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7") (revision "1")) @@ -6016,6 +6118,9 @@ of C+GObject libraries without the need of writing dedicated bindings.") (define-public cl-gobject-introspection (sbcl-package->cl-source-package sbcl-cl-gobject-introspection)) +(define-public ecl-cl-gobject-introspection + (sbcl-package->ecl-package sbcl-cl-gobject-introspection)) + (define-public sbcl-string-case (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7") (revision "0")) @@ -6450,6 +6555,9 @@ path, maximum flow, minimum spanning tree, etc.).") (define-public cl-graph (sbcl-package->cl-source-package sbcl-graph)) +(define-public ecl-graph + (sbcl-package->ecl-package sbcl-graph)) + (define-public sbcl-trivial-indent (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a") (revision "0")) @@ -6542,6 +6650,9 @@ macro. This library provides a set of simple utilities to help with that.") (define-public cl-form-fiddle (sbcl-package->cl-source-package sbcl-form-fiddle)) +(define-public ecl-form-fiddle + (sbcl-package->ecl-package sbcl-form-fiddle)) + (define-public sbcl-parachute (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666") (revision "0")) @@ -6574,6 +6685,9 @@ Each test can contain a bunch of test forms that make up its body.") (define-public cl-parachute (sbcl-package->cl-source-package sbcl-parachute)) +(define-public ecl-parachute + (sbcl-package->ecl-package sbcl-parachute)) + (define-public sbcl-array-utils (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56") (revision "0")) @@ -6606,6 +6720,9 @@ functions for arrays and vectors. Originally from Plump.") (define-public cl-array-utils (sbcl-package->cl-source-package sbcl-array-utils)) +(define-public ecl-array-utils + (sbcl-package->ecl-package sbcl-array-utils)) + (define-public sbcl-plump (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9") (revision "1")) @@ -6641,6 +6758,9 @@ your own classes.") (define-public cl-plump (sbcl-package->cl-source-package sbcl-plump)) +(define-public ecl-plump + (sbcl-package->ecl-package sbcl-plump)) + ;;; Split the antik package in two to work around the circular dependency ;;; between antik/antik and antik/gsll. (define-public sbcl-antik-base @@ -8558,6 +8678,9 @@ approach to templating.") (define-public cl-mysql (sbcl-package->cl-source-package sbcl-cl-mysql)) +(define-public ecl-cl-mysql + (sbcl-package->ecl-package sbcl-cl-mysql)) + (define-public sbcl-postmodern (let ((commit "74469b25bbda990ec9b77e0d0eccdba0cd7e721a") (revision "1")) @@ -8662,6 +8785,9 @@ interface for MySQL, PostgreSQL and SQLite.") (define-public cl-dbi (sbcl-package->cl-source-package sbcl-dbi)) +(define-public ecl-dbi + (sbcl-package->ecl-package sbcl-dbi)) + (define-public sbcl-uffi (package (name "sbcl-uffi") @@ -8942,6 +9068,9 @@ multiple checkers, including Aspell and Hunspell.") (define-public cl-enchant (sbcl-package->cl-source-package sbcl-enchant)) +(define-public ecl-enchant + (sbcl-package->ecl-package sbcl-enchant)) + (define-public sbcl-cl-change-case (let ((commit "5ceff2a5f8bd845b6cb510c6364176b27a238fd3")) (package @@ -8977,6 +9106,9 @@ PascalCase, snake_case, param-case, CONSTANT_CASE and more.") (define-public cl-change-case (sbcl-package->cl-source-package sbcl-cl-change-case)) +(define-public ecl-cl-change-case + (sbcl-package->ecl-package sbcl-cl-change-case)) + (define-public sbcl-moptilities (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41")) (package @@ -9047,6 +9179,9 @@ accompaniment to the standard ANSI facilities.") (define-public cl-osicat (sbcl-package->cl-source-package sbcl-osicat)) +(define-public ecl-osicat + (sbcl-package->ecl-package sbcl-osicat)) + (define-public sbcl-clx-xembed (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743") (revision "1")) @@ -9427,6 +9562,9 @@ tables.") (define-public cl-rdkafka (sbcl-package->cl-source-package sbcl-cl-rdkafka)) +(define-public ecl-cl-rdkafka + (sbcl-package->ecl-package sbcl-cl-rdkafka)) + (define-public sbcl-acclimation (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5")) (package @@ -9457,6 +9595,9 @@ weight, temperature, names of physical quantitites, etc.") (define-public cl-acclimation (sbcl-package->cl-source-package sbcl-acclimation)) +(define-public ecl-acclimation + (sbcl-package->ecl-package sbcl-acclimation)) + (define-public sbcl-clump (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a")) (package @@ -9498,6 +9639,9 @@ sequences of objects.") (define-public cl-clump (sbcl-package->cl-source-package sbcl-clump)) +(define-public ecl-clump + (sbcl-package->ecl-package sbcl-clump)) + (define-public sbcl-cluffer (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a")) (package @@ -9536,6 +9680,9 @@ implementations of those protocols for different purposes.") (define-public cl-cluffer (sbcl-package->cl-source-package sbcl-cluffer)) +(define-public ecl-cluffer + (sbcl-package->ecl-package sbcl-cluffer)) + (define-public sbcl-cl-libsvm-format (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb") (revision "0")) @@ -10129,6 +10276,9 @@ and saving 2-dimensional pixel-based images.") (define-public cl-opticl (sbcl-package->cl-source-package sbcl-opticl)) +(define-public ecl-opticl + (sbcl-package->ecl-package sbcl-opticl)) + (define-public sbcl-mcclim (let ((commit "27b4d7a667c9b3faa74cabcb57706b888314fff7") (revision "0")) @@ -10243,6 +10393,9 @@ specification}, a toolkit for writing GUIs in Common Lisp.") (define-public cl-mcclim (sbcl-package->cl-source-package sbcl-mcclim)) +(define-public ecl-mcclim + (sbcl-package->ecl-package sbcl-mcclim)) + (define-public sbcl-cl-inflector (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe") (revision "1")) -- cgit v1.2.3 From 952fafb2a3c7a0978cc6a96268ad0632558b212d Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Tue, 15 Sep 2020 14:36:24 +0200 Subject: build-system: asdf: Read all .asd files if no #:asd-files specified. * guix/build-system/asdf.scm (asdf-build): Remove the 'files' variable. * guix/build/asd-build-system.scm (find-asd-files): New variable. (build, check): Use it. --- guix/build-system/asdf.scm | 11 ++--------- guix/build/asdf-build-system.scm | 15 +++++++++------ 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/guix/build-system/asdf.scm b/guix/build-system/asdf.scm index 334a119948..28403a1960 100644 --- a/guix/build-system/asdf.scm +++ b/guix/build-system/asdf.scm @@ -291,7 +291,7 @@ set up using CL source package conventions." (imported-modules %asdf-build-system-modules) (modules %asdf-build-modules)) - ;; FIXME: The definitions of 'systems' and 'files' are pretty hacky. + ;; FIXME: The definition of 'systems' is pretty hacky. ;; Is there a more elegant way to do it? (define systems (if (null? (cadr asd-systems)) @@ -303,13 +303,6 @@ set up using CL source package conventions." (1+ (string-length lisp-type))))) ; drop the "-" prefix. asd-systems)) - (define files - (if (null? (cadr asd-files)) - `(quote ,(map (lambda (system) - (string-append system ".asd")) - (cadr systems))) - asd-files)) - (define builder `(begin (use-modules ,@modules) @@ -323,7 +316,7 @@ set up using CL source package conventions." (derivation->output-path source)) ((source) source) (source source)) - #:asd-files ,files + #:asd-files ,asd-files #:asd-systems ,systems #:test-asd-file ,test-asd-file #:system ,system diff --git a/guix/build/asdf-build-system.scm b/guix/build/asdf-build-system.scm index b7957e7fc5..26d295e083 100644 --- a/guix/build/asdf-build-system.scm +++ b/guix/build/asdf-build-system.scm @@ -81,6 +81,13 @@ to it's binary output." (define (source-asd-file output name asd-file) (string-append (lisp-source-directory output name) "/" asd-file)) +(define (find-asd-files output name asd-files) + (if (null? asd-files) + (find-files (lisp-source-directory output name) "\\.asd$") + (map (lambda (asd-file) + (source-asd-file output name asd-file)) + asd-files))) + (define (copy-files-to-output out name) "Copy all files from the current directory to OUT. Create an extra link to any system-defining files in the source to a convenient location. This is @@ -189,9 +196,7 @@ if it's present in the native-inputs." (translations (wrap-output-translations `(,(output-translation source-path out)))) - (asd-files (map (lambda (asd-file) - (source-asd-file out system-name asd-file)) - asd-files))) + (asd-files (find-asd-files out system-name asd-files))) (setenv "ASDF_OUTPUT_TRANSLATIONS" (replace-escaped-macros (format #f "~S" translations))) (setenv "HOME" out) ; ecl's asdf sometimes wants to create $HOME/.cache @@ -204,9 +209,7 @@ if it's present in the native-inputs." "Test the system." (let* ((out (library-output outputs)) (system-name (main-system-name out)) - (asd-files (map (lambda (asd-file) - (source-asd-file out system-name asd-file)) - asd-files)) + (asd-files (find-asd-files out system-name asd-files)) (test-asd-file (and=> test-asd-file (cut source-asd-file out system-name <>)))) -- cgit v1.2.3 From 3f8bbf7c55ab0cf5085cb4766413f94b1963c12a Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Tue, 15 Sep 2020 15:50:29 +0200 Subject: gnu: Remove unneeded asd-files arguments in Lisp package definitions. * gnu/packages/lisp-xyz.scm (sbcl-cl-vectors, sbcl-slynk, sbcl-cl-yacc, sbcl-3bmd, sbcl-slime-swank, sbcl-prove, sbcl-cl-string-match, sbcl-queues, sbcl-cl-sqlite, sbcl-cl-webkit, sbcl-usocket, sbcl-cl-syntax, sbcl-cl-utilities, sbcl-lack, sbcl-clack, sbcl-parse-declarations, sbcl-trivial-utf-8, sbcl-fare-quasiquote, sbcl-trivia.trivial, sbcl-trivia, sbcl-cl-str, sbcl-periods, sbcl-graph, sbcl-antik-base, sbcl-antik, sbcl-cl-ana, sbcl-cl-async, sbcl-ltk, sbcl-hdf5-cffi, sbcl-cl-randist, sbcl-float-features, sbcl-function-cache, sbcl-type-r, sbcl-trivialib.type-unify, sbcl-postmodern, sbcl-dbi, sbcl-sycamore, sbcl-clump, sbcl-cluffer, sbcl-mcclim, sbcl-mito)[arguments]: Remove 'asd-files'. (sbcl-trivial-features, sbcl-checkl, sbcl-fast-io, sbcl-cl-containers, sbcl-uffi, sbcl-quantile-estimator, sbcl-opticl, sbcl-cl-project)[arguments]: Add 'asd-files'. --- gnu/packages/lisp-xyz.scm | 257 ++++++++-------------------------------------- 1 file changed, 45 insertions(+), 212 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 88509b82bc..873b999e65 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -446,11 +446,7 @@ file.") (inputs `(("zpb-ttf" ,sbcl-zpb-ttf))) (arguments - '(#:asd-files '("cl-vectors.asd" - "cl-aa.asd" - "cl-paths.asd" - "cl-paths-ttf.asd") - #:asd-systems '("cl-vectors" + '(#:asd-systems '("cl-vectors" "cl-paths-ttf"))) (home-page "http://projects.tuxee.net/cl-vectors/") (synopsis "Create, transform and render anti-aliased vectorial paths") @@ -691,7 +687,6 @@ antialiased TrueType font rendering using CLX and XRender extension.") (outputs '("out" "image")) (arguments `(#:tests? #f ; No test suite - #:asd-files '("slynk.asd") #:asd-systems '("slynk" "slynk/arglists" "slynk/util" @@ -997,7 +992,9 @@ utilities that make it even easier to manipulate text in Common Lisp. It has (sha256 (base32 "14pcahr8r2j3idhyy216zyw8jnj1dnrx0qbkkbdqkvwzign1ah4j")))) (build-system asdf-build-system/sbcl) - (arguments '(#:tests? #f)) + (arguments + '(#:asd-files '("trivial-features.asd") + #:tests? #f)) (home-page "https://cliki.net/trivial-features") (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp") (description "Trivial-features ensures that @code{*FEATURES*} is @@ -1116,8 +1113,7 @@ GNU libiconv, but completely written in Common Lisp.") (file-name (string-append "cl-yacc-" version "-checkout")))) (build-system asdf-build-system/sbcl) (arguments - `(#:asd-files '("yacc.asd") - #:asd-systems '("yacc"))) + `(#:asd-systems '("yacc"))) (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc") (description "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit @@ -1392,9 +1388,7 @@ C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.") (arguments ;; FIXME: We need to specify the name because the build-system thinks ;; "3" is a version marker. - `(#:asd-files '("3bmd.asd" - "3bmd-ext-code-blocks.asd") - #:asd-systems '("3bmd" + `(#:asd-systems '("3bmd" "3bmd-ext-code-blocks"))) (inputs `(("colorize" ,sbcl-colorize) @@ -1630,8 +1624,7 @@ writing code that contains string literals that contain code themselves.") "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh")))) (build-system asdf-build-system/sbcl) (arguments - '(#:asd-files '("swank.asd") - #:asd-systems '("swank"))) + '(#:asd-systems '("swank"))) (home-page "https://github.com/slime/slime") (synopsis "Common Lisp Swank server") (description @@ -1936,9 +1929,6 @@ named color.") `(("alexandria" ,sbcl-alexandria) ("cl-ppcre" ,sbcl-cl-ppcre) ("cl-ansi-text" ,sbcl-cl-ansi-text))) - (arguments - `(#:asd-files '("prove.asd" - "prove-asdf.asd"))) (synopsis "Yet another unit testing framework for Common Lisp") (description "This project was originally called @command{cl-test-more}. @@ -2068,10 +2058,7 @@ values from a string in Common Lisp.") ;; For testing: `(("lisp-unit" ,sbcl-lisp-unit))) (arguments - `(#:tests? #f - #:asd-files '("cl-string-match.asd" - "ascii-strings.asd" - "simple-scanf.asd"))) + `(#:tests? #f)) (synopsis "Set of utilities to manipulate strings in Common Lisp") (description "@command{cl-strings} is a small, portable, dependency-free set of @@ -2165,12 +2152,7 @@ Lisp programs. It parses URI according to the RFC 2396 specification.") (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads))) (arguments - '(#:asd-files '("queues.asd" - "queues.simple-queue.asd" - "queues.simple-cqueue.asd" - "queues.priority-queue.asd" - "queues.priority-cqueue.asd") - #:asd-systems '("queues" + '(#:asd-systems '("queues" "queues.simple-queue" "queues.simple-cqueue" "queues.priority-queue" @@ -2274,8 +2256,7 @@ package.") `(("fiveam" ,sbcl-fiveam) ("bordeaux-threads" ,sbcl-bordeaux-threads))) (arguments - `(#:asd-files '("sqlite.asd") - #:asd-systems '("sqlite") + `(#:asd-systems '("sqlite") #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-paths @@ -2584,8 +2565,7 @@ is a library for creating graphical user interfaces.") ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk) ("webkitgtk" ,webkitgtk))) (arguments - `(#:asd-files '("webkit2/cl-webkit2.asd") - #:asd-systems '("cl-webkit2") + `(#:asd-systems '("cl-webkit2") #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-paths @@ -2781,8 +2761,6 @@ Lisp (from GBBopen project).") ("split-sequence" ,sbcl-split-sequence))) (arguments `(#:tests? #f ; FIXME: Tests need network access? - #:asd-files '("usocket.asd" - "usocket-server.asd") #:asd-systems '("usocket" "usocket-server"))) (home-page "https://common-lisp.net/project/usocket/") @@ -3392,10 +3370,7 @@ PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.") ("named-readtables" ,sbcl-named-readtables) ("trivial-types" ,sbcl-trivial-types))) (arguments - '(#:asd-files '("cl-syntax.asd" - "cl-syntax-annot.asd" - "cl-syntax-interpol.asd") - #:asd-systems '("cl-syntax" + '(#:asd-systems '("cl-syntax" "cl-syntax-annot" "cl-syntax-interpol"))) (home-page "https://github.com/m2ym/cl-syntax") @@ -3424,8 +3399,7 @@ PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.") (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2")))) (build-system asdf-build-system/sbcl) (arguments - '(#:asd-files '("cl-utilities.asd") - #:asd-systems '("cl-utilities") + '(#:asd-systems '("cl-utilities") #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-paths @@ -3743,7 +3717,8 @@ Only minimal changes required to make your CLOS objects serializable.") ;; Error while trying to load definition for system checkl-test from ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP ;; is undefined. - '(#:tests? #f)) + '(#:asd-files '("checkl.asd") + #:tests? #f)) (native-inputs `(("sbcl-fiveam" ,sbcl-fiveam))) (inputs @@ -3784,7 +3759,8 @@ against the last run.") ;; Error while trying to load definition for system fast-io-test from ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP ;; is undefined. - '(#:tests? #f)) + '(#:tests? #f + #:asd-files '("fast-io.asd"))) (native-inputs `(("sbcl-fiveam" ,sbcl-fiveam) ("sbcl-checkl" ,sbcl-checkl))) @@ -3950,14 +3926,7 @@ reset to 0 and you're able to read it again.") ("quri" ,sbcl-quri) ("trivial-mimes" ,sbcl-trivial-mimes))) (arguments - '(#:asd-files '("lack.asd" - "lack-request.asd" - "lack-response.asd" - "lack-component.asd" - "lack-util.asd" - "lack-middleware-backtrace.asd" - "lack-middleware-static.asd") - #:asd-systems '("lack" + '(#:asd-systems '("lack" "lack-request" "lack-response" "lack-component" @@ -4187,11 +4156,7 @@ mostly Common Lisp implementation.") ("usocket" ,sbcl-usocket) ("quri" ,sbcl-quri))) (arguments - '(#:asd-files '("clack.asd" - "clack-handler-fcgi.asd" - "clack-socket.asd" - "clack-handler-hunchentoot.asd") - #:asd-systems '("clack" + '(#:asd-systems '("clack" "clack-handler-fcgi" "clack-socket" "clack-handler-hunchentoot"))) @@ -4383,8 +4348,7 @@ the CFFI approach used by burgled-batteries, but has the same goal.") (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd")))) (build-system asdf-build-system/sbcl) (arguments - `(#:asd-files '("parse-declarations-1.0.asd") - #:asd-systems '("parse-declarations-1.0"))) + `(#:asd-systems '("parse-declarations-1.0"))) (home-page "https://common-lisp.net/project/parse-declarations/") (synopsis "Parse, filter, and build declarations") (description @@ -4592,8 +4556,7 @@ basic everyday functions and macros.") (arguments ;; Guix incorrectly assumes the "8" is part of the version ;; number and lobs it off. - `(#:asd-files '("trivial-utf-8.asd") - #:asd-systems '("trivial-utf-8"))) + `(#:asd-systems '("trivial-utf-8"))) (build-system asdf-build-system/sbcl) (synopsis "UTF-8 input/output library") (description @@ -5187,10 +5150,6 @@ optimizing techniques widely used in the functional programming world.") ;; XXX: Circular dependencies: Tests depend on subsystems, ;; which depend on the main systems. `(#:tests? #f - #:asd-files '("fare-quasiquote.asd" - "fare-quasiquote-optima.asd" - "fare-quasiquote-readtable.asd" - "fare-quasiquote-extras.asd") #:asd-systems '("fare-quasiquote" "fare-quasiquote-extras") #:phases @@ -5244,11 +5203,7 @@ Trivia.") ("lisp-namespace" ,sbcl-lisp-namespace) ("trivial-cltl2" ,sbcl-trivial-cltl2))) (arguments - '(#:asd-files '("trivia.level0.asd" - "trivia.level1.asd" - "trivia.level2.asd" - "trivia.trivial.asd") - #:asd-systems '("trivia.trivial") + '(#:asd-systems '("trivia.trivial") #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-build @@ -5287,12 +5242,7 @@ be faster and more extensible than Optima.") ("trivia.trivial" ,sbcl-trivia.trivial) ("type-i" ,sbcl-type-i))) (arguments - '(#:asd-files '("trivia.balland2006.asd" - "trivia.ppcre.asd" - "trivia.quasiquote.asd" - "trivia.cffi.asd" - "trivia.asd") - #:asd-systems '("trivia" + '(#:asd-systems '("trivia" "trivia.ppcre" "trivia.quasiquote" "trivia.cffi") @@ -5370,8 +5320,7 @@ various string metrics in Common Lisp: (native-inputs `(("prove" ,sbcl-prove))) (arguments - `(#:asd-files '("str.asd") - #:asd-systems '("str") + `(#:asd-systems '("str") #:test-asd-file "str.test.asd")) (synopsis "Modern, consistent and terse Common Lisp string manipulation library") (description "A modern and consistent Common Lisp string manipulation @@ -5660,9 +5609,7 @@ programming style and the efficiency of an iterative programming style.") `(("local-time" ,sbcl-local-time) ("series" ,sbcl-series))) (arguments - '(#:asd-files '("periods.asd" - "periods-series.asd") - #:asd-systems '("periods" + '(#:asd-systems '("periods" "periods-series"))) (synopsis "Common Lisp library for manipulating date/time objects") (description @@ -5732,7 +5679,8 @@ which implements a set of utilities.") (inputs `(("metatilities-base" ,sbcl-metatilities-base))) (arguments - '(#:phases + '(#:asd-files '("cl-containers.asd") + #:phases (modify-phases %standard-phases (add-after 'unpack 'relax-version-checks (lambda _ @@ -6540,8 +6488,7 @@ interactive development.") ("named-readtables" ,sbcl-named-readtables) ("yason" ,sbcl-yason))) (arguments - '(#:asd-files '("graph.asd") - #:asd-systems '("graph" + '(#:asd-systems '("graph" "graph/dot" "graph/json"))) (synopsis "Graph data structure and algorithms for Common Lisp") @@ -6796,11 +6743,7 @@ your own classes.") (native-inputs `(("lisp-unit" ,sbcl-lisp-unit))) (arguments - '(#:asd-files '("antik-base.asd" - "foreign-array.asd" - "physical-dimension.asd" - "science-data.asd") - #:asd-systems '("antik-base" + '(#:asd-systems '("antik-base" "foreign-array" "physical-dimension" "science-data") @@ -6894,8 +6837,7 @@ intending to program in Lisp.") `(("antik-base" ,sbcl-antik-base) ("gsll" ,sbcl-gsll))) (arguments - '(#:asd-files '("antik.asd") - #:asd-systems '("antik") + '(#:asd-systems '("antik") #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-build @@ -7135,58 +7077,7 @@ sacrificing much in the way of power.") ("libffi" ,libffi) ("split-sequence" ,sbcl-split-sequence))) (arguments - `(#:asd-files '("cl-ana.asd" - "pathname-utils/cl-ana.pathname-utils.asd" - "package-utils/cl-ana.package-utils.asd" - "string-utils/cl-ana.string-utils.asd" - "functional-utils/cl-ana.functional-utils.asd" - "list-utils/cl-ana.list-utils.asd" - "generic-math/cl-ana.generic-math.asd" - "math-functions/cl-ana.math-functions.asd" - "calculus/cl-ana.calculus.asd" - "symbol-utils/cl-ana.symbol-utils.asd" - "macro-utils/cl-ana.macro-utils.asd" - "binary-tree/cl-ana.binary-tree.asd" - "tensor/cl-ana.tensor.asd" - "error-propogation/cl-ana.error-propogation.asd" - "quantity/cl-ana.quantity.asd" - "table/cl-ana.table.asd" - "table-utils/cl-ana.table-utils.asd" - "hdf-cffi/cl-ana.hdf-cffi.asd" - "int-char/cl-ana.int-char.asd" - "memoization/cl-ana.memoization.asd" - "typespec/cl-ana.typespec.asd" - "hdf-typespec/cl-ana.hdf-typespec.asd" - "hdf-utils/cl-ana.hdf-utils.asd" - "typed-table/cl-ana.typed-table.asd" - "hdf-table/cl-ana.hdf-table.asd" - "gsl-cffi/cl-ana.gsl-cffi.asd" - "ntuple-table/cl-ana.ntuple-table.asd" - "csv-table/cl-ana.csv-table.asd" - "reusable-table/cl-ana.reusable-table.asd" - "linear-algebra/cl-ana.linear-algebra.asd" - "lorentz/cl-ana.lorentz.asd" - "clos-utils/cl-ana.clos-utils.asd" - "hash-table-utils/cl-ana.hash-table-utils.asd" - "map/cl-ana.map.asd" - "fitting/cl-ana.fitting.asd" - "histogram/cl-ana.histogram.asd" - "file-utils/cl-ana.file-utils.asd" - "statistics/cl-ana.statistics.asd" - "gnuplot-interface/cl-ana.gnuplot-interface.asd" - "plotting/cl-ana.plotting.asd" - "table-viewing/cl-ana.table-viewing.asd" - "serialization/cl-ana.serialization.asd" - "makeres/cl-ana.makeres.asd" - "makeres-macro/cl-ana.makeres-macro.asd" - "makeres-block/cl-ana.makeres-block.asd" - "makeres-progress/cl-ana.makeres-progress.asd" - "makeres-table/cl-ana.makeres-table.asd" - "makeres-graphviz/cl-ana.makeres-graphviz.asd" - "makeres-branch/cl-ana.makeres-branch.asd" - "makeres-utils/cl-ana.makeres-utils.asd" - "statistical-learning/cl-ana.statistical-learning.asd") - #:asd-systems '("cl-ana") + `(#:asd-systems '("cl-ana") #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-paths @@ -7536,10 +7427,7 @@ has a small codebase that's easy to understand and use.") ("trivial-gray-streams" ,sbcl-trivial-gray-streams) ("vom" ,sbcl-vom))) (arguments - `(#:asd-files '("cl-async.asd" - "cl-async-repl.asd" - "cl-async-ssl.asd") - #:asd-systems '("cl-async" + `(#:asd-systems '("cl-async" "cl-async-repl" "cl-async-ssl") #:phases @@ -7767,10 +7655,7 @@ ZeroMQ.") `(("imagemagick" ,imagemagick) ("tk" ,tk))) (arguments - `(#:asd-files '("ltk/ltk.asd" - "ltk/ltk-mw.asd" - "ltk/ltk-remote.asd") - #:asd-systems '("ltk" + `(#:asd-systems '("ltk" "ltk-mw" "ltk-remote") #:tests? #f @@ -8140,7 +8025,6 @@ them as PNG files.") `(("fiveam" ,sbcl-fiveam))) (arguments `(#:asd-systems '("hdf5-cffi") - #:asd-files '("hdf5-cffi.asd") #:test-asd-file "hdf5-cffi.test.asd" ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd, ;; I don't know if there is a way to tell asdf-build-system to load @@ -8193,7 +8077,6 @@ generation functions from the GSL library.") (license license:bsd-2) (arguments `(#:asd-systems '("cl-randist") - #:asd-files '("cl-randist.asd") #:tests? #f)))) (define-public cl-randist @@ -8227,7 +8110,6 @@ covered by the Common Lisp standard.") `(("documentation-utils" ,sbcl-documentation-utils))) (arguments `(#:asd-systems '("float-features") - #:asd-files '("float-features.asd") #:tests? #f)))) (define-public cl-float-features @@ -8267,7 +8149,6 @@ caching based on arguments (an expanded form of memoization).") ("closer-mop" ,sbcl-closer-mop))) (arguments `(#:asd-systems '("function-cache") - #:asd-files '("function-cache.asd") #:tests? #f)))) (define-public cl-function-cache @@ -8307,7 +8188,6 @@ the elements in compound type specifier, e.g. @code{dimensions} in `(("fiveam" ,sbcl-fiveam))) (arguments `(#:asd-systems '("type-r") - #:asd-files '("type-r.asd") #:test-asd-file "type-r.test.asd"))))) (define-public cl-type-r @@ -8346,7 +8226,6 @@ correctly.") `(("fiveam" ,sbcl-fiveam))) (arguments `(#:asd-systems '("trivialib.type-unify") - #:asd-files '("trivialib.type-unify.asd") #:test-asd-file "trivialib.type-unify.test.asd"))))) (define-public cl-trivialib-type-unify @@ -8711,10 +8590,6 @@ approach to templating.") ;; TODO: Fix missing dependency errors for simple-date/postgres-glue, ;; cl-postgres/tests and s-sql/tests. `(#:tests? #f - #:asd-files '("postmodern.asd" - "simple-date.asd" - "cl-postgres.asd" - "s-sql.asd") #:asd-systems '("postmodern" "simple-date/postgres-glue"))) (synopsis "Common Lisp library for interacting with PostgreSQL") @@ -8766,12 +8641,7 @@ foreign libraries. ("split-sequence" ,sbcl-split-sequence) ("trivial-garbage" ,sbcl-trivial-garbage))) (arguments - `(#:asd-files '("cl-dbi.asd" - "dbi.asd" - "dbd-mysql.asd" - "dbd-postgres.asd" - "dbd-sqlite3.asd") - #:asd-systems '("dbi" + `(#:asd-systems '("dbi" "dbd-mysql" "dbd-postgres" "dbd-sqlite3"))) @@ -8804,6 +8674,7 @@ interface for MySQL, PostgreSQL and SQLite.") (build-system asdf-build-system/sbcl) (arguments `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions + #:asd-files '("uffi.asd") #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-permissions @@ -8980,8 +8851,6 @@ interfaces as well as a functional and an object oriented interface.") (sha256 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7")))) (build-system asdf-build-system/sbcl) - (arguments - `(#:asd-files '("src/sycamore.asd"))) (inputs `(("alexandria" ,sbcl-alexandria) ("cl-ppcre" ,sbcl-cl-ppcre))) @@ -9230,7 +9099,8 @@ accompaniment to the standard ANSI facilities.") "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9")))) (build-system asdf-build-system/sbcl) (arguments - '(#:asd-systems '("quantile-estimator"))) + '(#:asd-files '("quantile-estimator.asd") + #:asd-systems '("quantile-estimator"))) (inputs `(("alexandria" ,sbcl-alexandria))) (home-page "https://github.com/deadtrickster/quantile-estimator.cl") @@ -9614,10 +9484,7 @@ weight, temperature, names of physical quantitites, etc.") (base32 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh")))) (arguments - '(#:asd-files '("clump.asd" - "2-3-tree/clump-2-3-tree.asd" - "Binary-tree/clump-binary-tree.asd") - #:asd-systems '("clump"))) + '(#:asd-systems '("clump"))) (inputs `(("acclimation" ,sbcl-acclimation))) (build-system asdf-build-system/sbcl) @@ -9662,13 +9529,7 @@ sequences of objects.") `(("acclimation" ,sbcl-acclimation) ("clump" ,sbcl-clump))) (arguments - '(#:asd-files '("cluffer.asd" - "Base/cluffer-base.asd" - "Standard-line/cluffer-standard-line.asd" - "Standard-buffer/cluffer-standard-buffer.asd" - "Simple-line/cluffer-simple-line.asd" - "Simple-buffer/cluffer-simple-buffer.asd") - #:asd-systems '("cluffer"))) + '(#:asd-systems '("cluffer"))) (home-page "https://github.com/robert-strandh/cluffer") (synopsis "Common Lisp library providing a protocol for text-editor buffers") (description "Cluffer is a library for representing the buffer of a text @@ -10266,6 +10127,8 @@ both from files on disk, or streams in memory.") ("retrospectiff" ,sbcl-retrospectiff) ("skippy" ,sbcl-skippy) ("zpng" ,sbcl-zpng))) + (arguments + '(#:asd-files '("opticl.asd"))) (home-page "https://github.com/slyrus/opticl") (synopsis "Image processing library for Common Lisp") (description @@ -10324,34 +10187,7 @@ and saving 2-dimensional pixel-based images.") ("trivial-gray-streams" ,sbcl-trivial-gray-streams) ("zpb-ttf" ,sbcl-zpb-ttf))) (arguments - '(#:asd-files '("mcclim.asd" - "clim-lisp.asd" - "Core/clim-basic/clim-basic.asd" - "Core/clim-core/clim-core.asd" - "Libraries/ESA/esa-mcclim.asd" - "Extensions/fonts/mcclim-fonts.asd" - "Libraries/Drei/cl-automaton/automaton.asd" - "Libraries/Drei/Persistent/persistent.asd" - "Libraries/Drei/drei-mcclim.asd" - "Core/clim/clim.asd" - "Backends/common/mcclim-backend-common.asd" - "Backends/CLX/mcclim-clx.asd" - "Extensions/fontconfig/mcclim-fontconfig.asd" - "Extensions/harfbuzz/mcclim-harfbuzz.asd" - "Extensions/render/mcclim-render.asd" - "Backends/CLX-fb/mcclim-clx-fb.asd" - "Backends/Null/mcclim-null.asd" - "Backends/PostScript/clim-postscript-font.asd" - "Backends/PostScript/clim-postscript.asd" - "Backends/PDF/clim-pdf.asd" - "Extensions/Franz/mcclim-franz.asd" - "Extensions/bezier/mcclim-bezier.asd" - "Extensions/bitmap-formats/mcclim-bitmaps.asd" - "Extensions/conditional-commands/conditional-commands.asd" - "Extensions/layouts/mcclim-layouts.asd" - "Backends/RasterImage/mcclim-raster-image.asd" - "Examples/clim-examples.asd") - #:asd-systems '("mcclim" + '(#:asd-systems '("mcclim" "clim-examples") #:phases (modify-phases %standard-phases @@ -10682,11 +10518,7 @@ can separate configuration system from an implementation.") ("sxql" ,sbcl-sxql) ("uuid" ,sbcl-uuid))) (arguments - '(#:asd-files '("mito.asd" - "mito-core.asd" - "mito-migration.asd" - "lack-middleware-mito.asd") - #:asd-systems '("mito") + '(#:asd-systems '("mito") #:phases (modify-phases %standard-phases (add-after 'unpack 'remove-non-functional-tests @@ -10902,7 +10734,8 @@ that and not limited to a certain server or text format.") ("prove" ,sbcl-prove))) (arguments ;; Tests depend on caveman, which in turns depends on cl-project. - '(#:tests? #f)) + '(#:tests? #f + #:asd-files '("cl-project.asd"))) (synopsis "Generate a skeleton for modern Common Lisp projects") (description "This library provides a modern project skeleton generator. In contract with other generators, CL-Project generates one package per file -- cgit v1.2.3 From e765d9c9a1d32b818825c609ce141e681aa8f92e Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Tue, 15 Sep 2020 16:11:57 +0200 Subject: gnu: Remove unneeded asd-systems arguments from Lisp package definitions. * gnu/packages/lisp-xyz.scm (sbcl-cl-cffi-gtk, sbcl-cl-utilities, sbcl-iolib, sbcl-trivia.trivial, sbcl-cambl, sbcl-antik, sbcl-cl-ana, sbcl-hdf5-cffi, sbcl-cl-randist, sbcl-float-features, sbcl-function-cache, sbcl-type-r, sbcl-specialized-function, sbcl-constantfold, sbcl-gtype, sbcl-numcl, sbcl-quantile-estimator, sbcl-clump, sbcl-cluffer, sbcl-mito)[arguments]: Remove 'asd-systems'. --- gnu/packages/lisp-xyz.scm | 54 ++++++++++++++--------------------------------- 1 file changed, 16 insertions(+), 38 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 873b999e65..05e4e9ff69 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -2498,7 +2498,6 @@ Lisp implementations.") "pango/cl-cffi-gtk-pango.asd" "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd" "gdk/cl-cffi-gtk-gdk.asd") - #:asd-systems '("cl-cffi-gtk") #:test-asd-file "test/cl-cffi-gtk-test.asd" ;; TODO: Tests fail with memory fault. ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24. @@ -3399,8 +3398,7 @@ PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.") (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2")))) (build-system asdf-build-system/sbcl) (arguments - '(#:asd-systems '("cl-utilities") - #:phases + '(#:phases (modify-phases %standard-phases (add-after 'unpack 'fix-paths (lambda* (#:key inputs #:allow-other-keys) @@ -4668,7 +4666,6 @@ formats.") "iolib.common-lisp.asd" "iolib.base.asd" "iolib.asd") - #:asd-systems '("iolib") #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-paths @@ -5203,8 +5200,7 @@ Trivia.") ("lisp-namespace" ,sbcl-lisp-namespace) ("trivial-cltl2" ,sbcl-trivial-cltl2))) (arguments - '(#:asd-systems '("trivia.trivial") - #:phases + '(#:phases (modify-phases %standard-phases (add-after 'unpack 'fix-build (lambda _ @@ -5772,8 +5768,7 @@ on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.") ("periods" ,sbcl-periods))) (arguments '(#:asd-files '("fprog.asd" - "cambl.asd") - #:asd-systems '("cambl"))) + "cambl.asd"))) (synopsis "Commoditized amounts and balances for Common Lisp") (description "CAMBL is a Common Lisp library providing a convenient facility for @@ -6837,8 +6832,7 @@ intending to program in Lisp.") `(("antik-base" ,sbcl-antik-base) ("gsll" ,sbcl-gsll))) (arguments - '(#:asd-systems '("antik") - #:phases + '(#:phases (modify-phases %standard-phases (add-after 'unpack 'fix-build (lambda _ @@ -7077,8 +7071,7 @@ sacrificing much in the way of power.") ("libffi" ,libffi) ("split-sequence" ,sbcl-split-sequence))) (arguments - `(#:asd-systems '("cl-ana") - #:phases + `(#:phases (modify-phases %standard-phases (add-after 'unpack 'fix-paths (lambda* (#:key inputs #:allow-other-keys) @@ -8024,8 +8017,7 @@ them as PNG files.") (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - `(#:asd-systems '("hdf5-cffi") - #:test-asd-file "hdf5-cffi.test.asd" + `(#:test-asd-file "hdf5-cffi.test.asd" ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd, ;; I don't know if there is a way to tell asdf-build-system to load ;; an additional system first, so tests are disabled. @@ -8076,8 +8068,7 @@ generation functions from the GSL library.") (home-page "https://github.com/lvaruzza/cl-randist") (license license:bsd-2) (arguments - `(#:asd-systems '("cl-randist") - #:tests? #f)))) + `(#:tests? #f)))) (define-public cl-randist (sbcl-package->cl-source-package sbcl-cl-randist)) @@ -8109,8 +8100,7 @@ covered by the Common Lisp standard.") (inputs `(("documentation-utils" ,sbcl-documentation-utils))) (arguments - `(#:asd-systems '("float-features") - #:tests? #f)))) + `(#:tests? #f)))) (define-public cl-float-features (sbcl-package->cl-source-package sbcl-float-features)) @@ -8148,8 +8138,7 @@ caching based on arguments (an expanded form of memoization).") ("symbol-munger" ,sbcl-symbol-munger) ("closer-mop" ,sbcl-closer-mop))) (arguments - `(#:asd-systems '("function-cache") - #:tests? #f)))) + `(#:tests? #f)))) (define-public cl-function-cache (sbcl-package->cl-source-package sbcl-function-cache)) @@ -8187,8 +8176,7 @@ the elements in compound type specifier, e.g. @code{dimensions} in (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - `(#:asd-systems '("type-r") - #:test-asd-file "type-r.test.asd"))))) + `(#:test-asd-file "type-r.test.asd"))))) (define-public cl-type-r (sbcl-package->cl-source-package sbcl-type-r)) @@ -8266,8 +8254,7 @@ code. The main target of this macro is speed.") (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - `(#:asd-systems '("specialized-function") - #:asd-files '("specialized-function.asd") + `(#:asd-files '("specialized-function.asd") #:test-asd-file "specialized-function.test.asd"))))) (define-public cl-specialized-function @@ -8304,8 +8291,7 @@ additional form that is considered as a candidate for a constant.") (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - `(#:asd-systems '("constantfold") - #:asd-files '("constantfold.asd") + `(#:asd-files '("constantfold.asd") #:test-asd-file "constantfold.test.asd"))))) (define-public cl-constantfold @@ -8344,8 +8330,7 @@ type correctness in Common Lisp. It is based on CLtL2 extensions.") (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - `(#:asd-systems '("gtype") - #:asd-files '("gtype.asd") + `(#:asd-files '("gtype.asd") #:test-asd-file "gtype.test.asd"))))) (define-public cl-gtype @@ -8391,8 +8376,7 @@ and usefulness, not speed. Track the progress at (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - `(#:asd-systems '("numcl") - #:asd-files '("numcl.asd") + `(#:asd-files '("numcl.asd") #:test-asd-file "numcl.test.asd"))))) (define-public cl-numcl @@ -9099,8 +9083,7 @@ accompaniment to the standard ANSI facilities.") "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9")))) (build-system asdf-build-system/sbcl) (arguments - '(#:asd-files '("quantile-estimator.asd") - #:asd-systems '("quantile-estimator"))) + '(#:asd-files '("quantile-estimator.asd"))) (inputs `(("alexandria" ,sbcl-alexandria))) (home-page "https://github.com/deadtrickster/quantile-estimator.cl") @@ -9483,8 +9466,6 @@ weight, temperature, names of physical quantitites, etc.") (sha256 (base32 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh")))) - (arguments - '(#:asd-systems '("clump"))) (inputs `(("acclimation" ,sbcl-acclimation))) (build-system asdf-build-system/sbcl) @@ -9528,8 +9509,6 @@ sequences of objects.") (inputs `(("acclimation" ,sbcl-acclimation) ("clump" ,sbcl-clump))) - (arguments - '(#:asd-systems '("cluffer"))) (home-page "https://github.com/robert-strandh/cluffer") (synopsis "Common Lisp library providing a protocol for text-editor buffers") (description "Cluffer is a library for representing the buffer of a text @@ -10518,8 +10497,7 @@ can separate configuration system from an implementation.") ("sxql" ,sbcl-sxql) ("uuid" ,sbcl-uuid))) (arguments - '(#:asd-systems '("mito") - #:phases + '(#:phases (modify-phases %standard-phases (add-after 'unpack 'remove-non-functional-tests (lambda _ -- cgit v1.2.3 From 12df8b7b88554cdc73eb10090eb07dfdfd1f5788 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Tue, 15 Sep 2020 17:58:37 +0200 Subject: gnu: Add some missing ECL packages. * gnu/packages/lisp-xyz.scm (ecl-cl-uglify-js, ecl-cl-sqlite, ecl-cl-webkit, ecl-trivial-backtrace, ecl-rfc2388, ecl-cl-who, ecl-trivial-types, ecl-cl-syntax, ecl-cl-utilities, ecl-xsubseq, ecl-smart-buffer, ecl-trivial-cltl2, ecl-type-i, ecl-trivia.trivial, ecl-trivia, ecl-cl-str, ecl-cl-xmlspam, ecl-serapeum, ecl-stefil, ecl-trivial-indent, ecl-type-r, ecl-trivialib-type-unify, ecl-constantfold, ecl-postmodern, ecl-sycamore, ecl-trivial-package-local-nicknames, ecl-mito): New variables. --- gnu/packages/lisp-xyz.scm | 100 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 99 insertions(+), 1 deletion(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 05e4e9ff69..b13482e070 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -893,6 +893,9 @@ compressor. It works on data produced by @code{parse-js} to generate a (define-public cl-uglify-js (sbcl-package->cl-source-package sbcl-cl-uglify-js)) +(define-public ecl-cl-uglify-js + (sbcl-package->ecl-package sbcl-cl-uglify-js)) + (define-public uglify-js (package (inherit sbcl-cl-uglify-js) @@ -2274,6 +2277,9 @@ relational database engine.") (define-public cl-sqlite (sbcl-package->cl-source-package sbcl-cl-sqlite)) +(define-public ecl-cl-sqlite + (sbcl-package->ecl-package sbcl-cl-sqlite)) + (define-public sbcl-parenscript ;; Source archives are overwritten on every release, we use the Git repo instead. (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766")) @@ -2585,6 +2591,9 @@ WebKit browsing engine.") (define-public cl-webkit (sbcl-package->cl-source-package sbcl-cl-webkit)) +(define-public ecl-cl-webkit + (sbcl-package->ecl-package sbcl-cl-webkit)) + (define-public sbcl-lparallel (package (name "sbcl-lparallel") @@ -2938,6 +2947,9 @@ backtrace portably.") (define-public cl-trivial-backtrace (sbcl-package->cl-source-package sbcl-trivial-backtrace)) +(define-public ecl-trivial-backtrace + (sbcl-package->ecl-package sbcl-trivial-backtrace)) + (define-public sbcl-rfc2388 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e") (revision "1")) @@ -2965,6 +2977,9 @@ process form data posted with HTTP POST method using enctype (define-public cl-rfc2388 (sbcl-package->cl-source-package sbcl-rfc2388)) +(define-public ecl-rfc2388 + (sbcl-package->ecl-package sbcl-rfc2388)) + (define-public sbcl-md5 (package (name "sbcl-md5") @@ -3174,9 +3189,12 @@ WHO means \"with-html-output\" for want of a better acronym) is probably just as good or bad as the next one.") (license license:bsd-2)))) -(define-public cl-cl-who +(define-public cl-who (sbcl-package->cl-source-package sbcl-cl-who)) +(define-public ecl-cl-who + (sbcl-package->ecl-package sbcl-cl-who)) + (define-public sbcl-chipz (let ((version "0.8") (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d") @@ -3319,6 +3337,9 @@ PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.") (define-public cl-trivial-types (sbcl-package->cl-source-package sbcl-trivial-types)) +(define-public ecl-trivial-types + (sbcl-package->ecl-package sbcl-trivial-types)) + (define-public sbcl-cl-annot (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d") (revision "1")) @@ -3381,6 +3402,9 @@ PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.") (define-public cl-syntax (sbcl-package->cl-source-package sbcl-cl-syntax)) +(define-public ecl-cl-syntax + (sbcl-package->ecl-package sbcl-cl-syntax)) + (define-public sbcl-cl-utilities (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b") (revision "1")) @@ -3421,6 +3445,9 @@ everywhere some dumb user might make a mistake.") (define-public cl-utilities (sbcl-package->cl-source-package sbcl-cl-utilities)) +(define-public ecl-cl-utilities + (sbcl-package->ecl-package sbcl-cl-utilities)) + (define-public sbcl-map-set (let ((commit "7b4b545b68b8") (revision "1")) @@ -3556,6 +3583,9 @@ effieiently.") (define-public cl-xsubseq (sbcl-package->cl-source-package sbcl-xsubseq)) +(define-public ecl-xsubseq + (sbcl-package->ecl-package sbcl-xsubseq)) + (define-public sbcl-smart-buffer (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62") (revision "1")) @@ -3591,6 +3621,9 @@ depending on content size.") (define-public cl-smart-buffer (sbcl-package->cl-source-package sbcl-smart-buffer)) +(define-public ecl-smart-buffer + (sbcl-package->ecl-package sbcl-smart-buffer)) + (define-public sbcl-fast-http (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a") (revision "2")) @@ -5001,6 +5034,9 @@ and it exports symbols from implementation-specific packages.") (define-public cl-trivial-cltl2 (sbcl-package->cl-source-package sbcl-trivial-cltl2)) +(define-public ecl-trivial-cltl2 + (sbcl-package->ecl-package sbcl-trivial-cltl2)) + (define-public sbcl-introspect-environment (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b") (revision "1")) @@ -5083,6 +5119,13 @@ the return type of a function.") (define-public cl-type-i (sbcl-package->cl-source-package sbcl-type-i)) +(define-public ecl-type-i + (package + (inherit (sbcl-package->ecl-package sbcl-type-i)) + (arguments + ;; The tests get stuck indefinitly + '(#:tests? #f)))) + (define-public sbcl-optima (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195") (revision "1")) @@ -5222,6 +5265,9 @@ be faster and more extensible than Optima.") (define-public cl-trivia.trivial (sbcl-package->cl-source-package sbcl-trivia.trivial)) +(define-public ecl-trivia.trivial + (sbcl-package->ecl-package sbcl-trivia.trivial)) + (define-public sbcl-trivia (package (inherit sbcl-trivia.trivial) @@ -5257,6 +5303,9 @@ be faster and more extensible than Optima.") (define-public cl-trivia (sbcl-package->cl-source-package sbcl-trivia)) +(define-public ecl-trivia + (sbcl-package->ecl-package sbcl-trivia)) + (define-public sbcl-mk-string-metrics (package (name "sbcl-mk-string-metrics") @@ -5331,6 +5380,9 @@ arrows.") (define-public cl-str (sbcl-package->cl-source-package sbcl-cl-str)) +(define-public ecl-cl-str + (sbcl-package->ecl-package sbcl-cl-str)) + (define-public sbcl-cl-xmlspam (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a")) (package @@ -5366,6 +5418,9 @@ power of CXML is available when necessary.") (define-public cl-xmlspam (sbcl-package->cl-source-package sbcl-cl-xmlspam)) +(define-public ecl-cl-xmlspam + (sbcl-package->ecl-package sbcl-cl-xmlspam)) + (define-public sbcl-dbus (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a") (revision "1")) @@ -6254,6 +6309,9 @@ supplement, not a competitor, to Alexandria.") (define-public cl-serapeum (sbcl-package->cl-source-package sbcl-serapeum)) +(define-public ecl-serapeum + (sbcl-package->ecl-package sbcl-serapeum)) + (define-public sbcl-arrows (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382") (revision "0")) @@ -6454,6 +6512,9 @@ interactive development.") (define-public cl-stefil (sbcl-package->cl-source-package sbcl-stefil)) +(define-public ecl-stefil + (sbcl-package->ecl-package sbcl-stefil)) + (define-public sbcl-graph (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f") (revision "0")) @@ -6529,6 +6590,9 @@ results.") (define-public cl-trivial-indent (sbcl-package->cl-source-package sbcl-trivial-indent)) +(define-public ecl-trivial-indent + (sbcl-package->ecl-package sbcl-trivial-indent)) + (define-public sbcl-documentation-utils (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55") (revision "0")) @@ -8181,6 +8245,9 @@ the elements in compound type specifier, e.g. @code{dimensions} in (define-public cl-type-r (sbcl-package->cl-source-package sbcl-type-r)) +(define-public ecl-type-r + (sbcl-package->ecl-package sbcl-type-r)) + (define-public sbcl-trivialib-type-unify (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99") (revision "1")) @@ -8219,6 +8286,9 @@ correctly.") (define-public cl-trivialib-type-unify (sbcl-package->cl-source-package sbcl-trivialib-type-unify)) +(define-public ecl-trivialib-type-unify + (sbcl-package->ecl-package sbcl-trivialib-type-unify)) + (define-public sbcl-specialized-function (let ((commit "b96b6afaf8358bf91cc0703e62a5a4ee20d2b7bc") (revision "1")) @@ -8297,6 +8367,9 @@ additional form that is considered as a candidate for a constant.") (define-public cl-constantfold (sbcl-package->cl-source-package sbcl-constantfold)) +(define-public ecl-constantfold + (sbcl-package->ecl-package sbcl-constantfold)) + (define-public sbcl-gtype (let ((commit "42275e3606242ae91e9c8dfa30c18ced50a35b66") (revision "1")) @@ -8595,6 +8668,22 @@ foreign libraries. (define-public cl-postmodern (sbcl-package->cl-source-package sbcl-postmodern)) +(define-public ecl-postmodern + (package + (inherit (sbcl-package->ecl-package sbcl-postmodern)) + (arguments + `(#:tests? #f + #:asd-systems '("postmodern" + "simple-date/postgres-glue") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-build + (lambda _ + (substitute* "cl-postgres.asd" + (("\\) \"usocket\"") + " :ecl) \"usocket\"")) + #t))))))) + (define-public sbcl-dbi ;; Master includes a breaking change which other packages depend on since ;; Quicklisp decided to follow it: @@ -8857,6 +8946,9 @@ If features: (define-public cl-sycamore (sbcl-package->cl-source-package sbcl-sycamore)) +(define-public ecl-sycamore + (sbcl-package->ecl-package sbcl-sycamore)) + (define-public sbcl-trivial-package-local-nicknames (package (name "sbcl-trivial-package-local-nicknames") @@ -8882,6 +8974,9 @@ in DEFPACKAGE.") (define-public cl-trivial-package-local-nicknames (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames)) +(define-public ecl-trivial-package-local-nicknames + (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames)) + (define-public sbcl-enchant (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa")) (package @@ -10533,6 +10628,9 @@ like Ruby's ActiveRecord. (define-public cl-mito (sbcl-package->cl-source-package sbcl-mito)) +(define-public ecl-mito + (sbcl-package->ecl-package sbcl-mito)) + (define-public sbcl-kebab (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b") (revision "1")) -- cgit v1.2.3 From e0d9103f416d5c6e6c0c230f08dc9392bb8e8df1 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Tue, 15 Sep 2020 22:00:29 +0200 Subject: build-system: asdf: Improve install phase for CL source packages. * guix/build/asdf-build-system.scm (install)[parent-source]: Add support for package names not containing a hyphen. --- guix/build/asdf-build-system.scm | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/guix/build/asdf-build-system.scm b/guix/build/asdf-build-system.scm index 26d295e083..6ad855cab2 100644 --- a/guix/build/asdf-build-system.scm +++ b/guix/build/asdf-build-system.scm @@ -124,9 +124,10 @@ if it's present in the native-inputs." (package-name->name+version (strip-store-file-name output))) (define (no-prefix pkgname) - (if (string-index pkgname #\-) - (string-drop pkgname (1+ (string-index pkgname #\-))) - pkgname)) + (let ((index (string-index pkgname #\-))) + (if index + (string-drop pkgname (1+ index)) + pkgname))) (define parent (match (assoc package-name inputs (lambda (key alist-car) @@ -142,8 +143,10 @@ if it's present in the native-inputs." (define parent-source (and parent (string-append parent "/share/common-lisp/" - (string-take parent-name - (string-index parent-name #\-))))) + (let ((index (string-index parent-name #\-))) + (if index + (string-take parent-name index) + parent-name))))) (define (first-subdirectory directory) ; From gnu-build-system. "Return the file name of the first sub-directory of DIRECTORY." -- cgit v1.2.3 From bdd3b1b23257b6ae3a0a3ce9330265f45352dd1f Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Wed, 16 Sep 2020 11:03:31 +0200 Subject: gnu: Add some missing ECL packages. * gnu/packages/lisp-xyz.scm (ecl-hunchentoot, ecl-clack, ecl-fset, ecl-clsql): New variables. --- gnu/packages/lisp-xyz.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index b13482e070..66d99b87f7 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -75,6 +75,7 @@ #:use-module (gnu packages webkit) #:use-module (gnu packages xdisorg) #:use-module (ice-9 match) + #:use-module (srfi srfi-1) #:use-module (srfi srfi-19)) (define-public sbcl-alexandria @@ -3313,6 +3314,13 @@ connections (keep-alive), and SSL.") (define-public cl-hunchentoot (sbcl-package->cl-source-package sbcl-hunchentoot)) +(define-public ecl-hunchentoot + (package + (inherit (sbcl-package->ecl-package sbcl-hunchentoot)) + (arguments + ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'. + '(#:tests? #f)))) + (define-public sbcl-trivial-types (package (name "sbcl-trivial-types") @@ -4201,6 +4209,9 @@ Python's WSGI and Ruby's Rack.") (define-public cl-clack (sbcl-package->cl-source-package sbcl-clack)) +(define-public ecl-clack + (sbcl-package->ecl-package sbcl-clack)) + (define-public sbcl-log4cl (let ((commit "611e094458504b938d49de904eab141285328c7c") (revision "1")) @@ -7292,6 +7303,13 @@ may contain sets, maps may be keyed by sets, etc.") (define-public cl-fset (sbcl-package->cl-source-package sbcl-fset)) +(define-public ecl-fset + (package + (inherit (sbcl-package->ecl-package sbcl-fset)) + (arguments + ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined". + '(#:tests? #f)))) + (define-public sbcl-cl-cont (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a") (revision "1")) @@ -8909,6 +8927,17 @@ interfaces as well as a functional and an object oriented interface.") (make-file-writable "doc/html.tar.gz") #t))))))) +(define-public ecl-clsql + (let ((pkg (sbcl-package->ecl-package sbcl-clsql))) + (package + (inherit pkg) + (inputs + (alist-delete "uffi" (package-inputs pkg))) + (arguments + (substitute-keyword-arguments (package-arguments pkg) + ((#:asd-files asd-files '()) + `(cons "clsql-cffi.asd" ,asd-files))))))) + (define-public sbcl-sycamore (let ((commit "fd2820fec165ad514493426dea209728f64e6d18")) (package -- cgit v1.2.3 From e4c03dd5c70780e00d87ec69a8da376a8c9a57fe Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Wed, 16 Sep 2020 15:32:29 +0200 Subject: gnu: sbcl-gtype: Update to 0.1-2.2442e32. * gnu/packages/lisp-xyz.scm (sbcl-gtype): Update to 0.1-2.2442e32. (ecl-gtype): New variable. --- gnu/packages/lisp-xyz.scm | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 66d99b87f7..d335c6c5dc 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -8389,8 +8389,8 @@ additional form that is considered as a candidate for a constant.") (sbcl-package->ecl-package sbcl-constantfold)) (define-public sbcl-gtype - (let ((commit "42275e3606242ae91e9c8dfa30c18ced50a35b66") - (revision "1")) + (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18") + (revision "2")) (package (name "sbcl-gtype") (version (git-version "0.1" revision commit)) @@ -8402,8 +8402,7 @@ additional form that is considered as a candidate for a constant.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 - "1f56dba998v945jcxhha391557n6md1ql25b7icfwwfivhmlaa9b")))) + (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h")))) (build-system asdf-build-system/sbcl) (synopsis "C++/Julia-like parametric types in Common Lisp") (description @@ -8427,6 +8426,15 @@ type correctness in Common Lisp. It is based on CLtL2 extensions.") (define-public cl-gtype (sbcl-package->cl-source-package sbcl-gtype)) +(define-public ecl-gtype + (let ((pkg (sbcl-package->ecl-package sbcl-gtype))) + (package + (inherit pkg) + (arguments + (substitute-keyword-arguments (package-arguments pkg) + ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp. + ((#:tests? _ #f) #f)))))) + (define-public sbcl-numcl (let ((commit "1cf7dfa59f763a24a501092870e9c5ee745d0c17") (revision "1")) -- cgit v1.2.3 From e95a631156bc7b5d105fdf3dda931a9e4b2f8a51 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Wed, 16 Sep 2020 15:37:17 +0200 Subject: gnu: sbcl-specialized-function: Update to 0.0.0-2.dee56d2. * gnu/packages/lisp-xyz.scm (sbcl-specialized-function): Update to 0.0.0-2.dee56d2. (ecl-specialized-function): New variable. --- gnu/packages/lisp-xyz.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index d335c6c5dc..a1a8f5867d 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -8308,8 +8308,8 @@ correctly.") (sbcl-package->ecl-package sbcl-trivialib-type-unify)) (define-public sbcl-specialized-function - (let ((commit "b96b6afaf8358bf91cc0703e62a5a4ee20d2b7bc") - (revision "1")) + (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35") + (revision "2")) (package (name "sbcl-specialized-function") (version (git-version "0.0.0" revision commit)) @@ -8321,8 +8321,7 @@ correctly.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 - "12j45ff0n26578vmfbhb9mfbdchw4wy023k0m2ppgl9s0z4bhjaj")))) + (base32 "1mcc7mmpbnmgnr1cl2jl5r1ai54gn7fbisv2c14sh9za5w4sib82")))) (build-system asdf-build-system/sbcl) (synopsis "Julia-like dispatch for Common Lisp") (description @@ -8348,6 +8347,9 @@ code. The main target of this macro is speed.") (define-public cl-specialized-function (sbcl-package->cl-source-package sbcl-specialized-function)) +(define-public ecl-specialized-function + (sbcl-package->ecl-package sbcl-specialized-function)) + (define-public sbcl-constantfold (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4") (revision "1")) -- cgit v1.2.3 From 4287ee6970a26f7706ab65bb0642accbced0148d Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Wed, 16 Sep 2020 16:18:11 +0200 Subject: gnu: sbcl-numcl: Update to 0.1.0-2.3e8d40b. * gnu/packages/lisp-xyz.scm (sbcl-numcl): Update to 0.1.0-2.3e8d40b. [arguments]: Disable test phase. (ecl-numcl): New variable. --- gnu/packages/lisp-xyz.scm | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index a1a8f5867d..9662a36a85 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -8438,8 +8438,8 @@ type correctness in Common Lisp. It is based on CLtL2 extensions.") ((#:tests? _ #f) #f)))))) (define-public sbcl-numcl - (let ((commit "1cf7dfa59f763a24a501092870e9c5ee745d0c17") - (revision "1")) + (let ((commit "3e8d40bf774e070e7af1d3dbf01bc8c37dbebd3a") + (revision "2")) (package (name "sbcl-numcl") (version (git-version "0.1.0" revision commit)) @@ -8451,8 +8451,7 @@ type correctness in Common Lisp. It is based on CLtL2 extensions.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 - "0i3jby9hf4ii7blivgyza80g0vmjfhk8537i5i7kqqk0i5sdnym2")))) + (base32 "1hqpr68f6xkxaj1hjjayyh97wcdmj51k20qrd3nsv1rcpmdc5ll4")))) (build-system asdf-build-system/sbcl) (synopsis "Numpy clone in Common Lisp") (description @@ -8478,11 +8477,17 @@ and usefulness, not speed. Track the progress at `(("fiveam" ,sbcl-fiveam))) (arguments `(#:asd-files '("numcl.asd") - #:test-asd-file "numcl.test.asd"))))) + #:test-asd-file "numcl.test.asd" + ;; Tests fail on SBCL with "Heap exhausted, game over", + ;; but they pass on ECL. + #:tests? #f))))) (define-public cl-numcl (sbcl-package->cl-source-package sbcl-numcl)) +(define-public ecl-numcl + (sbcl-package->ecl-package sbcl-numcl)) + (define-public sbcl-pzmq (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826") (revision "1")) -- cgit v1.2.3 From e1dda5ddfd1f6cfc0af59b49f8db384c07189b45 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Wed, 16 Sep 2020 20:15:43 +0200 Subject: gnu: Add some missing ECL packages. * gnu/packages/lisp-xyz.scm (sbcl-antik-base)[arguments]: Remove physical-dimensions and science-data from 'asd-systems'. Update 'fix-build' phase accordingly. (ecl-antik-base, ecl-gsll): New variables. (sbcl-antik)[arguments]: Add 'asd-systems'. Update 'fix-build' phase accordingly. --- gnu/packages/lisp-xyz.scm | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 9662a36a85..cd04f8db96 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -6814,14 +6814,15 @@ your own classes.") `(("lisp-unit" ,sbcl-lisp-unit))) (arguments '(#:asd-systems '("antik-base" - "foreign-array" - "physical-dimension" - "science-data") + "foreign-array") #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-build (lambda _ - (delete-file "antik.asd") + (for-each delete-file + '("antik.asd" + "physical-dimension.asd" + "science-data.asd")) #t))))) (synopsis "Scientific and engineering computation in Common Lisp") (description @@ -6838,6 +6839,21 @@ computer known.") (define-public cl-antik-base (sbcl-package->cl-source-package sbcl-antik-base)) +(define-public ecl-antik-base + (let ((pkg (sbcl-package->ecl-package sbcl-antik-base))) + (package + (inherit pkg) + (arguments + (substitute-keyword-arguments (package-arguments pkg) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'fix-readtable + (lambda _ + (substitute* "input-output/readtable.lisp" + (("#-ccl") + "#-(or ccl ecl)")) + #t))))))))) + (define-public sbcl-gsll (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308") (revision "1")) @@ -6899,6 +6915,9 @@ intending to program in Lisp.") (define-public cl-gsll (sbcl-package->cl-source-package sbcl-gsll)) +(define-public ecl-gsll + (sbcl-package->ecl-package sbcl-gsll)) + (define-public sbcl-antik (package (inherit sbcl-antik-base) @@ -6907,15 +6926,15 @@ intending to program in Lisp.") `(("antik-base" ,sbcl-antik-base) ("gsll" ,sbcl-gsll))) (arguments - '(#:phases + '(#:asd-systems '("antik" + "science-data") + #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-build (lambda _ (for-each delete-file '("antik-base.asd" - "foreign-array.asd" - "physical-dimension.asd" - "science-data.asd")) + "foreign-array.asd")) #t))))))) (define-public cl-antik -- cgit v1.2.3 From 851abcf6c9c15d90cb77caaaa57b40d10c3b4835 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Thu, 17 Sep 2020 09:38:10 +0200 Subject: gnu: ecl-mgl-pax: Fix build. * gnu/packages/lisp-xyz.scm (ecl-mgl-pax)[arguments]: Disable test phase. --- gnu/packages/lisp-xyz.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index cd04f8db96..d253ec529c 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -1690,7 +1690,13 @@ pretty, documentation is code.") (sbcl-package->cl-source-package sbcl-mgl-pax)) (define-public ecl-mgl-pax - (sbcl-package->ecl-package sbcl-mgl-pax)) + (let ((pkg (sbcl-package->ecl-package sbcl-mgl-pax))) + (package + (inherit pkg) + (arguments + (substitute-keyword-arguments (package-arguments pkg) + ;; TODO: Find why the tests fail on ECL. + ((#:tests? _ #f) #f)))))) (define-public sbcl-lisp-unit (let ((commit "89653a232626b67400bf9a941f9b367da38d3815")) -- cgit v1.2.3 From 17e88168c3abb87ede709b18e376cdd4fe643b27 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 21 Sep 2020 23:09:33 +0300 Subject: gnu: libical: Use local docbook-xml package. * gnu/packages/calendar.scm (libical)[native-inputs]: Add docbook-xml-4.3. [arguments]: Add phase to substitute docbook location. --- gnu/packages/calendar.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index 78f0c9848f..b7b1ab0b28 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -37,6 +37,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages check) #:use-module (gnu packages dav) + #:use-module (gnu packages docbook) #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) @@ -131,6 +132,13 @@ the library for handling time zones and leap seconds.") "-DICAL_GLIB_VAPI=true") #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-docbook-reference + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "doc/reference/libical-glib/libical-glib-docs.sgml.in" + (("http://www.oasis-open.org/docbook/xml/4.3/") + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/"))) + #t)) (add-before 'configure 'patch-paths (lambda* (#:key inputs #:allow-other-keys) ;; TODO: libical 3.1.0 supports using TZDIR instead of a hard-coded @@ -145,7 +153,8 @@ the library for handling time zones and leap seconds.") (("\\\"/usr/share/lib/zoneinfo\\\"") ""))) #t))))) (native-inputs - `(("gobject-introspection" ,gobject-introspection) + `(("docbook-xml" ,docbook-xml-4.3) + ("gobject-introspection" ,gobject-introspection) ("gtk-doc" ,gtk-doc) ("perl" ,perl) ("pkg-config" ,pkg-config) -- cgit v1.2.3 From 7e463dd16b7e273011f0beafa57a89fa2d525f8b Mon Sep 17 00:00:00 2001 From: Zhu Zihao Date: Mon, 21 Sep 2020 19:19:17 +0800 Subject: gnu: fcitx: Update to 4.2.9.8. * gnu/packages/fcitx.scm(fcitx): Update to 4.2.9.8. Signed-off-by: Mathieu Othacehe --- gnu/packages/fcitx.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm index 279a9c8186..d52edf1750 100644 --- a/gnu/packages/fcitx.scm +++ b/gnu/packages/fcitx.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2020 Zhu Zihao ;;; ;;; This file is part of GNU Guix. ;;; @@ -97,14 +98,14 @@ by the different predictive algorithms.") (define-public fcitx (package (name "fcitx") - (version "4.2.9.7") + (version "4.2.9.8") (source (origin (method url-fetch) (uri (string-append "http://download.fcitx-im.org/fcitx/" "fcitx-" version "_dict.tar.xz")) (sha256 (base32 - "13vg7yzfq0vj2r8zdf9ly3n243nwwggkhd5qv3z6yqdyj0m3ncyg")))) + "1iik80l7g8yk9iwsls6nl9whwgm0sj8i7s6s0bz4c5anl35iaddw")))) (build-system cmake-build-system) (outputs '("out" "gtk2" "gtk3")) (arguments -- cgit v1.2.3 From 3f3c1d6773a023242b4ac6648c9e7c32b86e946b Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Wed, 23 Sep 2020 13:34:28 +0200 Subject: gnu: ecl-numcl: Enable test phase. * gnu/packages/lisp-xyz.scm (ecl-numcl)[arguments]: Enable tests. --- gnu/packages/lisp-xyz.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index d253ec529c..282e300e7c 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -8511,7 +8511,12 @@ and usefulness, not speed. Track the progress at (sbcl-package->cl-source-package sbcl-numcl)) (define-public ecl-numcl - (sbcl-package->ecl-package sbcl-numcl)) + (let ((pkg (sbcl-package->ecl-package sbcl-numcl))) + (package + (inherit pkg) + (arguments + (substitute-keyword-arguments (package-arguments pkg) + ((#:tests? _ #f) #t)))))) (define-public sbcl-pzmq (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826") -- cgit v1.2.3 From 0057027f81a7efed76f9bd983bc827ae1b66d9cf Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 23 Sep 2020 13:57:54 +0200 Subject: gnu: nyxt: Use precompiled dependencies. * gnu/packages/web-browsers.scm (nyxt)[inputs]: Replace cl-* packages by sbcl-* packages. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/web-browsers.scm | 72 ++++++++++++++++++++----------------------- 1 file changed, 34 insertions(+), 38 deletions(-) diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 205538ee27..be9fe7ab32 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -534,45 +534,41 @@ driven and does not detract you from your daily work.") `(("prove" ,sbcl-prove) ("sbcl" ,sbcl))) (inputs - ;; We need to avoid sbcl-* inputs (sbcl-cl-cffi-gtk in particular) as they - ;; seem to cause Nyxt to hang into a hogging process in about 10 minutes. - ;; Probably an issue between CFFI and how we build SBCL packages. - ;; See https://github.com/atlas-engineer/nyxt/issues/680. - `(("alexandria" ,cl-alexandria) - ("bordeaux-threads" ,cl-bordeaux-threads) - ("cl-containers" ,cl-containers) - ("cl-css" ,cl-css) - ("cl-json" ,cl-json) - ("cl-markup" ,cl-markup) - ("cl-ppcre" ,cl-ppcre) - ("cl-prevalence" ,cl-prevalence) - ("closer-mop" ,cl-closer-mop) - ("cluffer" ,cl-cluffer) - ("dexador" ,cl-dexador) - ("enchant" ,cl-enchant) - ("fset" ,cl-fset) - ("iolib" ,cl-iolib) - ("local-time" ,cl-local-time) - ("log4cl" ,cl-log4cl) - ("lparallel" ,cl-lparallel) - ("mk-string-metrics" ,cl-mk-string-metrics) - ("moptilities" ,cl-moptilities) - ("osicat" ,sbcl-osicat) ; SBCL version needed for libosicat.so. - ("parenscript" ,cl-parenscript) - ("plump" ,cl-plump) - ("quri" ,cl-quri) - ("serapeum" ,cl-serapeum) - ("str" ,cl-str) - ("swank" ,cl-slime-swank) - ("trivia" ,cl-trivia) - ("trivial-clipboard" ,cl-trivial-clipboard) - ("trivial-features" ,cl-trivial-features) - ("trivial-package-local-nicknames" ,cl-trivial-package-local-nicknames) - ("trivial-types" ,cl-trivial-types) - ("unix-opts" ,cl-unix-opts) + `(("alexandria" ,sbcl-alexandria) + ("bordeaux-threads" ,sbcl-bordeaux-threads) + ("cl-containers" ,sbcl-cl-containers) + ("cl-css" ,sbcl-cl-css) + ("cl-json" ,sbcl-cl-json) + ("cl-markup" ,sbcl-cl-markup) + ("cl-ppcre" ,sbcl-cl-ppcre) + ("cl-prevalence" ,sbcl-cl-prevalence) + ("closer-mop" ,sbcl-closer-mop) + ("cluffer" ,sbcl-cluffer) + ("dexador" ,sbcl-dexador) + ("enchant" ,sbcl-enchant) + ("fset" ,sbcl-fset) + ("iolib" ,sbcl-iolib) + ("local-time" ,sbcl-local-time) + ("log4cl" ,sbcl-log4cl) + ("lparallel" ,sbcl-lparallel) + ("mk-string-metrics" ,sbcl-mk-string-metrics) + ("moptilities" ,sbcl-moptilities) + ("osicat" ,sbcl-osicat) + ("parenscript" ,sbcl-parenscript) + ("plump" ,sbcl-plump) + ("quri" ,sbcl-quri) + ("serapeum" ,sbcl-serapeum) + ("str" ,sbcl-cl-str) + ("swank" ,sbcl-slime-swank) + ("trivia" ,sbcl-trivia) + ("trivial-clipboard" ,sbcl-trivial-clipboard) + ("trivial-features" ,sbcl-trivial-features) + ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames) + ("trivial-types" ,sbcl-trivial-types) + ("unix-opts" ,sbcl-unix-opts) ;; WebKitGTK deps - ("cl-cffi-gtk" ,cl-cffi-gtk) - ("cl-webkit" ,cl-webkit) + ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk) + ("cl-webkit" ,sbcl-cl-webkit) ("glib-networking" ,glib-networking) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas))) (synopsis "Extensible web-browser in Common Lisp") -- cgit v1.2.3 From de96ed11efdfb450ca45952aceda656a78d981c4 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Thu, 24 Sep 2020 19:01:30 +0200 Subject: doc: Update documentation for asdf-build-system. * doc/guix.texi (Build Systems): Adapt the documentation of asd-build-system to the replacement of '#:asd-file' and '#:asd-system-name' by '#:asd-files' and '#:asd-systems'. Remove paragraph about one package per ASDF system. --- doc/guix.texi | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index a6e14ea177..22e1bfa089 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -68,7 +68,7 @@ Copyright @copyright{} 2019 Ivan Petkov@* Copyright @copyright{} 2019 Jakob L. Kreuze@* Copyright @copyright{} 2019 Kyle Andrews@* Copyright @copyright{} 2019 Alex Griffin@* -Copyright @copyright{} 2019 Guillaume Le Vaillant@* +Copyright @copyright{} 2019, 2020 Guillaume Le Vaillant@* Copyright @copyright{} 2020 Leo Prikler@* Copyright @copyright{} 2019, 2020 Simon Tournier@* Copyright @copyright{} 2020 Wiktor Żelazny@* @@ -6751,30 +6751,27 @@ Additionally, the corresponding source package should be labeled using the same convention as python packages (see @ref{Python Modules}), using the @code{cl-} prefix. -For binary packages, each system should be defined as a Guix package. -If one package @code{origin} contains several systems, package variants -can be created in order to build all the systems. Source packages, -which use @code{asdf-build-system/source}, may contain several systems. - In order to create executable programs and images, the build-side procedures @code{build-program} and @code{build-image} can be used. -They should be called in a build phase after the @code{create-symlinks} -phase, so that the system which was just built can be used within the -resulting image. @code{build-program} requires a list of Common Lisp -expressions to be passed as the @code{#:entry-program} argument. - -If the system is not defined within its own @file{.asd} file of the same -name, then the @code{#:asd-file} parameter should be used to specify -which file the system is defined in. Furthermore, if the package -defines a system for its tests in a separate file, it will be loaded -before the tests are run if it is specified by the +They should be called in a build phase after the +@code{create-asdf-configuration} phase, so that the system which was +just built can be used within the resulting image. @code{build-program} +requires a list of Common Lisp expressions to be passed as the +@code{#:entry-program} argument. + +By default, all the @file{.asd} files present in the sources are read to +find system definitions. The @code{#:asd-files} parameter can be used +to specify the list of @file{.asd} files to read. Furthermore, if the +package defines a system for its tests in a separate file, it will be +loaded before the tests are run if it is specified by the @code{#:test-asd-file} parameter. If it is not set, the files @code{-tests.asd}, @code{-test.asd}, @code{tests.asd}, and @code{test.asd} will be tried if they exist. If for some reason the package must be named in a different way than the -naming conventions suggest, the @code{#:asd-system-name} parameter can -be used to specify the name of the system. +naming conventions suggest, or if several systems must be compiled, the +@code{#:asd-systems} parameter can be used to specify the list of system +names. @end defvr -- cgit v1.2.3 From b6c55a723fab94bbf710c331fe62d839fb0bf6ad Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Mon, 5 Oct 2020 16:07:54 +0200 Subject: gnu: ecl-slynk: Fix package definition. * gnu/packages/lisp-xyz.scm (ecl-slynk)[arguments]: Don't use 'union-build', just remove the 'build-image' phase. --- gnu/packages/lisp-xyz.scm | 34 ++++++++++------------------------ 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index b863a9179e..729ca5b4ea 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -730,32 +730,18 @@ multiple inspectors with independent history.") (properties `((cl-source-variant . ,(delay cl-slynk))))))) (define-public cl-slynk - (package - (inherit (sbcl-package->cl-source-package sbcl-slynk)) - (name "cl-slynk"))) + (sbcl-package->cl-source-package sbcl-slynk)) (define-public ecl-slynk - (package - (inherit sbcl-slynk) - (name "ecl-slynk") - (inputs - (map (match-lambda - ((name pkg . _) - (list name (sbcl-package->ecl-package pkg)))) - (package-inputs sbcl-slynk))) - (native-inputs '()) - (outputs '("out")) - (arguments - '(#:modules ((guix build union)) - #:builder - (begin - (use-modules (ice-9 match) - (guix build union)) - (match %build-inputs - (((names . paths) ...) - (union-build (assoc-ref %outputs "out") - paths) - #t))))))) + (let ((pkg (sbcl-package->ecl-package sbcl-slynk))) + (package + (inherit pkg) + (outputs '("out")) + (arguments + (substitute-keyword-arguments (package-arguments pkg) + ((#:phases phases) + `(modify-phases ,phases + (delete 'build-image)))))))) (define-public sbcl-parse-js (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6") -- cgit v1.2.3 From 2b6ecdf41a09ab9ecae06d7c537583a2f0f28efc Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 12 Oct 2020 15:06:12 +0200 Subject: gnu: lz4: Cross-compile. * gnu/packages/compression.scm (lz4)[arguments]: Use CC-FOR-TARGET. --- gnu/packages/compression.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 083b82bf36..43831e0ff2 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -804,7 +804,7 @@ decompression of some loosely related file formats used by Microsoft.") ("valgrind" ,valgrind))) (arguments `(#:test-target "test" - #:make-flags (list "CC=gcc" + #:make-flags (list (string-append "CC=" ,(cc-for-target)) (string-append "prefix=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases (delete 'configure) ;no configure script -- cgit v1.2.3 From 525ebb8508655e7a5dd68073dc57fe1c686d8878 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 31 Aug 2020 13:35:19 +0200 Subject: gnu: MariaDB: Update to 10.5.6. * gnu/packages/patches/mariadb-client-test-32bit.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/databases.scm (mariadb): Update to 10.5.6. [source](patches): Remove. [source](snippet): Adapt unbundling for yassl->wolfssl migration. [arguments]: Remove fix-pcre-detection phase. Add phase to fix referenced directory names. Adjust substitution for renamed file. Disable four tests. Enable previously failing ones. Remove armhf workaround. [native-inputs]: On armhf-linux, remove GCC-5. [inputs]: Remove OPENSSL-1.0 and PCRE. Add OPENSSL and PCRE2. --- gnu/local.mk | 1 - gnu/packages/databases.scm | 102 +++++++++------------ .../patches/mariadb-client-test-32bit.patch | 37 -------- 3 files changed, 41 insertions(+), 99 deletions(-) delete mode 100644 gnu/packages/patches/mariadb-client-test-32bit.patch diff --git a/gnu/local.mk b/gnu/local.mk index 3bfd619dd1..c6671ca25c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1303,7 +1303,6 @@ dist_patch_DATA = \ %D%/packages/patches/lvm2-static-link.patch \ %D%/packages/patches/mailutils-fix-uninitialized-variable.patch \ %D%/packages/patches/make-impure-dirs.patch \ - %D%/packages/patches/mariadb-client-test-32bit.patch \ %D%/packages/patches/mars-install.patch \ %D%/packages/patches/mars-sfml-2.3.patch \ %D%/packages/patches/maxima-defsystem-mkdir.patch \ diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 0584fe111a..885e0614ef 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -716,7 +716,7 @@ Language.") (define-public mariadb (package (name "mariadb") - (version "10.1.45") + (version "10.5.6") (source (origin (method url-fetch) (uri (string-append "https://downloads.mariadb.com/MariaDB" @@ -724,8 +724,7 @@ Language.") version ".tar.gz")) (sha256 (base32 - "1mfs0x4c0z7d306n128dxdawk3llk25vxif5zwl20fv1z5qhz3wx")) - (patches (search-patches "mariadb-client-test-32bit.patch")) + "1i257h0zdypdfj5wkg6ck9pxlkph0jvjs92k22pjr6gnx5lxs1gz")) (modules '((guix build utils))) (snippet '(begin @@ -743,8 +742,8 @@ Language.") (for-each (lambda (file) (unless (string-suffix? "CMakeLists.txt" file) (delete-file file))) - (append (find-files "extra/yassl") - (find-files "pcre") (find-files "zlib"))) + (append (find-files "extra/wolfssl") + (find-files "zlib"))) #t)))) (build-system cmake-build-system) (outputs '("out" "lib" "dev")) @@ -798,29 +797,20 @@ Language.") "-DINSTALL_SHAREDIR=share") #:phases (modify-phases %standard-phases - ,@(if (string-prefix? "arm" (%current-system)) - ;; XXX: Because of the GCC 5 input, we need to hide GCC 7 from - ;; CPLUS_INCLUDE_PATH so that its headers do not shadow GCC 5. - '((add-after 'set-paths 'hide-default-gcc - (lambda* (#:key inputs #:allow-other-keys) - (let ((gcc (assoc-ref inputs "gcc"))) - (setenv "CPLUS_INCLUDE_PATH" - (string-join - (delete (string-append gcc "/include/c++") - (string-split (getenv "CPLUS_INCLUDE_PATH") - #\:)) - ":")) - #t)))) - '()) - (add-after 'unpack 'fix-pcre-detection + (add-after 'unpack 'adjust-output-references (lambda _ - ;; The bundled PCRE in MariaDB has a patch that was upstreamed - ;; in version 8.34. Unfortunately the upstream patch behaves - ;; slightly differently and the build system fails to detect it. - ;; See . - ;; XXX: Consider patching PCRE instead. - (substitute* "cmake/pcre.cmake" - ((" OR NOT PCRE_STACK_SIZE_OK") "")) + ;; The build system invariably prepends $CMAKE_INSTALL_PREFIX + ;; to other variables such as $INSTALL_INCLUDEDIR, which does + ;; not work when the latter uses an absolute file name. + (substitute* "libmariadb/mariadb_config/mariadb_config.c.in" + (("@CMAKE_INSTALL_PREFIX@/@INSTALL_INCLUDEDIR@") + "@INSTALL_INCLUDEDIR@")) + (substitute* "libmariadb/mariadb_config/libmariadb.pc.in" + (("\\$\\{prefix\\}/@INSTALL_INCLUDEDIR@") + "@INSTALL_INCLUDEDIR@")) + (substitute* "include/CMakeLists.txt" + (("\\\\\\$\\{CMAKE_INSTALL_PREFIX\\}/\\$\\{INSTALL_INCLUDEDIR\\}") + "${INSTALL_INCLUDEDIR}")) #t)) (add-after 'unpack 'adjust-tests (lambda _ @@ -828,6 +818,7 @@ Language.") '(;; These fail because root@hostname == root@localhost in ;; the build environment, causing a user count mismatch. ;; See . + "funcs_1.is_columns_mysql" "main.join_cache" "main.explain_non_select" "main.stat_tables" @@ -836,20 +827,7 @@ Language.") ;; This file contains a time bomb which makes it fail after ;; 2030-12-31. See for details. - "main.mysqldump" - - ;; FIXME: This test fails on i686: - ;; -myisampack: Can't create/write to file (Errcode: 17 "File exists") - ;; +myisampack: Can't create/write to file (Errcode: 17 "File exists) - ;; When running "myisampack --join=foo/t3 foo/t1 foo/t2" - ;; (all three tables must exist and be identical) - ;; in a loop it produces the same error around 1/240 times. - ;; montywi on #maria suggested removing the real_end check in - ;; "strings/my_vsnprintf.c" on line 503, yet it still does not - ;; reach the ending quote occasionally. Disable it for now. - "main.myisampack" - ;; FIXME: This test fails on armhf-linux: - "mroonga/storage.index_read_multiple_double")) + "main.mysqldump")) ;; This file contains a list of known-flaky tests for this ;; release. Append our own items. @@ -860,9 +838,10 @@ Language.") disabled-tests) (close-port unstable-tests) - ;; XXX: This test fails because it expects a latin1 charset and + ;; XXX: These fail because they expect a latin1 charset and ;; collation. See . - (substitute* "mysql-test/r/gis_notembedded.result" + (substitute* '("mysql-test/main/gis_notembedded.result" + "mysql-test/main/system_mysql_db.result") (("latin1_swedish_ci") "utf8_general_ci") (("\tlatin1") "\tutf8")) @@ -905,56 +884,57 @@ Language.") (dev (assoc-ref outputs "dev")) (lib (assoc-ref outputs "lib")) (openssl (assoc-ref inputs "openssl"))) - (substitute* (string-append out "/bin/mysql_install_db") + (substitute* (list (string-append out "/bin/mariadb-install-db") + (string-append out "/bin/mysql_install_db")) (("basedir=\"\"") - (string-append "basedir=\"" out "\""))) + (string-append "basedir=\"" out "\"")) + (("\\$basedir/share/mysql") + (string-append lib "/share/mysql"))) + ;; Remove unneeded files for testing. (with-directory-excursion lib (for-each delete-file-recursively - '("data" "mysql-test" "sql-bench")) + '("mysql-test" "sql-bench")) ;; And static libraries. (for-each delete-file (find-files "lib" "\\.a$"))) (with-directory-excursion out (delete-file "share/man/man1/mysql-test-run.pl.1") ;; Delete huge and unnecessary executables. - (for-each delete-file (find-files "bin" "(test|embedded)"))) + (for-each delete-file (find-files "bin" "test$"))) (mkdir-p (string-append dev "/share")) (mkdir-p (string-append dev "/bin")) + (rename-file (string-append lib "/bin/mariadbd") + (string-append out "/bin/mariadbd")) (rename-file (string-append lib "/bin/mysqld") (string-append out "/bin/mysqld")) - (rename-file (string-append lib "/share/pkgconfig") - (string-append dev "/share/pkgconfig")) + (mkdir-p (string-append dev "/lib")) + (rename-file (string-append lib "/lib/pkgconfig") + (string-append dev "/lib/pkgconfig")) + (rename-file (string-append lib "/bin/mariadb_config") + (string-append dev "/bin/mariadb_config")) (rename-file (string-append out "/bin/mysql_config") (string-append dev "/bin/mysql_config")) - - (substitute* (string-append out "/bin/mysql_install_db") - (("\\$basedir/share/mysql") - (string-append lib "/share/mysql"))) - ;; Embed an absolute reference to OpenSSL in mysql_config ;; and the pkg-config file to avoid propagation. + ;; XXX: how to do this for mariadb_config.c.in? (substitute* (list (string-append dev "/bin/mysql_config") - (string-append dev "/share/pkgconfig/mariadb.pc")) + (string-append dev "/lib/pkgconfig/mariadb.pc")) (("-lssl -lcrypto" all) (string-append "-L" openssl "/lib " all))) #t)))))) (native-inputs `(("bison" ,bison) - ;; XXX: On armhf, use GCC 5 to work around . - ,@(if (string-prefix? "armhf" (%current-system)) - `(("gcc@5" ,gcc-5)) - '()) ("perl" ,perl))) (inputs `(("jemalloc" ,jemalloc) ("libaio" ,libaio) ("libxml2" ,libxml2) ("ncurses" ,ncurses) - ("openssl" ,openssl-1.0) + ("openssl" ,openssl) ("pam" ,linux-pam) - ("pcre" ,pcre) + ("pcre2" ,pcre2) ("xz" ,xz) ("zlib" ,zlib))) ;; The test suite is very resource intensive and can take more than three diff --git a/gnu/packages/patches/mariadb-client-test-32bit.patch b/gnu/packages/patches/mariadb-client-test-32bit.patch deleted file mode 100644 index 02017e324d..0000000000 --- a/gnu/packages/patches/mariadb-client-test-32bit.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 93efa48a7b972fc463406603574a4d508eefe792 Mon Sep 17 00:00:00 2001 -From: Sergei Golubchik -Date: Sun, 13 May 2018 18:50:21 +0200 -Subject: [PATCH] fix failing main.mysql_client_test test on 32bit - -in `ulonglong=ulong*uint` multiplication -is done in ulong, wrapping around on 32bit. - -This became visible after C/C changed the -default charset to utf8, thus changing -mbmaxlem from 1 to 3. ---- - tests/mysql_client_fw.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/tests/mysql_client_fw.c b/tests/mysql_client_fw.c -index f69eb28a2871..4d036887629a 100644 ---- a/tests/mysql_client_fw.c -+++ b/tests/mysql_client_fw.c -@@ -768,7 +768,7 @@ static void do_verify_prepare_field(MYSQL_RES *result, - { - MYSQL_FIELD *field; - CHARSET_INFO *cs; -- ulonglong expected_field_length; -+ ulonglong expected_field_length= length; - - if (!(field= mysql_fetch_field_direct(result, no))) - { -@@ -777,7 +777,7 @@ static void do_verify_prepare_field(MYSQL_RES *result, - } - cs= get_charset(field->charsetnr, 0); - DIE_UNLESS(cs); -- if ((expected_field_length= length * cs->mbmaxlen) > UINT_MAX32) -+ if ((expected_field_length*= cs->mbmaxlen) > UINT_MAX32) - expected_field_length= UINT_MAX32; - if (!opt_silent) - { -- cgit v1.2.3 From b2bb04bde57b2dc7a182b9f49bc8d85b75c460fb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 12 Sep 2020 15:43:27 +0200 Subject: gnu: MariaDB: Skip replication tests. * gnu/packages/databases.scm (mariadb)[arguments]: Add "--skip-rpl" to mtr invocation. --- gnu/packages/databases.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 885e0614ef..198183018f 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -874,6 +874,10 @@ Language.") "--testcase-timeout=40" "--suite-timeout=600" "--parallel" (number->string (parallel-job-count)) + ;; Skip the replication tests: they are very I/O + ;; intensive and frequently causes indeterministic + ;; failures even on powerful hardware. + "--skip-rpl" "--skip-test-list=unstable-tests")) (format #t "test suite not run~%")) #t)) -- cgit v1.2.3 From b7c0b0ad9f90a645f6c85685c051d4e8792f5758 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 11 Oct 2020 16:36:32 +0200 Subject: gnu: mesa: Update to 20.1.9. * gnu/packages/gl.scm (mesa): Update to 20.1.9. --- gnu/packages/gl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 3542fdcc1b..a8b142cacb 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -233,7 +233,7 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "20.1.4") + (version "20.1.9") (source (origin (method url-fetch) @@ -245,7 +245,7 @@ also known as DXTn or DXTC) for Mesa.") version "/mesa-" version ".tar.xz"))) (sha256 (base32 - "1zlrczmmkcy42w332rfmlicihlnrxmkrnkpb21sl98725cf2f038")) + "10kk8a8k7f4ip8yaiqdyrx162nbw8pw4h3b4hs4ha8mpd43wlldj")) (patches (search-patches "mesa-skip-disk-cache-test.patch")))) (build-system meson-build-system) -- cgit v1.2.3 From 1a74a8c6a154216862db3e5db0eb5e4fcb1a8a7a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 13 Oct 2020 01:18:37 +0200 Subject: gnu: NSPR: Update to 4.29. * gnu/packages/nss.scm (nspr): Update to 4.29. --- gnu/packages/nss.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm index 99263299a4..3675c5bb0e 100644 --- a/gnu/packages/nss.scm +++ b/gnu/packages/nss.scm @@ -36,7 +36,7 @@ (define-public nspr (package (name "nspr") - (version "4.27") + (version "4.29") (source (origin (method url-fetch) (uri (string-append @@ -44,7 +44,7 @@ version "/src/nspr-" version ".tar.gz")) (sha256 (base32 - "16z82qc1l4cqn66p59ai0dy9ycllywn4jlxhip1a605bns952jbd")))) + "10i5x637x0jqmdi47grkzgn56fg6770naa3wrhr4dmsrh3dnna12")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) -- cgit v1.2.3 From b6fc2054dc3303a9bda533a620e9cafbbb5e76d5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 13 Oct 2020 01:18:54 +0200 Subject: gnu: nss, nss-certs: Update to 3.57. * gnu/packages/patches/nss-pkgconfig.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/certs.scm (nss-certs): Update to 3.57. * gnu/packages/nss.scm (nss): Likewise. [source](patches): Replace nss-pkgconfig.patch with nss-3.56-pkgconfig.patch. (nss-3.57): Remove variable. * gnu/packages/gnuzilla.scm (icedove)[inputs]: Change from NSS-3.57 to NSS. --- gnu/local.mk | 1 - gnu/packages/certs.scm | 4 +- gnu/packages/gnuzilla.scm | 2 +- gnu/packages/nss.scm | 142 ++++--------------- gnu/packages/patches/nss-pkgconfig.patch | 228 ------------------------------- 5 files changed, 28 insertions(+), 349 deletions(-) delete mode 100644 gnu/packages/patches/nss-pkgconfig.patch diff --git a/gnu/local.mk b/gnu/local.mk index c6671ca25c..72144bbf33 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1364,7 +1364,6 @@ dist_patch_DATA = \ %D%/packages/patches/network-manager-plugin-path.patch \ %D%/packages/patches/nsis-env-passthru.patch \ %D%/packages/patches/nss-increase-test-timeout.patch \ - %D%/packages/patches/nss-pkgconfig.patch \ %D%/packages/patches/nss-3.56-pkgconfig.patch \ %D%/packages/patches/ntfs-3g-CVE-2019-9755.patch \ %D%/packages/patches/nvi-assume-preserve-path.patch \ diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm index b892c2a958..0cb20467ab 100644 --- a/gnu/packages/certs.scm +++ b/gnu/packages/certs.scm @@ -76,7 +76,7 @@ (define-public nss-certs (package (name "nss-certs") - (version "3.55") + (version "3.57") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -87,7 +87,7 @@ "nss-" version ".tar.gz"))) (sha256 (base32 - "0100hm7n1xrp144xy665z46s0wf1jpkqkncc6bk2w22snhyjwsgw")))) + "10n3pncg6k81ikjz12la147rppwqn57bkrdl9gb820w6pq0nra2m")))) (build-system gnu-build-system) (outputs '("out")) (native-inputs diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 365626a62a..60ea610908 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -1426,7 +1426,7 @@ standards of the IceCat project.") ("mesa" ,mesa) ("mit-krb5" ,mit-krb5) ("nspr" ,nspr) - ("nss" ,nss-3.57) + ("nss" ,nss) ("pango" ,pango) ("pixman" ,pixman) ("pulseaudio" ,pulseaudio) diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm index 3675c5bb0e..6e2ca883e0 100644 --- a/gnu/packages/nss.scm +++ b/gnu/packages/nss.scm @@ -73,121 +73,6 @@ in the Mozilla clients.") (define-public nss (package (name "nss") - (version "3.55") - (source (origin - (method url-fetch) - (uri (let ((version-with-underscores - (string-join (string-split version #\.) "_"))) - (string-append - "https://ftp.mozilla.org/pub/mozilla.org/security/nss/" - "releases/NSS_" version-with-underscores "_RTM/src/" - "nss-" version ".tar.gz"))) - (sha256 - (base32 - "0100hm7n1xrp144xy665z46s0wf1jpkqkncc6bk2w22snhyjwsgw")) - ;; Create nss.pc and nss-config. - (patches (search-patches "nss-pkgconfig.patch" - "nss-increase-test-timeout.patch")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Delete the bundled copy of these libraries. - (delete-file-recursively "nss/lib/zlib") - (delete-file-recursively "nss/lib/sqlite") - #t)))) - (build-system gnu-build-system) - (outputs '("out" "bin")) - (arguments - `(#:parallel-build? #f ; not supported - #:make-flags - (let* ((out (assoc-ref %outputs "out")) - (nspr (string-append (assoc-ref %build-inputs "nspr"))) - (rpath (string-append "-Wl,-rpath=" out "/lib/nss"))) - (list "-C" "nss" (string-append "PREFIX=" out) - "NSDISTMODE=copy" - "NSS_USE_SYSTEM_SQLITE=1" - (string-append "NSPR_INCLUDE_DIR=" nspr "/include/nspr") - ;; Add $out/lib/nss to RPATH. - (string-append "RPATH=" rpath) - (string-append "LDFLAGS=" rpath) - "all")) - #:modules ((guix build gnu-build-system) - (guix build utils) - (ice-9 ftw) - (ice-9 match) - (srfi srfi-26)) - #:phases - (modify-phases %standard-phases - (replace 'configure - (lambda _ - (setenv "CC" "gcc") - ;; Tells NSS to build for the 64-bit ABI if we are 64-bit system. - ,@(match (%current-system) - ((or "x86_64-linux" "aarch64-linux") - `((setenv "USE_64" "1"))) - (_ - '())) - #t)) - (replace 'check - (lambda _ - ;; Use 127.0.0.1 instead of $HOST.$DOMSUF as HOSTADDR for testing. - ;; The later requires a working DNS or /etc/hosts. - (setenv "DOMSUF" "localdomain") - (setenv "USE_IP" "TRUE") - (setenv "IP_ADDRESS" "127.0.0.1") - - ;; The "PayPalEE.cert" certificate expires every six months, - ;; leading to test failures: - ;; . To - ;; work around that, set the time to roughly the release date. - (invoke "faketime" "2020-07-01" "./nss/tests/all.sh"))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append (assoc-ref outputs "bin") "/bin")) - (inc (string-append out "/include/nss")) - (lib (string-append out "/lib/nss")) - (obj (match (scandir "dist" (cut string-suffix? "OBJ" <>)) - ((obj) (string-append "dist/" obj))))) - ;; Install nss-config to $out/bin. - (install-file (string-append obj "/bin/nss-config") - (string-append out "/bin")) - (delete-file (string-append obj "/bin/nss-config")) - ;; Install nss.pc to $out/lib/pkgconfig. - (install-file (string-append obj "/lib/pkgconfig/nss.pc") - (string-append out "/lib/pkgconfig")) - (delete-file (string-append obj "/lib/pkgconfig/nss.pc")) - (rmdir (string-append obj "/lib/pkgconfig")) - ;; Install other files. - (copy-recursively "dist/public/nss" inc) - (copy-recursively (string-append obj "/bin") bin) - (copy-recursively (string-append obj "/lib") lib) - #t)))))) - (inputs - `(("sqlite" ,sqlite) - ("zlib" ,zlib))) - (propagated-inputs `(("nspr" ,nspr))) ; required by nss.pc. - (native-inputs `(("perl" ,perl) - ("libfaketime" ,libfaketime))) ;for tests - - ;; The NSS test suite takes around 48 hours on Loongson 3A (MIPS) when - ;; another build is happening concurrently on the same machine. - (properties '((timeout . 216000))) ; 60 hours - - (home-page - "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS") - (synopsis "Network Security Services") - (description - "Network Security Services (@dfn{NSS}) is a set of libraries designed to -support cross-platform development of security-enabled client and server -applications. Applications built with NSS can support SSL v2 and v3, TLS, -PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other -security standards.") - (license license:mpl2.0))) - -(define-public nss-3.57 - (package - (inherit nss) (version "3.57") (source (origin (method url-fetch) @@ -210,6 +95,8 @@ security standards.") (delete-file-recursively "nss/lib/zlib") (delete-file-recursively "nss/lib/sqlite") #t)))) + (build-system gnu-build-system) + (outputs '("out" "bin")) (arguments `(#:parallel-build? #f ; not supported #:make-flags @@ -252,7 +139,7 @@ security standards.") ;; leading to test failures: ;; . To ;; work around that, set the time to roughly the release date. - (invoke "faketime" "2020-02-01" "./nss/tests/all.sh"))) + (invoke "faketime" "2020-10-01" "./nss/tests/all.sh"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -274,4 +161,25 @@ security standards.") (copy-recursively "dist/public/nss" inc) (copy-recursively (string-append obj "/bin") bin) (copy-recursively (string-append obj "/lib") lib) - #t)))))))) + #t)))))) + (inputs + `(("sqlite" ,sqlite) + ("zlib" ,zlib))) + (propagated-inputs `(("nspr" ,nspr))) ; required by nss.pc. + (native-inputs `(("perl" ,perl) + ("libfaketime" ,libfaketime))) ;for tests + + ;; The NSS test suite takes around 48 hours on Loongson 3A (MIPS) when + ;; another build is happening concurrently on the same machine. + (properties '((timeout . 216000))) ; 60 hours + + (home-page + "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS") + (synopsis "Network Security Services") + (description + "Network Security Services (@dfn{NSS}) is a set of libraries designed to +support cross-platform development of security-enabled client and server +applications. Applications built with NSS can support SSL v2 and v3, TLS, +PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other +security standards.") + (license license:mpl2.0))) diff --git a/gnu/packages/patches/nss-pkgconfig.patch b/gnu/packages/patches/nss-pkgconfig.patch deleted file mode 100644 index 4b9e0506f2..0000000000 --- a/gnu/packages/patches/nss-pkgconfig.patch +++ /dev/null @@ -1,228 +0,0 @@ -Description: Create nss.pc and nss-config -Author: Lars Wendler -Source: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/nss/files/nss-3.17.1-gentoo-fixups.patch - -Modifications: - Change libdir from ${prefix}/lib64 to ${prefix}/lib/nss. - Remove optional patching in nss/Makefile. - Include -L$libdir in output from "nss-config --libs". - -Later adapted to apply cleanly to nss-3.21. - ---- nss-3.21/nss/config/Makefile -+++ nss-3.21/nss/config/Makefile -@@ -0,0 +1,40 @@ -+CORE_DEPTH = .. -+DEPTH = .. -+ -+include $(CORE_DEPTH)/coreconf/config.mk -+ -+NSS_MAJOR_VERSION = `grep "NSS_VMAJOR" ../lib/nss/nss.h | awk '{print $$3}'` -+NSS_MINOR_VERSION = `grep "NSS_VMINOR" ../lib/nss/nss.h | awk '{print $$3}'` -+NSS_PATCH_VERSION = `grep "NSS_VPATCH" ../lib/nss/nss.h | awk '{print $$3}'` -+PREFIX = /usr -+ -+all: export libs -+ -+export: -+ # Create the nss.pc file -+ mkdir -p $(DIST)/lib/pkgconfig -+ sed -e "s,@prefix@,$(PREFIX)," \ -+ -e "s,@exec_prefix@,\$${prefix}," \ -+ -e "s,@libdir@,\$${prefix}/lib/nss," \ -+ -e "s,@includedir@,\$${prefix}/include/nss," \ -+ -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION),g" \ -+ -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \ -+ -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \ -+ nss.pc.in > nss.pc -+ chmod 0644 nss.pc -+ cp nss.pc $(DIST)/lib/pkgconfig -+ -+ # Create the nss-config script -+ mkdir -p $(DIST)/bin -+ sed -e "s,@prefix@,$(PREFIX)," \ -+ -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION)," \ -+ -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \ -+ -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \ -+ nss-config.in > nss-config -+ chmod 0755 nss-config -+ cp nss-config $(DIST)/bin -+ -+libs: -+ -+dummy: all export libs -+ ---- nss-3.21/nss/config/nss-config.in -+++ nss-3.21/nss/config/nss-config.in -@@ -0,0 +1,145 @@ -+#!/bin/sh -+ -+prefix=@prefix@ -+ -+major_version=@NSS_MAJOR_VERSION@ -+minor_version=@NSS_MINOR_VERSION@ -+patch_version=@NSS_PATCH_VERSION@ -+ -+usage() -+{ -+ cat <&2 -+fi -+ -+lib_ssl=yes -+lib_smime=yes -+lib_nss=yes -+lib_nssutil=yes -+ -+while test $# -gt 0; do -+ case "$1" in -+ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; -+ *) optarg= ;; -+ esac -+ -+ case $1 in -+ --prefix=*) -+ prefix=$optarg -+ ;; -+ --prefix) -+ echo_prefix=yes -+ ;; -+ --exec-prefix=*) -+ exec_prefix=$optarg -+ ;; -+ --exec-prefix) -+ echo_exec_prefix=yes -+ ;; -+ --includedir=*) -+ includedir=$optarg -+ ;; -+ --includedir) -+ echo_includedir=yes -+ ;; -+ --libdir=*) -+ libdir=$optarg -+ ;; -+ --libdir) -+ echo_libdir=yes -+ ;; -+ --version) -+ echo ${major_version}.${minor_version}.${patch_version} -+ ;; -+ --cflags) -+ echo_cflags=yes -+ ;; -+ --libs) -+ echo_libs=yes -+ ;; -+ ssl) -+ lib_ssl=yes -+ ;; -+ smime) -+ lib_smime=yes -+ ;; -+ nss) -+ lib_nss=yes -+ ;; -+ nssutil) -+ lib_nssutil=yes -+ ;; -+ *) -+ usage 1 1>&2 -+ ;; -+ esac -+ shift -+done -+ -+# Set variables that may be dependent upon other variables -+if test -z "$exec_prefix"; then -+ exec_prefix=`pkg-config --variable=exec_prefix nss` -+fi -+if test -z "$includedir"; then -+ includedir=`pkg-config --variable=includedir nss` -+fi -+if test -z "$libdir"; then -+ libdir=`pkg-config --variable=libdir nss` -+fi -+ -+if test "$echo_prefix" = "yes"; then -+ echo $prefix -+fi -+ -+if test "$echo_exec_prefix" = "yes"; then -+ echo $exec_prefix -+fi -+ -+if test "$echo_includedir" = "yes"; then -+ echo $includedir -+fi -+ -+if test "$echo_libdir" = "yes"; then -+ echo $libdir -+fi -+ -+if test "$echo_cflags" = "yes"; then -+ echo -I$includedir -+fi -+ -+if test "$echo_libs" = "yes"; then -+ libdirs=-L$libdir -+ if test -n "$lib_ssl"; then -+ libdirs="$libdirs -lssl${major_version}" -+ fi -+ if test -n "$lib_smime"; then -+ libdirs="$libdirs -lsmime${major_version}" -+ fi -+ if test -n "$lib_nss"; then -+ libdirs="$libdirs -lnss${major_version}" -+ fi -+ if test -n "$lib_nssutil"; then -+ libdirs="$libdirs -lnssutil${major_version}" -+ fi -+ echo $libdirs -+fi -+ ---- nss-3.21/nss/config/nss.pc.in -+++ nss-3.21/nss/config/nss.pc.in -@@ -0,0 +1,12 @@ -+prefix=@prefix@ -+exec_prefix=@exec_prefix@ -+libdir=@libdir@ -+includedir=@includedir@ -+ -+Name: NSS -+Description: Network Security Services -+Version: @NSS_MAJOR_VERSION@.@NSS_MINOR_VERSION@.@NSS_PATCH_VERSION@ -+Requires: nspr >= 4.8 -+Libs: -L${libdir} -lssl3 -lsmime3 -lnss3 -lnssutil3 -+Cflags: -I${includedir} -+ ---- nss-3.21/nss/manifest.mn -+++ nss-3.21/nss/manifest.mn -@@ -10,7 +10,7 @@ - - RELEASE = nss - --DIRS = coreconf lib cmd cpputil gtests -+DIRS = coreconf lib cmd cpputil gtests config - - lib: coreconf - cmd: lib -- cgit v1.2.3 From da2e37c1b23b4f64d9431b5ca759b88cc7c2783a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 11 Oct 2020 16:37:02 +0200 Subject: gnu: tzdata: Update to 2020b. * gnu/packages/base.scm (tzdata): Update to 2020b. * gnu/packages/golang.scm (go-1.4)[arguments]: Exclude one time zone test. --- gnu/packages/base.scm | 6 +++--- gnu/packages/golang.scm | 6 ++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index c83775d8ee..1005899490 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1229,7 +1229,7 @@ command.") (define-public tzdata (package (name "tzdata") - (version "2020a") + (version "2020b") (source (origin (method url-fetch) (uri (string-append @@ -1237,7 +1237,7 @@ command.") version ".tar.gz")) (sha256 (base32 - "18lrp0zh8m931jjlrv8lvjas4ka5dfkzdbwnbw5lwd2dlbn62wal")))) + "02g88pbw82zr36x9dz5ib4sq6bfq253yx5hbhnfyhp143naky1cv")))) (build-system gnu-build-system) (arguments '(#:tests? #f @@ -1287,7 +1287,7 @@ command.") version ".tar.gz")) (sha256 (base32 - "0sfnlqw1p93r7klny69rwr94fh22mz632h52phgzfgg01q9gfakx")))))) + "1nj3zvqpy5lm6w365p9ynz4i5arq4fiy8ldq55v4z9p49nagivs7")))))) (home-page "https://www.iana.org/time-zones") (synopsis "Database of current and historical time zones") (description "The Time Zone Database (often called tz or zoneinfo) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 0f81a752e4..9fe3184371 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -20,6 +20,7 @@ ;;; Copyright © 2020 Jakub Kądziołka ;;; Copyright © 2020 Nicolas Goaziou ;;; Copyright © 2020 Ryan Prior +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -147,6 +148,11 @@ ("os/os_test.go" "(.+)(TestHostname.+)") ("time/format_test.go" "(.+)(TestParseInSydney.+)") + ;; XXX: This test fails with tzdata 2020b and newer. Later + ;; Go releases work fine, so just disable this for the + ;; bootstrap Go. + ("time/example_test.go" "(.+)(ExampleParseInLocation.+)") + ("os/exec/exec_test.go" "(.+)(TestEcho.+)") ("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)") ("os/exec/exec_test.go" "(.+)(TestCatStdin.+)") -- cgit v1.2.3 From 3bb9ba15f8ff5ba625a162f1202091c0f7693101 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 11 Oct 2020 16:37:23 +0200 Subject: gnu: check: Update to 0.15.2. * gnu/packages/check.scm (check): Update to 0.15.2. --- gnu/packages/check.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 3d8dbe6f04..3e93e3c12a 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -135,7 +135,7 @@ like Jasmine or Mocha.") (define-public check (package (name "check") - (version "0.15.1") + (version "0.15.2") (source (origin (method url-fetch) @@ -143,7 +143,7 @@ like Jasmine or Mocha.") version "/check-" version ".tar.gz")) (sha256 (base32 - "0080qvd7gj1c7j79v9wfiwkp259gcs0xi45b8a0ds3jwjxj3vk61")))) + "02m25y9m46pb6n46s51av62kpd936lkfv3b13kfpckgvmh5lxpm8")))) (build-system gnu-build-system) (home-page "https://libcheck.github.io/check/") (synopsis "Unit test framework for C") -- cgit v1.2.3 From 4712fdd87f2e809fdb868ced339ad161ab3eadd9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 11 Oct 2020 16:37:54 +0200 Subject: gnu: unixodbc: Update to 2.3.9. * gnu/packages/databases.scm (unixodbc): Update to 2.3.9. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 198183018f..7bce37c3e9 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1885,7 +1885,7 @@ valid SQL query.") (define-public unixodbc (package (name "unixodbc") - (version "2.3.7") + (version "2.3.9") (source (origin (method url-fetch) (uri @@ -1893,7 +1893,7 @@ valid SQL query.") "ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-" version ".tar.gz")) (sha256 - (base32 "0xry3sg497wly8f7715a7gwkn2k36bcap0mvzjw74jj53yx6kwa5")))) + (base32 "01xj65d02i3yjy7p9z08y9jakcs5szmz4rask868n7387nn3x0sj")))) (build-system gnu-build-system) (synopsis "Data source abstraction library") (description "Unixodbc is a library providing an API with which to access -- cgit v1.2.3 From 9173a7781bd0459fcaaedcf771fb1a87871e8724 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 11 Oct 2020 16:38:18 +0200 Subject: gnu: libinput: Update to 1.16.2. * gnu/packages/freedesktop.scm (libinput): Update to 1.16.2. --- gnu/packages/freedesktop.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 8e38f7be8c..fa0d2e3f48 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -286,14 +286,14 @@ freedesktop.org project.") ;; Updating this will rebuild over 700 packages through libinput-minimal. (package (name "libinput") - (version "1.15.6") + (version "1.16.2") (source (origin (method url-fetch) (uri (string-append "https://freedesktop.org/software/libinput/" "libinput-" version ".tar.xz")) (sha256 (base32 - "073z61dw46cyq0635a5n1mw7hw4qdgr58gbwwb3ds5v3d8hymvdf")))) + "1ab0q4iya07kvjd2g1vzamj9h57qldi15h3b8324vg3szr88qggw")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Ddocumentation=false") -- cgit v1.2.3 From 81f685d052c5a549fc26b86840706da636fd6c1e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 11 Oct 2020 16:38:39 +0200 Subject: gnu: elogind: Update to 243.7. * gnu/packages/freedesktop.scm (elogind): Update to 243.7. [arguments]: Remove obsolete phase. --- gnu/packages/freedesktop.scm | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index fa0d2e3f48..5519f04b11 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -372,7 +372,7 @@ the freedesktop.org XDG Base Directory specification.") (define-public elogind (package (name "elogind") - (version "243.4") + (version "243.7") (source (origin (method git-fetch) (uri (git-reference @@ -381,7 +381,7 @@ the freedesktop.org XDG Base Directory specification.") (file-name (git-file-name name version)) (sha256 (base32 - "141frvgyk4fafcxsix94qc0d9ffrwksld8lqq4hq6xsgjlvv0mrs")))) + "1ccj3cbs9nsfg497wg195in1a7b9csm1jdm7z6q7vvx1ynpjxlxz")))) (build-system meson-build-system) (arguments `(#:configure-flags @@ -420,14 +420,6 @@ the freedesktop.org XDG Base Directory specification.") (("join_paths\\(bindir, 'pkttyagent'\\)") "'\"/run/current-system/profile/bin/pkttyagent\"'")) #t)) - (add-after 'unpack 'adjust-dbus-socket-address - (lambda _ - ;; Look for the D-Bus socket in /var/run instead of /run. Remove - ;; this for versions > 243.4. - (substitute* "src/libelogind/sd-bus/bus-internal.h" - (("=/run/dbus/system_bus_socket") - "=/var/run/dbus/system_bus_socket")) - #t)) (add-after 'unpack 'adjust-tests (lambda _ ;; This test tries to copy some bytes from /usr/lib/os-release, -- cgit v1.2.3 From dc7500af1dac3d5d0c359af1a180f9445f7ea763 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 11 Oct 2020 16:39:09 +0200 Subject: gnu: GTK+: Update to 3.24.3. * gnu/packages/gtk.scm (gtk+): Update to 3.24.3. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 9e9143a9a3..dac92a6d5e 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -824,7 +824,7 @@ application suites.") (define-public gtk+ (package (inherit gtk+-2) (name "gtk+") - (version "3.24.21") + (version "3.24.23") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -832,7 +832,7 @@ application suites.") name "-" version ".tar.xz")) (sha256 (base32 - "0llgq2adzn9p3bfq9rv2dhscmvzs35jp3glrfvy3vs1mrpknmsmf")) + "1cg2vbwbcp7bc84ky0b69ipgdr9djhspnf5k8lajb8jphcj4v1jx")) (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch" "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch")))) (propagated-inputs -- cgit v1.2.3 From 2565b900681922fbc4dcab528eccac6b3b29b4b5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 11 Oct 2020 16:39:32 +0200 Subject: gnu: ImageMagick: Update to 6.9.11-34. * gnu/packages/imagemagick.scm (imagemagick): Update to 6.9.11-34. --- gnu/packages/imagemagick.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 74dfe5cd56..e4efea4e45 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -48,14 +48,14 @@ ;; The 7 release series has an incompatible API, while the 6 series is still ;; maintained. Don't update to 7 until we've made sure that the ImageMagick ;; users are ready for the 7-series API. - (version "6.9.11-24") + (version "6.9.11-34") (source (origin (method url-fetch) (uri (string-append "mirror://imagemagick/ImageMagick-" version ".tar.xz")) (sha256 (base32 - "1qxp8fpinh45y4fzdpqvwv2kgr8bh7dqfl08h9n24yadi5nxcqbk")))) + "0acdjkkgjgpfcwj9h9zncywjjrrgb9sh0cvfn3jamjxh5byf638s")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch" -- cgit v1.2.3 From 0f45fd9e010e3a792ad474e8da3cee242a9f54a0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 11 Oct 2020 16:40:04 +0200 Subject: gnu: python-cryptography: Update to 3.1.1. * gnu/packages/python-crypto.scm (python-cryptography-vectors, python-cryptography): Update to 3.1.1. --- gnu/packages/python-crypto.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 0ede67f6c4..fea2a69745 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -497,14 +497,14 @@ is used by the Requests library to verify HTTPS requests.") (define-public python-cryptography-vectors (package (name "python-cryptography-vectors") - (version "3.0") + (version "3.1.1") (source (origin (method url-fetch) (uri (pypi-uri "cryptography_vectors" version)) (sha256 (base32 - "0fa26ggksyhknb43cja1g0jwp35qkdbavivdq6yynj1igd2z1vsj")))) + "1xp2j79c1y8qj4b97ygx451gzp8l4cp830hnvg3zw8j134bcaaam")))) (build-system python-build-system) (home-page "https://github.com/pyca/cryptography") (synopsis "Test vectors for the cryptography package") @@ -519,14 +519,14 @@ is used by the Requests library to verify HTTPS requests.") (define-public python-cryptography (package (name "python-cryptography") - (version "3.0") + (version "3.1.1") (source (origin (method url-fetch) (uri (pypi-uri "cryptography" version)) (sha256 (base32 - "0lr06a9317n2iwfqwz9mpalqm99acqwk1478arvyj1jj0ay4v4lf")))) + "0z81q4d1nangw3r0v5f41mfl4d9r04qnbayl5ll5v5jpcfhwd7wx")))) (build-system python-build-system) (inputs `(("openssl" ,openssl))) -- cgit v1.2.3 From f09262ef59f523a76d8db76f2a967548db8faa11 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 11 Oct 2020 16:40:33 +0200 Subject: gnu: libva: Update to 2.9.0. * gnu/packages/video.scm (libva): Update to 2.9.0. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index a8f20bf11c..bd5367d439 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1322,7 +1322,7 @@ libebml is a C++ library to read and write EBML files.") (define-public libva (package (name "libva") - (version "2.8.0") + (version "2.9.0") (source (origin (method url-fetch) @@ -1334,7 +1334,7 @@ libebml is a C++ library to read and write EBML files.") (string-append "https://www.freedesktop.org/software/vaapi/releases/" "libva/libva-" version "/libva-" version ".tar.bz2"))) (sha256 - (base32 "1hqy9pnz5jh3dz5r59358n9p2vfy8aj59wpwrj4qz43qs9215fxd")))) + (base32 "0jsq6ia3fzyzvq7lxsrn4a8kn2kx4z3v777xkxn6k4ny5lww2i73")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) -- cgit v1.2.3 From aff80b33ce06cd3c3b76fb7fc93b8b515314b3a5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 11 Oct 2020 16:40:58 +0200 Subject: gnu: libxkbcommon: Update to 1.0.1. * gnu/packages/xdisorg.scm (libxkbcommon): Update to 1.0.1. --- gnu/packages/xdisorg.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 7044b65eec..9235cb4a83 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -324,18 +324,19 @@ avoiding password prompts when X11 forwarding has already been setup.") (define-public libxkbcommon (package (name "libxkbcommon") - (version "0.10.0") + (version "1.0.1") (source (origin (method url-fetch) (uri (string-append "https://xkbcommon.org/download/libxkbcommon-" version ".tar.xz")) (sha256 (base32 - "1wmnl0hngn6vrqrya4r8hvimlkr4jag39yjprls4gyrqvh667hsp")))) + "13bcdf2xpjxwbghas0cr448z89qqki2ssgfgswc257y9859v4s5b")))) (build-system meson-build-system) (inputs `(("libx11" ,libx11) ("libxcb" ,libxcb) + ("libxml2" ,libxml2) ("wayland" ,wayland) ("wayland-protocols" ,wayland-protocols) ("xkeyboard-config" ,xkeyboard-config))) -- cgit v1.2.3 From f195914cc729a5295e9cbf98eff675a856368b65 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 11 Oct 2020 16:41:25 +0200 Subject: gnu: xkeyboard-config: Update to 2.31. * gnu/packages/xorg.scm (xkeyboard-config): Update to 2.31. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index be6e32a61e..6faf7a5698 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4021,7 +4021,7 @@ extension to the X11 protocol. It includes: (define-public xkeyboard-config (package (name "xkeyboard-config") - (version "2.30") + (version "2.31") (source (origin (method url-fetch) @@ -4031,7 +4031,7 @@ extension to the X11 protocol. It includes: ".tar.bz2")) (sha256 (base32 - "1m4pnzlcdl6d1p7hdccpi0605zkikind00kjc5bx4gk3gd7m4nh9")))) + "18xddaxh83zm698syh50w983jg6b7b8zgv0dfaf7ha485hgihi6s")))) (build-system gnu-build-system) (inputs `(("libx11" ,libx11) -- cgit v1.2.3 From 8008ef29f2f13d998e82bbc5bb66f8489321ae85 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 11 Oct 2020 16:41:52 +0200 Subject: gnu: xorg-server: Remove graft for 1.20.9. * gnu/packages/xorg.scm (xorg-server): Update to 1.20.9. [replacement]: Remove. (xorg-server/fixed): Remove variable. --- gnu/packages/xorg.scm | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 6faf7a5698..31f6c03e1f 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5309,8 +5309,7 @@ over Xlib, including: (define-public xorg-server (package (name "xorg-server") - (version "1.20.8") - (replacement xorg-server/fixed) + (version "1.20.9") (source (origin (method url-fetch) @@ -5318,7 +5317,7 @@ over Xlib, including: "xorg-server-" version ".tar.bz2")) (sha256 (base32 - "0ih15m7gh1z1ly6z7g82bkni719yisqmbk61a1wgp82bxrmn8yyi")) + "0w9mrnffvjgmwi50kln15i8rpdskxv97r78l75wlcmg4vzhg46g2")) (patches (list ;; See: @@ -5434,19 +5433,6 @@ communicates with the user via graphical controls such as buttons and draggable titlebars and borders.") (license license:x11))) -(define xorg-server/fixed ; security fixes - (package - (inherit xorg-server) - (version "1.20.9") - (source - (origin - (inherit (package-source xorg-server)) - (uri (string-append "mirror://xorg/individual/xserver/" - "xorg-server-" version ".tar.bz2")) - (sha256 - (base32 - "0w9mrnffvjgmwi50kln15i8rpdskxv97r78l75wlcmg4vzhg46g2")))))) - ;; This package is intended to be used when building GTK+. ;; Note: It's currently marked as "hidden" to avoid having two non-eq? ;; packages with the same name and version. -- cgit v1.2.3 From 0caf236b3b5c9b19ee8709865ae7df9c59e7fe9b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 11 Oct 2020 16:44:00 +0200 Subject: gnu: libcyaml: Fix build with libyaml 0.2.5. * gnu/packages/patches/libcyaml-libyaml-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/web.scm (libcyaml)[source](patches): New field. --- gnu/local.mk | 1 + gnu/packages/patches/libcyaml-libyaml-compat.patch | 51 ++++++++++++++++++++++ gnu/packages/web.scm | 1 + 3 files changed, 53 insertions(+) create mode 100644 gnu/packages/patches/libcyaml-libyaml-compat.patch diff --git a/gnu/local.mk b/gnu/local.mk index 72144bbf33..396c0adf5d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1230,6 +1230,7 @@ dist_patch_DATA = \ %D%/packages/patches/libbonobo-activation-test-race.patch \ %D%/packages/patches/libcanberra-sound-theme-freedesktop.patch \ %D%/packages/patches/libcanberra-wayland-crash.patch \ + %D%/packages/patches/libcyaml-libyaml-compat.patch \ %D%/packages/patches/libgeotiff-adapt-test-script-for-proj-6.2.patch \ %D%/packages/patches/libgit2-mtime-0.patch \ %D%/packages/patches/libgnome-encoding.patch \ diff --git a/gnu/packages/patches/libcyaml-libyaml-compat.patch b/gnu/packages/patches/libcyaml-libyaml-compat.patch new file mode 100644 index 0000000000..dcb8cb51b8 --- /dev/null +++ b/gnu/packages/patches/libcyaml-libyaml-compat.patch @@ -0,0 +1,51 @@ +Fix build against libyaml 0.2.5. + +Taken from upstream: +https://github.com/tlsa/libcyaml/commit/0e947264b947f51f7ea785068637c4bfce5d4171 + +diff --git a/test/units/save.c b/test/units/save.c +--- a/test/units/save.c ++++ b/test/units/save.c +@@ -3476,7 +3476,7 @@ static bool test_save_sequence_null_values_int( + ttest_report_ctx_t *report, + const cyaml_config_t *config) + { +- static const unsigned char ref[] = ++ static const unsigned char ref1[] = + "---\n" + "- 7\n" + "- 6\n" +@@ -3487,6 +3487,18 @@ static bool test_save_sequence_null_values_int( + "- \n" + "- 0\n" + "...\n"; ++ /* As of libyaml 0.2.5, trailing spaces are not emitted. */ ++ static const unsigned char ref2[] = ++ "---\n" ++ "- 7\n" ++ "- 6\n" ++ "- 5\n" ++ "-\n" ++ "- 3\n" ++ "- 2\n" ++ "-\n" ++ "- 0\n" ++ "...\n"; + static const int d[] = { 7, 6, 5, 4, 3, 2, 1, 0 }; + static const int *data[] = { d + 0, d + 1, d + 2, NULL, + d + 4, d + 5, NULL, d + 7, }; +@@ -3515,11 +3527,12 @@ static bool test_save_sequence_null_values_int( + return ttest_fail(&tc, cyaml_strerror(err)); + } + +- if (len != YAML_LEN(ref) || memcmp(ref, buffer, len) != 0) { ++ if ((len != YAML_LEN(ref1) || memcmp(ref1, buffer, len) != 0) && ++ (len != YAML_LEN(ref2) || memcmp(ref2, buffer, len) != 0)) { + return ttest_fail(&tc, "Bad data:\n" + "EXPECTED (%zu):\n\n%.*s\n\n" + "GOT (%zu):\n\n%.*s\n", +- YAML_LEN(ref), YAML_LEN(ref), ref, ++ YAML_LEN(ref1), YAML_LEN(ref1), ref1, + len, len, buffer); + } + diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index ced6dc2eee..0229a8c6f4 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -5081,6 +5081,7 @@ written in C. It is developed as part of the NetSurf project.") (url "https://github.com/tlsa/libcyaml") (commit (string-append "v" version)))) (file-name (git-file-name name version)) + (patches (search-patches "libcyaml-yaml-compat.patch")) (sha256 (base32 "0428p0rwq71nhh5nzcbapsbrjxa0x5l6h6ns32nxv7j624f0zd93")))) (build-system gnu-build-system) -- cgit v1.2.3 From bb7c3d5aa3fceb08b0cc6403908bf8731d163745 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 11 Oct 2020 16:46:19 +0200 Subject: gnu: gstreamer: Update to 1.18.0. * gnu/packages/patches/python-gst-fix-build-with-python-3.8.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/gstreamer.scm (gstreamer-docs): New public variable. (gstreamer): Update to 1.18.0. [outputs]: Remove. [arguments]: Remove 'move-docs' phase. [native-inputs]: Remove GTK-DOC. (gst-plugins-base): Update to 1.18.0. [arguments]: Remove "-Ddoc=false" from #:configure-flags. (gst-plugins-good, gst-plugins-ugly): Update to 1.18.0. [arguments]: Remove 'patch-docbook-xml' phase. [native-inputs]: Remove DOCBOOK-XML-4.1.2. (gst-plugins-bad): Update to 1.18.0. [arguments]: Add workarounds for known test failures. [native-inputs]: Add GST-PLUGINS-GOOD. (gst-libav): Update to 1.18.0. [source](snippet): Remove. [arguments]: Remove 'patch-docbook-xml' phase. [native-inputs]: Remove DOCBOOK-XML-4.1.2. (gst-editing-services): Update to 1.18.0. [source](uri): Adjust. (python-gst): Update to 1.18.0. [source](patches): Remove. --- gnu/local.mk | 1 - gnu/packages/gstreamer.scm | 180 +++++++++++---------- .../python-gst-fix-build-with-python-3.8.patch | 36 ----- 3 files changed, 92 insertions(+), 125 deletions(-) delete mode 100644 gnu/packages/patches/python-gst-fix-build-with-python-3.8.patch diff --git a/gnu/local.mk b/gnu/local.mk index 396c0adf5d..d490613064 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1496,7 +1496,6 @@ dist_patch_DATA = \ %D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \ %D%/packages/patches/python-configobj-setuptools.patch \ %D%/packages/patches/python-flask-restful-werkzeug-compat.patch \ - %D%/packages/patches/python-gst-fix-build-with-python-3.8.patch \ %D%/packages/patches/python-keras-integration-test.patch \ %D%/packages/patches/python-pep8-stdlib-tokenize-compat.patch \ %D%/packages/patches/python-pyfakefs-remove-bad-test.patch \ diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 01474e29a7..0ab93e3a65 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -33,6 +33,7 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system meson) + #:use-module (guix build-system trivial) #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages audio) @@ -42,7 +43,6 @@ #:use-module (gnu packages cdrom) #:use-module (gnu packages curl) #:use-module (gnu packages compression) - #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) #:use-module (gnu packages elf) #:use-module (gnu packages flex) @@ -394,6 +394,58 @@ arrays of data.") ;; under the 3-clause BSD license, the rest is under 2-clause BSD license. (license (list license:bsd-2 license:bsd-3)))) +(define-public gstreamer-docs + (package + (name "gstreamer-docs") + (version "1.18.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://gstreamer.freedesktop.org/src/gstreamer-docs" + "/gstreamer-docs-" version ".tar.xz")) + (sha256 + (base32 + "0x6ix6dj3ndc1y133xidb21a4bamdfjh88mxxxld05d78wd1ayda")))) + (build-system trivial-build-system) + (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")) + (xz (assoc-ref %build-inputs "xz")) + (out (assoc-ref %outputs "out")) + (books (string-append out "/share/devhelp/books"))) + (setenv "PATH" (string-append xz "/bin")) + (mkdir-p books) + (with-directory-excursion books + (invoke (string-append tar "/bin/tar") "-xvf" source + "--strip-components=3" + (string-append ,name "-" ,version + "/devhelp/books/GStreamer"))) + #t)))) + (native-inputs + `(("tar" ,tar) + ("xz" ,xz))) + (home-page "https://gstreamer.freedesktop.org/") + (synopsis "Developer documentation for GStreamer") + (description + "This package contains manuals, tutorials, and API reference for +the GStreamer multimedia framework.") + ;; The documentation is covered by multiple licenses. Anything not + ;; explicitly mentioned below is LGPL2.1+. See README.md for details. + (license (list + ;; The tutorial code can be used with either of these licenses, + ;; at the users option. + license:lgpl2.1+ license:bsd-2 license:expat + ;; The developer manual and plugin writer guide carries + ;; the Open Publication License v1.0. + (license:fsf-free "https://opencontent.org/openpub/" + "The Open Publication License v1.0") + ;; Tutorials are covered by CC-BY-SA 4.0. + license:cc-by-sa4.0)))) + ;; Increase the test timeouts to accommodate slow or busy machines. (define %common-gstreamer-phases '((add-after 'unpack 'increase-test-timeout @@ -408,7 +460,7 @@ arrays of data.") (define-public gstreamer (package (name "gstreamer") - (version "1.16.2") + (version "1.18.0") (source (origin (method url-fetch) @@ -417,9 +469,8 @@ arrays of data.") version ".tar.xz")) (sha256 (base32 - "0kp93622y29pck8asvil1fmzf55s2gx76wv475a6izc3cwj49w73")))) + "01bq1k0gj603zyhq975zl09q4zla12mxqvhmk9fyn2kcn12r5w0g")))) (build-system meson-build-system) - (outputs '("out" "doc")) (arguments `(#:phases (modify-phases %standard-phases @@ -437,23 +488,13 @@ arrays of data.") (("tcase_add_test \\(tc_chain, test_stress_reschedule.*") "")) #t))) - '()) - (add-after 'install 'move-docs - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (doc (assoc-ref outputs "doc"))) - (mkdir-p (string-append doc "/share")) - (copy-recursively (string-append out "/share/gtk-doc") - (string-append doc "/share/gtk-doc")) - (delete-file-recursively (string-append out "/share/gtk-doc")) - #t)))))) + '())))) (propagated-inputs `(("glib" ,glib))) ; required by gstreamer-1.0.pc. (native-inputs `(("bison" ,bison) ("flex" ,flex) ("glib" ,glib "bin") ("gobject-introspection" ,gobject-introspection) - ("gtk-doc" ,gtk-doc) ("perl" ,perl) ("pkg-config" ,pkg-config) ("python-wrapper" ,python-wrapper))) @@ -479,7 +520,7 @@ This package provides the core library and elements.") (define-public gst-plugins-base (package (name "gst-plugins-base") - (version "1.16.2") + (version "1.18.0") (source (origin (method url-fetch) @@ -487,7 +528,7 @@ This package provides the core library and elements.") name "-" version ".tar.xz")) (sha256 (base32 - "0sl1hxlyq46r02k7z70v09vx1gi4rcypqmzra9jid93lzvi76gmi")))) + "15vqvcy842vhbic3w7l4yvannzazdgwggzv2x8f9m02hm78vsakn")))) (build-system meson-build-system) (propagated-inputs `(("glib" ,glib) ;required by gstreamer-sdp-1.0.pc @@ -522,10 +563,7 @@ This package provides the core library and elements.") ("gobject-introspection" ,gobject-introspection) ("python-wrapper" ,python-wrapper))) (arguments - `(#:configure-flags '("-Dgl=disabled" - ;; FIXME: Documentation fails to build without - ;; enabling GL above, which causes other problems. - "-Ddoc=false") + `(#:configure-flags '("-Dgl=disabled") #:phases (modify-phases %standard-phases ,@%common-gstreamer-phases @@ -544,7 +582,7 @@ for the GStreamer multimedia library.") (define-public gst-plugins-good (package (name "gst-plugins-good") - (version "1.16.2") + (version "1.18.0") (source (origin (method url-fetch) @@ -553,22 +591,13 @@ for the GStreamer multimedia library.") "https://gstreamer.freedesktop.org/src/" name "/" name "-" version ".tar.xz")) (sha256 - (base32 "068k3cbv1yf3gbllfdzqsg263kzwh21y8dpwr0wvgh15vapkpfs0")))) + (base32 "1b4b3a6fm2wyqpnx300pg1sz01m9qhfajadk3b7sbzisg8vvqab3")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-docbook-xml - (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "docs" - (substitute* "plugins/gst-plugins-good-plugins-docs.sgml" - (("http://www.oasis-open.org/docbook/xml/4.1.2/") - (string-append (assoc-ref inputs "docbook-xml") - "/xml/dtd/docbook/")))) - #t)) - (add-before - 'check 'pre-check + (add-before 'check 'pre-check (lambda _ ;; Tests require a running X server. (system "Xvfb :1 +extension GLX &") @@ -581,8 +610,7 @@ for the GStreamer multimedia library.") (setenv "DBUS_FATAL_WARNINGS" "0") #t))))) (native-inputs - `(("docbook-xml" ,docbook-xml-4.1.2) - ("gettext" ,gettext-minimal) + `(("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) @@ -643,14 +671,14 @@ model to base your own plug-in on, here it is.") (define-public gst-plugins-bad (package (name "gst-plugins-bad") - (version "1.16.2") + (version "1.18.0") (source (origin (method url-fetch) (uri (string-append "https://gstreamer.freedesktop.org/src/" name "/" name "-" version ".tar.xz")) (sha256 (base32 - "0x0y0hm0ga3zqi5q4090hw5sjh59y1ry9ak16qsaascm72i7mjzi")))) + "0pqqq5bs9fjwcmbwgsgxs2dx6gznhxs7ii5pmjkslr6xmlfap0pk")))) (build-system meson-build-system) (arguments `(#:phases @@ -667,20 +695,26 @@ model to base your own plug-in on, here it is.") "")) #t))) '()) - (add-after 'unpack 'disable-failing-test - (lambda _ - ;; FIXME: Why is this failing. - (substitute* "tests/check/meson.build" - ((".*elements/dash_mpd\\.c.*") - "")) - #t))))) + (add-after 'unpack 'adjust-tests + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (let ((gst-plugins-good (assoc-ref (or native-inputs inputs) + "gst-plugins-good"))) + (substitute* "tests/check/meson.build" + ;; Make gst-plugin-good available for tests, see + ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1426 + (("'GST_PLUGIN_SYSTEM_PATH_1_0', ''") + (string-append "'GST_PLUGIN_SYSTEM_PATH_1_0', '" + gst-plugins-good "/lib/gstreamer-1.0'")) + ;; This test occasionally times out, see + ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1412 + ((".*elements/dtls\\.c.*") "")) + #t)))))) (propagated-inputs `(("gst-plugins-base" ,gst-plugins-base))) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc. ("gobject-introspection" ,gobject-introspection) - ;; TODO: Enable documentation for 1.18. - ;;("gtk-doc" ,gtk-doc) + ("gst-plugins-good" ,gst-plugins-good) ;for tests ("pkg-config" ,pkg-config) ("python" ,python))) (inputs @@ -737,7 +771,7 @@ par compared to the rest.") (define-public gst-plugins-ugly (package (name "gst-plugins-ugly") - (version "1.16.2") + (version "1.18.0") (source (origin (method url-fetch) @@ -745,22 +779,13 @@ par compared to the rest.") (string-append "https://gstreamer.freedesktop.org/src/" name "/" name "-" version ".tar.xz")) (sha256 - (base32 "1jpvc32x6q01zjkfgh6gmq6aaikiyfwwnhj7bmvn52syhrdl202m")))) + (base32 "10p0nyzighvkciaspxnhlr7d7n4acrv96lf483i8l988bvj48rk8")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-docbook-xml - (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "docs" - (substitute* "plugins/gst-plugins-ugly-plugins-docs.sgml" - (("http://www.oasis-open.org/docbook/xml/4.1.2/") - (string-append (assoc-ref inputs "docbook-xml") - "/xml/dtd/docbook/")))) - #t)) - (add-before - 'check 'pre-check + (add-before 'check 'pre-check (lambda _ ;; Tests require a running X server. (system "Xvfb :1 +extension GLX &") @@ -773,8 +798,7 @@ par compared to the rest.") (setenv "DBUS_FATAL_WARNINGS" "0") #t))))) (native-inputs - `(("docbook-xml" ,docbook-xml-4.1.2) - ("gettext" ,gettext-minimal) + `(("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) @@ -805,7 +829,7 @@ think twice about shipping them.") (define-public gst-libav (package (name "gst-libav") - (version "1.16.2") + (version "1.18.0") (source (origin (method url-fetch) @@ -814,28 +838,10 @@ think twice about shipping them.") "https://gstreamer.freedesktop.org/src/" name "/" name "-" version ".tar.xz")) (sha256 - (base32 "1wpfilc98bad9nsv3y1qapxp35dvn2mvwvrmqwrsj58cf09gc967")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Drop bundled ffmpeg. - (delete-file-recursively "gst-libs/ext/libav") - #t)))) + (base32 "0sm0sfdlalimpkf7a7rk7whvyvmmfi2kly2z3q2j5z53x5f3zya2")))) (build-system meson-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-docbook-xml - (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "docs" - (substitute* "plugins/gst-libav-plugins-docs.sgml" - (("http://www.oasis-open.org/docbook/xml/4.1.2/") - (string-append (assoc-ref inputs "docbook-xml") - "/xml/dtd/docbook/")))) - #t))))) (native-inputs - `(("docbook-xml" ,docbook-xml-4.1.2) - ("perl" ,perl) + `(("perl" ,perl) ("pkg-config" ,pkg-config) ("python" ,python-wrapper) ("ruby" ,ruby))) @@ -853,15 +859,15 @@ decoders, muxers, and demuxers provided by FFmpeg.") (define-public gst-editing-services (package (name "gst-editing-services") - (version "1.16.2") + (version "1.18.0") (source (origin (method url-fetch) (uri (string-append "https://gstreamer.freedesktop.org/src/" name "/" - "gstreamer-editing-services-" version ".tar.xz")) + "gst-editing-services-" version ".tar.xz")) (sha256 (base32 - "05hcf3prna8ajjnqd53221gj9syarrrjbgvjcbhicv0c38csc1hf")))) + "1a00f07v0yjqz1hydhgkjjarm4rk99yjicbz5wkfl5alhzag1bjd")))) (build-system meson-build-system) (arguments ;; FIXME: 16/22 failing tests. @@ -888,7 +894,7 @@ non-linear editors.") (define-public python-gst (package (name "python-gst") - (version "1.16.2") + (version "1.18.0") (source (origin (method url-fetch) (uri (string-append @@ -896,9 +902,7 @@ non-linear editors.") "gst-python-" version ".tar.xz")) (sha256 (base32 - "1a48ca66izmm8hnp608jv5isg3jxb0vlfmhns0bg9nbkilag7390")) - (patches - (search-patches "python-gst-fix-build-with-python-3.8.patch")))) + "0ifx2s2j24sj2w5jm7cxyg1kinnhbxiz4x0qp3gnsjlwbawfigvn")))) (build-system meson-build-system) (arguments `(#:modules ((guix build meson-build-system) diff --git a/gnu/packages/patches/python-gst-fix-build-with-python-3.8.patch b/gnu/packages/patches/python-gst-fix-build-with-python-3.8.patch deleted file mode 100644 index affa0e1317..0000000000 --- a/gnu/packages/patches/python-gst-fix-build-with-python-3.8.patch +++ /dev/null @@ -1,36 +0,0 @@ -Fix build with Python 3.8 by also checking for python-3.X-embed.pc. Since -Python 3.8 the normal checks don't include the Python libraries anymore and -linking of the gst-python module would fail. - -See also https://github.com/mesonbuild/meson/issues/5629 -Fixes https://gitlab.freedesktop.org/gstreamer/gst-python/issues/28 - -Patch based on upstream commit: - -https://gitlab.freedesktop.org/gstreamer/gst-python/-/commit/10707f437f2fc3632067c6a0efa4432f7ebaf362 - -diff --git a/meson.build b/meson.build -index 5f13b48..d7c7e66 100644 ---- a/meson.build -+++ b/meson.build -@@ -23,7 +23,17 @@ pygobject_dep = dependency('pygobject-3.0', fallback: ['pygobject', 'pygobject_d - - pymod = import('python') - python = pymod.find_installation(get_option('python')) --python_dep = python.dependency(required : true) -+pythonver = python.language_version() -+if pythonver.version_compare('<3.0') -+ error('Python2 is not supported anymore, please port your code to python3 (@0@ specified)'.format(python.language_version())) -+endif -+ -+# Workaround for https://github.com/mesonbuild/meson/issues/5629 -+# https://gitlab.freedesktop.org/gstreamer/gst-python/issues/28 -+python_dep = dependency('python-@0@-embed'.format(pythonver), version: '>=3', required: false) -+if not python_dep.found() -+ python_dep = python.dependency(required : true) -+endif - - python_abi_flags = python.get_variable('ABIFLAGS', '') - pylib_loc = get_option('libpython-dir') --- -2.26.2 -- cgit v1.2.3 From 9e1f5a263e4f6df4d075901c9b58a56f80c8b452 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 11 Oct 2020 16:56:36 +0200 Subject: gnu: libcap: Make 'libcap/next' the default libcap. * gnu/packages/avahi.scm (avahi)[inputs]: Refer to LIBCAP-2.31 instead of LIBCAP. * gnu/packages/base.scm (coreutils)[inputs]: Likewise. * gnu/packages/linux.scm (libcap): Rename to ... (libcap-2.31): ... this. (libcap/next): Rename to ... (libcap): ... this. (libcap/next): Define as deprecated alias for LIBCAP. (fakeroot)[inputs]: Change from LIBCAP/NEXT to LIBCAP. * gnu/packages/ntp.scm (chrony, ntp)[inputs]: Likewise. --- gnu/packages/avahi.scm | 2 +- gnu/packages/base.scm | 2 +- gnu/packages/linux.scm | 15 ++++++++++----- gnu/packages/ntp.scm | 4 ++-- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm index 602f9d7997..b2aeeadf47 100644 --- a/gnu/packages/avahi.scm +++ b/gnu/packages/avahi.scm @@ -74,7 +74,7 @@ ("expat" ,expat) ("gdbm" ,gdbm) ("glib" ,glib) - ("libcap" ,libcap) ;to enable chroot support in avahi-daemon + ("libcap" ,libcap-2.31) ;to enable chroot support in avahi-daemon ("libdaemon" ,libdaemon) ("libevent" ,libevent))) (native-inputs diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 1005899490..e8f7bb5f9c 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -324,7 +324,7 @@ used to apply commands with arbitrarily long arguments.") ,@(if (and (not (%current-target-system)) (member (%current-system) (package-supported-systems libcap))) - `(("libcap" ,libcap)) ;capability support in 'ls', etc. + `(("libcap" ,libcap-2.31)) ;capability support in 'ls', etc. '()))) (native-inputs ;; Perl is needed to run tests in native builds, and to run the bundled diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index a1a482f290..293b873fc2 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -157,6 +157,7 @@ #:use-module (guix store) #:use-module (guix monads) #:use-module (guix utils) + #:use-module (guix deprecation) ;for libcap/next #:use-module (srfi srfi-1) #:use-module (srfi srfi-2) #:use-module (srfi srfi-26) @@ -2404,7 +2405,7 @@ network hardware types (plipconfig, slattach) and advanced aspects of IP configuration (iptunnel, ipmaddr).") (license license:gpl2+)))) -(define-public libcap +(define-public libcap-2.31 (package (name "libcap") (version "2.31") @@ -2443,11 +2444,12 @@ Linux-based operating systems.") ;; License is BSD-3 or GPLv2, at the user's choice. (license license:gpl2))) -;; libcap 2.31 causes problems for 'fakeroot', so provide this newer variant. +;; libcap 2.31 has problems with newer kernels, so provide this newer variant. +;; Keep the old libcap around to avoid rebuilding 'coreutils' and 'avahi'. ;; To be merged with libcap on the next rebuild cycle. -(define-public libcap/next +(define-public libcap (package - (inherit libcap) + (inherit libcap-2.31) (version "2.34") (source (origin (method url-fetch) @@ -2458,6 +2460,9 @@ Linux-based operating systems.") (base32 "048n1gy2p48vl9hkrr9wymfxxcpwj2aslz2bv79nhl4m2lhd9kdf")))))) +(define-deprecated libcap/next libcap) +(export libcap/next) + (define-public bridge-utils (package (name "bridge-utils") @@ -7076,7 +7081,7 @@ the superuser to make device nodes.") ("xz" ,xz))) (inputs `(("acl" ,acl) - ("libcap" ,libcap/next) + ("libcap" ,libcap) ("util-linux" ,util-linux) ("sed" ,sed) ("coreutils" ,coreutils))) diff --git a/gnu/packages/ntp.scm b/gnu/packages/ntp.scm index 2372c6138b..95d784c62a 100644 --- a/gnu/packages/ntp.scm +++ b/gnu/packages/ntp.scm @@ -81,7 +81,7 @@ `(("pkg-config" ,pkg-config))) (inputs `(("gnutls" ,gnutls) - ("libcap" ,libcap/next) + ("libcap" ,libcap) ("libseccomp" ,libseccomp) ("nettle" ,nettle))) (home-page "https://chrony.tuxfamily.org/") @@ -144,7 +144,7 @@ time-stamping or reference clock, sub-microsecond accuracy is possible.") ;; to run as non-root (when invoked with '-u'.) ,@(if (string-suffix? "-linux" (or (%current-target-system) (%current-system))) - `(("libcap" ,libcap/next)) + `(("libcap" ,libcap)) '()))) (arguments `(#:phases -- cgit v1.2.3 From 5e5b664bf7434e0ecbacd6f52c5da38654c76fd9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 11 Oct 2020 17:08:45 +0200 Subject: gnu: libcap: Update to 2.44. * gnu/packages/linux.scm (libcap): Update to 2.44. [arguments]: New field. --- gnu/packages/linux.scm | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 293b873fc2..c9f7af0a8e 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2450,7 +2450,7 @@ Linux-based operating systems.") (define-public libcap (package (inherit libcap-2.31) - (version "2.34") + (version "2.44") (source (origin (method url-fetch) (uri (string-append @@ -2458,7 +2458,19 @@ Linux-based operating systems.") "libcap2/libcap-" version ".tar.xz")) (sha256 (base32 - "048n1gy2p48vl9hkrr9wymfxxcpwj2aslz2bv79nhl4m2lhd9kdf")))))) + "1qf80lifygbnxwvqjf8jz5j24n6fqqx4ixnkbf76xs2vrmcq664j")))) + (arguments + (substitute-keyword-arguments (package-arguments libcap-2.31) + ((#:phases phases) + `(modify-phases ,phases + (replace 'configure + (lambda _ + ;; Add $libdir to the RUNPATH of executables. + (substitute* "Make.Rules" + (("LDFLAGS \\?= #-g") + (string-append "LDFLAGS ?= -Wl,-rpath=" + %output "/lib"))) + #t)))))))) (define-deprecated libcap/next libcap) (export libcap/next) -- cgit v1.2.3 From 171c1f5ab339502e50caf0cdf56e89342aef661e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 11 Oct 2020 22:22:37 +0200 Subject: gnu: libsndfile: Remove graft for 1.0.30. * gnu/packages/patches/libsndfile-CVE-2017-12562.patch, gnu/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch, gnu/packages/patches/libsndfile-CVE-2017-8362.patch, gnu/packages/patches/libsndfile-armhf-type-checks.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/pulseaudio.scm (libsndfile): Update to 1.0.30. [replacement]: Remove. [source](uri): Adjust for new URL. [source](patches): Remove. [source](modules, snippet): Incorporate from LIBSNDFILE-1.0.30. [native-inputs]: Add PYTHON. (libsndfile-1.0.30): Remove variable. --- gnu/local.mk | 4 - .../patches/libsndfile-CVE-2017-12562.patch | 97 ---------------------- .../libsndfile-CVE-2017-8361-8363-8365.patch | 77 ----------------- .../patches/libsndfile-CVE-2017-8362.patch | 61 -------------- .../patches/libsndfile-armhf-type-checks.patch | 42 ---------- gnu/packages/pulseaudio.scm | 62 +++++--------- 6 files changed, 21 insertions(+), 322 deletions(-) delete mode 100644 gnu/packages/patches/libsndfile-CVE-2017-12562.patch delete mode 100644 gnu/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch delete mode 100644 gnu/packages/patches/libsndfile-CVE-2017-8362.patch delete mode 100644 gnu/packages/patches/libsndfile-armhf-type-checks.patch diff --git a/gnu/local.mk b/gnu/local.mk index d490613064..8351e7a62e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1254,10 +1254,6 @@ dist_patch_DATA = \ %D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \ %D%/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch \ %D%/packages/patches/libquicktime-ffmpeg.patch \ - %D%/packages/patches/libsndfile-armhf-type-checks.patch \ - %D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch \ - %D%/packages/patches/libsndfile-CVE-2017-8362.patch \ - %D%/packages/patches/libsndfile-CVE-2017-12562.patch \ %D%/packages/patches/libtar-CVE-2013-4420.patch \ %D%/packages/patches/libtgvoip-disable-sse2.patch \ %D%/packages/patches/libtgvoip-disable-webrtc.patch \ diff --git a/gnu/packages/patches/libsndfile-CVE-2017-12562.patch b/gnu/packages/patches/libsndfile-CVE-2017-12562.patch deleted file mode 100644 index 58cb242b10..0000000000 --- a/gnu/packages/patches/libsndfile-CVE-2017-12562.patch +++ /dev/null @@ -1,97 +0,0 @@ -Fix CVE-2017-12562: - -https://github.com/erikd/libsndfile/issues/292 -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12562 - -Patch copied from upstream source repository: - -https://github.com/erikd/libsndfile/commit/cf7a8182c2642c50f1cf90dddea9ce96a8bad2e8 - -From cf7a8182c2642c50f1cf90dddea9ce96a8bad2e8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rn=20Heusipp?= -Date: Wed, 14 Jun 2017 12:25:40 +0200 -Subject: [PATCH] src/common.c: Fix heap buffer overflows when writing strings - in binheader - -Fixes the following problems: - 1. Case 's' only enlarges the buffer by 16 bytes instead of size bytes. - 2. psf_binheader_writef() enlarges the header buffer (if needed) prior to the - big switch statement by an amount (16 bytes) which is enough for all cases - where only a single value gets added. Cases 's', 'S', 'p' however - additionally write an arbitrary length block of data and again enlarge the - buffer to the required amount. However, the required space calculation does - not take into account the size of the length field which gets output before - the data. - 3. Buffer size requirement calculation in case 'S' does not account for the - padding byte ("size += (size & 1) ;" happens after the calculation which - uses "size"). - 4. Case 'S' can overrun the header buffer by 1 byte when no padding is - involved - ("memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size + 1) ;" while - the buffer is only guaranteed to have "size" space available). - 5. "psf->header.ptr [psf->header.indx] = 0 ;" in case 'S' always writes 1 byte - beyond the space which is guaranteed to be allocated in the header buffer. - 6. Case 's' can overrun the provided source string by 1 byte if padding is - involved ("memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size) ;" - where "size" is "strlen (strptr) + 1" (which includes the 0 terminator, - plus optionally another 1 which is padding and not guaranteed to be - readable via the source string pointer). - -Closes: https://github.com/erikd/libsndfile/issues/292 ---- - src/common.c | 15 +++++++-------- - 1 file changed, 7 insertions(+), 8 deletions(-) - -diff --git a/src/common.c b/src/common.c -index 1a6204ca..6b2a2ee9 100644 ---- a/src/common.c -+++ b/src/common.c -@@ -681,16 +681,16 @@ psf_binheader_writef (SF_PRIVATE *psf, const char *format, ...) - /* Write a C string (guaranteed to have a zero terminator). */ - strptr = va_arg (argptr, char *) ; - size = strlen (strptr) + 1 ; -- size += (size & 1) ; - -- if (psf->header.indx + (sf_count_t) size >= psf->header.len && psf_bump_header_allocation (psf, 16)) -+ if (psf->header.indx + 4 + (sf_count_t) size + (sf_count_t) (size & 1) > psf->header.len && psf_bump_header_allocation (psf, 4 + size + (size & 1))) - return count ; - - if (psf->rwf_endian == SF_ENDIAN_BIG) -- header_put_be_int (psf, size) ; -+ header_put_be_int (psf, size + (size & 1)) ; - else -- header_put_le_int (psf, size) ; -+ header_put_le_int (psf, size + (size & 1)) ; - memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size) ; -+ size += (size & 1) ; - psf->header.indx += size ; - psf->header.ptr [psf->header.indx - 1] = 0 ; - count += 4 + size ; -@@ -703,16 +703,15 @@ psf_binheader_writef (SF_PRIVATE *psf, const char *format, ...) - */ - strptr = va_arg (argptr, char *) ; - size = strlen (strptr) ; -- if (psf->header.indx + (sf_count_t) size > psf->header.len && psf_bump_header_allocation (psf, size)) -+ if (psf->header.indx + 4 + (sf_count_t) size + (sf_count_t) (size & 1) > psf->header.len && psf_bump_header_allocation (psf, 4 + size + (size & 1))) - return count ; - if (psf->rwf_endian == SF_ENDIAN_BIG) - header_put_be_int (psf, size) ; - else - header_put_le_int (psf, size) ; -- memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size + 1) ; -+ memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size + (size & 1)) ; - size += (size & 1) ; - psf->header.indx += size ; -- psf->header.ptr [psf->header.indx] = 0 ; - count += 4 + size ; - break ; - -@@ -724,7 +723,7 @@ psf_binheader_writef (SF_PRIVATE *psf, const char *format, ...) - size = (size & 1) ? size : size + 1 ; - size = (size > 254) ? 254 : size ; - -- if (psf->header.indx + (sf_count_t) size > psf->header.len && psf_bump_header_allocation (psf, size)) -+ if (psf->header.indx + 1 + (sf_count_t) size > psf->header.len && psf_bump_header_allocation (psf, 1 + size)) - return count ; - - header_put_byte (psf, size) ; diff --git a/gnu/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch b/gnu/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch deleted file mode 100644 index 5f63231af0..0000000000 --- a/gnu/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch +++ /dev/null @@ -1,77 +0,0 @@ -Fix CVE-2017-{8361,8363,8365}: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8361 -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8363 -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8365 - -Patch copied from upstream source repository: - -https://github.com/erikd/libsndfile/commit/fd0484aba8e51d16af1e3a880f9b8b857b385eb3 - -From fd0484aba8e51d16af1e3a880f9b8b857b385eb3 Mon Sep 17 00:00:00 2001 -From: Erik de Castro Lopo -Date: Wed, 12 Apr 2017 19:45:30 +1000 -Subject: [PATCH] FLAC: Fix a buffer read overrun - -Buffer read overrun occurs when reading a FLAC file that switches -from 2 channels to one channel mid-stream. Only option is to -abort the read. - -Closes: https://github.com/erikd/libsndfile/issues/230 ---- - src/common.h | 1 + - src/flac.c | 13 +++++++++++++ - src/sndfile.c | 1 + - 3 files changed, 15 insertions(+) - -diff --git a/src/common.h b/src/common.h -index 0bd810c3..e2669b6a 100644 ---- a/src/common.h -+++ b/src/common.h -@@ -725,6 +725,7 @@ enum - SFE_FLAC_INIT_DECODER, - SFE_FLAC_LOST_SYNC, - SFE_FLAC_BAD_SAMPLE_RATE, -+ SFE_FLAC_CHANNEL_COUNT_CHANGED, - SFE_FLAC_UNKOWN_ERROR, - - SFE_WVE_NOT_WVE, -diff --git a/src/flac.c b/src/flac.c -index 84de0e26..986a7b8f 100644 ---- a/src/flac.c -+++ b/src/flac.c -@@ -434,6 +434,19 @@ sf_flac_meta_callback (const FLAC__StreamDecoder * UNUSED (decoder), const FLAC_ - - switch (metadata->type) - { case FLAC__METADATA_TYPE_STREAMINFO : -+ if (psf->sf.channels > 0 && psf->sf.channels != (int) metadata->data.stream_info.channels) -+ { psf_log_printf (psf, "Error: FLAC stream changed from %d to %d channels\n" -+ "Nothing to be but to error out.\n" , -+ psf->sf.channels, metadata->data.stream_info.channels) ; -+ psf->error = SFE_FLAC_CHANNEL_COUNT_CHANGED ; -+ return ; -+ } ; -+ -+ if (psf->sf.channels > 0 && psf->sf.samplerate != (int) metadata->data.stream_info.sample_rate) -+ { psf_log_printf (psf, "Warning: FLAC stream changed sample rates from %d to %d.\n" -+ "Carrying on as if nothing happened.", -+ psf->sf.samplerate, metadata->data.stream_info.sample_rate) ; -+ } ; - psf->sf.channels = metadata->data.stream_info.channels ; - psf->sf.samplerate = metadata->data.stream_info.sample_rate ; - psf->sf.frames = metadata->data.stream_info.total_samples ; -diff --git a/src/sndfile.c b/src/sndfile.c -index 41875610..e2a87be8 100644 ---- a/src/sndfile.c -+++ b/src/sndfile.c -@@ -245,6 +245,7 @@ ErrorStruct SndfileErrors [] = - { SFE_FLAC_INIT_DECODER , "Error : problem with initialization of the flac decoder." }, - { SFE_FLAC_LOST_SYNC , "Error : flac decoder lost sync." }, - { SFE_FLAC_BAD_SAMPLE_RATE, "Error : flac does not support this sample rate." }, -+ { SFE_FLAC_CHANNEL_COUNT_CHANGED, "Error : flac channel changed mid stream." }, - { SFE_FLAC_UNKOWN_ERROR , "Error : unknown error in flac decoder." }, - - { SFE_WVE_NOT_WVE , "Error : not a WVE file." }, --- -2.12.2 - diff --git a/gnu/packages/patches/libsndfile-CVE-2017-8362.patch b/gnu/packages/patches/libsndfile-CVE-2017-8362.patch deleted file mode 100644 index 5fc52a377a..0000000000 --- a/gnu/packages/patches/libsndfile-CVE-2017-8362.patch +++ /dev/null @@ -1,61 +0,0 @@ -Fix CVE-2017-8362: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8362 - -Patch copied from upstream source repository: - -https://github.com/erikd/libsndfile/commit/ef1dbb2df1c0e741486646de40bd638a9c4cd808 - -From ef1dbb2df1c0e741486646de40bd638a9c4cd808 Mon Sep 17 00:00:00 2001 -From: Erik de Castro Lopo -Date: Fri, 14 Apr 2017 15:19:16 +1000 -Subject: [PATCH] src/flac.c: Fix a buffer read overflow - -A file (generated by a fuzzer) which increased the number of channels -from one frame to the next could cause a read beyond the end of the -buffer provided by libFLAC. Only option is to abort the read. - -Closes: https://github.com/erikd/libsndfile/issues/231 ---- - src/flac.c | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/src/flac.c b/src/flac.c -index 5a4f8c21..e4f9aaa0 100644 ---- a/src/flac.c -+++ b/src/flac.c -@@ -169,6 +169,14 @@ flac_buffer_copy (SF_PRIVATE *psf) - const int32_t* const *buffer = pflac->wbuffer ; - unsigned i = 0, j, offset, channels, len ; - -+ if (psf->sf.channels != (int) frame->header.channels) -+ { psf_log_printf (psf, "Error: FLAC frame changed from %d to %d channels\n" -+ "Nothing to do but to error out.\n" , -+ psf->sf.channels, frame->header.channels) ; -+ psf->error = SFE_FLAC_CHANNEL_COUNT_CHANGED ; -+ return 0 ; -+ } ; -+ - /* - ** frame->header.blocksize is variable and we're using a constant blocksize - ** of FLAC__MAX_BLOCK_SIZE. -@@ -202,7 +210,6 @@ flac_buffer_copy (SF_PRIVATE *psf) - return 0 ; - } ; - -- - len = SF_MIN (pflac->len, frame->header.blocksize) ; - - if (pflac->remain % channels != 0) -@@ -436,7 +443,7 @@ sf_flac_meta_callback (const FLAC__StreamDecoder * UNUSED (decoder), const FLAC_ - { case FLAC__METADATA_TYPE_STREAMINFO : - if (psf->sf.channels > 0 && psf->sf.channels != (int) metadata->data.stream_info.channels) - { psf_log_printf (psf, "Error: FLAC stream changed from %d to %d channels\n" -- "Nothing to be but to error out.\n" , -+ "Nothing to do but to error out.\n" , - psf->sf.channels, metadata->data.stream_info.channels) ; - psf->error = SFE_FLAC_CHANNEL_COUNT_CHANGED ; - return ; --- -2.12.2 - diff --git a/gnu/packages/patches/libsndfile-armhf-type-checks.patch b/gnu/packages/patches/libsndfile-armhf-type-checks.patch deleted file mode 100644 index 7e0c71c3f6..0000000000 --- a/gnu/packages/patches/libsndfile-armhf-type-checks.patch +++ /dev/null @@ -1,42 +0,0 @@ -This is a regression in 1.0.28 that causes a test failure on armhf. - -Upstream bug URL: - -https://github.com/erikd/libsndfile/issues/229 - -Patch copied from upstream source repository: - -https://github.com/erikd/libsndfile/commit/9d470ee5577d3ccedb1c28c7e0a7295ba17feaf5 - -From 9d470ee5577d3ccedb1c28c7e0a7295ba17feaf5 Mon Sep 17 00:00:00 2001 -From: Erik de Castro Lopo -Date: Sun, 16 Apr 2017 17:54:17 +1000 -Subject: [PATCH] src/rf64.c: Fix varargs related bug - -C's functionality isn't type checked so that passing an -`sf_count_t` (64 bits) by mistake in place of a `unit32_t` can cause -errors. This would be fine if it was an error on every architecture -and platform, but its not. This particular problem only manifested -on armhf and some other Arm architectures. It was not an issue on -32 bit x86. - -I have now fixed variants of this same bug several times. - -Closes: https://github.com/erikd/libsndfile/issues/229 ---- - src/rf64.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/rf64.c b/src/rf64.c -index b3d637f..02dd904 100644 ---- a/src/rf64.c -+++ b/src/rf64.c -@@ -742,7 +742,7 @@ rf64_write_header (SF_PRIVATE *psf, int calc_length) - - pad_size = psf->dataoffset - 16 - psf->header.indx ; - if (pad_size >= 0) -- psf_binheader_writef (psf, "m4z", PAD_MARKER, pad_size, make_size_t (pad_size)) ; -+ psf_binheader_writef (psf, "m4z", PAD_MARKER, (unsigned int) pad_size, make_size_t (pad_size)) ; - - if (wpriv->rf64_downgrade && (psf->filelength < RIFF_DOWNGRADE_BYTES)) - psf_binheader_writef (psf, "tm8", data_MARKER, psf->datalength) ; diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index d5c24c264a..d9e9488484 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -71,45 +71,6 @@ (define-public libsndfile (package (name "libsndfile") - (version "1.0.28") - (replacement libsndfile-1.0.30) - (source (origin - (method url-fetch) - (uri (string-append "http://www.mega-nerd.com/libsndfile/files/libsndfile-" - version ".tar.gz")) - (patches (search-patches "libsndfile-armhf-type-checks.patch" - "libsndfile-CVE-2017-8361-8363-8365.patch" - "libsndfile-CVE-2017-8362.patch" - "libsndfile-CVE-2017-12562.patch")) - (sha256 - (base32 - "1afzm7jx34jhqn32clc5xghyjglccam2728yxlx37yj2y0lkkwqz")))) - (build-system gnu-build-system) - (inputs - `(("libvorbis" ,libvorbis) - ("libogg" ,libogg) - ("flac" ,flac))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (home-page "http://www.mega-nerd.com/libsndfile/") - (synopsis "Reading and writing files containing sampled sound") - (description - "Libsndfile is a C library for reading and writing files containing -sampled sound (such as MS Windows WAV and the Apple/SGI AIFF format) through -one standard library interface. - -It was designed to handle both little-endian (such as WAV) and -big-endian (such as AIFF) data, and to compile and run correctly on -little-endian (such as Intel and DEC/Compaq Alpha) processor systems as well -as big-endian processor systems such as Motorola 68k, Power PC, MIPS and -SPARC. Hopefully the design of the library will also make it easy to extend -for reading and writing new sound file formats.") - (license l:gpl2+))) - -;; Replacement package to fix multiple security vulnerabilities. -(define libsndfile-1.0.30 - (package - (inherit libsndfile) (version "1.0.30") (source (origin (method url-fetch) @@ -137,9 +98,28 @@ for reading and writing new sound file formats.") (substitute* "tests/test_wrapper.sh.in" (("^/usr/bin/env") "env")) #t)))) + (build-system gnu-build-system) + (inputs + `(("libvorbis" ,libvorbis) + ("libogg" ,libogg) + ("flac" ,flac))) (native-inputs - `(("python" ,python) - ,@(package-native-inputs libsndfile))))) + `(("pkg-config" ,pkg-config) + ("python" ,python))) + (home-page "http://www.mega-nerd.com/libsndfile/") + (synopsis "Reading and writing files containing sampled sound") + (description + "Libsndfile is a C library for reading and writing files containing +sampled sound (such as MS Windows WAV and the Apple/SGI AIFF format) through +one standard library interface. + +It was designed to handle both little-endian (such as WAV) and +big-endian (such as AIFF) data, and to compile and run correctly on +little-endian (such as Intel and DEC/Compaq Alpha) processor systems as well +as big-endian processor systems such as Motorola 68k, Power PC, MIPS and +SPARC. Hopefully the design of the library will also make it easy to extend +for reading and writing new sound file formats.") + (license l:gpl2+))) (define-public libsamplerate (package -- cgit v1.2.3 From 997abda92b75a1173130f45ea840c390db2b1a23 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 12 Oct 2020 17:23:11 +0200 Subject: gnu: Remove redundant MariaDB inputs. For well-behaved build systems, including the "dev" output suffices. * gnu/packages/bioinformatics.scm (kentutils)[inputs]: Remove MARIADB:LIB. * gnu/packages/cran.scm (r-rmysql)[inputs]: Likewise. * gnu/packages/databases.scm (python-mysqlclient, soci)[inputs]: Likewise. * gnu/packages/qt.scm (qt-4, qtbase): Likewise. * gnu/packages/ruby.scm (ruby-mysql2)[inputs]: Likewise. --- gnu/packages/bioinformatics.scm | 1 - gnu/packages/cran.scm | 3 +-- gnu/packages/databases.scm | 6 ++---- gnu/packages/kodi.scm | 2 +- gnu/packages/qt.scm | 2 -- gnu/packages/ruby.scm | 3 +-- 6 files changed, 5 insertions(+), 12 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index b0edfa8403..0d5e6e3d20 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -11154,7 +11154,6 @@ models. TADbit is complemented by TADkit for visualizing 3D models.") ("tcsh" ,tcsh) ("perl" ,perl) ("libpng" ,libpng) - ("mariadb" ,mariadb "lib") ("mariadb-dev" ,mariadb "dev") ("openssl" ,openssl-1.0))) (home-page "https://genome.cse.ucsc.edu/index.html") diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 59a409f8e9..463e9d4279 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -3327,8 +3327,7 @@ dimensioned arrays.") (properties `((upstream-name . "RMySQL"))) (build-system r-build-system) (inputs - `(("mariadb" ,mariadb "lib") - ("mariadb-dev" ,mariadb "dev") + `(("mariadb-dev" ,mariadb "dev") ("zlib" ,zlib))) (propagated-inputs `(("r-dbi" ,r-dbi))) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 7bce37c3e9..2d4b5cf129 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -2990,8 +2990,7 @@ database).") (build-system python-build-system) (arguments '(#:tests? #f)) ;XXX: requires a live database (inputs - `(("mysql" ,mariadb "lib") - ("mysql-dev" ,mariadb "dev"))) + `(("mysql-dev" ,mariadb "dev"))) (home-page "https://github.com/PyMySQL/mysqlclient-python") (synopsis "MySQLdb is an interface to the popular MySQL database server for Python") (description "MySQLdb is an interface to the popular MySQL database server @@ -3672,8 +3671,7 @@ The drivers officially supported by @code{libdbi} are: ("sqlite" ,sqlite) ("odbc" ,unixodbc) ("boost" ,boost) - ("mariadb:dev" ,mariadb "dev") - ("mariadb:lib" ,mariadb "lib"))) + ("mariadb:dev" ,mariadb "dev"))) (arguments `(#:tests? #f ; Tests may require running database management systems. #:phases diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index 2edf5c0614..9ccdea46ef 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -435,7 +435,7 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.") ("libxrender" ,libxrender) ("libxslt" ,libxslt) ("lzo" ,lzo) - ("mariadb" ,mariadb "lib") + ("mariadb-dev" ,mariadb "lib") ("mariadb-dev" ,mariadb "dev") ("openssl" ,openssl) ("pcre" ,pcre) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index a596ca4ce6..aabbdc308f 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -195,7 +195,6 @@ system, and the core design of Django is reused in Grantlee.") ("libxslt" ,libxslt) ("libxtst" ,libxtst) ("mtdev" ,mtdev) - ("mariadb" ,mariadb "lib") ("mariadb-dev" ,mariadb "dev") ("nss" ,nss) ("postgresql" ,postgresql) @@ -406,7 +405,6 @@ developers using C++ or QML, a CSS & JavaScript like language.") ("libxslt" ,libxslt) ("libxtst" ,libxtst) ("mtdev" ,mtdev) - ("mariadb" ,mariadb "lib") ("mariadb-dev" ,mariadb "dev") ("nss" ,nss) ("openssl" ,openssl) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 7348f29eb1..cd452f88d3 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3795,8 +3795,7 @@ specs for Ruby implementations in ruby/spec.") (invoke "rspec")) #t))))) (inputs - `(("mariadb" ,mariadb "lib") - ("mariadb-dev" ,mariadb "dev") + `(("mariadb-dev" ,mariadb "dev") ("zlib" ,zlib))) (native-inputs `(("ruby-rspec" ,ruby-rspec) -- cgit v1.2.3 From 069ddd9900f50b930684dbb746dc19487d322612 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 13 Oct 2020 17:00:37 +0200 Subject: gnu: BlueZ: Update to 5.55. * gnu/packages/linux.scm (bluez): Update to 5.55. [arguments]: Add "--enable-hid2hci" in #:configure-flags. --- gnu/packages/linux.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index c9f7af0a8e..8ce75004c1 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -4640,7 +4640,7 @@ Bluetooth audio output devices like headphones or loudspeakers.") (define-public bluez (package (name "bluez") - (version "5.54") + (version "5.55") (source (origin (method url-fetch) (uri (string-append @@ -4648,7 +4648,7 @@ Bluetooth audio output devices like headphones or loudspeakers.") version ".tar.xz")) (sha256 (base32 - "1p2ncvjz6alr9n3l5wvq2arqgc7xjs6dqyar1l9jp0z8cfgapkb8")))) + "124v9s4y1s7s6klx5vlmzpk1jlr4x84ch7r7scm7x2f42dqp2qw8")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -4657,6 +4657,8 @@ Bluetooth audio output devices like headphones or loudspeakers.") "--localstatedir=/var" "--enable-library" "--disable-systemd" + ;; TODO: is this needed? Not installed by default since 5.55. + "--enable-hid2hci" ;; Install dbus/udev files to the correct location. (string-append "--with-dbusconfdir=" out "/etc") (string-append "--with-udevdir=" out "/lib/udev"))) -- cgit v1.2.3 From 008487172fc3974748bbe87e795cf4b329e5e801 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 26 Sep 2020 20:15:14 +0200 Subject: gnu: ant/java8: Update to 1.10.8. * gnu/packages/java.scm (ant/java8): Update to 1.10.8. --- gnu/packages/java.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index aff8abc642..ea3bdb3765 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2431,14 +2431,14 @@ new Date();")) (define-public ant/java8 (package (inherit ant-bootstrap) (name "ant") - (version "1.10.1") + (version "1.10.8") (source (origin (method url-fetch) (uri (string-append "mirror://apache/ant/source/apache-ant-" version "-src.tar.gz")) (sha256 (base32 - "10p3dh77lkzzzcy32dk9azljixzadp46fggjfbvgkl8mmb8cxxv8")) + "066k2isig5xm70cihj9p73hkp5w7h5zbfqz5kxb6cwr9cb86xl2k")) (modules '((guix build utils))) (snippet '(begin @@ -2466,7 +2466,7 @@ new Date();")) ;; "check" phase, because the dependency on "test-jar" would always ;; result in the tests to be run. (substitute* "build.xml" - (("depends=\"jars,test-jar\"") "depends=\"jars\"")) + (("depends=\"jars,test-jar") "depends=\"jars")) (invoke "bash" "bootstrap.sh" (string-append "-Ddist.dir=" (assoc-ref outputs "out"))))))))) -- cgit v1.2.3 From 2039cf373b2ee77b456d89555a0d94767cd2c37c Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 26 Sep 2020 20:19:12 +0200 Subject: gnu: ant: Update to 1.9.15. * gnu/packages/java.scm (ant): Update to 1.9.15. --- gnu/packages/java.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index ea3bdb3765..f4df4d1ed7 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2479,14 +2479,14 @@ new Date();")) ;; requires Java 8. (define-public ant (package (inherit ant/java8) - (version "1.9.9") + (version "1.9.15") (source (origin (method url-fetch) (uri (string-append "mirror://apache/ant/source/apache-ant-" version "-src.tar.gz")) (sha256 (base32 - "1k28mka0m3isy9yr8gz84kz1f3f879rwaxrd44vdn9xbfwvwk86n")))) + "1xy30f1w5gaqk6g3f0vw7ygix4rb6032qkcw42y4z8wd9jihgygd")))) (native-inputs `(("jdk" ,icedtea-7 "jdk") ("zip" ,zip) -- cgit v1.2.3 From fafd543fac7231fb89218739325933c17bd07de4 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 26 Sep 2020 20:23:39 +0200 Subject: gnu: Add java-asm-8. * gnu/packages/java.scm (java-asm-8): New variable. --- gnu/packages/java.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index f4df4d1ed7..80ab8429fd 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5140,6 +5140,30 @@ including java-asm.") ((#:tests? _) #f))) (native-inputs `()))) +(define-public java-asm-8 + (package + (inherit java-asm) + (version "8.0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.ow2.org/asm/asm") + (commit (string-append + "ASM_" (string-join (string-split version #\.) + "_"))))) + (file-name (git-file-name "java-asm" version)) + (sha256 + (base32 + "1s6j27zc1i76gh891w2g48b1c3abp9w8zp5j54yb1vm5h8djkd69")))) + (arguments + `(#:jar-name "asm8.jar" + #:source-dir "asm/src/main/java" + #:test-dir "asm/src/test" + ;; tests depend on junit5 + #:tests? #f)) + (propagated-inputs '()) + (native-inputs '()))) + (define-public java-cglib (package (name "java-cglib") -- cgit v1.2.3 From d9d42624925aa60631777a9a5b0a12e85dcaadb9 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 26 Sep 2020 20:25:15 +0200 Subject: gnu: Add java-asm-tree-8. * gnu/packages/java.scm (java-asm-tree-8): New variable. --- gnu/packages/java.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 80ab8429fd..86c49184ca 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5164,6 +5164,19 @@ including java-asm.") (propagated-inputs '()) (native-inputs '()))) +(define-public java-asm-tree-8 + (package + (inherit java-asm-8) + (name "java-asm-tree") + (arguments + `(#:jar-name "asm-tree.jar" + #:source-dir "asm-tree/src/main/java" + #:test-dir "asm-tree/src/test" + ;; tests depend on junit5 + #:tests? #f)) + (inputs + `(("java-asm" ,java-asm-8))))) + (define-public java-cglib (package (name "java-cglib") -- cgit v1.2.3 From d7f7c752e8c4b8d434b551b57eb5be2a485c11c2 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 26 Sep 2020 20:26:41 +0200 Subject: gnu: Add java-asm-analysis-8. * gnu/packages/java.scm (java-asm-analysis-8): New variable. --- gnu/packages/java.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 86c49184ca..4ef945464d 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5177,6 +5177,20 @@ including java-asm.") (inputs `(("java-asm" ,java-asm-8))))) +(define-public java-asm-analysis-8 + (package + (inherit java-asm-8) + (name "java-asm-analysis") + (arguments + `(#:jar-name "asm-analysis.jar" + #:source-dir "asm-analysis/src/main/java" + #:test-dir "asm-analysis/src/test" + ;; tests depend on junit5 + #:tests? #f)) + (inputs + `(("java-asm" ,java-asm-8) + ("java-asm-tree" ,java-asm-tree-8))))) + (define-public java-cglib (package (name "java-cglib") -- cgit v1.2.3 From f37de56a10c9e3dc7999f2d6fea780ddbac78cb4 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 26 Sep 2020 20:28:12 +0200 Subject: gnu: Add java-asm-util-8. * gnu/packages/java.scm (java-asm-util-8): New variable. --- gnu/packages/java.scm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 4ef945464d..0bb02935f0 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5191,6 +5191,21 @@ including java-asm.") `(("java-asm" ,java-asm-8) ("java-asm-tree" ,java-asm-tree-8))))) +(define-public java-asm-util-8 + (package + (inherit java-asm-8) + (name "java-asm-util") + (arguments + `(#:jar-name "asm-util8.jar" + #:source-dir "asm-util/src/main/java" + #:test-dir "asm-util/src/test" + ;; tests depend on junit5 + #:tests? #f)) + (inputs + `(("java-asm" ,java-asm-8) + ("java-asm-analysis" ,java-asm-analysis-8) + ("java-asm-tree" ,java-asm-tree-8))))) + (define-public java-cglib (package (name "java-cglib") -- cgit v1.2.3 From 57f6a915850692eeb9bd9685994358c007a50465 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 26 Sep 2020 20:36:50 +0200 Subject: gnu: Add java-antlr4-runtime-4.1. * gnu/packages/java.scm (java-antlr4-runtime-4.1): New variable. --- gnu/packages/java.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 0bb02935f0..c5abce7a71 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -8460,6 +8460,30 @@ text or binary files. It's widely used to build languages, tools, and frameworks. From a grammar, ANTLR generates a parser that can build and walk parse trees."))) +(define-public java-antlr4-runtime-4.1 + (package + (inherit java-antlr4-runtime) + (version "4.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/antlr/antlr4") + (commit version))) + (file-name (git-file-name "antlr4" version)) + (sha256 + (base32 + "1i8hmx5an58cjyvhji0xgpvd6lq00z1k1mjys025q2wqc25wv4c1")))) + (arguments + (substitute-keyword-arguments (package-arguments java-antlr4-runtime) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'configure 'chmod + (lambda _ + (chmod "build.xml" #o644) + #t)))))) + (inputs + `(("java-treelayout" ,java-treelayout))))) + (define-public java-commons-cli-1.2 ;; This is a bootstrap dependency for Maven2. (package -- cgit v1.2.3 From 77ae41457c55e2f1f9008faff384cf912782be7a Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 26 Sep 2020 21:27:09 +0200 Subject: gnu: Add antlr4-4.1. * gnu/packages/java.scm (antlr4-4.1): New variable. --- gnu/packages/java.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index c5abce7a71..bddf84d150 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -37,6 +37,7 @@ #:use-module (guix hg-download) #:use-module (guix git-download) #:use-module (guix svn-download) + #:use-module ((guix build utils) #:select (alist-replace)) #:use-module (guix utils) #:use-module (guix build-system ant) #:use-module (guix build-system gnu) @@ -8484,6 +8485,38 @@ parse trees."))) (inputs `(("java-treelayout" ,java-treelayout))))) +(define-public antlr4-4.1 + (package + (inherit antlr4) + (version (package-version java-antlr4-runtime-4.1)) + (source (package-source java-antlr4-runtime-4.1)) + (arguments + (substitute-keyword-arguments (package-arguments antlr4) + ((#:test-dir _) + "tool/test") + ((#:test-exclude excludes) + `(list "**/TestParseErrors.java" + "**/TestTopologicalSort.java" + ,@excludes)) + ((#:phases phases) + `(modify-phases ,phases + (delete 'generate-unicode) + (replace 'check + (lambda _ + (invoke "ant" "check") + #t)) + (add-before 'configure 'chmod + (lambda _ + (chmod "build.xml" #o644) + #t)) + (delete 'remove-graphemes) + (delete 'remove-unrelated-languages) + (delete 'generate-test-parsers))))) + (inputs + (alist-replace + "java-antlr4-runtime" (list java-antlr4-runtime-4.1) + (package-inputs antlr4))))) + (define-public java-commons-cli-1.2 ;; This is a bootstrap dependency for Maven2. (package -- cgit v1.2.3 From 7d26b017d89293822e30e899753fb3df4979c57f Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 26 Sep 2020 21:41:56 +0200 Subject: gnu: Add java-tunnelvisionlabs-antlr4-runtime-annotations. * gnu/packages/java.scm (java-tunnelvisionlabs-antlr4-runtime-annotations): New variable. * gnu/packages/patches/java-tunnelvisionlabs-antlr-code-too-large.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/java.scm | 38 ++++++++++ ...ava-tunnelvisionlabs-antlr-code-too-large.patch | 87 ++++++++++++++++++++++ 3 files changed, 126 insertions(+) create mode 100644 gnu/packages/patches/java-tunnelvisionlabs-antlr-code-too-large.patch diff --git a/gnu/local.mk b/gnu/local.mk index 8351e7a62e..8b09cb39ef 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1168,6 +1168,7 @@ dist_patch_DATA = \ %D%/packages/patches/jamvm-2.0.0-opcode-guard.patch \ %D%/packages/patches/java-antlr4-Add-standalone-generator.patch \ %D%/packages/patches/java-antlr4-fix-code-too-large.java \ + %D%/packages/patches/java-tunnelvisionlabs-antlr-code-too-large.patch \ %D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \ %D%/packages/patches/java-commons-collections-fix-java8.patch \ %D%/packages/patches/java-jeromq-fix-tests.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index bddf84d150..0da7e59f4e 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -8517,6 +8517,44 @@ parse trees."))) "java-antlr4-runtime" (list java-antlr4-runtime-4.1) (package-inputs antlr4))))) +(define-public java-tunnelvisionlabs-antlr4-runtime-annotations + (package + (inherit java-antlr4-runtime) + (name "java-tunnelvisionlabs-antlr4-runtime-annotations") + (version "4.7.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tunnelvisionlabs/antlr4") + (commit (string-append version "-opt")))) + (file-name (git-file-name "java-tunnelvisionlabs-antlr4" version)) + (sha256 + (base32 + "1mf2lvvsszpialsk23ma83pwp50nd32lrbjpa847zlm5gmranbr8")) + (patches + (search-patches "java-antlr4-Add-standalone-generator.patch" + "java-tunnelvisionlabs-antlr-code-too-large.patch")))) + (arguments + `(#:jar-name "java-antlr4-runtime-annotations.jar" + #:source-dir "runtime/JavaAnnotations/src" + #:tests? #f; no tests + #:phases + (modify-phases %standard-phases + (add-after 'build 'copy-resources + (lambda _ + (copy-recursively "runtime/JavaAnnotations/resources" + "build/classes") + #t)) + (add-after 'copy-resources 'rebuild-jar + (lambda _ + (invoke "ant" "jar") + #t))))) + (inputs '()) + (native-inputs '()) + (synopsis "Annotations for ANTLR's runtime library") + (description "This package contains annotations used during the build of +the runtime library of ANTLR."))) + (define-public java-commons-cli-1.2 ;; This is a bootstrap dependency for Maven2. (package diff --git a/gnu/packages/patches/java-tunnelvisionlabs-antlr-code-too-large.patch b/gnu/packages/patches/java-tunnelvisionlabs-antlr-code-too-large.patch new file mode 100644 index 0000000000..7bdf05eb9c --- /dev/null +++ b/gnu/packages/patches/java-tunnelvisionlabs-antlr-code-too-large.patch @@ -0,0 +1,87 @@ +From 56ae699a27eca52cc0bb14cbc9944b62136be52b Mon Sep 17 00:00:00 2001 +From: Julien Lepiller +Date: Sun, 20 Sep 2020 21:07:29 +0200 +Subject: [PATCH] Separate addPropertyAliases in two methods + +The quantity of data used to generate addPropertyAliases creates a big +method, that is too big for java and results in "error: code too large". +This is most likely due to added data between the expected version of +icu and the actual version of icu in Guix. +--- + .../org/antlr/v4/tool/templates/unicodedata.st | 15 ++++++++++++--- + .../unicode/UnicodeDataTemplateController.java | 18 ++++++++++-------- + 2 files changed, 22 insertions(+), 11 deletions(-) + +diff --git a/tool/resources/org/antlr/v4/tool/templates/unicodedata.st b/tool/resources/org/antlr/v4/tool/templates/unicodedata.st +index f5052b7..125d15b 100644 +--- a/tool/resources/org/antlr/v4/tool/templates/unicodedata.st ++++ b/tool/resources/org/antlr/v4/tool/templates/unicodedata.st +@@ -1,4 +1,4 @@ +-unicodedata(propertyCodePointRanges, propertyAliases) ::= << ++unicodedata(propertyCodePointRanges, propertyAliasesA, propertyAliasesB) ::= << + package org.antlr.v4.unicode; + + import java.util.Arrays; +@@ -17,7 +17,7 @@ public enum UnicodeData { + ; + + private static final Map\ propertyCodePointRanges = new HashMap\(); +- private static final Map\ propertyAliases = new HashMap\(); ++ private static final Map\ propertyAliases = new HashMap\( + ); + + // Work around Java 64k bytecode method limit by splitting up static + // initialization into one method per Unicode property +@@ -33,8 +33,17 @@ static private void addProperty() { + \}}; separator="\n\n"> + + // Property aliases ++ static private void addPropertyAliasesA() { ++ ".toLowerCase(Locale.US), "".toLowerCase(Locale.US)); }; separator="\n"> ++ } ++ ++ static private void addPropertyAliasesB() { ++ ".toLowerCase(Locale.US), "".toLowerCase(Locale.US)); }; separator="\n"> ++ } ++ + static private void addPropertyAliases() { +- ".toLowerCase(Locale.US), "".toLowerCase(Locale.US)); }; separator="\n"> ++ addPropertyAliasesA(); ++ addPropertyAliasesB(); + } + + // Put it all together +diff --git a/tool/src/org/antlr/v4/unicode/UnicodeDataTemplateController.java b/tool/src/org/antlr/v4/unicode/UnicodeDataTemplateController.java +index 570190c..692cee0 100644 +--- a/tool/src/org/antlr/v4/unicode/UnicodeDataTemplateController.java ++++ b/tool/src/org/antlr/v4/unicode/UnicodeDataTemplateController.java +@@ -74,17 +74,19 @@ public abstract class UnicodeDataTemplateController { + addTR35ExtendedPictographicPropertyCodesToCodePointRanges(propertyCodePointRanges); + addEmojiPresentationPropertyCodesToCodePointRanges(propertyCodePointRanges); + +- Map propertyAliases = new LinkedHashMap(); +- addUnicodeCategoryCodesToNames(propertyAliases); +- addUnicodeBinaryPropertyCodesToNames(propertyAliases); +- addUnicodeScriptCodesToNames(propertyAliases); +- addUnicodeBlocksToNames(propertyAliases); +- addUnicodeIntPropertyCodesToNames(propertyAliases); +- propertyAliases.put("EP", "Extended_Pictographic"); ++ Map propertyAliasesA = new LinkedHashMap(); ++ Map propertyAliasesB = new LinkedHashMap(); ++ addUnicodeCategoryCodesToNames(propertyAliasesA); ++ addUnicodeBinaryPropertyCodesToNames(propertyAliasesA); ++ addUnicodeScriptCodesToNames(propertyAliasesA); ++ addUnicodeBlocksToNames(propertyAliasesB); ++ addUnicodeIntPropertyCodesToNames(propertyAliasesB); ++ propertyAliasesB.put("EP", "Extended_Pictographic"); + + Map properties = new LinkedHashMap(); + properties.put("propertyCodePointRanges", propertyCodePointRanges); +- properties.put("propertyAliases", propertyAliases); ++ properties.put("propertyAliasesA", propertyAliasesA); ++ properties.put("propertyAliasesB", propertyAliasesB); + return properties; + } + +-- +2.28.0 + -- cgit v1.2.3 From ac292a1aa102c8ccb687574da467534dd4c43919 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 26 Sep 2020 21:51:18 +0200 Subject: gnu: Add java-tunnelvisionlabs-antlr4-runtime. * gnu/packages/java.scm (java-tunnelvisionlabs-antlr4-runtime): New variable. --- gnu/packages/java.scm | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 0da7e59f4e..7af0dfb521 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -8555,6 +8555,82 @@ parse trees."))) (description "This package contains annotations used during the build of the runtime library of ANTLR."))) +;; the runtime of this library requires a lexer that is generated by antlr4. +;; However, antlr4 itself requires this library at build and run-time. We +;; use antlr4@4.1, the closest version of antlr that doesn't need this +;; bootstrap process, to generate the lexer. The generated lexer is built +;; for the 4.1 runtime, which is slightly different from this runtime. +;; So, we build the runtime with antlr 4.1, with a broken xml lexer, that we +;; use to build antlr4. We then re-use this antlr4 to build the runtime, and +;; the proper, working, runtime to build antlr4 again. +(define java-tunnelvisionlabs-antlr4-runtime-bootstrap + (package + (inherit java-antlr4-runtime) + (name "java-tunnelvisionlabs-antlr4-runtime") + (version (package-version java-tunnelvisionlabs-antlr4-runtime-annotations)) + (source (package-source java-tunnelvisionlabs-antlr4-runtime-annotations)) + (arguments + `(#:jar-name "java-antlr4-runtime.jar" + #:source-dir "runtime/Java/src" + #:tests? #f; tests require antlr4, but antlr4 depends on this package + #:phases + (modify-phases %standard-phases + (add-before 'build 'generate-xpath-lexer + (lambda _ + (invoke "antlr4" "-lib" "runtime/Java/src/org/antlr/v4/runtime/tree/xpath" + "-visitor" "-no-listener" + "-package" "org.antlr.v4.runtime.tree.xpath" + "runtime/Java/src/org/antlr/v4/runtime/tree/xpath/XPathLexer.g4") + ;; Generated code is for an incompatible version of the runtime + (substitute* "runtime/Java/src/org/antlr/v4/runtime/tree/xpath/XPathLexer.java" + (("LexerATNSimulator\\(this,_ATN,_decisionToDFA,_sharedContextCache\\)") + "LexerATNSimulator(this,_ATN)")) + #t)) + (add-before 'build 'copy-resources + (lambda _ + (copy-recursively "runtime/Java/src/main/dot" + "build/classes") + #t))))) + (native-inputs + `(("antlr4" ,antlr4-4.1) + ("java-tunnelvisionlabs-antlr4-runtime-annotations" + ,java-tunnelvisionlabs-antlr4-runtime-annotations))))) + +(define java-tunnelvisionlabs-antlr4-bootstrap + (package + (inherit antlr4) + (name "java-tunnelvisionlabs-antlr4") + (version (package-version java-tunnelvisionlabs-antlr4-runtime-annotations)) + (source (package-source java-tunnelvisionlabs-antlr4-runtime-annotations)) + (arguments + (substitute-keyword-arguments (package-arguments antlr4) + ((#:test-dir _) + "tool/test:runtime-testsuite/src") + ((#:phases phases) + `(modify-phases ,phases + (delete 'remove-unrelated-languages) + (delete 'remove-graphemes) + (delete 'generate-test-parsers) + (delete 'check))))) + (native-inputs '()) + (inputs + `(("antlr3" ,antlr3) + ("java-antlr4-runtime" ,java-tunnelvisionlabs-antlr4-runtime-bootstrap) + ("java-tunnelvisionlabs-antlr4-runtime-annotations" + ,java-tunnelvisionlabs-antlr4-runtime-annotations) + ("java-icu4j" ,java-icu4j) + ("java-jsonp-api" ,java-jsonp-api) + ("java-stringtemplate" ,java-stringtemplate) + ("java-treelayout" ,java-treelayout))))) + +(define-public java-tunnelvisionlabs-antlr4-runtime + (package + (inherit java-tunnelvisionlabs-antlr4-runtime-bootstrap) + (native-inputs + (alist-replace + "antlr4" (list java-tunnelvisionlabs-antlr4-bootstrap) + (package-native-inputs java-tunnelvisionlabs-antlr4-runtime-bootstrap))))) + (define-public java-commons-cli-1.2 ;; This is a bootstrap dependency for Maven2. (package -- cgit v1.2.3 From 7896630fdcd25c701a27539d21c7dcc16b84a2bd Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 26 Sep 2020 21:55:32 +0200 Subject: gnu: Add java-tunnelvisionlabs-antlr4. * gnu/packages/java.scm (java-tunnelvisionlabs-antlr4): New variable. --- gnu/packages/java.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 7af0dfb521..6b02606733 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -8631,6 +8631,14 @@ the runtime library of ANTLR."))) "antlr4" (list java-tunnelvisionlabs-antlr4-bootstrap) (package-native-inputs java-tunnelvisionlabs-antlr4-runtime-bootstrap))))) +(define-public java-tunnelvisionlabs-antlr4 + (package + (inherit java-tunnelvisionlabs-antlr4-bootstrap) + (inputs + (alist-replace + "java-antlr4-runtime" (list java-tunnelvisionlabs-antlr4-runtime) + (package-inputs java-tunnelvisionlabs-antlr4-bootstrap))))) + (define-public java-commons-cli-1.2 ;; This is a bootstrap dependency for Maven2. (package -- cgit v1.2.3 From 491ed3205b67404fca46a7d77ea4d09dc10c481d Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 26 Sep 2020 22:27:41 +0200 Subject: gnu: Add java-javaparser. * gnu/packages/java.scm (java-javaparser): New variable. --- gnu/packages/java.scm | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 6b02606733..97bb0b5d41 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -13444,3 +13444,98 @@ in Java, usable from Groovy, Kotlin, Scala, etc.") used in JVM-based languages. They serve as an additional documentation and can be interpreted by IDEs and static analysis tools to improve code analysis.") (license license:expat))) + +(define-public java-javaparser + (package + (name "java-javaparser") + (version "3.16.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/javaparser/javaparser") + (commit (string-append "javaparser-parent-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1a4jk12ffa31fa0y8vda0739vpfj1206p0nha842b7bixbvwamv9")) + (modules '((guix build utils))) + (snippet + '(begin + (for-each delete-file + (find-files "." "\\.jar$")) + #t)))) + (build-system ant-build-system) + (arguments + `(#:tests? #f; tests require jbehave and junit5 + #:phases + (modify-phases %standard-phases + (add-before 'build 'fill-template + (lambda _ + (with-directory-excursion "javaparser-core/src/main" + (copy-file "java-templates/com/github/javaparser/JavaParserBuild.java" + "java/com/github/javaparser/JavaParserBuild.java") + (substitute* "java/com/github/javaparser/JavaParserBuild.java" + (("\\$\\{project.version\\}") ,version) + (("\\$\\{project.name\\}") "javaparser") + (("\\$\\{project.build.finalName\\}") "javaparser") + (("\\$\\{maven.version\\}") "fake") + (("\\$\\{maven.build.version\\}") "fake") + (("\\$\\{build.timestamp\\}") "0") + (("\\$\\{java.vendor\\}") "Guix") + (("\\$\\{java.vendor.url\\}") "https://gnu.org/software/guix") + (("\\$\\{java.version\\}") "1.8") + (("\\$\\{os.arch\\}") "any") + (("\\$\\{os.name\\}") "GuixSD") + (("\\$\\{os.version\\}") "not available"))) + #t)) + (add-before 'build 'generate-javacc + (lambda _ + (with-directory-excursion "javaparser-core/src/main/java" + (invoke "java" "javacc" "../javacc/java.jj")) + #t)) + (add-before 'build 'copy-javacc-support + (lambda _ + (with-directory-excursion "javaparser-core/src/main" + (copy-recursively "javacc-support" "java")) + #t)) + (replace 'build + (lambda _ + (define (build name) + (format #t "Building ~a~%" name) + (delete-file-recursively "build/classes") + (mkdir-p "build/classes") + (apply invoke "javac" + "-cp" (string-append (getenv "CLASSPATH") ":" + (string-join (find-files "build/jar" ".") + ":")) + "-d" "build/classes" + (find-files (string-append name "/src/main/java") + ".*.java")) + (invoke "jar" "-cf" (string-append "build/jar/" name ".jar") + "-C" "build/classes" ".")) + (mkdir-p "build/classes") + (mkdir-p "build/test-classes") + (mkdir-p "build/jar") + (build "javaparser-core") + (build "javaparser-core-serialization") + (build "javaparser-core-generators") + (build "javaparser-core-metamodel-generator") + (build "javaparser-symbol-solver-core") + #t)) + (replace 'install + (install-jars "build/jar"))))) + (inputs + `(("java-guava" ,java-guava) + ("java-jboss-javassist" ,java-jboss-javassist) + ("java-jsonp-api" ,java-jsonp-api))) + (native-inputs + `(("javacc" ,javacc))) + (home-page "http://javaparser.org/") + (synopsis "Parser for Java") + (description + "This project contains a set of libraries implementing a Java 1.0 - Java +11 Parser with advanced analysis functionalities.") + (license (list + ;; either lgpl or asl + license:lgpl3+ + license:asl2.0)))) -- cgit v1.2.3 From 417cf5445b694331c5cc5c46112b9ac81884eebc Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 27 Sep 2020 00:22:47 +0200 Subject: gnu: groovy: Update to 3.0.5. * gnu/packages/groovy.scm (groovy): Update to 3.0.5. --- gnu/packages/groovy.scm | 1404 +++++++++++++++++++---------------------------- 1 file changed, 564 insertions(+), 840 deletions(-) diff --git a/gnu/packages/groovy.scm b/gnu/packages/groovy.scm index e21c4e3775..c44a17b59e 100644 --- a/gnu/packages/groovy.scm +++ b/gnu/packages/groovy.scm @@ -31,7 +31,7 @@ (define java-groovy-bootstrap (package (name "java-groovy-bootstrap") - (version "2.4.15") + (version "3.0.5") (source (origin (method git-fetch) @@ -43,57 +43,69 @@ version))))) (file-name (git-file-name name version)) (sha256 - (base32 "1q4cplimr18j93zz92kgq8b6wdv0p9svr7cdr47q8b2mbjpd0x3j")) + (base32 "00556qxjmcn3a3xhfy6n0zw3d69mnw72vzm2rb6n4ihzkk7579nm")) (patches (search-patches "groovy-add-exceptionutilsgenerator.patch")))) (build-system ant-build-system) (arguments `(#:jar-name "groovy.jar" - #:source-dir "src/main:subprojects/groovy-test/src/main/java" + #:source-dir "src/main/java:src/main/antlr2:subprojects/parser-antlr4/src/main/java:src/antlr" #:test-dir "src/test" #:tests? #f - #:jdk ,icedtea-8 + #:jdk ,openjdk9 #:main-class "groovy.ui.GroovyMain" #:phases (modify-phases %standard-phases - (add-before 'build 'fix-java8 - ;; Fix "Reference to plus is ambiguous" - (lambda _ - (substitute* "src/main/org/codehaus/groovy/runtime/DefaultGroovyMethods.java" - (("toList\\(left\\)") - "(List)toList(left)")) - #t)) (add-before 'build 'generate-parsers (lambda _ - (with-directory-excursion "src/main/org/codehaus/groovy/antlr/java" + (with-directory-excursion "src/main/antlr2/org/codehaus/groovy/antlr/java" (invoke "antlr" "java.g")) - (with-directory-excursion "src/main/org/codehaus/groovy/antlr" + (with-directory-excursion "src/main/antlr2/org/codehaus/groovy/antlr" (mkdir "parser") (with-directory-excursion "parser" (invoke "antlr" "../groovy.g"))) + (invoke "antlr4" "-lib" "src/antlr" + "-package" "org.apache.groovy.parser.antlr4" + "-visitor" "-no-listener" "src/antlr/GroovyLexer.g4") + (invoke "antlr4" "-lib" "src/antlr" + "-package" "org.apache.groovy.parser.antlr4" + "-visitor" "-no-listener" "src/antlr/GroovyParser.g4") #t)) (add-before 'build 'generate-exception-utils (lambda _ (invoke "javac" "-cp" (getenv "CLASSPATH") + "-source" "1.8" "-target" "1.8" "config/ant/src/org/codehaus/groovy/ExceptionUtilsGenerator.java") (invoke "java" "-cp" (string-append (getenv "CLASSPATH") ":config/ant/src") "org.codehaus.groovy.ExceptionUtilsGenerator" "build/classes/org/codehaus/groovy/runtime/ExceptionUtils.class") + #t)) + (add-before 'build 'set-source-level + (lambda _ + (substitute* "build.xml" + ((")toList(left)")) - #t)) (add-before 'build 'generate-parser (lambda _ - (with-directory-excursion "src/main/org/codehaus/groovy/antlr/java" + (with-directory-excursion "src/main/antlr2/org/codehaus/groovy/antlr/java" (invoke "antlr" "java.g")) - (with-directory-excursion "src/main/org/codehaus/groovy/antlr" + (with-directory-excursion "src/main/antlr2/org/codehaus/groovy/antlr" (mkdir "parser") (with-directory-excursion "parser" (invoke "antlr" "../groovy.g"))) + (invoke "antlr4" "-lib" "src/antlr" + "-package" "org.apache.groovy.parser.antlr4" + "-visitor" "-no-listener" "src/antlr/GroovyLexer.g4") + (invoke "antlr4" "-lib" "src/antlr" + "-package" "org.apache.groovy.parser.antlr4" + "-visitor" "-no-listener" "src/antlr/GroovyParser.g4") #t)) (add-before 'build 'generate-exception-utils (lambda _ @@ -141,19 +152,19 @@ groovy submodules.") (mkdir-p "target/classes/org/codehaus/groovy/runtime") (mkdir-p "target/classes/META-INF") (invoke "javac" "-cp" (getenv "CLASSPATH") - "src/main/org/codehaus/groovy/tools/DgmConverter.java") + "src/main/java/org/codehaus/groovy/tools/DgmConverter.java") (invoke "java" "-cp" (string-append (getenv "CLASSPATH") - ":src/main") + ":src/main/java") "org.codehaus.groovy.tools.DgmConverter") #t)) (add-before 'build 'copy-resources (lambda _ - (with-directory-excursion "src/main" + (with-directory-excursion "src/main/java" (for-each (lambda (file) - (mkdir-p (string-append "../../target/classes/" + (mkdir-p (string-append "../../../target/classes/" (dirname file))) (copy-file file - (string-append "../../target/classes/" + (string-append "../../../target/classes/" file))) (find-files "." ".*.(txt|properties|xml|html)"))) #t)) @@ -162,6 +173,7 @@ groovy submodules.") (mkdir-p "build/jar") (apply invoke "java" "-cp" (getenv "CLASSPATH") "org.codehaus.groovy.tools.FileSystemCompiler" + "-cp" (getenv "CLASSPATH") "-d" "target/classes" "-j"; joint compilation (find-files "src/main" @@ -186,7 +198,7 @@ is used to build the groovy submodules written in groovy."))) (name "groovy-tests-bootstrap") (arguments `(#:jar-name "groovy-tests-bootstrap.jar" - #:jdk ,icedtea-8 + #:jdk ,openjdk9 #:tests? #f; no tests #:phases (modify-phases %standard-phases @@ -196,17 +208,20 @@ is used to build the groovy submodules written in groovy."))) (mkdir-p "build/jar") (apply invoke "java" "-cp" (getenv "CLASSPATH") "org.codehaus.groovy.tools.FileSystemCompiler" + "-cp" (getenv "CLASSPATH") "-d" "build/classes" "-j"; joint compilation (append (find-files "src/test" "TestSupport.java") (find-files "src/test" "HeadlessTestSupport.java") + (find-files "src/test" "AstAssert.groovy") (find-files "src/test" "XmlAssert.java"))) (invoke "jar" "-cf" "build/jar/groovy-tests-bootstrap.jar" "-C" "build/classes" ".") #t))))) (inputs `(("groovy-test" ,groovy-test) + ("groovy-parser-antlr4" ,groovy-parser-antlr4) ,@(package-inputs groovy-bootstrap))) (native-inputs `(("groovy-bootstrap" ,groovy-bootstrap) @@ -215,14 +230,15 @@ is used to build the groovy submodules written in groovy."))) (description "This package contains three classes required for testing other groovy submodules."))) -(define groovy-test +(define (groovy-subproject name) (package (inherit groovy-bootstrap) - (name "groovy-test") + (name name) (arguments - `(#:jar-name "groovy-test.jar" - #:jdk ,icedtea-8 - #:test-dir "subprojects/groovy-test/src/test" + `(#:jar-name ,(string-append name ".jar") + #:test-dir ,(string-append name "/src/test") + #:test-include (list "**/*Test.java" "**/*.groovy") + #:jdk ,openjdk9 #:phases (modify-phases %standard-phases (replace 'build @@ -231,839 +247,531 @@ other groovy submodules."))) (mkdir-p "build/jar") (apply invoke "java" "-cp" (getenv "CLASSPATH") "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "subprojects/groovy-test/src/main" - ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-test.jar" + "-cp" (getenv "CLASSPATH") + "-d" "build/classes" "-j" + (append + (find-files ,(string-append "subprojects/" name "/src/main/java") + ".*\\.(groovy|java)$") + (find-files ,(string-append "subprojects/" name "/src/main/groovy") + ".*\\.(groovy|java)$"))) + (invoke "jar" "-cf" ,(string-append "build/jar/" name ".jar") "-C" "build/classes" ".") #t)) - (replace 'check - (lambda _ - (mkdir-p "build/test-classes") - (substitute* "build.xml" - (("depends=\"compile-tests\"") "depends=\"\"") - (("}/java") "}/groovy")) - (apply invoke "java" "-cp" - (string-append (getenv "CLASSPATH") ":build/classes") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/test-classes" "-j" - (append (find-files "subprojects/groovy-test/src/test" - ".*\\.(groovy|java)$"))) - (invoke "ant" "check") - #t))))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy test submodule") - (description "This package contains the test submodules used to test -other groovy submodules."))) - -(define groovy-xml - (package - (inherit groovy-bootstrap) - (name "groovy-xml") - (arguments - `(#:jar-name "groovy-xml.jar" - #:jdk ,icedtea-8 - #:test-dir "src/test" - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-xml") - #t)) - (replace 'build + (add-before 'build 'copy-resources (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-xml.jar" - "-C" "build/classes" ".") + (let ((resource-dir ,(string-append "subprojects/" name + "/src/main/resources"))) + (when (file-exists? resource-dir) + (copy-recursively resource-dir "build/classes"))) #t)) (replace 'check - (lambda _ - (mkdir-p "build/test-classes") - (substitute* "build.xml" - (("depends=\"compile-tests\"") "depends=\"\"") - (("}/java") "}/groovy")) - (apply invoke "java" "-cp" - (string-append (getenv "CLASSPATH") ":build/classes") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/test-classes" "-j" - (append (find-files "src/test" ".*\\.(groovy|java)$"))) - (invoke "ant" "check") - #t))))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy XML") - (description "This package contains XML-related utilities for groovy."))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (mkdir-p "build/test-classes") + (substitute* "build.xml" + (("depends=\"compile-tests\"") "depends=\"\"") + (("}/java") "}/")) + (apply invoke "java" "-cp" + (string-append (getenv "CLASSPATH") ":build/classes") + "org.codehaus.groovy.tools.FileSystemCompiler" "-cp" + (string-append (getenv "CLASSPATH") ":build/classes") + "-d" "build/test-classes" "-j" + (append + (find-files ,(string-append "subprojects/" name "/src/test/java") + ".*\\.(groovy|java)$") + (find-files ,(string-append "subprojects/" name "/src/test/groovy") + ".*\\.(groovy|java)$"))) + (invoke "ant" "check")) + #t))))))) + +(define groovy-parser-antlr4 + (let ((base (groovy-subproject "parser-antlr4"))) + (package + (inherit base) + (name "groovy-parser-antlr4") + (arguments + `(#:tests? #f + ,@(substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'build 'generate-parser + (lambda _ + (invoke "antlr4" "-lib" "src/antlr" + "-package" "org.apache.groovy.parser.antlr4" + "-visitor" "-no-listener" "src/antlr/GroovyLexer.g4") + (invoke "antlr4" "-lib" "src/antlr" + "-package" "org.apache.groovy.parser.antlr4" + "-visitor" "-no-listener" "src/antlr/GroovyParser.g4") + (for-each + (lambda (file) + (install-file file + "subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4")) + (find-files "src/antlr" ".*.java$")) + #t))))))) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ,@(package-native-inputs java-groovy-bootstrap))) + (synopsis "Groovy antlr4 parser submodule") + (description "This package contains the new parser Parrot for Groovy, which +is based on Antlr4. The new parser can parse Groovy source code and construct +the related AST, which is almost identical to the one generated by the old +parser. Currently all features of Groovy are available.")))) + +(define groovy-test + (let ((base (groovy-subproject "groovy-test"))) + (package + (inherit base) + (arguments + `(;#:tests? #f + ,@(package-arguments base))) + (synopsis "Groovy test submodule") + (description "This package contains the test submodules used to test +other groovy submodules.")))) + +(define groovy-xml + (let ((base (groovy-subproject "groovy-xml"))) + (package + (inherit base) + (native-inputs + `(("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs base))) + (inputs + `(("groovy-parser-antlr4" ,groovy-parser-antlr4) + ,@(package-inputs base))) + (synopsis "Groovy XML") + (description "This package contains XML-related utilities for groovy.")))) (define groovy-templates - (package - (inherit groovy-bootstrap) - (name "groovy-templates") - (arguments - `(#:jar-name "groovy-templates.jar" - #:jdk ,icedtea-8 - #:test-dir "subprojects/groovy-templates/src/test" - #:tests? #f;Requires spock-framework which is a circular dependency - #:phases - (modify-phases %standard-phases - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "subprojects/groovy-templates/src/main" - ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-templates.jar" - "-C" "build/classes" ".") - #t))))) - (inputs - `(("groovy-xml" ,groovy-xml) - ,@(package-inputs groovy-bootstrap))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy template engine") - (description "This package contains a template framework which is + (let ((base (groovy-subproject "groovy-templates"))) + (package + (inherit base) + (arguments + `(#:tests? #f;Requires spock-framework which is a circular dependency + ,@(substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + ;; These annotations are used for QA, but do not affect build output. + ;; They require findbugs, which we don't have yet. + (add-before 'build 'remove-annotation + (lambda _ + (substitute* '("subprojects/groovy-templates/src/main/groovy/groovy/text/StreamingTemplateEngine.java" + "subprojects/groovy-templates/src/main/groovy/groovy/text/TemplateEngine.java") + (("import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;") "") + (("@SuppressFBWarnings.*") "")) + #t))))))) + (inputs + `(("groovy-xml" ,groovy-xml) + ,@(package-inputs base))) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs base))) + (synopsis "Groovy template engine") + (description "This package contains a template framework which is well-suited to applications where the text to be generated follows the form of -a static template."))) +a static template.")))) (define groovy-groovydoc - (package - (inherit groovy-bootstrap) - (name "groovy-groovydoc") - (arguments - `(#:jar-name "groovy-groovydoc.jar" - #:jdk ,icedtea-8 - #:test-dir "subprojects/groovy-groovydoc/src/test" - #:tests? #f; Requires groovy-ant which is a circular dependency - #:phases - (modify-phases %standard-phases - (add-before 'build 'copy-resources - (lambda _ - (copy-recursively "subprojects/groovy-groovydoc/src/main/resources" - "build/classes") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" - "-j"; joint compilation - (find-files "subprojects/groovy-groovydoc/src/main" - ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-groovydoc.jar" - "-C" "build/classes" ".") - #t))))) - (inputs - `(("groovy-templates" ,groovy-templates) - ,@(package-inputs groovy-bootstrap))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy documentation generation") - (description "This package contains the groovy documentation generator, -similar to javadoc."))) + (let ((base (groovy-subproject "groovy-groovydoc"))) + (package + (inherit base) + (arguments + `(#:tests? #f; Requires groovy-ant which is a circular dependency + ,@(package-arguments base))) + (inputs + `(("groovy-templates" ,groovy-templates) + ("groovy-parser-antlr4" ,groovy-parser-antlr4) + ("java-javaparser" ,java-javaparser) + ,@(package-inputs groovy-bootstrap))) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs java-groovy-bootstrap))) + (synopsis "Groovy documentation generation") + (description "This package contains the groovy documentation generator, +similar to javadoc.")))) (define groovy-ant - (package - (inherit groovy-bootstrap) - (name "groovy-ant") - (arguments - `(#:jar-name "groovy-ant.jar" - #:jdk ,icedtea-8 - #:test-dir "src/test" - ;; FIXME: Excluding all tests because they fail - #:test-exclude (list - "**/GroovyTest.java" - "**/GroovycTest.java") - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-ant") - #t)) - (add-before 'build 'copy-resources - (lambda _ - (copy-recursively "src/main/resources" "build/classes") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-ant.jar" - "-C" "build/classes" ".") - #t)) - (replace 'check - (lambda _ - (mkdir-p "build/test-classes") - (substitute* "build.xml" - (("depends=\"compile-tests\"") "depends=\"\"") - (("}/java") "}/groovy")) - (apply invoke "java" "-cp" - (string-append (getenv "CLASSPATH") ":build/classes") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/test-classes" "-j" - (find-files "src/test" ".*\\.(groovy|java)$")) - (invoke "ant" "check") - #t))))) - (inputs - `(("groovy-groovydoc" ,groovy-groovydoc) - ,@(package-inputs groovy-bootstrap))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-xml" ,groovy-xml) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy ant tasks") - (description "This package contains groovy-related ant tasks definitions."))) + (let ((base (groovy-subproject "groovy-ant"))) + (package + (inherit base) + (arguments + `(;#:tests? #f;Requires spock-framework which is a circular dependency + #:ant ,ant/java8; ant is actually a dependency of this package, and we need 1.10 + ,@(substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + ;; These annotations are used for QA, but do not affect build output. + ;; They require findbugs, which we don't have yet. + (add-before 'build 'remove-annotation + (lambda _ + (substitute* (find-files "subprojects/groovy-ant" + ".*.java$") + (("import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;") "") + (("@SuppressFBWarnings.*") "")) + #t))))))) + (inputs + `(("groovy-groovydoc" ,groovy-groovydoc) + ("java-asm-tree" ,java-asm-tree-8) + ("java-asm-analysis" ,java-asm-analysis-8) + ,@(package-inputs base))) + (native-inputs + `(("ant-junit" ,ant-junit) + ("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-xml" ,groovy-xml) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs base))) + (synopsis "Groovy ant tasks") + (description "This package contains groovy-related ant tasks definitions.")))) + +(define groovy-astbuilder + (let ((base (groovy-subproject "groovy-astbuilder"))) + (package + (inherit base) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + (delete 'copy-resources) + (add-after 'build 'copy-resources + (lambda _ + (copy-recursively + "subprojects/groovy-astbuilder/src/main/resources" + "build/classes") + (substitute* "build.xml" + (("depends=\"compile,") "depends=\"")) + (invoke "ant" "jar") + #t)))))) + (inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ,@(package-inputs base))) + (native-inputs + `(("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs base))) + (synopsis "Transformation to capture ASTBuilder from code statements") + (description "This package contains an AST transformation for use with +ASTBuilder when building \"from string\" Groovy statements.")))) (define groovy-bsf - (package - (inherit groovy-bootstrap) - (name "groovy-bsf") - (arguments - `(#:jar-name "groovy-bsf.jar" - #:jdk ,icedtea-8 - #:test-dir "src/test" - #:test-exclude (list + (let ((base (groovy-subproject "groovy-bsf"))) + (package + (inherit base) + (arguments + `(#:test-exclude (list ;; exception from Groovy: org.codehaus.groovy.runtime.InvokerInvocationException: ;; groovy.lang.MissingMethodException: No signature of method: ;; java.util.ArrayList.each() is applicable for argument types: ;; (groovy.script.MapFromList$_doit_closure1) values: ;; [groovy.script.MapFromList$_doit_closure1@17e554d5] "**/BSFTest.java") - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-bsf") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-bsf.jar" - "-C" "build/classes" ".") - #t)) - (replace 'check - (lambda _ - (mkdir-p "build/test-classes") - (substitute* "build.xml" - (("depends=\"compile-tests\"") "depends=\"\"")) - (apply invoke "java" "-cp" - (string-append (getenv "CLASSPATH") ":build/classes") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/test-classes" "-j" - (find-files "src/test" ".*\\.(groovy|java)$")) - (invoke "ant" "check") - #t))))) - (inputs - `(("java-commons-bsf" ,java-commons-bsf) - ,@(package-inputs groovy-bootstrap))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ("java-commons-logging-minimal" ,java-commons-logging-minimal) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy BSF engine") - (description "This package defines the BSF engine for using Groovy inside -any @dfn{Bean Scripting Framework} (BSF) application."))) + ,@(package-arguments base))) + (inputs + `(("java-commons-bsf" ,java-commons-bsf) + ,@(package-inputs base))) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ("java-commons-logging-minimal" ,java-commons-logging-minimal) + ,@(package-native-inputs base))) + (synopsis "Groovy BSF engine") + (description "This package defines the BSF engine for using Groovy inside +any @dfn{Bean Scripting Framework} (BSF) application.")))) + +(define groovy-cli-commons + (let ((base (groovy-subproject "groovy-cli-commons"))) + (package + (inherit base) + (inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ,@(package-inputs base))) + (native-inputs + `(("groovy-test" ,groovy-test) + ,@(package-native-inputs base))) + (synopsis "Groovy CLI common classes") + (description "This package defines common classes for dealing with +command-line arguments in Groovy.")))) + +(define groovy-cli-picocli + (let ((base (groovy-subproject "groovy-cli-picocli"))) + (package + (inherit base) + (inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("java-picocli" ,java-picocli) + ,@(package-inputs base))) + (native-inputs + `(("groovy-test" ,groovy-test) + ,@(package-native-inputs base))) + (synopsis "Groovy CLI classes that use picocli") + (description "This package defines classes for dealing with command-line +arguments in Groovy using the picocli library.")))) (define groovy-swing - (package - (inherit groovy-bootstrap) - (name "groovy-swing") - (arguments - `(#:jar-name "groovy-swing.jar" - #:jdk ,icedtea-8 - ;; FIXME: tests are not run - #:test-dir "src/test" - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-swing") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-swing.jar" - "-C" "build/classes" ".") - #t)) - (replace 'check - (lambda _ - (mkdir-p "build/test-classes") - (substitute* "src/test/groovy/groovy/util/GroovySwingTestCase.groovy" - (("HeadlessTestSupport.headless") "isHeadless()")) - (substitute* "build.xml" - (("depends=\"compile-tests\"") "depends=\"\"") - (("}/java") "}/groovy")) - (apply invoke "java" "-cp" - (string-append (getenv "CLASSPATH") ":build/classes") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/test-classes" "-j" - (find-files "src/test" ".*\\.(groovy|java)$")) - (invoke "ant" "check") - #t))))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ("java-commons-logging-minimal" ,java-commons-logging-minimal) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy graphical library") - (description "This package contains the groovy bindings to Java Swing, a -library used to build graphical interfaces."))) + (let ((base (groovy-subproject "groovy-swing"))) + (package + (inherit base) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'check 'fix-test + (lambda _ + (substitute* + "subprojects/groovy-swing/src/test/groovy/groovy/swing/GroovySwingTestCase.groovy" + (("HeadlessTestSupport.headless") "isHeadless()")) + #t)))))) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ("java-commons-logging-minimal" ,java-commons-logging-minimal) + ,@(package-native-inputs base))) + (synopsis "Groovy graphical library") + (description "This package contains the groovy bindings to Java Swing, a +library used to build graphical interfaces.")))) (define groovy-console - (package - (inherit groovy-bootstrap) - (name "groovy-console") - (arguments - `(#:jar-name "groovy-console.jar" - #:jdk ,icedtea-8 - ;; FIXME: tests are not run - #:test-dir "src/test" - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-console") - #t)) - (add-before 'build 'copy-resources - (lambda _ - (copy-recursively "src/main/resources" "build/classes") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-console.jar" - "-C" "build/classes" ".") - #t)) - (replace 'check - (lambda _ - (mkdir-p "build/test-classes") - (substitute* "build.xml" - (("depends=\"compile-tests\"") "depends=\"\"") - (("}/java") "}/groovy")) - (substitute* - "../groovy-swing/src/test/groovy/groovy/util/GroovySwingTestCase.groovy" - (("HeadlessTestSupport.headless") "isHeadless()")) - (apply invoke "java" "-cp" - (string-append (getenv "CLASSPATH") ":build/classes") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/test-classes" "-j" - (append - (find-files "../groovy-swing/src/test" ".*\\.(groovy|java)$") - (find-files "src/test" ".*\\.(groovy|java)$"))) - (invoke "ant" "check") - #t))))) - (inputs - `(("groovy-swing" ,groovy-swing) - ("groovy-templates" ,groovy-templates) - ,@(package-inputs groovy-bootstrap))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ("java-commons-logging-minimal" ,java-commons-logging-minimal) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy graphical interface") - (description "This package contains a graphical interface to run groovy."))) + (let ((base (groovy-subproject "groovy-console"))) + (package + (inherit base) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'check 'build-swing + (lambda _ + (substitute* + "subprojects/groovy-swing/src/test/groovy/groovy/swing/GroovySwingTestCase.groovy" + (("HeadlessTestSupport.headless") "isHeadless()")) + (mkdir-p "build/test-classes") + (apply invoke "java" "-cp" + (string-append (getenv "CLASSPATH") ":build/classes") + "org.codehaus.groovy.tools.FileSystemCompiler" "-cp" + (string-append (getenv "CLASSPATH") ":build/classes") + "-d" "build/test-classes" "-j" + (append + (find-files "subprojects/groovy-swing/src/test/java" + ".*\\.(groovy|java)$") + (find-files "subprojects/groovy-swing/src/test/groovy" + ".*\\.(groovy|java)$"))) + #t)))))) + (inputs + `(("groovy-swing" ,groovy-swing) + ("groovy-templates" ,groovy-templates) + ,@(package-inputs base))) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ("java-commons-logging-minimal" ,java-commons-logging-minimal) + ,@(package-native-inputs base))) + (synopsis "Groovy graphical interface") + (description "This package contains a graphical interface to run groovy.")))) + +(define groovy-datetime + (let ((base (groovy-subproject "groovy-datetime"))) + (package + (inherit base) + (native-inputs + `(("groovy-test" ,groovy-test) + ,@(package-native-inputs base))) + (synopsis "Date/Time API for Groovy") + (description "This package defines new Groovy methods which appear on +normal JDK Date/Time API (@code{java.time}) classes inside the Groovy +environment.")))) + +(define groovy-dateutil + (let ((base (groovy-subproject "groovy-dateutil"))) + (package + (inherit base) + (native-inputs + `(("groovy-test" ,groovy-test) + ,@(package-native-inputs base))) + (synopsis "Date and Calendar API for Groovy") + (description "This package defines new groovy methods which appear on +normal JDK Date and Calendar classes inside the Groovy environment.")))) (define groovy-docgenerator - (package - (inherit groovy-bootstrap) - (name "groovy-docgenerator") - (arguments - `(#:jar-name "groovy-docgenerator.jar" - #:jdk ,icedtea-8 - #:tests? #f; No tests - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-docgenerator") - #t)) - (add-before 'build 'copy-resources - (lambda _ - (copy-recursively "src/main/resources" "build/classes") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-docgenerator.jar" - "-C" "build/classes" ".") - #t))))) - (inputs - `(("groovy-templates" ,groovy-templates) - ("groovy-swing" ,groovy-swing) - ("java-qdox-1.12" ,java-qdox-1.12) - ,@(package-inputs groovy-bootstrap))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy documentation generation") - (description "This package contains a command line tool to generate -documentation for groovy applications."))) + (let ((base (groovy-subproject "groovy-docgenerator"))) + (package + (inherit base) + (arguments + `(#:tests? #f; No tests + ,@(package-arguments base))) + (inputs + `(("groovy-templates" ,groovy-templates) + ("groovy-swing" ,groovy-swing) + ("java-qdox-1.12" ,java-qdox-1.12) + ,@(package-inputs base))) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs base))) + (synopsis "Groovy documentation generation") + (description "This package contains a command line tool to generate +documentation for groovy applications.")))) (define groovy-groovysh - (package - (inherit groovy-bootstrap) - (name "groovy-groovysh") - (arguments - `(#:jar-name "groovy-groovysh.jar" - #:test-dir "src/test" - #:jdk ,icedtea-8 - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-groovysh") - #t)) - (add-before 'build 'copy-resources - (lambda _ - (copy-recursively "src/main/resources" "build/classes") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-groovysh.jar" - "-C" "build/classes" ".") - #t)) - (replace 'check - (lambda _ - (mkdir-p "build/test-classes") - (substitute* "build.xml" - (("depends=\"compile-tests\"") "depends=\"\"") - (("}/java") "}/groovy")) - (apply invoke "java" "-cp" - (string-append (getenv "CLASSPATH") ":build/classes") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/test-classes" "-j" - (append (find-files "src/test" ".*\\.(groovy|java)$"))) - (invoke "ant" "check") - #t))))) - (inputs - `(("groovy-xml" ,groovy-xml) - ("groovy-console" ,groovy-console) - ,@(package-inputs groovy-bootstrap))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy REPL") - (description "This package contains the Groovy REPL."))) + (let ((base (groovy-subproject "groovy-groovysh"))) + (package + (inherit base) + (inputs + `(("groovy-xml" ,groovy-xml) + ("groovy-console" ,groovy-console) + ,@(package-inputs base))) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs base))) + (synopsis "Groovy REPL") + (description "This package contains the Groovy REPL.")))) (define groovy-jmx - (package - (inherit groovy-bootstrap) - (name "groovy-jmx") - (arguments - `(#:jar-name "groovy-jmx.jar" - #:test-dir "src/test" - #:jdk ,icedtea-8 - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-jmx") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-jmx.jar" - "-C" "build/classes" ".") - #t)) - (replace 'check - (lambda _ - (mkdir-p "build/test-classes") - (substitute* "build.xml" - (("depends=\"compile-tests\"") "depends=\"\"") - (("}/java") "}/groovy")) - (apply invoke "java" "-cp" - (string-append (getenv "CLASSPATH") ":build/classes") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/test-classes" "-j" - (append (find-files "src/test" ".*\\.(groovy|java)$"))) - (invoke "ant" "check") - #t))))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy JMX extension") - (description "This package contains the JMX extension of Groovy, for -management and monitoring of JVM-based solutions."))) + (let ((base (groovy-subproject "groovy-jmx"))) + (package + (inherit base) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs base))) + (synopsis "Groovy JMX extension") + (description "This package contains the JMX extension of Groovy, for +management and monitoring of JVM-based solutions.")))) (define groovy-json - (package - (inherit groovy-bootstrap) - (name "groovy-json") - (arguments - `(#:jar-name "groovy-json.jar" - #:test-dir "src/test" - #:jdk ,icedtea-8 - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-json") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-json.jar" - "-C" "build/classes" ".") - #t)) - (replace 'check - (lambda _ - (mkdir-p "build/test-classes") - (substitute* "build.xml" - (("depends=\"compile-tests\"") "depends=\"\"") - (("}/java") "}/groovy")) - (apply invoke "java" "-cp" - (string-append (getenv "CLASSPATH") ":build/classes") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/test-classes" "-j" - (append (find-files "src/test" ".*\\.(groovy|java)$"))) - (invoke "ant" "check") - #t))))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy JSON") - (description "This package contains JSON-related utilities for groovy."))) + (let ((base (groovy-subproject "groovy-json"))) + (package + (inherit base) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs base))) + (synopsis "Groovy JSON") + (description "This package contains JSON-related utilities for groovy.")))) (define groovy-jsr223 - (package - (inherit groovy-bootstrap) - (name "groovy-jsr223") - (arguments - `(#:jar-name "groovy-jsr223.jar" - #:test-dir "src/test" - #:jdk ,icedtea-8 - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-jsr223") - #t)) - (add-before 'build 'copy-resources - (lambda _ - (copy-recursively "src/main/resources" "build/classes") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-jsr223.jar" - "-C" "build/classes" ".") - #t)) - (replace 'check - (lambda _ - (mkdir-p "build/test-classes") - (substitute* "build.xml" - (("depends=\"compile-tests\"") "depends=\"\"") - (("}/java") "}/groovy")) - (apply invoke "java" "-cp" - (string-append (getenv "CLASSPATH") ":build/classes") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/test-classes" "-j" - (append (find-files "src/test" ".*\\.(groovy|java)$"))) - (invoke "ant" "check") - #t))))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy's own JSR223 implementation") - (description "This package contains Groovy's own JSR223 implementation. This -module is used for interaction between Groovy and Java code."))) + (let ((base (groovy-subproject "groovy-jsr223"))) + (package + (inherit base) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs base))) + (synopsis "Groovy's own JSR223 implementation") + (description "This package contains Groovy's own JSR223 implementation. This +module is used for interaction between Groovy and Java code.")))) (define groovy-nio - (package - (inherit groovy-bootstrap) - (name "groovy-nio") - (arguments - `(#:jar-name "groovy-nio.jar" - #:test-dir "src/test" - #:jdk ,icedtea-8 - #:tests? #f; Requires spock-framework - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-nio") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-nio.jar" - "-C" "build/classes" ".") - #t))))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy input-output library") - (description "This package implements an input/output library that extends -the functionality of the common library of Java."))) + (let ((base (groovy-subproject "groovy-nio"))) + (package + (inherit base) + (arguments + `(#:tests? #f; Require spock-framework + ,@(package-arguments base))) + (synopsis "Groovy input-output library") + (description "This package implements an input/output library that extends +the functionality of the common library of Java.")))) (define groovy-servlet - (package - (inherit groovy-bootstrap) - (name "groovy-servlet") - (arguments - `(#:jar-name "groovy-servlet.jar" - #:test-dir "src/test" - #:jdk ,icedtea-8 - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-servlet") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" - "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-servlet.jar" - "-C" "build/classes" ".") - #t)) - (replace 'check - (lambda _ - (mkdir-p "build/test-classes") - (substitute* "build.xml" - (("depends=\"compile-tests\"") "depends=\"\"") - (("}/java") "}/groovy")) - (apply invoke "java" "-cp" - (string-append (getenv "CLASSPATH") ":build/classes") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/test-classes" - "-j" - (append (find-files "src/test" ".*\\.(groovy|java)$"))) - (invoke "ant" "check") - #t))))) - (inputs - `(("groovy-templates" ,groovy-templates) - ("groovy-xml" ,groovy-xml) - ,@(package-inputs groovy-bootstrap))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-json" ,groovy-json) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy's servlet implementation") - (description "This package contains a library to create groovlets, Groovy's -version of Java servlets."))) + (let ((base (groovy-subproject "groovy-servlet"))) + (package + (inherit base) + (inputs + `(("groovy-templates" ,groovy-templates) + ("groovy-xml" ,groovy-xml) + ,@(package-inputs base))) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-json" ,groovy-json) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs base))) + (synopsis "Groovy's servlet implementation") + (description "This package contains a library to create groovlets, Groovy's +version of Java servlets.")))) (define groovy-sql - (package - (inherit groovy-bootstrap) - (name "groovy-sql") - (arguments - `(#:jar-name "groovy-sql.jar" - #:test-dir "src/test" - #:tests? #f;TODO: Requires hsqldb - #:jdk ,icedtea-8 - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-sql") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" - ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-sql.jar" - "-C" "build/classes" ".") - #t))))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy SQL library") - (description "This package contains a facade over Java's normal JDBC APIs -providing greatly simplified resource management and result set handling."))) + (let ((base (groovy-subproject "groovy-sql"))) + (package + (inherit base) + (arguments + `(#:tests? #f;TODO: Requires hsqldb + ,@(package-arguments base))) + (synopsis "Groovy SQL library") + (description "This package contains a facade over Java's normal JDBC APIs +providing greatly simplified resource management and result set handling.")))) (define groovy-testng - (package - (inherit groovy-bootstrap) - (name "groovy-testng") - (arguments - `(#:jar-name "groovy-testng.jar" - #:tests? #f; No tests - #:jdk ,icedtea-8 - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-testng") - #t)) - (add-before 'build 'copy-resources - (lambda _ - (copy-recursively "src/main/resources" "build/classes") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" - "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-testng.jar" - "-C" "build/classes" ".") - #t))))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy testing framework") - (description "This package contains integration code for running TestNG -tests in Groovy."))) + (let ((base (groovy-subproject "groovy-testng"))) + (package + (inherit base) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs base))) + (synopsis "Groovy testing framework") + (description "This package contains integration code for running TestNG +tests in Groovy.")))) (define groovy-macro - (package - (inherit groovy-bootstrap) - (name "groovy-macro") - (arguments - `(#:jar-name "groovy-macro.jar" - #:test-dir "src/test" - #:jdk ,icedtea-8 - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-macro") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-macro.jar" - "-C" "build/classes" ".") - #t)) - (replace 'check - (lambda _ - (mkdir-p "build/test-classes") - (substitute* "build.xml" - (("depends=\"compile-tests\"") "depends=\"\"") - (("}/java") "}/groovy")) - (apply invoke "java" "-cp" - (string-append (getenv "CLASSPATH") ":build/classes") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/test-classes" "-j" - (append (find-files "src/test" ".*\\.(groovy|java)$"))) - (invoke "ant" "check") - #t))))) - (inputs - `(("groovy-templates" ,groovy-templates) - ("groovy-xml" ,groovy-xml) - ,@(package-inputs groovy-bootstrap))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-json" ,groovy-json) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy macro processor") - (description "This package contains a high-level library to create macro -and modify groovy's @dfn{Abstract Syntax Tree} (AST)."))) + (let ((base (groovy-subproject "groovy-macro"))) + (package + (inherit base) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + (delete 'copy-resources) + (add-after 'build 'copy-resources + (lambda _ + (copy-recursively "subprojects/groovy-macro/src/main/resources" + "build/classes") + (substitute* "build.xml" + (("depends=\"compile,") "depends=\"")) + (invoke "ant" "jar") + #t)))))) + (inputs + `(("groovy-templates" ,groovy-templates) + ("groovy-xml" ,groovy-xml) + ,@(package-inputs base))) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-json" ,groovy-json) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs base))) + (synopsis "Groovy macro processor") + (description "This package contains a high-level library to create macro +and modify groovy's @dfn{Abstract Syntax Tree} (AST).")))) + +(define groovy-yaml + (let ((base (groovy-subproject "groovy-yaml"))) + (package + (inherit base) + (inputs + `(("groovy-json" ,groovy-json) + ("java-fasterxml-jackson-annotations" ,java-fasterxml-jackson-annotations) + ("java-fasterxml-jackson-core" ,java-fasterxml-jackson-core) + ("java-fasterxml-jackson-databind" ,java-fasterxml-jackson-databind) + ("java-fasterxml-jackson-dataformat-yaml" ,java-fasterxml-jackson-dataformat-yaml) + ,@(package-inputs base))) + (native-inputs + `(("groovy-test" ,groovy-test) + ,@(package-native-inputs base))) + (synopsis "Groovy YAML") + (description "This package contains YAML-related utilities for groovy.")))) (define-public groovy (package @@ -1071,7 +779,7 @@ and modify groovy's @dfn{Abstract Syntax Tree} (AST)."))) (name "groovy") (arguments `(#:tests? #f; No tests - #:jdk ,icedtea-8 + #:jdk ,openjdk9 #:phases (modify-phases %standard-phases (delete 'configure) @@ -1089,7 +797,7 @@ and modify groovy's @dfn{Abstract Syntax Tree} (AST)."))) (("@GROOVYJAR@") "groovy.jar") (("MAX_FD=\"maximum\"") (string-append - "MAX_FD=\"maximum\"\nJAVAHOME=" + "MAX_FD=\"maximum\"\nJAVA_HOME=" (assoc-ref inputs "jdk")))) ;; Groovy uses class loading. It's not enough to put the class ;; in the loader's classpath, as it causes breakages: @@ -1105,14 +813,17 @@ and modify groovy's @dfn{Abstract Syntax Tree} (AST)."))) (lambda (jar) (symlink jar (string-append out-lib "/" (basename jar)))) (find-files (assoc-ref inputs input) ".*.jar"))) - '("groovy-bootstrap" "groovy-ant" "groovy-bsf" - "groovy-console" "groovy-docgenerator" - "groovy-groovydoc" "groovy-groovysh" - "groovy-jmx" "groovy-json" "groovy-jsr223" - "groovy-nio" "groovy-servlet" "groovy-sql" + '("groovy-bootstrap" "groovy-ant" "groovy-astbuilder" + "groovy-bsf" "groovy-cli-commons" "groovy-cli-picocli" + "groovy-console" "groovy-datetime" "groovy-dateutil" + "groovy-docgenerator" "groovy-groovydoc" "groovy-groovysh" + "groovy-jmx" "groovy-json" "groovy-jsr223" "groovy-nio" + "groovy-parser-antlr4" "groovy-servlet" "groovy-sql" "groovy-swing" "groovy-templates" "groovy-testng" - "groovy-xml" "java-commons-cli" "java-asm" - "java-classpathx-servletapi" "java-xstream" + "groovy-xml" "groovy-yaml" "java-commons-cli" + "java-tunnelvisionlabs-antlr4-runtime" "java-asm" + "java-asm-analysis" "java-asm-tree" "java-asm-util" + "java-classpathx-servletapi" "java-xstream" "java-picocli" "java-jansi" "java-jline-2")) ;; antlr.jar is present twice in antlr2. Symlink doesn't like ;; it, so we symlink it here. @@ -1130,8 +841,13 @@ and modify groovy's @dfn{Abstract Syntax Tree} (AST)."))) (inputs `(("groovy-bootstrap" ,groovy-bootstrap) ("groovy-ant" ,groovy-ant) + ("groovy-astbuilder" ,groovy-astbuilder) ("groovy-bsf" ,groovy-bsf) + ("groovy-cli-commons" ,groovy-cli-commons) + ("groovy-cli-picocli" ,groovy-cli-picocli) ("groovy-console" ,groovy-console) + ("groovy-datetime" ,groovy-datetime) + ("groovy-dateutil" ,groovy-dateutil) ("groovy-docgenerator" ,groovy-docgenerator) ("groovy-groovydoc" ,groovy-groovydoc) ("groovy-groovysh" ,groovy-groovysh) @@ -1139,18 +855,26 @@ and modify groovy's @dfn{Abstract Syntax Tree} (AST)."))) ("groovy-json" ,groovy-json) ("groovy-jsr223" ,groovy-jsr223) ("groovy-nio" ,groovy-nio) + ("groovy-parser-antlr4" ,groovy-parser-antlr4) ("groovy-servlet" ,groovy-servlet) ("groovy-sql" ,groovy-sql) ("groovy-swing" ,groovy-swing) ("groovy-templates" ,groovy-templates) ("groovy-testng" ,groovy-testng) ("groovy-xml" ,groovy-xml) + ("groovy-yaml" ,groovy-yaml) + ("java-tunnelvisionlabs-antlr4-runtime" + ,java-tunnelvisionlabs-antlr4-runtime) ("java-commons-cli" ,java-commons-cli) - ("java-asm" ,java-asm) + ("java-asm" ,java-asm-8) + ("java-asm-analysis" ,java-asm-analysis-8) + ("java-asm-tree" ,java-asm-tree-8) + ("java-asm-util" ,java-asm-util-8) ("java-classpathx-servletapi" ,java-classpathx-servletapi) - ("java-xstream" ,java-xstream) + ("java-picocli" ,java-picocli) ("java-jansi" ,java-jansi) ("java-jline-2" ,java-jline-2) + ("java-xstream" ,java-xstream) ("antlr2" ,antlr2))) (synopsis "Programming language for the JVM") (description "Apache Groovy is a powerful, optionally typed and dynamic -- cgit v1.2.3 From 05bafc5db52f075ab8dfe3ad8ea9c6d810cc75f5 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Wed, 14 Oct 2020 09:42:09 +0200 Subject: gnu: libcyaml: Fix patch name. * gnu/packages/web.scm (libcyaml)[source]: Fix patch name. --- gnu/packages/web.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 0229a8c6f4..58f84236f0 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -5081,7 +5081,7 @@ written in C. It is developed as part of the NetSurf project.") (url "https://github.com/tlsa/libcyaml") (commit (string-append "v" version)))) (file-name (git-file-name name version)) - (patches (search-patches "libcyaml-yaml-compat.patch")) + (patches (search-patches "libcyaml-libyaml-compat.patch")) (sha256 (base32 "0428p0rwq71nhh5nzcbapsbrjxa0x5l6h6ns32nxv7j624f0zd93")))) (build-system gnu-build-system) -- cgit v1.2.3 From 19d42e0e23a7f90ac2dcc1c279bd23a967ff0314 Mon Sep 17 00:00:00 2001 From: zimoun Date: Sun, 18 Oct 2020 00:10:06 +0200 Subject: build-system/haskell: Disable parallel builds. Fixes . * guix/build-system/haskell.scm (haskell-build): Turn off PARALLEL-BUILD? by default. Signed-off-by: Marius Bakke --- guix/build-system/haskell.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/guix/build-system/haskell.scm b/guix/build-system/haskell.scm index 8304e3b222..18a584f782 100644 --- a/guix/build-system/haskell.scm +++ b/guix/build-system/haskell.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Federico Beffa ;;; Copyright © 2020 Timothy Sample +;;; Copyright © 2020 Simon Tournier ;;; ;;; This file is part of GNU Guix. ;;; @@ -121,7 +122,9 @@ version REVISION." (haddock-flags ''()) (tests? #t) (test-target "test") - (parallel-build? #t) + ;; FIXME: Parallel builds lead to indeterministic + ;; results, see . + (parallel-build? #f) (configure-flags ''()) (extra-directories ''()) (phases '(@ (guix build haskell-build-system) -- cgit v1.2.3 From cf69b7149423b00200cdabf2b6f3b159d8dc9101 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 19 Oct 2020 09:43:15 -0400 Subject: gnu: python-asn1crypto: Update to 1.4.0. * gnu/packages/python-crypto.scm (python-asn1crypto): Update to 1.4.0. --- gnu/packages/python-crypto.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 81e37bd51b..bf839bc42b 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -742,7 +742,7 @@ ECB and OFB).") (define-public python-asn1crypto (package (name "python-asn1crypto") - (version "1.3.0") + (version "1.4.0") (source (origin (method git-fetch) @@ -752,7 +752,7 @@ ECB and OFB).") (file-name (git-file-name name version)) (sha256 (base32 - "0c7rj3hs9fplrj4bv63ppvnnr8fay727w3a9zx3jfkz63wklvm1w")))) + "19abibn6jw20mzi1ln4n9jjvpdka8ygm4m439hplyrdfqbvgm01r")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases -- cgit v1.2.3 From 353bdae32f72b720c7ddd706576ccc40e2b43f95 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 19 Oct 2020 10:33:29 -0400 Subject: gnu: python-asn1crypto: Fix indentation. * gnu/packages/python-crypto.scm (python-asn1crypto): Fix indentation. --- gnu/packages/python-crypto.scm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index bf839bc42b..228dd594b1 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -744,15 +744,15 @@ ECB and OFB).") (name "python-asn1crypto") (version "1.4.0") (source - (origin + (origin (method git-fetch) (uri (git-reference - (url "https://github.com/wbond/asn1crypto") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "19abibn6jw20mzi1ln4n9jjvpdka8ygm4m439hplyrdfqbvgm01r")))) + (url "https://github.com/wbond/asn1crypto") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "19abibn6jw20mzi1ln4n9jjvpdka8ygm4m439hplyrdfqbvgm01r")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases -- cgit v1.2.3 From 9bf2ddf8dc362b3049390c7349ae5680bb285dae Mon Sep 17 00:00:00 2001 From: Simon South Date: Sat, 10 Oct 2020 18:24:21 -0400 Subject: gnu: python-sphinx: Update to 3.2.1. * gnu/packages/sphinx.scm (python-sphinx): Update to 3.2.1. Signed-off-by: Christopher Baines --- gnu/packages/sphinx.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm index f27f9d0176..476632a378 100644 --- a/gnu/packages/sphinx.scm +++ b/gnu/packages/sphinx.scm @@ -48,14 +48,14 @@ (define-public python-sphinx (package (name "python-sphinx") - (version "2.3.1") + (version "3.2.1") (source (origin (method url-fetch) (uri (pypi-uri "Sphinx" version)) (sha256 (base32 - "19a28nsb0w4bs6k8rdfyk6vzrcwdpvhs2wq77rgpmww59yvndrz6")))) + "1s70hxhddzf656kmj01lws4cbywgsinbg8750r9ilf7s2sdns79j")))) (build-system python-build-system) (arguments `(#:phases -- cgit v1.2.3 From dd7cdd3d3966a11e9d28dae536465bf1f8345f02 Mon Sep 17 00:00:00 2001 From: Simon South Date: Sat, 10 Oct 2020 18:24:22 -0400 Subject: gnu: python-breathe: Update to 4.22.1. * gnu/packages/sphinx.scm (python-breathe): Update to 4.22.1. Signed-off-by: Christopher Baines --- gnu/packages/sphinx.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm index 476632a378..bdfe82d93e 100644 --- a/gnu/packages/sphinx.scm +++ b/gnu/packages/sphinx.scm @@ -556,14 +556,14 @@ and several other projects.") (define-public python-breathe (package (name "python-breathe") - (version "4.13.1") + (version "4.22.1") (source (origin (method url-fetch) (uri (pypi-uri "breathe" version)) (sha256 (base32 - "1aw749n2ry27434qd7gr99dvsrs3x3chyi9aywmhjj1g4m2j6xf6")))) + "0snk538xv60z4vfhl3f7v5g658za7257hddkg07cknkn33k6cjvf")))) (build-system python-build-system) (propagated-inputs `(("python-docutils" ,python-docutils) -- cgit v1.2.3 From 31ccd55176a37a2667ddf8e54e4943fa85fee734 Mon Sep 17 00:00:00 2001 From: Simon South Date: Mon, 15 Jun 2020 11:22:51 -0400 Subject: gnu: icedtea-6: Build in parallel using correct number of jobs. * gnu/packages/java.scm (icedtea-6)[arguments]<#:configure-flags>: Supply parameter to "--with-parallel-jobs". Signed-off-by: Efraim Flashner --- gnu/packages/java.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 97bb0b5d41..1d6d957eff 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -855,7 +855,8 @@ machine."))) `("--enable-bootstrap" "--enable-nss" "--without-rhino" - "--with-parallel-jobs" + ,(string-append "--with-parallel-jobs=" + (number->string (parallel-job-count))) "--disable-downloading" "--disable-tests" ,(string-append "--with-ecj=" -- cgit v1.2.3 From dc3c27554be14c0fbf3c4668d1eb1a3b25d5ac00 Mon Sep 17 00:00:00 2001 From: Simon South Date: Mon, 15 Jun 2020 11:22:52 -0400 Subject: gnu: icedtea-6: Remove obsolete, architecture-dependent patch. * gnu/packages/java.scm (icedtea-6)[arguments]<#:phases>: Remove special handling of "hotspot-src" input during "unpack" phase. [native-inputs]: Remove patch to "hotspot-src". * gnu/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. Signed-off-by: Efraim Flashner --- gnu/local.mk | 1 - gnu/packages/java.scm | 9 ++--- ...icedtea-6-hotspot-gcc-segfault-workaround.patch | 42 ---------------------- 3 files changed, 2 insertions(+), 50 deletions(-) delete mode 100644 gnu/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch diff --git a/gnu/local.mk b/gnu/local.mk index 91b7c3a14c..4402c9bc7c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1145,7 +1145,6 @@ dist_patch_DATA = \ %D%/packages/patches/icecat-use-older-reveal-hidden-html.patch \ %D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch \ %D%/packages/patches/icecat-use-system-media-libs.patch \ - %D%/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch \ %D%/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch \ %D%/packages/patches/icu4c-CVE-2020-10531.patch \ %D%/packages/patches/id3lib-CVE-2007-4460.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 1d6d957eff..8432fa3452 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -889,11 +889,8 @@ machine."))) (assoc-ref inputs (string-append part "-src")) part)) - '("jdk" "corba" + '("jdk" "hotspot" "corba" "langtools" "jaxp" "jaxws"))) - (with-directory-excursion "openjdk" - (invoke "tar" "xvf" (assoc-ref inputs "hotspot-src")) - (rename-file "hg-checkout" "hotspot")) (substitute* "patches/freetypeversion.patch" (("REQUIRED_FREETYPE_VERSION = 2.2.1") "REQUIRED_FREETYPE_VERSION = 2.10.1")) @@ -1119,9 +1116,7 @@ machine."))) (changeset "jdk6-b41"))) (sha256 (base32 - "07lc1z4k5dj9nrc1wvwmpvxr3xgxrdkdh53xb95skk5ij49yagfd")) - (patches - (search-patches "icedtea-6-hotspot-gcc-segfault-workaround.patch")))) + "07lc1z4k5dj9nrc1wvwmpvxr3xgxrdkdh53xb95skk5ij49yagfd")))) ("corba-src" ,(origin (method hg-fetch) diff --git a/gnu/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch b/gnu/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch deleted file mode 100644 index ef090e0ec9..0000000000 --- a/gnu/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch +++ /dev/null @@ -1,42 +0,0 @@ -# HG changeset patch -# User Gábor Boskovits -# Date 1530519413 -7200 -# Mon Jul 02 10:16:53 2018 +0200 -# Node ID 77e5bc9e238a28d17e097647badc04ed67a6a452 -# Parent 1ae05a34e052d1672b4a7894ddf5fc2f662eb861 -Fix gcc segfault. - -diff -r 1ae05a34e052 -r 77e5bc9e238a src/share/vm/opto/output.cpp ---- a/src/share/vm/opto/output.cpp Sun Dec 25 23:52:13 2016 +0000 -+++ b/src/share/vm/opto/output.cpp Mon Jul 02 10:16:53 2018 +0200 -@@ -1758,6 +1758,8 @@ - - // Initializer for class Scheduling - -+volatile const void *eePointer = Pipeline_Use::elaborated_elements; -+ - Scheduling::Scheduling(Arena *arena, Compile &compile) - : _arena(arena), - _cfg(compile.cfg()), -@@ -1802,8 +1804,8 @@ - - // Clear the bundling information - memcpy(_bundle_use_elements, -- Pipeline_Use::elaborated_elements, -- sizeof(Pipeline_Use::elaborated_elements)); -+ (void *)eePointer, -+ 11*sizeof(Pipeline_Use_Element)); - - // Get the last node - Block *bb = _cfg->_blocks[_cfg->_blocks.size()-1]; -@@ -1854,8 +1856,8 @@ - _bundle_use.reset(); - - memcpy(_bundle_use_elements, -- Pipeline_Use::elaborated_elements, -- sizeof(Pipeline_Use::elaborated_elements)); -+ (void *)eePointer, -+ 11*sizeof(Pipeline_Use_Element)); - } - - //------------------------------ScheduleAndBundle------------------------------ -- cgit v1.2.3 From 2fab54f3976a1c4099a30b21e06e725b06914a21 Mon Sep 17 00:00:00 2001 From: Simon South Date: Mon, 15 Jun 2020 11:22:53 -0400 Subject: gnu: icedtea-6: Fix build on aarch64-linux. * gnu/packages/java.scm (icedtea-6)[source]: Add patch. * gnu/packages/patches/icedtea-6-extend-hotspot-aarch64-support.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Efraim Flashner --- gnu/local.mk | 1 + gnu/packages/java.scm | 2 + .../icedtea-6-extend-hotspot-aarch64-support.patch | 1831 ++++++++++++++++++++ 3 files changed, 1834 insertions(+) create mode 100644 gnu/packages/patches/icedtea-6-extend-hotspot-aarch64-support.patch diff --git a/gnu/local.mk b/gnu/local.mk index 4402c9bc7c..ff6d64bd66 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1145,6 +1145,7 @@ dist_patch_DATA = \ %D%/packages/patches/icecat-use-older-reveal-hidden-html.patch \ %D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch \ %D%/packages/patches/icecat-use-system-media-libs.patch \ + %D%/packages/patches/icedtea-6-extend-hotspot-aarch64-support.patch \ %D%/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch \ %D%/packages/patches/icu4c-CVE-2020-10531.patch \ %D%/packages/patches/id3lib-CVE-2007-4460.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 8432fa3452..8c1fabb6e2 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -827,6 +827,8 @@ machine."))) (sha256 (base32 "0bg9sb4f7qbq77c0zf9m17p47ga0kf0r9622g9p12ysg26jd1ksg")) + (patches (search-patches + "icedtea-6-extend-hotspot-aarch64-support.patch")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/patches/icedtea-6-extend-hotspot-aarch64-support.patch b/gnu/packages/patches/icedtea-6-extend-hotspot-aarch64-support.patch new file mode 100644 index 0000000000..9dc112a344 --- /dev/null +++ b/gnu/packages/patches/icedtea-6-extend-hotspot-aarch64-support.patch @@ -0,0 +1,1831 @@ +From d51cb8c0f7966ac0b870e90e421cc8a796d98abf Mon Sep 17 00:00:00 2001 +From: Simon South +Date: Tue, 9 Jun 2020 13:48:42 -0400 +Subject: [PATCH] Extend AArch64 support + +This adds to IcedTea 6 a patch that extends the support for AArch64 in +its version of HotSpot, allowing the portable Zero virtual machine to +be built for that platform. + +The patch added is a backport of the one prepared for JDK 9 by the +OpenJDK AArch64 Porting Project, available (as of 11 June 2020) for +download from https://openjdk.java.net/jeps/237. +--- + Makefile.am | 3 +- + Makefile.in | 12 +- + .../hs23/aarch64-extended-support.patch | 1766 +++++++++++++++++ + 3 files changed, 1775 insertions(+), 6 deletions(-) + create mode 100644 patches/hotspot/hs23/aarch64-extended-support.patch + +diff --git a/Makefile.am b/Makefile.am +index 97dac85..f5c917b 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -621,7 +621,8 @@ ICEDTEA_PATCHES = \ + patches/openjdk/6260348-pr3068.patch \ + patches/openjdk/6961123-pr2975.patch \ + patches/pr2800-missing_resources.patch \ +- patches/pr3213-conditional_arm32jit.patch ++ patches/pr3213-conditional_arm32jit.patch \ ++ patches/hotspot/hs23/aarch64-extended-support.patch + + if WITH_RHINO + ICEDTEA_PATCHES += \ +diff --git a/Makefile.in b/Makefile.in +index aced7c2..e3545ee 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -1049,11 +1049,13 @@ ICEDTEA_PATCHES = $(DROP_PATCHES) $(SECURITY_PATCHES) \ + patches/openjdk/6260348-pr3068.patch \ + patches/openjdk/6961123-pr2975.patch \ + patches/pr2800-missing_resources.patch \ +- patches/pr3213-conditional_arm32jit.patch $(am__append_21) \ +- $(am__append_22) $(am__append_23) $(am__append_24) \ +- $(am__append_25) $(am__append_26) $(am__append_27) \ +- $(am__append_28) $(am__append_29) $(am__append_30) \ +- $(am__append_31) $(am__append_32) $(DISTRIBUTION_PATCHES) ++ patches/pr3213-conditional_arm32jit.patch \ ++ patches/hotspot/hs23/aarch64-extended-support.patch \ ++ $(am__append_21) $(am__append_22) $(am__append_23) \ ++ $(am__append_24) $(am__append_25) $(am__append_26) \ ++ $(am__append_27) $(am__append_28) $(am__append_29) \ ++ $(am__append_30) $(am__append_31) $(am__append_32) \ ++ $(DISTRIBUTION_PATCHES) + @ENABLE_NSS_FALSE@NSS_PATCHES = patches/nss-not-enabled-config.patch + @ENABLE_NSS_TRUE@NSS_PATCHES = patches/nss-config.patch + +diff --git a/patches/hotspot/hs23/aarch64-extended-support.patch b/patches/hotspot/hs23/aarch64-extended-support.patch +new file mode 100644 +index 0000000..7817f4d +--- /dev/null ++++ b/patches/hotspot/hs23/aarch64-extended-support.patch +@@ -0,0 +1,1766 @@ ++diff --git openjdk.orig/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c openjdk/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c ++index 5771fdd..b23cc17 100644 ++--- openjdk.orig/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c +++++ openjdk/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c ++@@ -304,6 +304,9 @@ JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLo ++ #ifdef amd64 ++ #define NPRGREG sun_jvm_hotspot_debugger_amd64_AMD64ThreadContext_NPRGREG ++ #endif +++#ifdef aarch64 +++#define NPRGREG 32 +++#endif ++ #if defined(sparc) || defined(sparcv9) ++ #define NPRGREG sun_jvm_hotspot_debugger_sparc_SPARCThreadContext_NPRGREG ++ #endif ++@@ -406,6 +409,12 @@ JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLo ++ regs[REG_INDEX(R_O7)] = gregs.u_regs[14]; ++ #endif /* sparc */ ++ +++#if defined(aarch64) +++ +++#define REG_INDEX(reg) sun_jvm_hotspot_debugger_aarch64_AARCH64ThreadContext_##reg +++ +++#endif /* aarch64 */ +++ ++ ++ (*env)->ReleaseLongArrayElements(env, array, regs, JNI_COMMIT); ++ return array; ++diff --git openjdk.orig/hotspot/agent/src/os/linux/libproc.h openjdk/hotspot/agent/src/os/linux/libproc.h ++index e4d77f7..c02b841 100644 ++--- openjdk.orig/hotspot/agent/src/os/linux/libproc.h +++++ openjdk/hotspot/agent/src/os/linux/libproc.h ++@@ -54,6 +54,10 @@ struct pt_regs { ++ ++ #endif //sparc or sparcv9 ++ +++#if defined(aarch64) +++#include "asm/ptrace.h" +++#endif +++ ++ /************************************************************************************ ++ ++ 0. This is very minimal subset of Solaris libproc just enough for current application. ++@@ -97,6 +101,9 @@ unsigned long regs[IA64_REG_COUNT]; /* integer and fp regs */ ++ #if defined(sparc) || defined(sparcv9) ++ #define user_regs_struct pt_regs ++ #endif +++#if defined(aarch64) +++#define user_regs_struct user_pt_regs +++#endif ++ ++ // This C bool type must be int for compatibility with Linux calls and ++ // it would be a mistake to equivalence it to C++ bool on many platforms ++diff --git openjdk.orig/hotspot/make/defs.make openjdk/hotspot/make/defs.make ++index 44f21f8..4e8d00b 100644 ++--- openjdk.orig/hotspot/make/defs.make +++++ openjdk/hotspot/make/defs.make ++@@ -232,7 +232,7 @@ ifneq ($(OSNAME),windows) ++ ++ # Use uname output for SRCARCH, but deal with platform differences. If ARCH ++ # is not explicitly listed below, it is treated as x86. ++- SRCARCH = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 arm ppc zero,$(ARCH))) +++ SRCARCH = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 arm ppc aarch64 zero,$(ARCH))) ++ ARCH/ = x86 ++ ARCH/sparc = sparc ++ ARCH/sparc64= sparc ++@@ -242,6 +242,7 @@ ifneq ($(OSNAME),windows) ++ ARCH/ppc64 = ppc ++ ARCH/ppc = ppc ++ ARCH/arm = arm +++ ARCH/aarch64= aarch64 ++ ARCH/zero = zero ++ ++ # BUILDARCH is usually the same as SRCARCH, except for sparcv9 ++@@ -267,11 +268,12 @@ ifneq ($(OSNAME),windows) ++ LIBARCH/sparcv9 = sparcv9 ++ LIBARCH/ia64 = ia64 ++ LIBARCH/ppc64 = ppc +++ LIBARCH/aarch64 = aarch64 ++ LIBARCH/ppc = ppc ++ LIBARCH/arm = arm ++ LIBARCH/zero = $(ZERO_LIBARCH) ++ ++- LP64_ARCH = sparcv9 amd64 ia64 zero +++ LP64_ARCH = sparcv9 amd64 ia64 aarch64 zero ++ endif ++ ++ # Required make macro settings for all platforms ++diff --git openjdk.orig/hotspot/make/linux/makefiles/buildtree.make openjdk/hotspot/make/linux/makefiles/buildtree.make ++index 7c3d4f9..3bc7e8a 100644 ++--- openjdk.orig/hotspot/make/linux/makefiles/buildtree.make +++++ openjdk/hotspot/make/linux/makefiles/buildtree.make ++@@ -385,6 +385,7 @@ DATA_MODE/sparc = 32 ++ DATA_MODE/sparcv9 = 64 ++ DATA_MODE/amd64 = 64 ++ DATA_MODE/ia64 = 64 +++DATA_MODE/aarch64 = 64 ++ DATA_MODE/zero = $(ARCH_DATA_MODEL) ++ ++ JAVA_FLAG/32 = -d32 ++diff --git openjdk.orig/hotspot/make/linux/makefiles/defs.make openjdk/hotspot/make/linux/makefiles/defs.make ++index 7bb3149..39ffda4 100644 ++--- openjdk.orig/hotspot/make/linux/makefiles/defs.make +++++ openjdk/hotspot/make/linux/makefiles/defs.make ++@@ -118,6 +118,15 @@ ifeq ($(ARCH), ppc) ++ HS_ARCH = ppc ++ endif ++ +++# AARCH64 +++ifeq ($(ARCH), aarch64) +++ ARCH_DATA_MODEL = 64 +++ MAKE_ARGS += LP64=1 +++ PLATFORM = linux-aarch64 +++ VM_PLATFORM = linux_aarch64 +++ HS_ARCH = aarch64 +++endif +++ ++ # determine if HotSpot is being built in JDK6 or earlier version ++ JDK6_OR_EARLIER=0 ++ ifeq "$(shell expr \( '$(JDK_MAJOR_VERSION)' != '' \& '$(JDK_MINOR_VERSION)' != '' \& '$(JDK_MICRO_VERSION)' != '' \))" "1" ++diff --git openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make ++index 897e3a6..44f1673 100644 ++--- openjdk.orig/hotspot/make/linux/makefiles/gcc.make +++++ openjdk/hotspot/make/linux/makefiles/gcc.make ++@@ -104,6 +104,7 @@ endif ++ ARCHFLAG = $(ARCHFLAG/$(BUILDARCH)) ++ ARCHFLAG/i486 = -m32 -march=i586 ++ ARCHFLAG/amd64 = -m64 +++ARCHFLAG/aarch64 = ++ ARCHFLAG/ia64 = ++ ARCHFLAG/sparc = -m32 -mcpu=v9 ++ ARCHFLAG/sparcv9 = -m64 -mcpu=v9 ++diff --git openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp openjdk/hotspot/src/os/linux/vm/os_linux.cpp ++index c1b0e5c..9f7cda0 100644 ++--- openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp +++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp ++@@ -296,6 +296,8 @@ static char cpu_arch[] = "sparcv9"; ++ # else ++ static char cpu_arch[] = "sparc"; ++ # endif +++#elif defined(AARCH64) +++static char cpu_arch[] = "aarch64"; ++ #else ++ #error Add appropriate cpu_arch setting ++ #endif ++@@ -1442,7 +1444,7 @@ void os::Linux::clock_init() { ++ #ifndef SYS_clock_getres ++ ++ #if defined(IA32) || defined(AMD64) ++-#define SYS_clock_getres IA32_ONLY(266) AMD64_ONLY(229) +++#define SYS_clock_getres IA32_ONLY(266) AMD64_ONLY(229) AARCH64_ONLY(114) ++ #define sys_clock_getres(x,y) ::syscall(SYS_clock_getres, x, y) ++ #else ++ #warning "SYS_clock_getres not defined for this platform, disabling fast_thread_cpu_time" ++@@ -1930,7 +1932,7 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) ++ static Elf32_Half running_arch_code=EM_AARCH64; ++ #else ++ #error Method os::dll_load requires that one of following is defined:\ ++- IA32, AMD64, IA64, __sparc, __powerpc__, ARM, S390, ALPHA, MIPS, MIPSEL, PARISC, M68K, SH +++ IA32, AMD64, IA64, __sparc, __powerpc__, ARM, S390, ALPHA, MIPS, MIPSEL, PARISC, M68K, SH, AARCH64 ++ #endif ++ ++ // Identify compatability class for VM's architecture and library's architecture ++@@ -3056,7 +3058,7 @@ void os::large_page_init() { ++ ++ #ifndef ZERO ++ _large_page_size = IA32_ONLY(4 * M) AMD64_ONLY(2 * M) IA64_ONLY(256 * M) SPARC_ONLY(4 * M) ++- ARM_ONLY(2 * M) PPC_ONLY(4 * M); +++ ARM_ONLY(2 * M) PPC_ONLY(4 * M) AARCH64_ONLY(2 * M); ++ #endif // ZERO ++ ++ FILE *fp = fopen("/proc/meminfo", "r"); ++@@ -5378,11 +5380,11 @@ void Parker::unpark() { ++ extern char** environ; ++ ++ #ifndef __NR_fork ++-#define __NR_fork IA32_ONLY(2) IA64_ONLY(not defined) AMD64_ONLY(57) +++#define __NR_fork IA32_ONLY(2) IA64_ONLY(not defined) AMD64_ONLY(57) AARCH64_ONLY(1079) ++ #endif ++ ++ #ifndef __NR_execve ++-#define __NR_execve IA32_ONLY(11) IA64_ONLY(1033) AMD64_ONLY(59) +++#define __NR_execve IA32_ONLY(11) IA64_ONLY(1033) AMD64_ONLY(59) AARCH64_ONLY(221) ++ #endif ++ ++ // Run the specified command in a separate process. Return its exit value, ++diff --git openjdk.orig/hotspot/src/share/vm/adlc/main.cpp openjdk/hotspot/src/share/vm/adlc/main.cpp ++index 47e207a..b93504e 100644 ++--- openjdk.orig/hotspot/src/share/vm/adlc/main.cpp +++++ openjdk/hotspot/src/share/vm/adlc/main.cpp ++@@ -244,6 +244,11 @@ int main(int argc, char *argv[]) ++ AD.addInclude(AD._CPP_file, "assembler_arm.inline.hpp"); ++ AD.addInclude(AD._CPP_file, "nativeInst_arm.hpp"); ++ AD.addInclude(AD._CPP_file, "vmreg_arm.inline.hpp"); +++#endif +++#ifdef TARGET_ARCH_aarch64 +++ AD.addInclude(AD._CPP_file, "assembler_aarch64.inline.hpp"); +++ AD.addInclude(AD._CPP_file, "nativeInst_aarch64.hpp"); +++ AD.addInclude(AD._CPP_file, "vmreg_aarch64.inline.hpp"); ++ #endif ++ AD.addInclude(AD._HPP_file, "memory/allocation.hpp"); ++ AD.addInclude(AD._HPP_file, "opto/machnode.hpp"); ++diff --git openjdk.orig/hotspot/src/share/vm/asm/assembler.cpp openjdk/hotspot/src/share/vm/asm/assembler.cpp ++index 2bcdcbc..57787ac 100644 ++--- openjdk.orig/hotspot/src/share/vm/asm/assembler.cpp +++++ openjdk/hotspot/src/share/vm/asm/assembler.cpp ++@@ -43,6 +43,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "assembler_ppc.inline.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "assembler_aarch64.inline.hpp" +++#endif ++ ++ ++ // Implementation of AbstractAssembler ++diff --git openjdk.orig/hotspot/src/share/vm/asm/assembler.hpp openjdk/hotspot/src/share/vm/asm/assembler.hpp ++index c25aa3f..4f77825 100644 ++--- openjdk.orig/hotspot/src/share/vm/asm/assembler.hpp +++++ openjdk/hotspot/src/share/vm/asm/assembler.hpp ++@@ -51,6 +51,10 @@ ++ # include "register_ppc.hpp" ++ # include "vm_version_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "register_aarch64.hpp" +++# include "vm_version_aarch64.hpp" +++#endif ++ ++ // This file contains platform-independent assembler declarations. ++ ++@@ -459,6 +463,9 @@ class AbstractAssembler : public ResourceObj { ++ #ifdef TARGET_ARCH_ppc ++ # include "assembler_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "assembler_aarch64.hpp" +++#endif ++ ++ ++ #endif // SHARE_VM_ASM_ASSEMBLER_HPP ++diff --git openjdk.orig/hotspot/src/share/vm/asm/codeBuffer.hpp openjdk/hotspot/src/share/vm/asm/codeBuffer.hpp ++index 685297a..002faef 100644 ++--- openjdk.orig/hotspot/src/share/vm/asm/codeBuffer.hpp +++++ openjdk/hotspot/src/share/vm/asm/codeBuffer.hpp ++@@ -573,6 +573,9 @@ class CodeBuffer: public StackObj { ++ #ifdef TARGET_ARCH_ppc ++ # include "codeBuffer_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "codeBuffer_aarch64.hpp" +++#endif ++ ++ }; ++ ++diff --git openjdk.orig/hotspot/src/share/vm/c1/c1_Canonicalizer.cpp openjdk/hotspot/src/share/vm/c1/c1_Canonicalizer.cpp ++index c95a23c..2ec31e5 100644 ++--- openjdk.orig/hotspot/src/share/vm/c1/c1_Canonicalizer.cpp +++++ openjdk/hotspot/src/share/vm/c1/c1_Canonicalizer.cpp ++@@ -877,6 +877,13 @@ static bool match(UnsafeRawOp* x, ++ return false; ++ } ++ +++// AARCH64 cannot handle shifts which are not either 0, or log2 of the type size +++#ifdef AARCH64 +++ if (*log2_scale != 0 && +++ (1 << *log2_scale) != type2aelembytes(x->basic_type(), true)) +++ return false; +++#endif +++ ++ // If the value is pinned then it will be always be computed so ++ // there's no profit to reshaping the expression. ++ return !root->is_pinned(); ++diff --git openjdk.orig/hotspot/src/share/vm/c1/c1_Defs.hpp openjdk/hotspot/src/share/vm/c1/c1_Defs.hpp ++index bebb3b0..ddaceb7 100644 ++--- openjdk.orig/hotspot/src/share/vm/c1/c1_Defs.hpp +++++ openjdk/hotspot/src/share/vm/c1/c1_Defs.hpp ++@@ -41,6 +41,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "register_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "register_aarch64.hpp" +++#endif ++ ++ // set frame size and return address offset to these values in blobs ++ // (if the compiled frame uses ebp as link pointer on IA; otherwise, ++@@ -62,6 +65,9 @@ enum { ++ #ifdef TARGET_ARCH_ppc ++ # include "c1_Defs_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "c1_Defs_aarch64.hpp" +++#endif ++ ++ ++ // native word offsets from memory address ++diff --git openjdk.orig/hotspot/src/share/vm/c1/c1_FpuStackSim.hpp openjdk/hotspot/src/share/vm/c1/c1_FpuStackSim.hpp ++index a1e4c38..491b064 100644 ++--- openjdk.orig/hotspot/src/share/vm/c1/c1_FpuStackSim.hpp +++++ openjdk/hotspot/src/share/vm/c1/c1_FpuStackSim.hpp ++@@ -44,6 +44,9 @@ class FpuStackSim; ++ #ifdef TARGET_ARCH_ppc ++ # include "c1_FpuStackSim_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "c1_FpuStackSim_aarch64.hpp" +++#endif ++ ++ ++ #endif // SHARE_VM_C1_C1_FPUSTACKSIM_HPP ++diff --git openjdk.orig/hotspot/src/share/vm/c1/c1_FrameMap.cpp openjdk/hotspot/src/share/vm/c1/c1_FrameMap.cpp ++index ea50b27..6a3dc63 100644 ++--- openjdk.orig/hotspot/src/share/vm/c1/c1_FrameMap.cpp +++++ openjdk/hotspot/src/share/vm/c1/c1_FrameMap.cpp ++@@ -41,6 +41,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "vmreg_ppc.inline.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "vmreg_aarch64.inline.hpp" +++#endif ++ ++ ++ ++diff --git openjdk.orig/hotspot/src/share/vm/c1/c1_FrameMap.hpp openjdk/hotspot/src/share/vm/c1/c1_FrameMap.hpp ++index 288fc5c..e9a0250 100644 ++--- openjdk.orig/hotspot/src/share/vm/c1/c1_FrameMap.hpp +++++ openjdk/hotspot/src/share/vm/c1/c1_FrameMap.hpp ++@@ -93,6 +93,9 @@ class FrameMap : public CompilationResourceObj { ++ #endif ++ #ifdef TARGET_ARCH_ppc ++ # include "c1_FrameMap_ppc.hpp" +++#endif +++#ifdef TARGET_ARCH_aarch64 +++# include "c1_FrameMap_aarch64.hpp" ++ #endif ++ ++ ++diff --git openjdk.orig/hotspot/src/share/vm/c1/c1_LIR.cpp openjdk/hotspot/src/share/vm/c1/c1_LIR.cpp ++index 776a6a3..6e1a362 100644 ++--- openjdk.orig/hotspot/src/share/vm/c1/c1_LIR.cpp +++++ openjdk/hotspot/src/share/vm/c1/c1_LIR.cpp ++@@ -67,7 +67,7 @@ FloatRegister LIR_OprDesc::as_double_reg() const { ++ ++ #endif ++ ++-#ifdef ARM +++#if defined(ARM) || defined (TARGET_ARCH_aarch64) ++ ++ FloatRegister LIR_OprDesc::as_float_reg() const { ++ return as_FloatRegister(fpu_regnr()); ++@@ -147,7 +147,11 @@ void LIR_Address::verify() const { ++ #endif ++ #ifdef _LP64 ++ assert(base()->is_cpu_register(), "wrong base operand"); +++#ifndef TARGET_ARCH_aarch64 ++ assert(index()->is_illegal() || index()->is_double_cpu(), "wrong index operand"); +++#else +++ assert(index()->is_illegal() || index()->is_double_cpu() || index()->is_single_cpu(), "wrong index operand"); +++#endif ++ assert(base()->type() == T_OBJECT || base()->type() == T_LONG, ++ "wrong type for addresses"); ++ #else ++@@ -545,7 +549,7 @@ void LIR_OpVisitState::visit(LIR_Op* op) { ++ assert(opConvert->_info == NULL, "must be"); ++ if (opConvert->_opr->is_valid()) do_input(opConvert->_opr); ++ if (opConvert->_result->is_valid()) do_output(opConvert->_result); ++-#ifdef PPC +++#if defined(PPC) || defined(TARGET_ARCH_aarch64) ++ if (opConvert->_tmp1->is_valid()) do_temp(opConvert->_tmp1); ++ if (opConvert->_tmp2->is_valid()) do_temp(opConvert->_tmp2); ++ #endif ++@@ -1468,6 +1472,11 @@ void LIR_OprDesc::print(outputStream* out) const { ++ out->print("fpu%d", fpu_regnr()); ++ } else if (is_double_fpu()) { ++ out->print("fpu%d", fpu_regnrLo()); +++#elif defined(AARCH64) +++ } else if (is_single_fpu()) { +++ out->print("fpu%d", fpu_regnr()); +++ } else if (is_double_fpu()) { +++ out->print("fpu%d", fpu_regnrLo()); ++ #elif defined(ARM) ++ } else if (is_single_fpu()) { ++ out->print("s%d", fpu_regnr()); ++@@ -1836,7 +1845,7 @@ void LIR_OpConvert::print_instr(outputStream* out) const { ++ print_bytecode(out, bytecode()); ++ in_opr()->print(out); out->print(" "); ++ result_opr()->print(out); out->print(" "); ++-#ifdef PPC +++#if defined(PPC) || defined(TARGET_ARCH_aarch64) ++ if(tmp1()->is_valid()) { ++ tmp1()->print(out); out->print(" "); ++ tmp2()->print(out); out->print(" "); ++diff --git openjdk.orig/hotspot/src/share/vm/c1/c1_LIR.hpp openjdk/hotspot/src/share/vm/c1/c1_LIR.hpp ++index f8589c3..eb3383f 100644 ++--- openjdk.orig/hotspot/src/share/vm/c1/c1_LIR.hpp +++++ openjdk/hotspot/src/share/vm/c1/c1_LIR.hpp ++@@ -437,8 +437,8 @@ class LIR_OprDesc: public CompilationResourceObj { ++ XMMRegister as_xmm_double_reg() const; ++ // for compatibility with RInfo ++ int fpu () const { return lo_reg_half(); } ++-#endif // X86 ++-#if defined(SPARC) || defined(ARM) || defined(PPC) +++#endif +++#if defined(SPARC) || defined(ARM) || defined(PPC) || defined(AARCH64) ++ FloatRegister as_float_reg () const; ++ FloatRegister as_double_reg () const; ++ #endif ++@@ -526,7 +526,7 @@ class LIR_Address: public LIR_OprPtr { ++ , _type(type) ++ , _disp(0) { verify(); } ++ ++-#if defined(X86) || defined(ARM) +++#if defined(X86) || defined(ARM) || defined(AARCH64) ++ LIR_Address(LIR_Opr base, LIR_Opr index, Scale scale, intx disp, BasicType type): ++ _base(base) ++ , _index(index) ++@@ -601,7 +601,7 @@ class LIR_OprFact: public AllStatic { ++ LIR_OprDesc::fpu_register | ++ LIR_OprDesc::double_size); } ++ #endif ++-#ifdef X86 +++#if defined(X86) || defined(AARCH64) ++ static LIR_Opr double_fpu(int reg) { return (LIR_Opr)(intptr_t)((reg << LIR_OprDesc::reg1_shift) | ++ (reg << LIR_OprDesc::reg2_shift) | ++ LIR_OprDesc::double_type | ++@@ -1398,7 +1398,7 @@ class LIR_OpConvert: public LIR_Op1 { ++ private: ++ Bytecodes::Code _bytecode; ++ ConversionStub* _stub; ++-#ifdef PPC +++#if defined(PPC) || defined(TARGET_ARCH_aarch64) ++ LIR_Opr _tmp1; ++ LIR_Opr _tmp2; ++ #endif ++@@ -1413,7 +1413,7 @@ class LIR_OpConvert: public LIR_Op1 { ++ #endif ++ , _bytecode(code) {} ++ ++-#ifdef PPC +++#if defined(PPC) || defined(TARGET_ARCH_aarch64) ++ LIR_OpConvert(Bytecodes::Code code, LIR_Opr opr, LIR_Opr result, ConversionStub* stub ++ ,LIR_Opr tmp1, LIR_Opr tmp2) ++ : LIR_Op1(lir_convert, opr, result) ++@@ -1425,7 +1425,7 @@ class LIR_OpConvert: public LIR_Op1 { ++ ++ Bytecodes::Code bytecode() const { return _bytecode; } ++ ConversionStub* stub() const { return _stub; } ++-#ifdef PPC +++#if defined(PPC) || defined(TARGET_ARCH_aarch64) ++ LIR_Opr tmp1() const { return _tmp1; } ++ LIR_Opr tmp2() const { return _tmp2; } ++ #endif ++@@ -1973,7 +1973,14 @@ class LIR_List: public CompilationResourceObj { ++ #ifdef PPC ++ void convert(Bytecodes::Code code, LIR_Opr left, LIR_Opr dst, LIR_Opr tmp1, LIR_Opr tmp2) { append(new LIR_OpConvert(code, left, dst, NULL, tmp1, tmp2)); } ++ #endif +++#if defined (TARGET_ARCH_aarch64) +++ void convert(Bytecodes::Code code, LIR_Opr left, LIR_Opr dst, +++ ConversionStub* stub = NULL, LIR_Opr tmp1 = LIR_OprDesc::illegalOpr()) { +++ append(new LIR_OpConvert(code, left, dst, stub, tmp1, LIR_OprDesc::illegalOpr())); +++ } +++#else ++ void convert(Bytecodes::Code code, LIR_Opr left, LIR_Opr dst, ConversionStub* stub = NULL/*, bool is_32bit = false*/) { append(new LIR_OpConvert(code, left, dst, stub)); } +++#endif ++ ++ void logical_and (LIR_Opr left, LIR_Opr right, LIR_Opr dst) { append(new LIR_Op2(lir_logic_and, left, right, dst)); } ++ void logical_or (LIR_Opr left, LIR_Opr right, LIR_Opr dst) { append(new LIR_Op2(lir_logic_or, left, right, dst)); } ++diff --git openjdk.orig/hotspot/src/share/vm/c1/c1_LIRAssembler.cpp openjdk/hotspot/src/share/vm/c1/c1_LIRAssembler.cpp ++index 528f21e..4d83fca 100644 ++--- openjdk.orig/hotspot/src/share/vm/c1/c1_LIRAssembler.cpp +++++ openjdk/hotspot/src/share/vm/c1/c1_LIRAssembler.cpp ++@@ -50,6 +50,10 @@ ++ # include "nativeInst_ppc.hpp" ++ # include "vmreg_ppc.inline.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "nativeInst_aarch64.hpp" +++# include "vmreg_aarch64.inline.hpp" +++#endif ++ ++ ++ void LIR_Assembler::patching_epilog(PatchingStub* patch, LIR_PatchCode patch_code, Register obj, CodeEmitInfo* info) { ++diff --git openjdk.orig/hotspot/src/share/vm/c1/c1_LIRAssembler.hpp openjdk/hotspot/src/share/vm/c1/c1_LIRAssembler.hpp ++index 58adf59..f4a49b3 100644 ++--- openjdk.orig/hotspot/src/share/vm/c1/c1_LIRAssembler.hpp +++++ openjdk/hotspot/src/share/vm/c1/c1_LIRAssembler.hpp ++@@ -261,6 +261,9 @@ class LIR_Assembler: public CompilationResourceObj { ++ #ifdef TARGET_ARCH_ppc ++ # include "c1_LIRAssembler_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "c1_LIRAssembler_aarch64.hpp" +++#endif ++ ++ }; ++ ++diff --git openjdk.orig/hotspot/src/share/vm/c1/c1_LinearScan.cpp openjdk/hotspot/src/share/vm/c1/c1_LinearScan.cpp ++index aaae71d..93f9f5f 100644 ++--- openjdk.orig/hotspot/src/share/vm/c1/c1_LinearScan.cpp +++++ openjdk/hotspot/src/share/vm/c1/c1_LinearScan.cpp ++@@ -47,6 +47,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "vmreg_ppc.inline.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "vmreg_aarch64.inline.hpp" +++#endif ++ ++ ++ #ifndef PRODUCT ++@@ -2190,7 +2193,7 @@ LIR_Opr LinearScan::color_lir_opr(LIR_Opr opr, int op_id, LIR_OpVisitState::OprM ++ ++ LIR_Opr res = operand_for_interval(interval); ++ ++-#ifdef X86 +++#if defined(X86) || defined(AARCH64) ++ // new semantic for is_last_use: not only set on definite end of interval, ++ // but also before hole ++ // This may still miss some cases (e.g. for dead values), but it is not necessary that the ++diff --git openjdk.orig/hotspot/src/share/vm/c1/c1_LinearScan.hpp openjdk/hotspot/src/share/vm/c1/c1_LinearScan.hpp ++index 0c06f1b..a152328 100644 ++--- openjdk.orig/hotspot/src/share/vm/c1/c1_LinearScan.hpp +++++ openjdk/hotspot/src/share/vm/c1/c1_LinearScan.hpp ++@@ -985,6 +985,9 @@ class LinearScanTimers : public StackObj { ++ #ifdef TARGET_ARCH_ppc ++ # include "c1_LinearScan_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "c1_LinearScan_aarch64.hpp" +++#endif ++ ++ ++ #endif // SHARE_VM_C1_C1_LINEARSCAN_HPP ++diff --git openjdk.orig/hotspot/src/share/vm/c1/c1_MacroAssembler.hpp openjdk/hotspot/src/share/vm/c1/c1_MacroAssembler.hpp ++index 55d9803..eda2174 100644 ++--- openjdk.orig/hotspot/src/share/vm/c1/c1_MacroAssembler.hpp +++++ openjdk/hotspot/src/share/vm/c1/c1_MacroAssembler.hpp ++@@ -41,6 +41,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "assembler_ppc.inline.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "assembler_aarch64.inline.hpp" +++#endif ++ ++ class CodeEmitInfo; ++ ++@@ -73,6 +76,9 @@ class C1_MacroAssembler: public MacroAssembler { ++ #ifdef TARGET_ARCH_ppc ++ # include "c1_MacroAssembler_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "c1_MacroAssembler_aarch64.hpp" +++#endif ++ ++ }; ++ ++diff --git openjdk.orig/hotspot/src/share/vm/c1/c1_Runtime1.cpp openjdk/hotspot/src/share/vm/c1/c1_Runtime1.cpp ++index 765dec4..f0b3aae 100644 ++--- openjdk.orig/hotspot/src/share/vm/c1/c1_Runtime1.cpp +++++ openjdk/hotspot/src/share/vm/c1/c1_Runtime1.cpp ++@@ -1103,6 +1103,7 @@ JRT_END ++ // completes we can check for deoptimization. This simplifies the ++ // assembly code in the cpu directories. ++ // +++#ifndef TARGET_ARCH_aarch64 ++ int Runtime1::move_klass_patching(JavaThread* thread) { ++ // ++ // NOTE: we are still in Java ++@@ -1150,6 +1151,7 @@ int Runtime1::access_field_patching(JavaThread* thread) { ++ ++ return caller_is_deopted(); ++ JRT_END +++#endif ++ ++ ++ JRT_LEAF(void, Runtime1::trace_block_entry(jint block_id)) ++diff --git openjdk.orig/hotspot/src/share/vm/c1/c1_Runtime1.hpp openjdk/hotspot/src/share/vm/c1/c1_Runtime1.hpp ++index 2032564..19261be 100644 ++--- openjdk.orig/hotspot/src/share/vm/c1/c1_Runtime1.hpp +++++ openjdk/hotspot/src/share/vm/c1/c1_Runtime1.hpp ++@@ -159,6 +159,9 @@ class Runtime1: public AllStatic { ++ static int move_klass_patching(JavaThread* thread); ++ ++ static void patch_code(JavaThread* thread, StubID stub_id); +++#ifdef TARGET_ARCH_aarch64 +++ static void patch_code_aarch64(JavaThread* thread, StubID stub_id); +++#endif ++ ++ public: ++ // initialization ++diff --git openjdk.orig/hotspot/src/share/vm/c1/c1_globals.hpp openjdk/hotspot/src/share/vm/c1/c1_globals.hpp ++index 15f3cc1..4143a87 100644 ++--- openjdk.orig/hotspot/src/share/vm/c1/c1_globals.hpp +++++ openjdk/hotspot/src/share/vm/c1/c1_globals.hpp ++@@ -38,6 +38,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "c1_globals_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "c1_globals_aarch64.hpp" +++#endif ++ #ifdef TARGET_OS_FAMILY_linux ++ # include "c1_globals_linux.hpp" ++ #endif ++diff --git openjdk.orig/hotspot/src/share/vm/classfile/classFileStream.hpp openjdk/hotspot/src/share/vm/classfile/classFileStream.hpp ++index cf6f0e5..b128b3a 100644 ++--- openjdk.orig/hotspot/src/share/vm/classfile/classFileStream.hpp +++++ openjdk/hotspot/src/share/vm/classfile/classFileStream.hpp ++@@ -41,6 +41,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "bytes_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "bytes_aarch64.hpp" +++#endif ++ ++ // Input stream for reading .class file ++ // ++diff --git openjdk.orig/hotspot/src/share/vm/classfile/stackMapTable.hpp openjdk/hotspot/src/share/vm/classfile/stackMapTable.hpp ++index f876029..ac415b6 100644 ++--- openjdk.orig/hotspot/src/share/vm/classfile/stackMapTable.hpp +++++ openjdk/hotspot/src/share/vm/classfile/stackMapTable.hpp ++@@ -46,6 +46,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "bytes_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "bytes_aarch64.hpp" +++#endif ++ ++ class StackMapReader; ++ ++diff --git openjdk.orig/hotspot/src/share/vm/classfile/verifier.cpp openjdk/hotspot/src/share/vm/classfile/verifier.cpp ++index c5c5e11..9c22a21 100644 ++--- openjdk.orig/hotspot/src/share/vm/classfile/verifier.cpp +++++ openjdk/hotspot/src/share/vm/classfile/verifier.cpp ++@@ -60,6 +60,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "bytes_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "bytes_aarch64.hpp" +++#endif ++ ++ #define NOFAILOVER_MAJOR_VERSION 51 ++ ++diff --git openjdk.orig/hotspot/src/share/vm/code/codeBlob.cpp openjdk/hotspot/src/share/vm/code/codeBlob.cpp ++index 244c320..429e0be 100644 ++--- openjdk.orig/hotspot/src/share/vm/code/codeBlob.cpp +++++ openjdk/hotspot/src/share/vm/code/codeBlob.cpp ++@@ -54,6 +54,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "nativeInst_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "nativeInst_aarch64.hpp" +++#endif ++ #ifdef COMPILER1 ++ #include "c1/c1_Runtime1.hpp" ++ #endif ++diff --git openjdk.orig/hotspot/src/share/vm/code/compiledIC.hpp openjdk/hotspot/src/share/vm/code/compiledIC.hpp ++index fe1cfb3..c9f6a2e 100644 ++--- openjdk.orig/hotspot/src/share/vm/code/compiledIC.hpp +++++ openjdk/hotspot/src/share/vm/code/compiledIC.hpp ++@@ -44,6 +44,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "nativeInst_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "nativeInst_aarch64.hpp" +++#endif ++ ++ //----------------------------------------------------------------------------- ++ // The CompiledIC represents a compiled inline cache. ++diff --git openjdk.orig/hotspot/src/share/vm/code/icBuffer.cpp openjdk/hotspot/src/share/vm/code/icBuffer.cpp ++index ed70457..d022482 100644 ++--- openjdk.orig/hotspot/src/share/vm/code/icBuffer.cpp +++++ openjdk/hotspot/src/share/vm/code/icBuffer.cpp ++@@ -52,6 +52,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "assembler_ppc.inline.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "assembler_aarch64.inline.hpp" +++#endif ++ ++ ++ DEF_STUB_INTERFACE(ICStub); ++diff --git openjdk.orig/hotspot/src/share/vm/code/relocInfo.cpp openjdk/hotspot/src/share/vm/code/relocInfo.cpp ++index 4fd82df..78310e6 100644 ++--- openjdk.orig/hotspot/src/share/vm/code/relocInfo.cpp +++++ openjdk/hotspot/src/share/vm/code/relocInfo.cpp ++@@ -49,6 +49,10 @@ ++ # include "assembler_ppc.inline.hpp" ++ # include "nativeInst_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "assembler_aarch64.inline.hpp" +++# include "nativeInst_aarch64.hpp" +++#endif ++ ++ ++ const RelocationHolder RelocationHolder::none; // its type is relocInfo::none ++diff --git openjdk.orig/hotspot/src/share/vm/code/relocInfo.hpp openjdk/hotspot/src/share/vm/code/relocInfo.hpp ++index 1d14b44..3823889 100644 ++--- openjdk.orig/hotspot/src/share/vm/code/relocInfo.hpp +++++ openjdk/hotspot/src/share/vm/code/relocInfo.hpp ++@@ -435,6 +435,9 @@ class relocInfo VALUE_OBJ_CLASS_SPEC { ++ #endif ++ #ifdef TARGET_ARCH_ppc ++ # include "relocInfo_ppc.hpp" +++#endif +++#ifdef TARGET_ARCH_aarch64 +++# include "relocInfo_aarch64.hpp" ++ #endif ++ ++ ++diff --git openjdk.orig/hotspot/src/share/vm/code/vmreg.hpp openjdk/hotspot/src/share/vm/code/vmreg.hpp ++index d57e6f8..1c18e47 100644 ++--- openjdk.orig/hotspot/src/share/vm/code/vmreg.hpp +++++ openjdk/hotspot/src/share/vm/code/vmreg.hpp ++@@ -42,6 +42,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "register_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "register_aarch64.hpp" +++#endif ++ #ifdef COMPILER2 ++ #include "opto/adlcVMDeps.hpp" ++ #include "utilities/ostream.hpp" ++@@ -63,6 +66,9 @@ ++ #ifdef TARGET_ARCH_MODEL_ppc ++ # include "adfiles/adGlobals_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_MODEL_aarch64 +++# include "adfiles/adGlobals_aarch64.hpp" +++#endif ++ #endif ++ ++ //------------------------------VMReg------------------------------------------ ++@@ -182,6 +188,9 @@ public: ++ #ifdef TARGET_ARCH_ppc ++ # include "vmreg_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "vmreg_aarch64.hpp" +++#endif ++ ++ ++ }; ++diff --git openjdk.orig/hotspot/src/share/vm/compiler/disassembler.cpp openjdk/hotspot/src/share/vm/compiler/disassembler.cpp ++index 9603e86..3a67259 100644 ++--- openjdk.orig/hotspot/src/share/vm/compiler/disassembler.cpp +++++ openjdk/hotspot/src/share/vm/compiler/disassembler.cpp ++@@ -47,6 +47,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "depChecker_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "depChecker_aarch64.hpp" +++#endif ++ #ifdef SHARK ++ #include "shark/sharkEntry.hpp" ++ #endif ++diff --git openjdk.orig/hotspot/src/share/vm/compiler/disassembler.hpp openjdk/hotspot/src/share/vm/compiler/disassembler.hpp ++index a70b8cc..4c90c9a 100644 ++--- openjdk.orig/hotspot/src/share/vm/compiler/disassembler.hpp +++++ openjdk/hotspot/src/share/vm/compiler/disassembler.hpp ++@@ -78,6 +78,9 @@ class Disassembler { ++ #endif ++ #ifdef TARGET_ARCH_ppc ++ # include "disassembler_ppc.hpp" +++#endif +++#ifdef TARGET_ARCH_aarch64 +++# include "disassembler_aarch64.hpp" ++ #endif ++ ++ ++diff --git openjdk.orig/hotspot/src/share/vm/interpreter/abstractInterpreter.hpp openjdk/hotspot/src/share/vm/interpreter/abstractInterpreter.hpp ++index d23f37a..24ca30e 100644 ++--- openjdk.orig/hotspot/src/share/vm/interpreter/abstractInterpreter.hpp +++++ openjdk/hotspot/src/share/vm/interpreter/abstractInterpreter.hpp ++@@ -44,6 +44,9 @@ ++ #ifdef TARGET_ARCH_MODEL_ppc ++ # include "interp_masm_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_MODEL_aarch64 +++# include "interp_masm_aarch64.hpp" +++#endif ++ #ifdef TARGET_OS_FAMILY_linux ++ # include "thread_linux.inline.hpp" ++ #endif ++diff --git openjdk.orig/hotspot/src/share/vm/interpreter/bytecode.hpp openjdk/hotspot/src/share/vm/interpreter/bytecode.hpp ++index 107161a..205d0f7 100644 ++--- openjdk.orig/hotspot/src/share/vm/interpreter/bytecode.hpp +++++ openjdk/hotspot/src/share/vm/interpreter/bytecode.hpp ++@@ -43,6 +43,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "bytes_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "bytes_aarch64.hpp" +++#endif ++ ++ class ciBytecodeStream; ++ ++diff --git openjdk.orig/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp ++index e637414..308ad3b 100644 ++--- openjdk.orig/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp +++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp ++@@ -47,6 +47,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "bytes_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "bytes_aarch64.hpp" +++#endif ++ ++ #ifdef CC_INTERP ++ ++@@ -618,6 +621,9 @@ void print(); ++ #ifdef TARGET_ARCH_ppc ++ # include "bytecodeInterpreter_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "bytecodeInterpreter_aarch64.hpp" +++#endif ++ ++ ++ }; // BytecodeInterpreter ++diff --git openjdk.orig/hotspot/src/share/vm/interpreter/bytecodeInterpreter.inline.hpp openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.inline.hpp ++index 3715a52..0d6a8aa 100644 ++--- openjdk.orig/hotspot/src/share/vm/interpreter/bytecodeInterpreter.inline.hpp +++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.inline.hpp ++@@ -58,6 +58,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "bytecodeInterpreter_ppc.inline.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "bytecodeInterpreter_aarch64.inline.hpp" +++#endif ++ ++ #endif // CC_INTERP ++ ++diff --git openjdk.orig/hotspot/src/share/vm/interpreter/bytecodeStream.hpp openjdk/hotspot/src/share/vm/interpreter/bytecodeStream.hpp ++index 6106eac..f3dee0a 100644 ++--- openjdk.orig/hotspot/src/share/vm/interpreter/bytecodeStream.hpp +++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeStream.hpp ++@@ -43,6 +43,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "bytes_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "bytes_aarch64.hpp" +++#endif ++ ++ // A BytecodeStream is used for fast iteration over the bytecodes ++ // of a methodOop. ++diff --git openjdk.orig/hotspot/src/share/vm/interpreter/bytecodes.cpp openjdk/hotspot/src/share/vm/interpreter/bytecodes.cpp ++index 04f3f64..48ef30e 100644 ++--- openjdk.orig/hotspot/src/share/vm/interpreter/bytecodes.cpp +++++ openjdk/hotspot/src/share/vm/interpreter/bytecodes.cpp ++@@ -41,6 +41,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "bytes_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "bytes_aarch64.hpp" +++#endif ++ ++ ++ #if defined(WIN32) && (defined(_MSC_VER) && (_MSC_VER < 1600)) ++diff --git openjdk.orig/hotspot/src/share/vm/interpreter/cppInterpreter.hpp openjdk/hotspot/src/share/vm/interpreter/cppInterpreter.hpp ++index e3a9f2e..8347473 100644 ++--- openjdk.orig/hotspot/src/share/vm/interpreter/cppInterpreter.hpp +++++ openjdk/hotspot/src/share/vm/interpreter/cppInterpreter.hpp ++@@ -101,6 +101,9 @@ class CppInterpreter: public AbstractInterpreter { ++ #ifdef TARGET_ARCH_ppc ++ # include "cppInterpreter_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "cppInterpreter_aarch64.hpp" +++#endif ++ ++ ++ }; ++diff --git openjdk.orig/hotspot/src/share/vm/interpreter/cppInterpreterGenerator.hpp openjdk/hotspot/src/share/vm/interpreter/cppInterpreterGenerator.hpp ++index c27805e..272f6e8 100644 ++--- openjdk.orig/hotspot/src/share/vm/interpreter/cppInterpreterGenerator.hpp +++++ openjdk/hotspot/src/share/vm/interpreter/cppInterpreterGenerator.hpp ++@@ -59,6 +59,9 @@ class CppInterpreterGenerator: public AbstractInterpreterGenerator { ++ #ifdef TARGET_ARCH_ppc ++ # include "cppInterpreterGenerator_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "cppInterpreterGenerator_aarch64.hpp" +++#endif ++ ++ }; ++ ++diff --git openjdk.orig/hotspot/src/share/vm/interpreter/interpreter.hpp openjdk/hotspot/src/share/vm/interpreter/interpreter.hpp ++index 0ab0be7..6a6822f 100644 ++--- openjdk.orig/hotspot/src/share/vm/interpreter/interpreter.hpp +++++ openjdk/hotspot/src/share/vm/interpreter/interpreter.hpp ++@@ -158,6 +158,9 @@ class Interpreter: public CC_INTERP_ONLY(CppInterpreter) NOT_CC_INTERP(TemplateI ++ #ifdef TARGET_ARCH_ppc ++ # include "interpreter_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "interpreter_aarch64.hpp" +++#endif ++ ++ }; ++ ++diff --git openjdk.orig/hotspot/src/share/vm/interpreter/interpreterGenerator.hpp openjdk/hotspot/src/share/vm/interpreter/interpreterGenerator.hpp ++index 7bc43ec..0434ca3 100644 ++--- openjdk.orig/hotspot/src/share/vm/interpreter/interpreterGenerator.hpp +++++ openjdk/hotspot/src/share/vm/interpreter/interpreterGenerator.hpp ++@@ -56,6 +56,9 @@ InterpreterGenerator(StubQueue* _code); ++ #ifdef TARGET_ARCH_ppc ++ # include "interpreterGenerator_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "interpreterGenerator_aarch64.hpp" +++#endif ++ ++ ++ }; ++diff --git openjdk.orig/hotspot/src/share/vm/interpreter/interpreterRuntime.cpp openjdk/hotspot/src/share/vm/interpreter/interpreterRuntime.cpp ++index e451c04..37700fb 100644 ++--- openjdk.orig/hotspot/src/share/vm/interpreter/interpreterRuntime.cpp +++++ openjdk/hotspot/src/share/vm/interpreter/interpreterRuntime.cpp ++@@ -71,6 +71,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "vm_version_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "vm_version_aarch64.hpp" +++#endif ++ #ifdef COMPILER2 ++ #include "opto/runtime.hpp" ++ #endif ++diff --git openjdk.orig/hotspot/src/share/vm/interpreter/interpreterRuntime.hpp openjdk/hotspot/src/share/vm/interpreter/interpreterRuntime.hpp ++index 93c1a9e..425400e 100644 ++--- openjdk.orig/hotspot/src/share/vm/interpreter/interpreterRuntime.hpp +++++ openjdk/hotspot/src/share/vm/interpreter/interpreterRuntime.hpp ++@@ -164,6 +164,9 @@ class InterpreterRuntime: AllStatic { ++ #endif ++ #ifdef TARGET_ARCH_ppc ++ # include "interpreterRT_ppc.hpp" +++#endif +++#ifdef TARGET_ARCH_aarch64 +++# include "interpreterRT_aarch64.hpp" ++ #endif ++ ++ ++diff --git openjdk.orig/hotspot/src/share/vm/interpreter/templateInterpreter.hpp openjdk/hotspot/src/share/vm/interpreter/templateInterpreter.hpp ++index 25d74f7..f78a16e 100644 ++--- openjdk.orig/hotspot/src/share/vm/interpreter/templateInterpreter.hpp +++++ openjdk/hotspot/src/share/vm/interpreter/templateInterpreter.hpp ++@@ -198,6 +198,9 @@ class TemplateInterpreter: public AbstractInterpreter { ++ #ifdef TARGET_ARCH_ppc ++ # include "templateInterpreter_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "templateInterpreter_aarch64.hpp" +++#endif ++ ++ ++ }; ++diff --git openjdk.orig/hotspot/src/share/vm/interpreter/templateInterpreterGenerator.hpp openjdk/hotspot/src/share/vm/interpreter/templateInterpreterGenerator.hpp ++index fb7bdc5..6007630 100644 ++--- openjdk.orig/hotspot/src/share/vm/interpreter/templateInterpreterGenerator.hpp +++++ openjdk/hotspot/src/share/vm/interpreter/templateInterpreterGenerator.hpp ++@@ -101,6 +101,9 @@ class TemplateInterpreterGenerator: public AbstractInterpreterGenerator { ++ #ifdef TARGET_ARCH_ppc ++ # include "templateInterpreterGenerator_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "templateInterpreterGenerator_aarch64.hpp" +++#endif ++ ++ ++ }; ++diff --git openjdk.orig/hotspot/src/share/vm/interpreter/templateTable.hpp openjdk/hotspot/src/share/vm/interpreter/templateTable.hpp ++index 5d2a7e8..c5e0f0a 100644 ++--- openjdk.orig/hotspot/src/share/vm/interpreter/templateTable.hpp +++++ openjdk/hotspot/src/share/vm/interpreter/templateTable.hpp ++@@ -43,6 +43,9 @@ ++ #ifdef TARGET_ARCH_MODEL_ppc ++ # include "interp_masm_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_MODEL_aarch64 +++# include "interp_masm_aarch64.hpp" +++#endif ++ ++ #ifndef CC_INTERP ++ // All the necessary definitions used for (bytecode) template generation. Instead of ++@@ -373,6 +376,9 @@ class TemplateTable: AllStatic { ++ #ifdef TARGET_ARCH_MODEL_ppc ++ # include "templateTable_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_MODEL_aarch64 +++# include "templateTable_aarch64.hpp" +++#endif ++ ++ }; ++ #endif /* !CC_INTERP */ ++diff --git openjdk.orig/hotspot/src/share/vm/oops/constantPoolOop.hpp openjdk/hotspot/src/share/vm/oops/constantPoolOop.hpp ++index c2f985d..3d0d0fc 100644 ++--- openjdk.orig/hotspot/src/share/vm/oops/constantPoolOop.hpp +++++ openjdk/hotspot/src/share/vm/oops/constantPoolOop.hpp ++@@ -45,6 +45,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "bytes_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "bytes_aarch64.hpp" +++#endif ++ ++ // A constantPool is an array containing class constants as described in the ++ // class file. ++diff --git openjdk.orig/hotspot/src/share/vm/oops/oop.inline.hpp openjdk/hotspot/src/share/vm/oops/oop.inline.hpp ++index db14b2e..c8b326f 100644 ++--- openjdk.orig/hotspot/src/share/vm/oops/oop.inline.hpp +++++ openjdk/hotspot/src/share/vm/oops/oop.inline.hpp ++@@ -58,6 +58,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "bytes_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "bytes_aarch64.hpp" +++#endif ++ ++ // Implementation of all inlined member functions defined in oop.hpp ++ // We need a separate file to avoid circular references ++diff --git openjdk.orig/hotspot/src/share/vm/opto/buildOopMap.cpp openjdk/hotspot/src/share/vm/opto/buildOopMap.cpp ++index fc73160..2c5ec41 100644 ++--- openjdk.orig/hotspot/src/share/vm/opto/buildOopMap.cpp +++++ openjdk/hotspot/src/share/vm/opto/buildOopMap.cpp ++@@ -47,6 +47,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "vmreg_ppc.inline.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "vmreg_aarch64.inline.hpp" +++#endif ++ ++ // The functions in this file builds OopMaps after all scheduling is done. ++ // ++diff --git openjdk.orig/hotspot/src/share/vm/opto/c2_globals.hpp openjdk/hotspot/src/share/vm/opto/c2_globals.hpp ++index f73dcbd..462c875 100644 ++--- openjdk.orig/hotspot/src/share/vm/opto/c2_globals.hpp +++++ openjdk/hotspot/src/share/vm/opto/c2_globals.hpp ++@@ -35,6 +35,9 @@ ++ #ifdef TARGET_ARCH_arm ++ # include "c2_globals_arm.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "c2_globals_aarch64.hpp" +++#endif ++ #ifdef TARGET_OS_FAMILY_linux ++ # include "c2_globals_linux.hpp" ++ #endif ++diff --git openjdk.orig/hotspot/src/share/vm/opto/c2compiler.cpp openjdk/hotspot/src/share/vm/opto/c2compiler.cpp ++index 713e3f1..948e447 100644 ++--- openjdk.orig/hotspot/src/share/vm/opto/c2compiler.cpp +++++ openjdk/hotspot/src/share/vm/opto/c2compiler.cpp ++@@ -43,6 +43,9 @@ ++ #ifdef TARGET_ARCH_MODEL_ppc ++ # include "adfiles/ad_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_MODEL_aarch64 +++# include "adfiles/ad_aarch64.hpp" +++#endif ++ ++ ++ volatile int C2Compiler::_runtimes = uninitialized; ++diff --git openjdk.orig/hotspot/src/share/vm/opto/compile.cpp openjdk/hotspot/src/share/vm/opto/compile.cpp ++index a7ee07a..91dc290 100644 ++--- openjdk.orig/hotspot/src/share/vm/opto/compile.cpp +++++ openjdk/hotspot/src/share/vm/opto/compile.cpp ++@@ -80,6 +80,9 @@ ++ #ifdef TARGET_ARCH_MODEL_ppc ++ # include "adfiles/ad_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_MODEL_aarch64 +++# include "adfiles/ad_aarch64.hpp" +++#endif ++ ++ ++ // -------------------- Compile::mach_constant_base_node ----------------------- ++diff --git openjdk.orig/hotspot/src/share/vm/opto/gcm.cpp openjdk/hotspot/src/share/vm/opto/gcm.cpp ++index 8b8f311..4deb0b4 100644 ++--- openjdk.orig/hotspot/src/share/vm/opto/gcm.cpp +++++ openjdk/hotspot/src/share/vm/opto/gcm.cpp ++@@ -53,6 +53,9 @@ ++ #ifdef TARGET_ARCH_MODEL_ppc ++ # include "adfiles/ad_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_MODEL_aarch64 +++# include "adfiles/ad_aarch64.hpp" +++#endif ++ ++ // Portions of code courtesy of Clifford Click ++ ++diff --git openjdk.orig/hotspot/src/share/vm/opto/lcm.cpp openjdk/hotspot/src/share/vm/opto/lcm.cpp ++index aee6123..4b9aaed 100644 ++--- openjdk.orig/hotspot/src/share/vm/opto/lcm.cpp +++++ openjdk/hotspot/src/share/vm/opto/lcm.cpp ++@@ -48,6 +48,9 @@ ++ #ifdef TARGET_ARCH_MODEL_ppc ++ # include "adfiles/ad_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_MODEL_aarch64 +++# include "adfiles/ad_aarch64.hpp" +++#endif ++ ++ // Optimization - Graph Style ++ ++diff --git openjdk.orig/hotspot/src/share/vm/opto/locknode.hpp openjdk/hotspot/src/share/vm/opto/locknode.hpp ++index 91b99bc..665594f 100644 ++--- openjdk.orig/hotspot/src/share/vm/opto/locknode.hpp +++++ openjdk/hotspot/src/share/vm/opto/locknode.hpp ++@@ -46,6 +46,9 @@ ++ #ifdef TARGET_ARCH_MODEL_ppc ++ # include "adfiles/ad_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_MODEL_aarch64 +++# include "adfiles/ad_aarch64.hpp" +++#endif ++ ++ //------------------------------BoxLockNode------------------------------------ ++ class BoxLockNode : public Node { ++diff --git openjdk.orig/hotspot/src/share/vm/opto/matcher.cpp openjdk/hotspot/src/share/vm/opto/matcher.cpp ++index ca2d4e3..d0f55c5 100644 ++--- openjdk.orig/hotspot/src/share/vm/opto/matcher.cpp +++++ openjdk/hotspot/src/share/vm/opto/matcher.cpp ++@@ -55,6 +55,9 @@ ++ #ifdef TARGET_ARCH_MODEL_ppc ++ # include "adfiles/ad_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_MODEL_aarch64 +++# include "adfiles/ad_aarch64.hpp" +++#endif ++ ++ OptoReg::Name OptoReg::c_frame_pointer; ++ ++diff --git openjdk.orig/hotspot/src/share/vm/opto/output.hpp openjdk/hotspot/src/share/vm/opto/output.hpp ++index 50b6e76..6a920b2 100644 ++--- openjdk.orig/hotspot/src/share/vm/opto/output.hpp +++++ openjdk/hotspot/src/share/vm/opto/output.hpp ++@@ -45,6 +45,9 @@ ++ #ifdef TARGET_ARCH_MODEL_ppc ++ # include "adfiles/ad_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_MODEL_aarch64 +++# include "adfiles/ad_aarch64.hpp" +++#endif ++ ++ class Arena; ++ class Bundle; ++diff --git openjdk.orig/hotspot/src/share/vm/opto/regmask.cpp openjdk/hotspot/src/share/vm/opto/regmask.cpp ++index ce220f0..20c6028 100644 ++--- openjdk.orig/hotspot/src/share/vm/opto/regmask.cpp +++++ openjdk/hotspot/src/share/vm/opto/regmask.cpp ++@@ -43,6 +43,9 @@ ++ #ifdef TARGET_ARCH_MODEL_ppc ++ # include "adfiles/ad_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_MODEL_aarch64 +++# include "adfiles/ad_aarch64.hpp" +++#endif ++ ++ #define RM_SIZE _RM_SIZE /* a constant private to the class RegMask */ ++ ++diff --git openjdk.orig/hotspot/src/share/vm/opto/regmask.hpp openjdk/hotspot/src/share/vm/opto/regmask.hpp ++index e50ff84..26c6854 100644 ++--- openjdk.orig/hotspot/src/share/vm/opto/regmask.hpp +++++ openjdk/hotspot/src/share/vm/opto/regmask.hpp ++@@ -46,6 +46,9 @@ ++ #ifdef TARGET_ARCH_MODEL_ppc ++ # include "adfiles/adGlobals_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_MODEL_aarch64 +++# include "adfiles/adGlobals_aarch64.hpp" +++#endif ++ ++ // Some fun naming (textual) substitutions: ++ // ++diff --git openjdk.orig/hotspot/src/share/vm/opto/runtime.cpp openjdk/hotspot/src/share/vm/opto/runtime.cpp ++index d315f10..11a58b1 100644 ++--- openjdk.orig/hotspot/src/share/vm/opto/runtime.cpp +++++ openjdk/hotspot/src/share/vm/opto/runtime.cpp ++@@ -86,6 +86,9 @@ ++ #ifdef TARGET_ARCH_MODEL_ppc ++ # include "adfiles/ad_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_MODEL_aarch64 +++# include "adfiles/ad_aarch64.hpp" +++#endif ++ ++ ++ // For debugging purposes: ++diff --git openjdk.orig/hotspot/src/share/vm/prims/jniCheck.cpp openjdk/hotspot/src/share/vm/prims/jniCheck.cpp ++index 3bf4ecd..2ad9014 100644 ++--- openjdk.orig/hotspot/src/share/vm/prims/jniCheck.cpp +++++ openjdk/hotspot/src/share/vm/prims/jniCheck.cpp ++@@ -51,6 +51,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "jniTypes_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "jniTypes_aarch64.hpp" +++#endif ++ ++ ++ // Heap objects are allowed to be directly referenced only in VM code, ++diff --git openjdk.orig/hotspot/src/share/vm/prims/jni_md.h openjdk/hotspot/src/share/vm/prims/jni_md.h ++index 7fa5829..3bd4e31 100644 ++--- openjdk.orig/hotspot/src/share/vm/prims/jni_md.h +++++ openjdk/hotspot/src/share/vm/prims/jni_md.h ++@@ -39,6 +39,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "jni_ppc.h" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "jni_aarch64.h" +++#endif ++ ++ ++ /* ++diff --git openjdk.orig/hotspot/src/share/vm/prims/jvmtiClassFileReconstituter.cpp openjdk/hotspot/src/share/vm/prims/jvmtiClassFileReconstituter.cpp ++index 97dd154..fd1fa43 100644 ++--- openjdk.orig/hotspot/src/share/vm/prims/jvmtiClassFileReconstituter.cpp +++++ openjdk/hotspot/src/share/vm/prims/jvmtiClassFileReconstituter.cpp ++@@ -43,6 +43,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "bytes_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "bytes_aarch64.hpp" +++#endif ++ // FIXME: add Deprecated, LVTT attributes ++ // FIXME: fix Synthetic attribute ++ // FIXME: per Serguei, add error return handling for constantPoolOopDesc::copy_cpool_bytes() ++diff --git openjdk.orig/hotspot/src/share/vm/prims/methodHandles.hpp openjdk/hotspot/src/share/vm/prims/methodHandles.hpp ++index 514ba6a..ea747d0 100644 ++--- openjdk.orig/hotspot/src/share/vm/prims/methodHandles.hpp +++++ openjdk/hotspot/src/share/vm/prims/methodHandles.hpp ++@@ -738,6 +738,9 @@ public: ++ #ifdef TARGET_ARCH_ppc ++ # include "methodHandles_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "methodHandles_aarch64.hpp" +++#endif ++ }; ++ ++ ++diff --git openjdk.orig/hotspot/src/share/vm/runtime/atomic.cpp openjdk/hotspot/src/share/vm/runtime/atomic.cpp ++index 80780d7..5a34f15 100644 ++--- openjdk.orig/hotspot/src/share/vm/runtime/atomic.cpp +++++ openjdk/hotspot/src/share/vm/runtime/atomic.cpp ++@@ -60,6 +60,9 @@ ++ #ifdef TARGET_OS_ARCH_linux_ppc ++ # include "atomic_linux_ppc.inline.hpp" ++ #endif +++#ifdef TARGET_OS_ARCH_linux_aarch64 +++# include "atomic_linux_aarch64.inline.hpp" +++#endif ++ #ifdef TARGET_OS_ARCH_bsd_x86 ++ # include "atomic_bsd_x86.inline.hpp" ++ #endif ++diff --git openjdk.orig/hotspot/src/share/vm/runtime/deoptimization.cpp openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp ++index 4735588..4e7958a 100644 ++--- openjdk.orig/hotspot/src/share/vm/runtime/deoptimization.cpp +++++ openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp ++@@ -65,6 +65,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "vmreg_ppc.inline.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "vmreg_aarch64.inline.hpp" +++#endif ++ #ifdef COMPILER2 ++ #ifdef TARGET_ARCH_MODEL_x86_32 ++ # include "adfiles/ad_x86_32.hpp" ++@@ -84,6 +87,9 @@ ++ #ifdef TARGET_ARCH_MODEL_ppc ++ # include "adfiles/ad_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_MODEL_aarch64 +++# include "adfiles/ad_aarch64.hpp" +++#endif ++ #endif ++ ++ bool DeoptimizationMarker::_is_active = false; ++diff --git openjdk.orig/hotspot/src/share/vm/runtime/dtraceJSDT.hpp openjdk/hotspot/src/share/vm/runtime/dtraceJSDT.hpp ++index bff4310..1129cd6 100644 ++--- openjdk.orig/hotspot/src/share/vm/runtime/dtraceJSDT.hpp +++++ openjdk/hotspot/src/share/vm/runtime/dtraceJSDT.hpp ++@@ -41,6 +41,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "nativeInst_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "nativeInst_aarch64.hpp" +++#endif ++ ++ class RegisteredProbes; ++ typedef jlong OpaqueProbes; ++diff --git openjdk.orig/hotspot/src/share/vm/runtime/frame.cpp openjdk/hotspot/src/share/vm/runtime/frame.cpp ++index 7ae9aa8..6654714 100644 ++--- openjdk.orig/hotspot/src/share/vm/runtime/frame.cpp +++++ openjdk/hotspot/src/share/vm/runtime/frame.cpp ++@@ -59,6 +59,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "nativeInst_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "nativeInst_aarch64.hpp" +++#endif ++ ++ RegisterMap::RegisterMap(JavaThread *thread, bool update_map) { ++ _thread = thread; ++diff --git openjdk.orig/hotspot/src/share/vm/runtime/frame.hpp openjdk/hotspot/src/share/vm/runtime/frame.hpp ++index c55380e..c13caae 100644 ++--- openjdk.orig/hotspot/src/share/vm/runtime/frame.hpp +++++ openjdk/hotspot/src/share/vm/runtime/frame.hpp ++@@ -50,6 +50,9 @@ ++ #ifdef TARGET_ARCH_MODEL_ppc ++ # include "adfiles/adGlobals_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_MODEL_aarch64 +++# include "adfiles/adGlobals_aarch64.hpp" +++#endif ++ #endif ++ #ifdef ZERO ++ #ifdef TARGET_ARCH_zero ++@@ -491,6 +494,9 @@ class frame VALUE_OBJ_CLASS_SPEC { ++ #ifdef TARGET_ARCH_ppc ++ # include "frame_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "frame_aarch64.hpp" +++#endif ++ ++ }; ++ ++diff --git openjdk.orig/hotspot/src/share/vm/runtime/frame.inline.hpp openjdk/hotspot/src/share/vm/runtime/frame.inline.hpp ++index b80b042..f6e1b0e 100644 ++--- openjdk.orig/hotspot/src/share/vm/runtime/frame.inline.hpp +++++ openjdk/hotspot/src/share/vm/runtime/frame.inline.hpp ++@@ -46,6 +46,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "jniTypes_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "jniTypes_aarch64.hpp" +++#endif ++ #ifdef ZERO ++ #ifdef TARGET_ARCH_zero ++ # include "entryFrame_zero.hpp" ++@@ -100,6 +103,9 @@ inline bool frame::is_first_frame() const { ++ #ifdef TARGET_ARCH_ppc ++ # include "frame_ppc.inline.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "frame_aarch64.inline.hpp" +++#endif ++ ++ ++ #endif // SHARE_VM_RUNTIME_FRAME_INLINE_HPP ++diff --git openjdk.orig/hotspot/src/share/vm/runtime/globals.hpp openjdk/hotspot/src/share/vm/runtime/globals.hpp ++index 10d74cd..4cc5dfb 100644 ++--- openjdk.orig/hotspot/src/share/vm/runtime/globals.hpp +++++ openjdk/hotspot/src/share/vm/runtime/globals.hpp ++@@ -52,6 +52,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "globals_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "globals_aarch64.hpp" +++#endif ++ #ifdef TARGET_OS_FAMILY_linux ++ # include "globals_linux.hpp" ++ #endif ++@@ -88,6 +91,9 @@ ++ #ifdef TARGET_OS_ARCH_linux_ppc ++ # include "globals_linux_ppc.hpp" ++ #endif +++#ifdef TARGET_OS_ARCH_linux_aarch64 +++# include "globals_linux_aarch64.hpp" +++#endif ++ #ifdef TARGET_OS_ARCH_bsd_x86 ++ # include "globals_bsd_x86.hpp" ++ #endif ++@@ -107,6 +113,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "c1_globals_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "c1_globals_aarch64.hpp" +++#endif ++ #ifdef TARGET_OS_FAMILY_linux ++ # include "c1_globals_linux.hpp" ++ #endif ++@@ -130,6 +139,9 @@ ++ #ifdef TARGET_ARCH_arm ++ # include "c2_globals_arm.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "c2_globals_aarch64.hpp" +++#endif ++ #ifdef TARGET_OS_FAMILY_linux ++ # include "c2_globals_linux.hpp" ++ #endif ++diff --git openjdk.orig/hotspot/src/share/vm/runtime/icache.hpp openjdk/hotspot/src/share/vm/runtime/icache.hpp ++index d460a0f..9a3b9c8 100644 ++--- openjdk.orig/hotspot/src/share/vm/runtime/icache.hpp +++++ openjdk/hotspot/src/share/vm/runtime/icache.hpp ++@@ -83,6 +83,9 @@ class AbstractICache : AllStatic { ++ #ifdef TARGET_ARCH_ppc ++ # include "icache_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "icache_aarch64.hpp" +++#endif ++ ++ ++ ++diff --git openjdk.orig/hotspot/src/share/vm/runtime/java.cpp openjdk/hotspot/src/share/vm/runtime/java.cpp ++index fc3b67a..46794b0 100644 ++--- openjdk.orig/hotspot/src/share/vm/runtime/java.cpp +++++ openjdk/hotspot/src/share/vm/runtime/java.cpp ++@@ -78,6 +78,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "vm_version_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "vm_version_aarch64.hpp" +++#endif ++ #ifdef TARGET_OS_FAMILY_linux ++ # include "thread_linux.inline.hpp" ++ #endif ++diff --git openjdk.orig/hotspot/src/share/vm/runtime/javaCalls.hpp openjdk/hotspot/src/share/vm/runtime/javaCalls.hpp ++index d4f8595..bc2ca9b 100644 ++--- openjdk.orig/hotspot/src/share/vm/runtime/javaCalls.hpp +++++ openjdk/hotspot/src/share/vm/runtime/javaCalls.hpp ++@@ -45,6 +45,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "jniTypes_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "jniTypes_aarch64.hpp" +++#endif ++ #ifdef TARGET_OS_FAMILY_linux ++ # include "thread_linux.inline.hpp" ++ #endif ++diff --git openjdk.orig/hotspot/src/share/vm/runtime/javaFrameAnchor.hpp openjdk/hotspot/src/share/vm/runtime/javaFrameAnchor.hpp ++index 8374aa2..6be5f79 100644 ++--- openjdk.orig/hotspot/src/share/vm/runtime/javaFrameAnchor.hpp +++++ openjdk/hotspot/src/share/vm/runtime/javaFrameAnchor.hpp ++@@ -47,6 +47,9 @@ ++ #ifdef TARGET_OS_ARCH_linux_arm ++ # include "orderAccess_linux_arm.inline.hpp" ++ #endif +++#ifdef TARGET_OS_ARCH_linux_aarch64 +++# include "orderAccess_linux_aarch64.inline.hpp" +++#endif ++ #ifdef TARGET_OS_ARCH_linux_ppc ++ # include "orderAccess_linux_ppc.inline.hpp" ++ #endif ++@@ -121,6 +124,9 @@ friend class JavaCallWrapper; ++ #ifdef TARGET_ARCH_ppc ++ # include "javaFrameAnchor_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "javaFrameAnchor_aarch64.hpp" +++#endif ++ ++ ++ public: ++diff --git openjdk.orig/hotspot/src/share/vm/runtime/os.hpp openjdk/hotspot/src/share/vm/runtime/os.hpp ++index 5867deb..0f1fbb4 100644 ++--- openjdk.orig/hotspot/src/share/vm/runtime/os.hpp +++++ openjdk/hotspot/src/share/vm/runtime/os.hpp ++@@ -719,6 +719,9 @@ class os: AllStatic { ++ #ifdef TARGET_OS_ARCH_linux_ppc ++ # include "os_linux_ppc.hpp" ++ #endif +++#ifdef TARGET_OS_ARCH_linux_aarch64 +++# include "os_linux_aarch64.hpp" +++#endif ++ #ifdef TARGET_OS_ARCH_bsd_x86 ++ # include "os_bsd_x86.hpp" ++ #endif ++diff --git openjdk.orig/hotspot/src/share/vm/runtime/registerMap.hpp openjdk/hotspot/src/share/vm/runtime/registerMap.hpp ++index 5dd677a..7bd425f 100644 ++--- openjdk.orig/hotspot/src/share/vm/runtime/registerMap.hpp +++++ openjdk/hotspot/src/share/vm/runtime/registerMap.hpp ++@@ -42,6 +42,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "register_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "register_aarch64.hpp" +++#endif ++ ++ class JavaThread; ++ ++@@ -150,6 +153,9 @@ class RegisterMap : public StackObj { ++ #ifdef TARGET_ARCH_ppc ++ # include "registerMap_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "registerMap_aarch64.hpp" +++#endif ++ ++ }; ++ ++diff --git openjdk.orig/hotspot/src/share/vm/runtime/relocator.hpp openjdk/hotspot/src/share/vm/runtime/relocator.hpp ++index c34866f..790bd80 100644 ++--- openjdk.orig/hotspot/src/share/vm/runtime/relocator.hpp +++++ openjdk/hotspot/src/share/vm/runtime/relocator.hpp ++@@ -42,6 +42,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "bytes_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "bytes_aarch64.hpp" +++#endif ++ ++ // This code has been converted from the 1.1E java virtual machine ++ // Thanks to the JavaTopics group for using the code ++diff --git openjdk.orig/hotspot/src/share/vm/runtime/safepoint.cpp openjdk/hotspot/src/share/vm/runtime/safepoint.cpp ++index c29d257..a842bb3 100644 ++--- openjdk.orig/hotspot/src/share/vm/runtime/safepoint.cpp +++++ openjdk/hotspot/src/share/vm/runtime/safepoint.cpp ++@@ -70,6 +70,10 @@ ++ # include "nativeInst_ppc.hpp" ++ # include "vmreg_ppc.inline.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "nativeInst_aarch64.hpp" +++# include "vmreg_aarch64.inline.hpp" +++#endif ++ #ifdef TARGET_OS_FAMILY_linux ++ # include "thread_linux.inline.hpp" ++ #endif ++diff --git openjdk.orig/hotspot/src/share/vm/runtime/sharedRuntime.cpp openjdk/hotspot/src/share/vm/runtime/sharedRuntime.cpp ++index c25dcfe..aa7caff 100644 ++--- openjdk.orig/hotspot/src/share/vm/runtime/sharedRuntime.cpp +++++ openjdk/hotspot/src/share/vm/runtime/sharedRuntime.cpp ++@@ -76,6 +76,10 @@ ++ # include "nativeInst_ppc.hpp" ++ # include "vmreg_ppc.inline.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "nativeInst_aarch64.hpp" +++# include "vmreg_aarch64.inline.hpp" +++#endif ++ #ifdef COMPILER1 ++ #include "c1/c1_Runtime1.hpp" ++ #endif ++diff --git openjdk.orig/hotspot/src/share/vm/runtime/stackValueCollection.cpp openjdk/hotspot/src/share/vm/runtime/stackValueCollection.cpp ++index 110f712..779f994 100644 ++--- openjdk.orig/hotspot/src/share/vm/runtime/stackValueCollection.cpp +++++ openjdk/hotspot/src/share/vm/runtime/stackValueCollection.cpp ++@@ -39,6 +39,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "jniTypes_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "jniTypes_aarch64.hpp" +++#endif ++ ++ jint StackValueCollection::int_at(int slot) const { ++ intptr_t val = at(slot)->get_int(); ++diff --git openjdk.orig/hotspot/src/share/vm/runtime/statSampler.cpp openjdk/hotspot/src/share/vm/runtime/statSampler.cpp ++index 0b24def..c82a214 100644 ++--- openjdk.orig/hotspot/src/share/vm/runtime/statSampler.cpp +++++ openjdk/hotspot/src/share/vm/runtime/statSampler.cpp ++@@ -48,6 +48,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "vm_version_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "vm_version_aarch64.hpp" +++#endif ++ ++ // -------------------------------------------------------- ++ // StatSamplerTask ++diff --git openjdk.orig/hotspot/src/share/vm/runtime/stubCodeGenerator.cpp openjdk/hotspot/src/share/vm/runtime/stubCodeGenerator.cpp ++index b6068a5..4ef7e38 100644 ++--- openjdk.orig/hotspot/src/share/vm/runtime/stubCodeGenerator.cpp +++++ openjdk/hotspot/src/share/vm/runtime/stubCodeGenerator.cpp ++@@ -42,6 +42,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "assembler_ppc.inline.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "assembler_aarch64.inline.hpp" +++#endif ++ ++ ++ // Implementation of StubCodeDesc ++diff --git openjdk.orig/hotspot/src/share/vm/runtime/stubRoutines.hpp openjdk/hotspot/src/share/vm/runtime/stubRoutines.hpp ++index 8481dce..f233b56 100644 ++--- openjdk.orig/hotspot/src/share/vm/runtime/stubRoutines.hpp +++++ openjdk/hotspot/src/share/vm/runtime/stubRoutines.hpp ++@@ -46,6 +46,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "nativeInst_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "nativeInst_aarch64.hpp" +++#endif ++ ++ // StubRoutines provides entry points to assembly routines used by ++ // compiled code and the run-time system. Platform-specific entry ++@@ -116,6 +119,9 @@ class StubRoutines: AllStatic { ++ #endif ++ #ifdef TARGET_ARCH_MODEL_ppc ++ # include "stubRoutines_ppc.hpp" +++#endif +++#ifdef TARGET_ARCH_MODEL_aarch64 +++# include "stubRoutines_aarch64.hpp" ++ #endif ++ ++ ++diff --git openjdk.orig/hotspot/src/share/vm/runtime/thread.hpp openjdk/hotspot/src/share/vm/runtime/thread.hpp ++index 7846cc0..6964c22 100644 ++--- openjdk.orig/hotspot/src/share/vm/runtime/thread.hpp +++++ openjdk/hotspot/src/share/vm/runtime/thread.hpp ++@@ -1651,6 +1651,9 @@ public: ++ #ifdef TARGET_OS_ARCH_linux_ppc ++ # include "thread_linux_ppc.hpp" ++ #endif +++#ifdef TARGET_OS_ARCH_linux_aarch64 +++# include "thread_linux_aarch64.hpp" +++#endif ++ #ifdef TARGET_OS_ARCH_bsd_x86 ++ # include "thread_bsd_x86.hpp" ++ #endif ++diff --git openjdk.orig/hotspot/src/share/vm/runtime/threadLocalStorage.hpp openjdk/hotspot/src/share/vm/runtime/threadLocalStorage.hpp ++index c2f7a9e..26ef559 100644 ++--- openjdk.orig/hotspot/src/share/vm/runtime/threadLocalStorage.hpp +++++ openjdk/hotspot/src/share/vm/runtime/threadLocalStorage.hpp ++@@ -68,6 +68,9 @@ class ThreadLocalStorage : AllStatic { ++ #ifdef TARGET_OS_ARCH_linux_ppc ++ # include "threadLS_linux_ppc.hpp" ++ #endif +++#ifdef TARGET_OS_ARCH_linux_aarch64 +++# include "threadLS_linux_aarch64.hpp" +++#endif ++ #ifdef TARGET_OS_ARCH_bsd_x86 ++ # include "threadLS_bsd_x86.hpp" ++ #endif ++diff --git openjdk.orig/hotspot/src/share/vm/runtime/vmStructs.cpp openjdk/hotspot/src/share/vm/runtime/vmStructs.cpp ++index 8afd933..359f9fc 100644 ++--- openjdk.orig/hotspot/src/share/vm/runtime/vmStructs.cpp +++++ openjdk/hotspot/src/share/vm/runtime/vmStructs.cpp ++@@ -125,6 +125,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "vmStructs_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "vmStructs_aarch64.hpp" +++#endif ++ #ifdef TARGET_OS_FAMILY_linux ++ # include "thread_linux.inline.hpp" ++ #endif ++@@ -161,6 +164,9 @@ ++ #ifdef TARGET_OS_ARCH_linux_ppc ++ # include "vmStructs_linux_ppc.hpp" ++ #endif +++#ifdef TARGET_OS_ARCH_linux_aarch64 +++# include "vmStructs_linux_aarch64.hpp" +++#endif ++ #ifdef TARGET_OS_ARCH_bsd_x86 ++ # include "vmStructs_bsd_x86.hpp" ++ #endif ++@@ -221,6 +227,9 @@ ++ #ifdef TARGET_ARCH_MODEL_ppc ++ # include "adfiles/adGlobals_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_MODEL_aarch64 +++# include "adfiles/adGlobals_aarch64.hpp" +++#endif ++ #endif ++ ++ // Note: the cross-product of (c1, c2, product, nonproduct, ...), ++diff --git openjdk.orig/hotspot/src/share/vm/runtime/vm_version.cpp openjdk/hotspot/src/share/vm/runtime/vm_version.cpp ++index 2d51b67..bba9b01 100644 ++--- openjdk.orig/hotspot/src/share/vm/runtime/vm_version.cpp +++++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp ++@@ -41,6 +41,9 @@ ++ #ifdef TARGET_ARCH_ppc ++ # include "vm_version_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "vm_version_aarch64.hpp" +++#endif ++ ++ const char* Abstract_VM_Version::_s_vm_release = Abstract_VM_Version::vm_release(); ++ const char* Abstract_VM_Version::_s_internal_vm_info_string = Abstract_VM_Version::internal_vm_info_string(); ++@@ -185,6 +188,7 @@ const char* Abstract_VM_Version::jre_release_version() { ++ AMD64_ONLY("amd64") \ ++ ARM_ONLY("arm") \ ++ PPC_ONLY("ppc") \ +++ AARCH64_ONLY("aarch64") \ ++ SPARC_ONLY("sparc") ++ #endif // ZERO ++ ++diff --git openjdk.orig/hotspot/src/share/vm/utilities/copy.hpp openjdk/hotspot/src/share/vm/utilities/copy.hpp ++index 3dcbfee..198590f 100644 ++--- openjdk.orig/hotspot/src/share/vm/utilities/copy.hpp +++++ openjdk/hotspot/src/share/vm/utilities/copy.hpp ++@@ -337,6 +337,9 @@ class Copy : AllStatic { ++ #ifdef TARGET_ARCH_ppc ++ # include "copy_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "copy_aarch64.hpp" +++#endif ++ ++ }; ++ ++diff --git openjdk.orig/hotspot/src/share/vm/utilities/globalDefinitions.hpp openjdk/hotspot/src/share/vm/utilities/globalDefinitions.hpp ++index b55b0ac..5d11e26 100644 ++--- openjdk.orig/hotspot/src/share/vm/utilities/globalDefinitions.hpp +++++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions.hpp ++@@ -346,6 +346,9 @@ extern int LogMinObjAlignmentInBytes; ++ #ifdef TARGET_ARCH_ppc ++ # include "globalDefinitions_ppc.hpp" ++ #endif +++#ifdef TARGET_ARCH_aarch64 +++# include "globalDefinitions_aarch64.hpp" +++#endif ++ ++ ++ // The byte alignment to be used by Arena::Amalloc. See bugid 4169348. ++diff --git openjdk.orig/hotspot/src/share/vm/utilities/macros.hpp openjdk/hotspot/src/share/vm/utilities/macros.hpp ++index 003f2af..2aa7f87 100644 ++--- openjdk.orig/hotspot/src/share/vm/utilities/macros.hpp +++++ openjdk/hotspot/src/share/vm/utilities/macros.hpp ++@@ -261,6 +261,14 @@ ++ #define NOT_ARM(code) code ++ #endif ++ +++#ifdef AARCH64 +++#define AARCH64_ONLY(code) code +++#define NOT_AARCH64(code) +++#else +++#define AARCH64_ONLY(code) +++#define NOT_AARCH64(code) code +++#endif +++ ++ #ifdef JAVASE_EMBEDDED ++ #define EMBEDDED_ONLY(code) code ++ #define NOT_EMBEDDED(code) +-- +2.26.2 + -- cgit v1.2.3 From e3b91b799d5ad534d473d836c631accc1f54cb86 Mon Sep 17 00:00:00 2001 From: Simon South Date: Mon, 15 Jun 2020 11:22:54 -0400 Subject: gnu: icedtea-7: Build in parallel using correct number of jobs. * gnu/packages/java.scm (icedtea-7)[arguments]<#:configure-flags>: Add "--with-parallel-jobs". Signed-off-by: Efraim Flashner --- gnu/packages/java.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 8c1fabb6e2..9e4e3586bf 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -1229,6 +1229,8 @@ bootstrapping purposes.") "--enable-bootstrap" "--enable-nss" "--without-rhino" + ,(string-append "--with-parallel-jobs=" + (number->string (parallel-job-count))) "--disable-downloading" "--disable-tests" ;they are run in the check phase instead "--with-openjdk-src-dir=./openjdk.src" -- cgit v1.2.3 From 672ac09586e4bbeae962b115a739a231d715d797 Mon Sep 17 00:00:00 2001 From: Simon South Date: Mon, 15 Jun 2020 11:22:55 -0400 Subject: gnu: icedtea-7: Fix build on aarch64-linux. * gnu/packages/java.scm (icedtea-7)[native-inputs]: Remove obsolete, architecture-dependent patch to "hotspot-drop"; replace with patch to fix build on aarch64-linux. * gnu/packages/patches/icedtea-7-hotspot-aarch64-use-c++98.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Efraim Flashner --- gnu/local.mk | 1 + gnu/packages/java.scm | 2 +- .../icedtea-7-hotspot-aarch64-use-c++98.patch | 33 ++++++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/icedtea-7-hotspot-aarch64-use-c++98.patch diff --git a/gnu/local.mk b/gnu/local.mk index ff6d64bd66..85de4e4995 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1146,6 +1146,7 @@ dist_patch_DATA = \ %D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch \ %D%/packages/patches/icecat-use-system-media-libs.patch \ %D%/packages/patches/icedtea-6-extend-hotspot-aarch64-support.patch \ + %D%/packages/patches/icedtea-7-hotspot-aarch64-use-c++98.patch \ %D%/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch \ %D%/packages/patches/icu4c-CVE-2020-10531.patch \ %D%/packages/patches/id3lib-CVE-2007-4460.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 9e4e3586bf..38cc43d507 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -1659,7 +1659,7 @@ bootstrapping purposes.") (base32 "17bdv39n4lh8l5737c96f3xgamx4y305m067p01cywgp7zaddqws")) (patches (search-patches - "icedtea-7-hotspot-gcc-segfault-workaround.patch")))) + "icedtea-7-hotspot-aarch64-use-c++98.patch")))) ("ant" ,ant-bootstrap) ("attr" ,attr) ("coreutils" ,coreutils) diff --git a/gnu/packages/patches/icedtea-7-hotspot-aarch64-use-c++98.patch b/gnu/packages/patches/icedtea-7-hotspot-aarch64-use-c++98.patch new file mode 100644 index 0000000000..7ad215f975 --- /dev/null +++ b/gnu/packages/patches/icedtea-7-hotspot-aarch64-use-c++98.patch @@ -0,0 +1,33 @@ +From 919dd016be1abd213b3a7d0e9a3b79e3286ef6ad Mon Sep 17 00:00:00 2001 +From: Simon South +Date: Wed, 10 Jun 2020 13:02:09 -0400 +Subject: [PATCH] aarch64: Use only C++98 + +This patch removes an unneeded C++ template that causes the build to +fail for aarch64 using gcc 7.5.0 and its default support for only the +C++98 standard. + +It is based on original work by Severin Gehwolf . +See: https://bugzilla.redhat.com/show_bug.cgi?id=1307224 +--- + src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp b/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp +index 0bc0a2b..6f73ca0 100644 +--- a/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp ++++ b/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp +@@ -194,10 +194,6 @@ static int reg2offset_out(VMReg r) { + return (r->reg2stack() + SharedRuntime::out_preserve_stack_slots()) * VMRegImpl::stack_slot_size; + } + +-template static const T& min (const T& a, const T& b) { +- return (a > b) ? b : a; +-} +- + // --------------------------------------------------------------------------- + // Read the array of BasicTypes from a signature, and compute where the + // arguments should go. Values in the VMRegPair regs array refer to 4-byte +-- +2.26.2 + -- cgit v1.2.3 From cf8799254f67a50ba9fdc607fede28072f4a22e0 Mon Sep 17 00:00:00 2001 From: Simon South Date: Mon, 15 Jun 2020 11:22:56 -0400 Subject: gnu: icedtea-8: Build in parallel using correct number of jobs. * gnu/packages/java.scm (icedtea-8)[arguments]<#:configure-flags>: Add "--with-parallel-jobs". Signed-off-by: Efraim Flashner --- gnu/packages/java.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 38cc43d507..921526eb02 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -1762,6 +1762,8 @@ IcedTea build harness.") `( ;;"--disable-bootstrap" "--enable-bootstrap" "--enable-nss" + ,(string-append "--with-parallel-jobs=" + (number->string (parallel-job-count))) "--disable-downloading" "--disable-system-pcsc" "--disable-system-sctp" -- cgit v1.2.3 From 0569a832683e686b1ec949bcc3e3e4069929cb95 Mon Sep 17 00:00:00 2001 From: Simon South Date: Mon, 15 Jun 2020 11:22:57 -0400 Subject: gnu: icedtea-8: Fix build on aarch64-linux. * gnu/packages/java.scm (icedtea-8)[native-inputs]: Remove obsolete, architecture-dependent patch to "hotspot-drop". * gnu/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. Signed-off-by: Efraim Flashner --- gnu/local.mk | 1 - gnu/packages/java.scm | 12 +----- ...icedtea-7-hotspot-gcc-segfault-workaround.patch | 45 ---------------------- 3 files changed, 2 insertions(+), 56 deletions(-) delete mode 100644 gnu/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch diff --git a/gnu/local.mk b/gnu/local.mk index 85de4e4995..04f577399f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1147,7 +1147,6 @@ dist_patch_DATA = \ %D%/packages/patches/icecat-use-system-media-libs.patch \ %D%/packages/patches/icedtea-6-extend-hotspot-aarch64-support.patch \ %D%/packages/patches/icedtea-7-hotspot-aarch64-use-c++98.patch \ - %D%/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch \ %D%/packages/patches/icu4c-CVE-2020-10531.patch \ %D%/packages/patches/id3lib-CVE-2007-4460.patch \ %D%/packages/patches/id3lib-UTF16-writing-bug.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 921526eb02..9ced80cecf 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -1855,16 +1855,8 @@ new Date();")) ,(drop "langtools" "15wizy123vhk40chl1b4p552jf2pw2hdww0myf11qab425axz4nw")) ("hotspot-drop" - ,(origin - (method url-fetch) - (uri (string-append - "http://icedtea.classpath.org/download/drops" - "/icedtea8/" version "/hotspot.tar.xz")) - (sha256 - (base32 - "1ciz1w9j0kz7s1dxdhyqq71nla9icyz6qvn0b9z2zgkklqa98qmm")) - (patches (search-patches - "icedtea-7-hotspot-gcc-segfault-workaround.patch")))) + ,(drop "hotspot" + "1ciz1w9j0kz7s1dxdhyqq71nla9icyz6qvn0b9z2zgkklqa98qmm")) ("nashorn-drop" ,(drop "nashorn" "19pzl3ppaw8j6r5cnyp8qiw3hxijh3hdc46l39g5yfhdl4pr4hpa")) diff --git a/gnu/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch b/gnu/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch deleted file mode 100644 index 35cfe38152..0000000000 --- a/gnu/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 2f0ef2c69e99e1096a2a72c7a29025a736b044b4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= -Date: Mon, 2 Jul 2018 23:37:25 +0200 -Subject: [PATCH] Fix gcc segfault. - ---- - src/share/vm/opto/output.cpp | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/src/share/vm/opto/output.cpp b/src/share/vm/opto/output.cpp -index d46cb87..0eb9eda 100644 ---- a/src/share/vm/opto/output.cpp -+++ b/src/share/vm/opto/output.cpp -@@ -1787,6 +1787,8 @@ uint Scheduling::_total_instructions_per_bundle[Pipeline::_max_instrs_per_cycle+ - - // Initializer for class Scheduling - -+volatile const void *eePointer = Pipeline_Use::elaborated_elements; -+ - Scheduling::Scheduling(Arena *arena, Compile &compile) - : _arena(arena), - _cfg(compile.cfg()), -@@ -1829,7 +1831,7 @@ Scheduling::Scheduling(Arena *arena, Compile &compile) - memset(_current_latency, 0, node_max * sizeof(unsigned short)); - - // Clear the bundling information -- memcpy(_bundle_use_elements, Pipeline_Use::elaborated_elements, sizeof(Pipeline_Use::elaborated_elements)); -+ memcpy(_bundle_use_elements, (void *)eePointer, 11*sizeof(Pipeline_Use_Element)); - - // Get the last node - Block* block = _cfg->get_block(_cfg->number_of_blocks() - 1); -@@ -1880,8 +1882,8 @@ void Scheduling::step_and_clear() { - _bundle_use.reset(); - - memcpy(_bundle_use_elements, -- Pipeline_Use::elaborated_elements, -- sizeof(Pipeline_Use::elaborated_elements)); -+ (void *)eePointer, -+ 11*sizeof(Pipeline_Use_Element)); - } - - // Perform instruction scheduling and bundling over the sequence of --- -2.18.0 - -- cgit v1.2.3 From 2e8a9db6efd67e5524eecae8c8d1482a9bce8004 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 5 Nov 2020 13:31:53 +0100 Subject: gnu: lz4: Add a :static output. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/compression.scm (lz4)[outputs]: Add "static" to this new field. [arguments]: Replace the ‘delete-static-library’ phase with ‘move-static-library’. --- gnu/packages/compression.scm | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 43831e0ff2..818624f92e 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -798,6 +798,7 @@ decompression of some loosely related file formats used by Microsoft.") "0lpaypmk70ag2ks3kf2dl4ac3ba40n5kc1ainkp9wfjawz76mh61")) (file-name (git-file-name name version)))) (build-system gnu-build-system) + (outputs (list "out" "static")) (native-inputs `(;; For tests. ("python" ,python) @@ -806,20 +807,24 @@ decompression of some loosely related file formats used by Microsoft.") `(#:test-target "test" #:make-flags (list (string-append "CC=" ,(cc-for-target)) (string-append "prefix=" (assoc-ref %outputs "out"))) - #:phases (modify-phases %standard-phases - (delete 'configure) ;no configure script - (add-before 'check 'disable-broken-test - (lambda _ - ;; XXX: test_install.sh fails when prefix is a subdirectory. - (substitute* "tests/Makefile" - (("^test: (.*) test-install" _ targets) - (string-append "test: " targets))) - #t)) - (add-after 'install 'delete-static-library - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (delete-file (string-append out "/lib/liblz4.a")) - #t)))))) + #:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure script + (add-before 'check 'disable-broken-test + (lambda _ + (substitute* "tests/Makefile" + ;; This fails when $prefix is not a single top-level directory. + (("^test: (.*) test-install" _ targets) + (string-append "test: " targets))) + #t)) + (add-after 'install 'move-static-library + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (static (assoc-ref outputs "static"))) + (mkdir-p (string-append static "/lib")) + (rename-file (string-append out "/lib/liblz4.a") + (string-append static "/lib/liblz4.a")) + #t)))))) (home-page "https://www.lz4.org") (synopsis "Compression algorithm focused on speed") (description "LZ4 is a lossless compression algorithm, providing -- cgit v1.2.3 From fce5ce77d0eb74692ea1ee0082c0abe628690770 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 7 Nov 2020 20:09:54 +0100 Subject: gnu: tzdata: Keep using the "fat" tzdata file format. * gnu/packages/base.scm (tzdata)[arguments]: In #:make-flags, pass CPPFLAGS to preserve the same on-disk format as earlier releases. --- gnu/packages/base.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index e8f7bb5f9c..1e3f0f1f3f 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1240,7 +1240,7 @@ command.") "02g88pbw82zr36x9dz5ib4sq6bfq253yx5hbhnfyhp143naky1cv")))) (build-system gnu-build-system) (arguments - '(#:tests? #f + `(#:tests? #f #:make-flags (let ((out (assoc-ref %outputs "out")) (tmp (getenv "TMPDIR"))) (list (string-append "TOPDIR=" out) @@ -1252,6 +1252,16 @@ command.") (string-append "LIBDIR=" tmp "/lib") (string-append "MANDIR=" tmp "/man") + ;; XXX: tzdata 2020b changed the on-disk format + ;; of the time zone files from 'fat' to 'slim'. + ;; Many packages (particularly evolution-data-server) + ;; can not yet handle the latter, so we stick with + ;; 'fat' for now. + ,@(if (version>=? (package-version this-package) + "2020b") + '("CPPFLAGS=-DZIC_BLOAT_DEFAULT='\"fat\"'") + '()) + "AWK=awk" "CC=gcc")) #:modules ((guix build utils) -- cgit v1.2.3 From 052939c2f6e36de00a5e756ea29a4cc96884a55d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 7 Nov 2020 20:10:23 +0100 Subject: gnu: tzdata: Update to 2020d. * gnu/packages/base.scm (tzdata): Update to 2020d. --- gnu/packages/base.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 1e3f0f1f3f..47fca7c494 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1229,7 +1229,7 @@ command.") (define-public tzdata (package (name "tzdata") - (version "2020b") + (version "2020d") (source (origin (method url-fetch) (uri (string-append @@ -1237,7 +1237,7 @@ command.") version ".tar.gz")) (sha256 (base32 - "02g88pbw82zr36x9dz5ib4sq6bfq253yx5hbhnfyhp143naky1cv")))) + "1wxskk9mh1x2073n99qna2mq58mgi648mbq5dxlqfcrnvrbkk0cd")))) (build-system gnu-build-system) (arguments `(#:tests? #f @@ -1297,7 +1297,7 @@ command.") version ".tar.gz")) (sha256 (base32 - "1nj3zvqpy5lm6w365p9ynz4i5arq4fiy8ldq55v4z9p49nagivs7")))))) + "1mgsckixmmk9qxzsflfxnp3999qi3ls72bgksclk01g852x51w3c")))))) (home-page "https://www.iana.org/time-zones") (synopsis "Database of current and historical time zones") (description "The Time Zone Database (often called tz or zoneinfo) -- cgit v1.2.3 From 9b4a497e38f1845ba85c507af7f3937f1cd25122 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 8 Nov 2020 00:22:21 +0100 Subject: gnu: gdb@9.2: Restore 'gdb-hurd.patch'. This patch got lost when e33c4286ebcc0dcc79985a32c6c2d5ad623d1fbe was merged (commit 32787d652460871a79f99b63230f92759e2e0de2), but was still required on the 'staging' branch. * gnu/packages/patches/gdb-hurd.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. --- gnu/local.mk | 1 + gnu/packages/patches/gdb-hurd.patch | 69 +++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 gnu/packages/patches/gdb-hurd.patch diff --git a/gnu/local.mk b/gnu/local.mk index 697863ae02..ac6eeba935 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1032,6 +1032,7 @@ dist_patch_DATA = \ %D%/packages/patches/gcc-8-strmov-store-file-names.patch \ %D%/packages/patches/gcc-9-asan-fix-limits-include.patch \ %D%/packages/patches/gcc-9-strmov-store-file-names.patch \ + %D%/packages/patches/gdb-hurd.patch \ %D%/packages/patches/gd-fix-tests-on-i686.patch \ %D%/packages/patches/gd-brect-bounds.patch \ %D%/packages/patches/gdm-default-session.patch \ diff --git a/gnu/packages/patches/gdb-hurd.patch b/gnu/packages/patches/gdb-hurd.patch new file mode 100644 index 0000000000..0af8d4dc28 --- /dev/null +++ b/gnu/packages/patches/gdb-hurd.patch @@ -0,0 +1,69 @@ +Taken from upstream, removed ChangeLog. + +From 6930bffe3373690b3431d6291f9f7c116d6a1ec4 Mon Sep 17 00:00:00 2001 +From: Samuel Thibault +Date: Sat, 30 May 2020 18:35:59 +0000 +Subject: [PATCH] hurd: fix gnu_debug_flag type +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes + +../../gdb/gnu-nat.c:96:6: error: conflicting declaration ‘bool gnu_debug_flag’ + 96 | bool gnu_debug_flag = false; +../../gdb/gnu-nat.c: In function ‘void _initialize_gnu_nat()’: +../../gdb/gnu-nat.c:3511:7: error: cannot + +gdb/ChangeLog: + + * gnu-nat.h (gnu_debug_flag): Set type to bool. +--- + gdb/ChangeLog | 4 ++++ + gdb/gnu-nat.h | 2 +- + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/gdb/gnu-nat.h b/gdb/gnu-nat.h +index 77c57817b2..766f716587 100644 +--- a/gdb/gnu-nat.h ++++ b/gdb/gnu-nat.h +@@ -111,7 +111,7 @@ extern char *proc_string (struct proc *proc); + __proc_pid (__proc), __proc->tid, \ + host_address_to_string (__proc) , ##args); } while (0) + +-extern int gnu_debug_flag; ++extern bool gnu_debug_flag; + + #define debug(msg, args...) \ + do { if (gnu_debug_flag) \ +-- +Jan Nieuwenhuizen | GNU LilyPond http://lilypond.org +Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com + +commit 366f550a593c7e6bae3699a4b6d65fe937af5603 +Author: Samuel Thibault +Date: Sat May 30 18:41:30 2020 +0000 + + hurd: add missing include + + Fixes + + ../../gdb/gnu-nat.c:2522:14: error: ‘target_gdbarch’ was not declared in this scope; did you mean ‘target_detach’? + 2522 | paddress (target_gdbarch (), memaddr), pulongest (len), + + gdb/Changelog: + + * gnu-nat.c: Include "gdbarch.h". + +diff --git a/gdb/gnu-nat.c b/gdb/gnu-nat.c +index 3b438a9a43..9b93488b41 100644 +--- a/gdb/gnu-nat.c ++++ b/gdb/gnu-nat.c +@@ -64,6 +64,7 @@ extern "C" + #include "language.h" + #include "target.h" + #include "gdbsupport/gdb_wait.h" ++#include "gdbarch.h" + #include "gdbcmd.h" + #include "gdbcore.h" + #include "gdbthread.h" -- cgit v1.2.3 From 98a15c796afcc91894b7400b1d548cd50604db0c Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Mon, 9 Nov 2020 10:22:50 +0100 Subject: gnu: nyxt: Remove unused lparallel input. * gnu/packages/web-browsers.scm (nyxt)[inputs]: Remove sbcl-lparallel. --- gnu/packages/web-browsers.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index b2209cbb2a..913eb5eb11 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -554,7 +554,6 @@ driven and does not detract you from your daily work.") ("iolib" ,sbcl-iolib) ("local-time" ,sbcl-local-time) ("log4cl" ,sbcl-log4cl) - ("lparallel" ,sbcl-lparallel) ("mk-string-metrics" ,sbcl-mk-string-metrics) ("moptilities" ,sbcl-moptilities) ("osicat" ,sbcl-osicat) -- cgit v1.2.3 From 1564d1fd96dd956ca4315516329392073d1ee375 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 9 Nov 2020 19:52:10 +0100 Subject: gnu: totem: Fix test failure with GStreamer 1.18. * gnu/packages/gnome.scm (totem)[arguments]: Add phase "patch-failing-test". --- gnu/packages/gnome.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 17cdc93a00..8c3b739083 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -6077,6 +6077,14 @@ discovery protocols.") (substitute* "meson_post_install.py" (("gtk-update-icon-cache") "true")) #t)) + (add-after 'unpack 'patch-failing-test + (lambda _ + ;; Work around test failure with GStreamer 1.18, because the test + ;; relies on "und" not being mapped to a particular language: + ;; https://gitlab.gnome.org/GNOME/totem/-/issues/450 + (substitute* "src/test-totem.c" + (("und") "nosuchlang")) + #t)) (add-before 'install 'disable-cache-generation (lambda _ -- cgit v1.2.3 From 486512dcec484e0f6903e288a2eb1bb15ac585bb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 8 Nov 2020 20:16:28 +0100 Subject: gnu: iso-codes: Update to 4.5.0. * gnu/packages/iso-codes.scm (iso-codes): Update to 4.5.0. --- gnu/packages/iso-codes.scm | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/gnu/packages/iso-codes.scm b/gnu/packages/iso-codes.scm index 4a009c3159..637390d734 100644 --- a/gnu/packages/iso-codes.scm +++ b/gnu/packages/iso-codes.scm @@ -22,6 +22,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (gnu packages gettext) @@ -31,21 +32,22 @@ (define-public iso-codes (package (name "iso-codes") - (version "3.77") + (version "4.5.0") + (home-page "https://salsa.debian.org/iso-codes-team/iso-codes") (source (origin - (method url-fetch) - (uri (string-append - "https://pkg-isocodes.alioth.debian.org/downloads/iso-codes-" - version ".tar.xz")) + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "iso-codes-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "140dgygv22a49xb8x1941xr5ff12cphd9zzwxds98pgrqsj77k91")))) + "1q6x9c5x4x0x4q11iygldsmxdyzhz1mb4n8im76glwsgqsqyjs80")))) (build-system gnu-build-system) (inputs `(("gettext" ,gettext-minimal) ("perl" ,perl) ("python" ,python-wrapper))) - (home-page "https://salsa.debian.org/iso-codes-team/iso-codes") (synopsis "Various ISO standards") (description "This package provides lists of various ISO standards (e.g. country, -- cgit v1.2.3 From 3dee2299aefaf954ce38073a8dc385ab21b559c2 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 8 Nov 2020 17:17:26 +0100 Subject: gnu: GStreamer: Update to 1.18.1. * gnu/packages/gstreamer.scm (gstreamer-docs, gstreamer, gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, gst-libav, gst-editing-services, python-gst): Update to 1.18.1. --- gnu/packages/gstreamer.scm | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 0ab93e3a65..4c3e3419ef 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -397,7 +397,7 @@ arrays of data.") (define-public gstreamer-docs (package (name "gstreamer-docs") - (version "1.18.0") + (version "1.18.1") (source (origin (method url-fetch) (uri (string-append @@ -405,7 +405,7 @@ arrays of data.") "/gstreamer-docs-" version ".tar.xz")) (sha256 (base32 - "0x6ix6dj3ndc1y133xidb21a4bamdfjh88mxxxld05d78wd1ayda")))) + "0npnsr1z4x951nw8bfcna1xlgi1p0b4qb291jj3pywlib2lscnnv")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -460,7 +460,7 @@ the GStreamer multimedia framework.") (define-public gstreamer (package (name "gstreamer") - (version "1.18.0") + (version "1.18.1") (source (origin (method url-fetch) @@ -469,7 +469,7 @@ the GStreamer multimedia framework.") version ".tar.xz")) (sha256 (base32 - "01bq1k0gj603zyhq975zl09q4zla12mxqvhmk9fyn2kcn12r5w0g")))) + "1fpcpsw740svvdxvvwn0hly5i72miizm4s0mbid10ji83zi8vpvr")))) (build-system meson-build-system) (arguments `(#:phases @@ -520,7 +520,7 @@ This package provides the core library and elements.") (define-public gst-plugins-base (package (name "gst-plugins-base") - (version "1.18.0") + (version "1.18.1") (source (origin (method url-fetch) @@ -528,7 +528,7 @@ This package provides the core library and elements.") name "-" version ".tar.xz")) (sha256 (base32 - "15vqvcy842vhbic3w7l4yvannzazdgwggzv2x8f9m02hm78vsakn")))) + "0hf66sh8d4x2ksfnvaq2rqrrfq0vi0pv6wbh9i5jixrhvvbm99hv")))) (build-system meson-build-system) (propagated-inputs `(("glib" ,glib) ;required by gstreamer-sdp-1.0.pc @@ -582,7 +582,7 @@ for the GStreamer multimedia library.") (define-public gst-plugins-good (package (name "gst-plugins-good") - (version "1.18.0") + (version "1.18.1") (source (origin (method url-fetch) @@ -591,7 +591,7 @@ for the GStreamer multimedia library.") "https://gstreamer.freedesktop.org/src/" name "/" name "-" version ".tar.xz")) (sha256 - (base32 "1b4b3a6fm2wyqpnx300pg1sz01m9qhfajadk3b7sbzisg8vvqab3")))) + (base32 "0v329xi4qhlfh9aksfyviryqk9lclm4wj1lxrjnbdv4haldfj472")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas @@ -671,14 +671,14 @@ model to base your own plug-in on, here it is.") (define-public gst-plugins-bad (package (name "gst-plugins-bad") - (version "1.18.0") + (version "1.18.1") (source (origin (method url-fetch) (uri (string-append "https://gstreamer.freedesktop.org/src/" name "/" name "-" version ".tar.xz")) (sha256 (base32 - "0pqqq5bs9fjwcmbwgsgxs2dx6gznhxs7ii5pmjkslr6xmlfap0pk")))) + "1cn18cbqyysrxnrk5bpxdzd5xcws9g2kmm5rbv00cx6rhn69g5f1")))) (build-system meson-build-system) (arguments `(#:phases @@ -771,7 +771,7 @@ par compared to the rest.") (define-public gst-plugins-ugly (package (name "gst-plugins-ugly") - (version "1.18.0") + (version "1.18.1") (source (origin (method url-fetch) @@ -779,7 +779,7 @@ par compared to the rest.") (string-append "https://gstreamer.freedesktop.org/src/" name "/" name "-" version ".tar.xz")) (sha256 - (base32 "10p0nyzighvkciaspxnhlr7d7n4acrv96lf483i8l988bvj48rk8")))) + (base32 "09gpbykjchw3lb51ipxj53fy238gr9mg9jybcg5135pb56w6rk8q")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas @@ -829,7 +829,7 @@ think twice about shipping them.") (define-public gst-libav (package (name "gst-libav") - (version "1.18.0") + (version "1.18.1") (source (origin (method url-fetch) @@ -838,7 +838,7 @@ think twice about shipping them.") "https://gstreamer.freedesktop.org/src/" name "/" name "-" version ".tar.xz")) (sha256 - (base32 "0sm0sfdlalimpkf7a7rk7whvyvmmfi2kly2z3q2j5z53x5f3zya2")))) + (base32 "1n1fkkbxxsndblnbm0c2ziqp967hrz5gag6z36xbpvqk4sy1g9rr")))) (build-system meson-build-system) (native-inputs `(("perl" ,perl) @@ -859,7 +859,7 @@ decoders, muxers, and demuxers provided by FFmpeg.") (define-public gst-editing-services (package (name "gst-editing-services") - (version "1.18.0") + (version "1.18.1") (source (origin (method url-fetch) (uri (string-append @@ -867,7 +867,7 @@ decoders, muxers, and demuxers provided by FFmpeg.") "gst-editing-services-" version ".tar.xz")) (sha256 (base32 - "1a00f07v0yjqz1hydhgkjjarm4rk99yjicbz5wkfl5alhzag1bjd")))) + "09rr5a198p1r9wcbsjl01xg6idkfkgj5h9x7xxywarb5i7qv6g79")))) (build-system meson-build-system) (arguments ;; FIXME: 16/22 failing tests. @@ -894,7 +894,7 @@ non-linear editors.") (define-public python-gst (package (name "python-gst") - (version "1.18.0") + (version "1.18.1") (source (origin (method url-fetch) (uri (string-append @@ -902,7 +902,7 @@ non-linear editors.") "gst-python-" version ".tar.xz")) (sha256 (base32 - "0ifx2s2j24sj2w5jm7cxyg1kinnhbxiz4x0qp3gnsjlwbawfigvn")))) + "1xpncj9xdn6ycnmrqnk6iaqaia658licyj08cxbjgcvs5x18kcj2")))) (build-system meson-build-system) (arguments `(#:modules ((guix build meson-build-system) -- cgit v1.2.3 From 4688dc9bb89a3b753edcbcfb6bcd5ef0df69e584 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 11 Nov 2020 21:33:04 +0100 Subject: gnu: transcode: Build with a newer ImageMagick. * gnu/packages/imagemagick.scm (imagemagick-next): New public variable. * gnu/packages/video.scm (transcode)[inputs]: Change from IMAGEMAGICK to IMAGEMAGICK-NEXT. --- gnu/packages/imagemagick.scm | 15 +++++++++++++++ gnu/packages/video.scm | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index e4efea4e45..a624d7bc6a 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Alex Vong +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -124,6 +125,20 @@ transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.") (license (license:fsf-free "http://www.imagemagick.org/script/license.php")))) +;; XXX: 'transcode' fails to detect the above ImageMagick, so we provide +;; this newer version. +(define-public imagemagick-next + (package + (inherit imagemagick) + (version "6.9.11-37") + (source (origin + (method url-fetch) + (uri (string-append "mirror://imagemagick/ImageMagick-" + version ".tar.xz")) + (sha256 + (base32 + "19r6fyhr1bycx0p6jz034mil1zh2k7hfr02is40h4g3wf9b9sdni")))))) + (define-public perl-image-magick (package (name "perl-image-magick") diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 60a3928e32..04c3687454 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -245,7 +245,7 @@ ("faac" ,faac) ("ffmpeg" ,ffmpeg) ("freetype" ,freetype) - ("imagemagick" ,imagemagick) + ("imagemagick" ,imagemagick-next) ("lame" ,lame) ("liba52" ,liba52) ("libdv" ,libdv) -- cgit v1.2.3 From 69967919b3d16afe9ac3f13f94867eac373c858c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 13 Nov 2020 11:35:44 +0100 Subject: gnu: gst-plugins-good: Fix test failure on 32-bit systems. * gnu/packages/gstreamer.scm (gst-plugins-good)[arguments]: Add phase fix-broken-test. --- gnu/packages/gstreamer.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 4c3e3419ef..b74b6fdc00 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -597,6 +597,14 @@ for the GStreamer multimedia library.") `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas #:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-broken-test + (lambda _ + ;; Fix test failure on 32-bit. Remove for > 1.18.1. + ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/803 + (substitute* "tests/check/elements/qtdemux.c" + (("10000000") + "G_GUINT64_CONSTANT (10000000)")) + #t)) (add-before 'check 'pre-check (lambda _ ;; Tests require a running X server. -- cgit v1.2.3 From 2c400ae94207b3b84fcdcaa21c122076c050d307 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 13 Nov 2020 12:18:14 +0100 Subject: gnu: gst-plugins-bad: Disable flaky test. * gnu/packages/gstreamer.scm (gst-plugins-bad)[arguments]: Disable one more test in adjust-tests phase. --- gnu/packages/gstreamer.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index b74b6fdc00..85c48a6877 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -713,7 +713,9 @@ model to base your own plug-in on, here it is.") (("'GST_PLUGIN_SYSTEM_PATH_1_0', ''") (string-append "'GST_PLUGIN_SYSTEM_PATH_1_0', '" gst-plugins-good "/lib/gstreamer-1.0'")) - ;; This test occasionally times out, see + ;; These tests are flaky and occasionally time out: + ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/932 + ((".*elements/curlhttpsrc\\.c.*") "") ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1412 ((".*elements/dtls\\.c.*") "")) #t)))))) -- cgit v1.2.3 From c4227f7b3d753e476a63cab728d6b37dd0e91088 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 16 Nov 2020 19:19:54 +0100 Subject: gnu: lz4: Update to 1.9.3. * gnu/packages/compression.scm (lz4): Update to 1.9.3. --- gnu/packages/compression.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 4a8080785b..d8115e79ce 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -787,15 +787,14 @@ decompression of some loosely related file formats used by Microsoft.") (define-public lz4 (package (name "lz4") - (version "1.9.2") + (version "1.9.3") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/lz4/lz4") (commit (string-append "v" version)))) (sha256 - (base32 - "0lpaypmk70ag2ks3kf2dl4ac3ba40n5kc1ainkp9wfjawz76mh61")) + (base32 "1w02kazh1fps3sji2sn89fz862j1199c5ajrqcgl1bnlxj09kcbz")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (outputs (list "out" "static")) -- cgit v1.2.3 From 82e61ce2466aa26ced893afa987a846a52ccb694 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Arruga=20Vivas?= Date: Tue, 17 Nov 2020 21:05:06 +0100 Subject: gnu: libassuan: Update to 2.5.4. * gnu/packages/gnupg.scm (libassuan): Update to 2.5.4. --- gnu/packages/gnupg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index acf6508795..5101628ccb 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -168,7 +168,7 @@ generation.") (define-public libassuan (package (name "libassuan") - (version "2.5.3") + (version "2.5.4") (source (origin (method url-fetch) @@ -176,7 +176,7 @@ generation.") version ".tar.bz2")) (sha256 (base32 - "00p7cpvzf0q3qwcgg51r9d0vbab4qga2xi8wpk2fgd36710b1g4i")))) + "1w7vnnycq4z7gf4bk38pi4hrb8qrrzgfpz3cd7frwldxnfbfx060")))) (build-system gnu-build-system) (propagated-inputs `(("libgpg-error" ,libgpg-error) -- cgit v1.2.3 From b055c596937d592e0fef1dd780040d43ae20af36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Arruga=20Vivas?= Date: Tue, 17 Nov 2020 21:06:37 +0100 Subject: gnu: libksba: Update to 1.4.0. * gnu/packages/gnupg.scm (libksba): Update to 1.4.0. --- gnu/packages/gnupg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 5101628ccb..be3d764e8a 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -196,7 +196,7 @@ provided.") (define-public libksba (package (name "libksba") - (version "1.3.5") + (version "1.4.0") (source (origin (method url-fetch) @@ -205,7 +205,7 @@ provided.") version ".tar.bz2")) (sha256 (base32 - "0h53q4sns1jz1pkmhcz5wp9qrfn9f5g9i3vjv6dafwzzlvblyi21")))) + "1dj1razn35srkgadx3i30yr0q037cr0dn54m6a54vxgh3zlsirmz")))) (build-system gnu-build-system) (propagated-inputs `(("libgpg-error" ,libgpg-error))) -- cgit v1.2.3 From 38f4c54d7e212fd26e6899fad29c2e604abb32f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Arruga=20Vivas?= Date: Tue, 17 Nov 2020 21:07:37 +0100 Subject: gnu: gnupg: Update to 2.2.24. * gnu/packages/gnupg.scm (gnupg): Update to 2.2.24. --- gnu/packages/gnupg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index be3d764e8a..06548de29d 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -255,7 +255,7 @@ compatible to GNU Pth.") (define-public gnupg (package (name "gnupg") - (version "2.2.23") + (version "2.2.24") (source (origin (method url-fetch) (uri (string-append "mirror://gnupg/gnupg/gnupg-" version @@ -263,7 +263,7 @@ compatible to GNU Pth.") (patches (search-patches "gnupg-default-pinentry.patch")) (sha256 (base32 - "0p6ss4f3vlkf91pmp27bmvfr5bdxxi0pb3dmxpqljglbsx4mxd8h")))) + "0ilcp7m1dvwnri3i7q9wanf5pvhwxk7h106pd62g0d5fz80b944h")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) -- cgit v1.2.3 From f5fb52f14792a3ede1e79c302895dcaf73e9d7c8 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 19 Nov 2020 23:52:45 +0100 Subject: gnu: wlroots: Update to 0.12.0. * gnu/packages/wm.scm (wlroots): Update to 0.12.0. [arguments]: Add #:meson. Adjust Xwayland substitution in #:phases. [inputs]: Move everything ... [propagated-inputs]: ... here. Add XCB-UTIL-ERRORS and XCB-UTIL-WM. [native-inputs]: Remove FFMPEG, LIBCAP, and LIBPNG. --- gnu/packages/wm.scm | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 9cdaf864af..64b9b2ade5 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2016 doncatnip ;;; Copyright © 2016 Ivan Vilata i Balaguer ;;; Copyright © 2017 Mekeor Melire -;;; Copyright © 2017, 2019 Marius Bakke +;;; Copyright © 2017, 2019, 2020 Marius Bakke ;;; Copyright © 2017, 2020 Oleg Pykhalov ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2018 Pierre-Antoine Rouby @@ -72,6 +72,7 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bison) + #:use-module (gnu packages build-tools) ;for meson-0.55 #:use-module (gnu packages calendar) #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) @@ -1342,7 +1343,7 @@ functionality to display information about the most commonly used services.") (define-public wlroots (package (name "wlroots") - (version "0.10.1") + (version "0.12.0") (source (origin (method git-fetch) @@ -1351,32 +1352,35 @@ functionality to display information about the most commonly used services.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0j2lh9vc92zhn44rjbia5aw3y1rpgfng1x1h17lcvj5m4i6vj0pc")))) + (base32 "01j38lmgs2c6fq68v8b75pkilia2wsgzgp46ivfbi9hhx47kgcfn")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Dlogind-provider=elogind") + #:meson ,meson-0.55 #:phases (modify-phases %standard-phases (add-before 'configure 'hardcode-paths (lambda* (#:key inputs #:allow-other-keys) - (substitute* "xwayland/xwayland.c" + (substitute* "xwayland/server.c" (("Xwayland") (string-append (assoc-ref inputs "xorg-server-xwayland") "/bin/Xwayland"))) #t))))) - (inputs `(("elogind" ,elogind) - ("eudev" ,eudev) - ("libinput" ,libinput) - ("libxkbcommon" ,libxkbcommon) - ("mesa" ,mesa) - ("pixman" ,pixman) - ("wayland" ,wayland) - ("xorg-server-xwayland" ,xorg-server-xwayland))) - (native-inputs `(("ffmpeg" ,ffmpeg) - ("libcap" ,libcap) - ("libpng" ,libpng) - ("pkg-config" ,pkg-config) - ("wayland-protocols" ,wayland-protocols))) + (propagated-inputs + `(;; As required by wlroots.pc. + ("elogind" ,elogind) + ("eudev" ,eudev) + ("libinput" ,libinput) + ("libxkbcommon" ,libxkbcommon) + ("mesa" ,mesa) + ("pixman" ,pixman) + ("wayland" ,wayland) + ("xcb-util-errors" ,xcb-util-errors) + ("xcb-util-wm" ,xcb-util-wm) + ("xorg-server-xwayland" ,xorg-server-xwayland))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("wayland-protocols" ,wayland-protocols))) (home-page "https://github.com/swaywm/wlroots") (synopsis "Pluggable, composable, unopinionated modules for building a Wayland compositor") -- cgit v1.2.3 From 7fc378aa7bc1fff5d87ed993205a1e825a7872d9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 19 Nov 2020 23:54:59 +0100 Subject: gnu: sway: Update to 1.5.1. * gnu/packages/wm.scm (sway): Update to 1.5.1. [native-inputs]: Remove LIBCAP. --- gnu/packages/wm.scm | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 64b9b2ade5..ebe923fa8f 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1391,9 +1391,7 @@ modules for building a Wayland compositor.") (define-public sway (package (name "sway") - ;; XXX When updating, check whether grim-revert-output-rotation.patch can - ;; be dropped from the grim package. - (version "1.4") + (version "1.5.1") (source (origin (method git-fetch) @@ -1402,7 +1400,7 @@ modules for building a Wayland compositor.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "11qf89y3q92g696a6f4d23qb44gqixg6qxq740vwv2jw59ms34ja")))) + (base32 "1xsa3h8zhf29p0mi90baxpr76jkd9pd1gr97ky8cnjbcs4isj9j0")))) (build-system meson-build-system) (arguments `(#:phases @@ -1431,16 +1429,16 @@ modules for building a Wayland compositor.") ("swaybg" ,swaybg) ("wayland" ,wayland) ("wlroots" ,wlroots))) - (native-inputs `(("libcap" ,libcap) - ("linux-pam" ,linux-pam) - ("mesa" ,mesa) - ("pkg-config" ,pkg-config) - ("scdoc" ,scdoc) - ("wayland-protocols" ,wayland-protocols))) + (native-inputs + `(("linux-pam" ,linux-pam) + ("mesa" ,mesa) + ("pkg-config" ,pkg-config) + ("scdoc" ,scdoc) + ("wayland-protocols" ,wayland-protocols))) (home-page "https://github.com/swaywm/sway") (synopsis "Wayland compositor compatible with i3") (description "Sway is a i3-compatible Wayland compositor.") - (license license:expat))) ; MIT license + (license license:expat))) (define-public swayidle (package -- cgit v1.2.3 From 53d8e2c648e7ec4a1e0db9ac51695e4f4560fc05 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 19 Nov 2020 23:56:05 +0100 Subject: gnu: swayidle: Update to 1.6. * gnu/packages/wm.scm (swayidle): Update to 1.6. --- gnu/packages/wm.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index ebe923fa8f..d270bb0fc4 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1443,7 +1443,7 @@ modules for building a Wayland compositor.") (define-public swayidle (package (name "swayidle") - (version "1.5") + (version "1.6") (source (origin (method git-fetch) @@ -1452,7 +1452,7 @@ modules for building a Wayland compositor.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "05qi96j58xqxjiighay1d39rfanxcpn6vlynj23mb5dymxvlaq9n")))) + (base32 "1nd3v8r9549lykdwh4krldfl59lzaspmmai5k1icy7dvi6kkr18r")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Dlogind-provider=elogind"))) -- cgit v1.2.3 From 75d31a4c579a23f2ca4a24abd8d2b4cd1742c507 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 19 Nov 2020 23:56:27 +0100 Subject: gnu: swaylock: Update to 1.5. * gnu/packages/wm.scm (swaylock): Update to 1.5. --- gnu/packages/wm.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index d270bb0fc4..4c4a89c344 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1469,7 +1469,7 @@ modules for building a Wayland compositor.") (define-public swaylock (package (name "swaylock") - (version "1.4") + (version "1.5") (source (origin (method git-fetch) @@ -1478,7 +1478,7 @@ modules for building a Wayland compositor.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1ii9ql1mxkk2z69dv6bg1x22nl3a46iww764wqjiv78x08xpk982")))) + (base32 "0r95p4w11dwm5ra614vddz83r8j7z6gd120z2vcchy7m9b0f15kf")))) (build-system meson-build-system) (inputs `(("cairo" ,cairo) ("gdk-pixbuf" ,gdk-pixbuf) -- cgit v1.2.3 From 9ca38df74281bbfe5cd8ccea116c7cba0f62fc84 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 19 Nov 2020 23:56:46 +0100 Subject: gnu: mako: Update to 1.4.1. * gnu/packages/wm.scm (mako): Update to 1.4.1. --- gnu/packages/wm.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 4c4a89c344..7e2605ca9b 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1560,7 +1560,7 @@ Wlroots based compositors.") (define-public mako (package (name "mako") - (version "1.4") + (version "1.4.1") (source (origin (method git-fetch) @@ -1569,7 +1569,7 @@ Wlroots based compositors.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "11ymiq6cr2ma0iva1mqybn3j6k73bsc6lv6pcbdq7hkhd4f9b7j9")))) + (base32 "0hwvibpnrximb628w9dsfjpi30b5jy7nfkm4d94z5vhp78p43vxh")))) (build-system meson-build-system) (inputs `(("cairo" ,cairo) ("elogind" ,elogind) -- cgit v1.2.3 From fddae39aca2fd1d2e76c642f068e2d17cffe0494 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 19 Nov 2020 23:57:11 +0100 Subject: gnu: wofi: Update to 1.2.3. * gnu/packages/xdisorg.scm (wofi): Update to 1.2.3. --- gnu/packages/xdisorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 83bdd50b7d..7d9ef43f96 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -2495,7 +2495,7 @@ using @command{dmenu}.") (define-public wofi (package (name "wofi") - (version "1.1.2") + (version "1.2.3") (source (origin (method hg-fetch) (uri (hg-reference @@ -2504,7 +2504,7 @@ using @command{dmenu}.") (file-name (git-file-name name version)) (sha256 (base32 - "086j5wshawjbwdmmmldivfagc2rr7g5a2gk11l0snqqslm294xsn")))) + "0glpb2gf5n78s01z3rn614ak8ibxhfr824gy6xlljbxclgds264i")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t)) -- cgit v1.2.3 From ae52ff1b507d7880d32c15c56e91f1837a328b5c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 19 Nov 2020 23:57:50 +0100 Subject: gnu: brightnessctl: Update to 0.5.1. * gnu/packages/linux.scm (brightnessctl): Update to 0.5.1. [arguments]: Use CC-FOR-TARGET instead of "gcc". --- gnu/packages/linux.scm | 61 ++++++++++++++++++++++++-------------------------- 1 file changed, 29 insertions(+), 32 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index c8f7f9e2f3..c40d948e88 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -6056,43 +6056,40 @@ set the screen to be pitch black at a value of 0 (or higher). (license license:gpl3+))) (define-public brightnessctl - (let ((commit "6a791e7694aeeb5d027f71c6098e5182cf03371c")) - (package - (name "brightnessctl") - (version (git-version "0.4" "0" commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Hummer12007/brightnessctl/") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1n1gb8ldgqv3vs565yhk1w4jfvrviczp94r8wqlkv5q6ab43c8w9")))) - (build-system gnu-build-system) - (arguments - '(#:tests? #f ; no tests - #:make-flags (list "CC=gcc" - (string-append "PREFIX=" %output) - (string-append "UDEVDIR=" %output "/lib/udev/rules.d/")) - #:phases - (modify-phases %standard-phases - (delete 'configure) - (add-after 'unpack 'adjust-udev-rules - (lambda _ - (substitute* "90-brightnessctl.rules" - (("/bin/") "/run/current-system/profile/bin/")) - #t))))) - (home-page "https://github.com/Hummer12007/brightnessctl") - (synopsis "Backlight and LED brightness control") - (description - "This program allows you read and control device brightness. Devices + (package + (name "brightnessctl") + (version "0.5.1") + (home-page "https://github.com/Hummer12007/brightnessctl") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0immxc7almmpg80n3bdn834p3nrrz7bspl2syhb04s3lawa5y2lq")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no tests + #:make-flags (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output) + (string-append "UDEVDIR=" %output "/lib/udev/rules.d/")) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'adjust-udev-rules + (lambda _ + (substitute* "90-brightnessctl.rules" + (("/bin/") "/run/current-system/profile/bin/")) + #t))))) + (synopsis "Backlight and LED brightness control") + (description + "This program allows you read and control device brightness. Devices include backlight and LEDs. It can also preserve current brightness before applying the operation, such as on lid close. The appropriate permissions must be set on the backlight or LED control interface in sysfs, which can be accomplished with the included udev rules.") - (license license:expat)))) + (license license:expat))) (define-public tlp (package -- cgit v1.2.3 From 02b4b10568c248d03268be550146d14d8e19c217 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 19 Nov 2020 23:59:20 +0100 Subject: gnu: grim: Remove obsolete patch. * gnu/packages/patches/grim-revert-output-rotation.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/image.scm (grim)[source](patches): Remove. --- gnu/local.mk | 1 - gnu/packages/image.scm | 3 +-- .../patches/grim-revert-output-rotation.patch | 27 ---------------------- 3 files changed, 1 insertion(+), 30 deletions(-) delete mode 100644 gnu/packages/patches/grim-revert-output-rotation.patch diff --git a/gnu/local.mk b/gnu/local.mk index cf85fa737e..42a0e09e47 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1105,7 +1105,6 @@ dist_patch_DATA = \ %D%/packages/patches/gpsbabel-qstring.patch \ %D%/packages/patches/grantlee-merge-theme-dirs.patch \ %D%/packages/patches/grep-timing-sensitive-test.patch \ - %D%/packages/patches/grim-revert-output-rotation.patch \ %D%/packages/patches/grocsvs-dont-use-admiral.patch \ %D%/packages/patches/gromacs-tinyxml2.patch \ %D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \ diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 5044a527ce..2027441bf5 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1913,8 +1913,7 @@ identical visual appearance.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0fjmjq0ws9rlblkcqxxw2lv7zvvyi618jqzlnz5z9zb477jwdfib")) - (patches (search-patches "grim-revert-output-rotation.patch")))) + (base32 "0fjmjq0ws9rlblkcqxxw2lv7zvvyi618jqzlnz5z9zb477jwdfib")))) (build-system meson-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("scdoc" ,scdoc))) diff --git a/gnu/packages/patches/grim-revert-output-rotation.patch b/gnu/packages/patches/grim-revert-output-rotation.patch deleted file mode 100644 index cbf0a86502..0000000000 --- a/gnu/packages/patches/grim-revert-output-rotation.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 80b17ceaff90b81b28b44004d2aca4cc40f365be Mon Sep 17 00:00:00 2001 -From: Tobias Geerinckx-Rice -Date: Fri, 2 Oct 2020 00:07:30 +0200 -Subject: [PATCH] Revert "Correct interpretation of output rotation" - -This reverts commit 8f9d60885ce2f9bd66cd93d3378dcb6866d4588a. -It is incompatible with the current Sway version (1.4) in Guix. ---- - render.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/render.c b/render.c -index 8f31e7e..a6b0b12 100644 ---- a/render.c -+++ b/render.c -@@ -104,7 +104,7 @@ cairo_surface_t *render(struct grim_state *state, struct grim_box *geometry, - cairo_matrix_translate(&matrix, - (double)output->geometry.width / 2, - (double)output->geometry.height / 2); -- cairo_matrix_rotate(&matrix, get_output_rotation(output->transform)); -+ cairo_matrix_rotate(&matrix, -get_output_rotation(output->transform)); - cairo_matrix_scale(&matrix, - (double)raw_output_width / output_width * output_flipped_x, - (double)raw_output_height / output_height * output_flipped_y); --- -2.28.0 - -- cgit v1.2.3 From 8dc429165c9a354ffb18703598ea923d7f5e9e9a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 20 Nov 2020 00:00:30 +0100 Subject: gnu: slurp: Update to 1.3.1. * gnu/packages/image.scm (slurp): Update to 1.3.1. --- gnu/packages/image.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 2027441bf5..ed87d2f4b3 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1930,7 +1930,7 @@ identical visual appearance.") (define-public slurp (package (name "slurp") - (version "1.2.0") + (version "1.3.1") (source (origin (method git-fetch) @@ -1939,7 +1939,7 @@ identical visual appearance.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0580m6kaiilgsrcj608r837r37sl6a25y7w21p7d6ij20fs3gvg1")))) + (base32 "1fby2v2ylcadgclds05wpkl9xi2r9dfz49dqyqpn20rjv1wnz3jv")))) (build-system meson-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("cairo" ,cairo) -- cgit v1.2.3 From 007edfb72acaeb087c4478020d1bfd729a51c237 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 20 Nov 2020 00:32:45 +0100 Subject: gnu: slurp: Add missing dependency. This follows up 8dc429165c9a354ffb18703598ea923d7f5e9e9a, which forgot to stage the libxkbcommon dependency. While at it, reindent, and make SCDOC a native input. * gnu/packages/image.scm (slurp)[inputs]: Add LIBXKBCOMMON. Move SCDOC ... [inputs]: ... here. --- gnu/packages/image.scm | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index ed87d2f4b3..75f9a1bf36 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -78,6 +78,7 @@ #:use-module (gnu packages textutils) #:use-module (gnu packages video) #:use-module (gnu packages web) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module ((guix licenses) #:prefix license:) @@ -1941,16 +1942,18 @@ identical visual appearance.") (sha256 (base32 "1fby2v2ylcadgclds05wpkl9xi2r9dfz49dqyqpn20rjv1wnz3jv")))) (build-system meson-build-system) - (native-inputs `(("pkg-config" ,pkg-config))) - (inputs `(("cairo" ,cairo) - ("scdoc" ,scdoc) - ("wayland" ,wayland) - ("wayland-protocols" ,wayland-protocols))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("scdoc" ,scdoc))) + (inputs + `(("cairo" ,cairo) + ("libxkbcommon" ,libxkbcommon) + ("wayland" ,wayland) + ("wayland-protocols" ,wayland-protocols))) (home-page "https://github.com/emersion/slurp") (synopsis "Select a region in a Wayland compositor") (description "Slurp can select a region in a Wayland compositor and print it to the standard output. It works well together with grim.") - ;; MIT license. (license license:expat))) (define-public sng -- cgit v1.2.3 From be8a0881f19c7e6c5d1dabbbf1a850fff578860e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 20 Nov 2020 09:58:04 +0100 Subject: build-system/cargo: Do not pass --features to Cargo unless specified. Fixes . * guix/build/cargo-build-system.scm (build): Default to the empty list for FEATURES. Check whether the list is empty when building the Cargo arguments. --- guix/build/cargo-build-system.scm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/guix/build/cargo-build-system.scm b/guix/build/cargo-build-system.scm index 117c8da66c..73493af551 100644 --- a/guix/build/cargo-build-system.scm +++ b/guix/build/cargo-build-system.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2019 Ivan Petkov ;;; Copyright © 2019, 2020 Efraim Flashner ;;; Copyright © 2020 Jakub Kądziołka +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -141,14 +142,17 @@ directory = '" port) (define* (build #:key skip-build? - features + (features '()) (cargo-build-flags '("--release")) #:allow-other-keys) "Build a given Cargo package." (or skip-build? - (apply invoke "cargo" "build" - "--features" (string-join features) - cargo-build-flags))) + (apply invoke + `("cargo" "build" + ,@(if (null? features) + '() + `("--features" ,(string-join features))) + ,@cargo-build-flags)))) (define* (check #:key tests? -- cgit v1.2.3 From 84d1b500f078b619daba35864c703890bd91e5c2 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 21 Nov 2020 00:00:54 -0500 Subject: gnu: python-certifi: Update to 2020.11.8. * gnu/packages/python-crypto.scm (python-certifi): Update to 2020.11.8. --- gnu/packages/python-crypto.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index a6eb436b95..0cee05cb09 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -476,13 +476,13 @@ risk.") (define-public python-certifi (package (name "python-certifi") - (version "2020.4.5.1") + (version "2020.11.8") (source (origin (method url-fetch) (uri (pypi-uri "certifi" version)) (sha256 (base32 - "06b5gfs7wmmipln8f3z928d2mmx2j4b3x7pnqmj6cvmyfh8v7z2i")))) + "1x4w18gm71dbwys5g2mbcnbw27b3dvphj5d56icg5ys45h4yypgh")))) (build-system python-build-system) (arguments '(#:tests? #f)) ;no tests (home-page "https://certifi.io/") -- cgit v1.2.3 From c3245a77a9fc01c8d5e720c4af8e9c62c901cb97 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 25 Nov 2020 20:26:40 +0100 Subject: gnu: libksba: Update to 1.5.0. * gnu/packages/gnupg.scm (libksba): Update to 1.5.0. --- gnu/packages/gnupg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 7093643722..044f879c43 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -196,7 +196,7 @@ provided.") (define-public libksba (package (name "libksba") - (version "1.4.0") + (version "1.5.0") (source (origin (method url-fetch) @@ -205,7 +205,7 @@ provided.") version ".tar.bz2")) (sha256 (base32 - "1dj1razn35srkgadx3i30yr0q037cr0dn54m6a54vxgh3zlsirmz")))) + "1fm0mf3wq9fmyi1rmc1vk2fafn6liiw2mgxml3g7ybbb44lz2jmf")))) (build-system gnu-build-system) (propagated-inputs `(("libgpg-error" ,libgpg-error))) -- cgit v1.2.3 From c73a7f7d86c11de6649f12b749c035fd2b6fc1d0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 25 Nov 2020 20:28:09 +0100 Subject: gnu: gnupg: Update to 2.2.25. * gnu/packages/gnupg.scm (gnupg): Update to 2.2.25. --- gnu/packages/gnupg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 044f879c43..c769252ab9 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -255,7 +255,7 @@ compatible to GNU Pth.") (define-public gnupg (package (name "gnupg") - (version "2.2.24") + (version "2.2.25") (source (origin (method url-fetch) (uri (string-append "mirror://gnupg/gnupg/gnupg-" version @@ -263,7 +263,7 @@ compatible to GNU Pth.") (patches (search-patches "gnupg-default-pinentry.patch")) (sha256 (base32 - "0ilcp7m1dvwnri3i7q9wanf5pvhwxk7h106pd62g0d5fz80b944h")))) + "02n3klqbyzxyil13sg4wa0pcwr7vs7zjaslis926yjxg8yr0fly5")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) -- cgit v1.2.3 From 93ae39dfcdde8019797baa032e58b8120e371ad2 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 27 Nov 2020 18:36:23 +0100 Subject: gnu: Further increase common gstreamer test time-outs. They still fail too eagerly on busy build machines. * gnu/packages/gstreamer.scm (%common-gstreamer-phases): Increase the default time-outs tenfold. --- gnu/packages/gstreamer.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 3625755500..5392f4ad38 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -452,10 +452,10 @@ the GStreamer multimedia framework.") '((add-after 'unpack 'increase-test-timeout (lambda _ (substitute* "tests/check/meson.build" - (("'CK_DEFAULT_TIMEOUT', '20'") - "'CK_DEFAULT_TIMEOUT', '60'") - (("timeout ?: 3 \\* 60") - "timeout: 9 * 60")) + (("'CK_DEFAULT_TIMEOUT', '[0-9]*'") + "'CK_DEFAULT_TIMEOUT', '600'") + (("timeout ?: .*\\)") + "timeout: 90 * 60)")) #t)))) (define-public gstreamer -- cgit v1.2.3 From 081d8a34bf77bc8489655ee18fa60ae4a37e8f15 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 27 Nov 2020 19:01:01 +0100 Subject: gnu: gst-plugins-good, gst-plugins-ugly: Add missing common phases. * gnu/packages/gstreamer.scm (gst-plugins-good, gst-plugins-ugly) [arguments]: Run the %common-gstreamer-phases. --- gnu/packages/gstreamer.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 5392f4ad38..256f298346 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -598,6 +598,7 @@ for the GStreamer multimedia library.") `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas #:phases (modify-phases %standard-phases + ,@%common-gstreamer-phases (add-after 'unpack 'fix-broken-test (lambda _ ;; Fix test failure on 32-bit. Remove for > 1.18.1. @@ -802,6 +803,7 @@ par compared to the rest.") `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas #:phases (modify-phases %standard-phases + ,@%common-gstreamer-phases (add-before 'check 'pre-check (lambda _ ;; Tests require a running X server. -- cgit v1.2.3 From e827f40479dc6b652fbb92fe8a64b50cec83731b Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 28 Nov 2020 21:34:56 +0000 Subject: gnu: exa: Disable a failing test. This test seems to have started failing on the staging branch, with the change from Rust 1.39 to 1.45. ---- options::view::test::time_types::cr stdout ---- thread 'options::view::test::time_types::cr' panicked at 'called `Result::unwrap_err()` on an `Ok` value: TimeTypes { modified: false, changed: false, accessed: false, created: true }', src/options/view.rs:545:9 * gnu/packages/rust-apps.scm (exa)[arguments]: Disable a failing test. --- gnu/packages/rust-apps.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 4b66429335..33f1806880 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -85,6 +85,7 @@ (substitute* "src/options/view.rs" (("test!\\(across:.*") "") + (("test!\\(cr:.*") "") (("test!\\(empty:.*") "") (("test!\\(gracross:.*") "") (("test!\\(grid:.*") "") -- cgit v1.2.3