diff options
Diffstat (limited to 'gnu')
58 files changed, 2833 insertions, 4941 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index f3aeab36fd..3bfd619dd1 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -897,7 +897,6 @@ dist_patch_DATA = \ %D%/packages/patches/dbus-c++-gcc-compat.patch \ %D%/packages/patches/dbus-c++-threading-mutex.patch \ %D%/packages/patches/dbxfs-remove-sentry-sdk.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/dee-vapi.patch \ @@ -1162,8 +1161,11 @@ dist_patch_DATA = \ %D%/packages/patches/json-c-0.13-CVE-2020-12762.patch \ %D%/packages/patches/json-c-0.12-CVE-2020-12762.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-aarch64-support.patch \ %D%/packages/patches/jamvm-2.0.0-disable-branch-patching.patch \ - %D%/packages/patches/jamvm-arm.patch \ + %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-apache-ivy-port-to-latest-bouncycastle.patch \ @@ -1228,7 +1230,6 @@ 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/libdrm-realpath-virtio.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 \ @@ -1571,7 +1572,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/backup.scm b/gnu/packages/backup.scm index 4ebc3468a1..27741e9c5c 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -1103,7 +1103,7 @@ interactive 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 fefca80e9e..b0edfa8403 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -15551,7 +15551,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/calendar.scm b/gnu/packages/calendar.scm index 9987ae1bf8..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) @@ -124,12 +125,20 @@ the <tz.h> 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" "-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 @@ -144,7 +153,8 @@ the <tz.h> 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) 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/check.scm b/gnu/packages/check.scm index 3c437c0efa..3d8dbe6f04 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.14.0") + (version "0.15.1") (source (origin (method url-fetch) @@ -143,7 +143,7 @@ like Jasmine or Mocha.") 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") @@ -156,7 +156,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) @@ -924,13 +936,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 @@ -1562,14 +1574,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. 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 diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 45224a5ed3..0584fe111a 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 d21ec61039..3f9ca33ede 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/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 <me@tobias.gr> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Mark Wielaard <mark@klomp.org> +;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; ;;; 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 diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 02fd45017a..ed15cd28d2 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -79,7 +79,7 @@ "0svybbrvpf6q955y6fclxh3md64z0dgmh0x54x2j60503hhs071m")))) (build-system meson-build-system) (native-inputs - `(("check" ,check) + `(("check" ,check-0.14) ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs @@ -470,7 +470,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/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 <iyzsong@gmail.com> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> ;;; ;;; 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 diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index cfb87178fb..8e38f7be8c 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.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") @@ -738,14 +738,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)) @@ -774,7 +774,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 @@ -782,7 +782,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))) diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm index 2eecfb581d..828e49509d 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 @@ -70,20 +71,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") @@ -133,11 +128,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 ;; <https://bugs.gnu.org/37810>. (define-public gdb-8.2 (package - (inherit gdb-9.1) + (inherit gdb) (version "8.2.1") (source (origin (method url-fetch) @@ -146,28 +148,3 @@ written in C, C++, Ada, Objective-C, Pascal and more.") (sha256 (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 - (name "gdb-minimal") - (inputs (fold alist-delete (package-inputs gdb) - '("libxml2" "ncurses" "python-wrapper" "source-highlight"))))) 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 <https://gitlab.freedesktop.org/mesa/mesa/-/issues/2863>. -(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") diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 4ef790d11b..8df1686aff 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4380,17 +4380,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. @@ -4409,10 +4408,17 @@ 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 - #:configure-flags '("-Denable-gtk-doc=true"))) + `(#:glib-or-gtk? #t + #: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 @@ -8042,7 +8048,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 e32bf7065d..9e9143a9a3 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.20") + (version "3.24.21") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -832,7 +832,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 @@ -1613,7 +1613,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/haskell-check.scm b/gnu/packages/haskell-check.scm index b5546f97f8..6176b95988 100644 --- a/gnu/packages/haskell-check.scm +++ b/gnu/packages/haskell-check.scm @@ -501,12 +501,9 @@ 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) - ("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 diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index ae0f831082..410bf970f3 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -975,7 +975,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 @@ -983,8 +983,10 @@ Metafile}, and @acronym{EMF+, Enhanced Metafile Plus} files.") "/imlib2-" version ".tar.bz2")) (sha256 (base32 - "0v8n3dswx7rxqfd0q03xwc7j2w1mv8lv18rdxv487a1xw5vklfad")))) + "0zdk4afdrrr1539f2q15zja19j4wwfmpswzws2ffgflcnhywlxhr")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags (list "--disable-static"))) (native-inputs `(("pkgconfig" ,pkg-config))) (inputs 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" diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 40b0a8c1dd..aff8abc642 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -290,7 +290,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")) @@ -306,13 +307,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 @@ -697,7 +715,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 @@ -763,7 +782,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. @@ -771,9 +792,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/kde.scm b/gnu/packages/kde.scm index 92d6c4534d..385d36fdc6 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -445,7 +445,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/linux.scm b/gnu/packages/linux.scm index 4b8bbfdc3d..a1a482f290 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1276,7 +1276,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) @@ -1285,7 +1285,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) @@ -2028,7 +2028,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 @@ -2036,7 +2036,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=" @@ -2052,14 +2052,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. diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 9c5c3f4231..1f0006964b 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 @@ -321,7 +322,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 +347,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 +361,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 +372,36 @@ 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 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)) + (define-public sbcl-zpb-ttf (package (name "sbcl-zpb-ttf") @@ -407,9 +431,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 +444,17 @@ 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-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,19 @@ 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 cl-clx-truetype + (sbcl-package->cl-source-package sbcl-clx-truetype)) -(define-public ecl-cl-ppcre-unicode - (sbcl-package->ecl-package sbcl-cl-ppcre-unicode)) +(define-public ecl-clx-truetype + (sbcl-package->ecl-package sbcl-clx-truetype)) -;; 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 +654,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 +685,40 @@ 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-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 @@ -738,216 +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-boot0)) - (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))))) + (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") @@ -975,6 +769,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") @@ -1002,6 +799,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") @@ -1080,6 +880,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) @@ -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. @@ -1174,7 +982,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 @@ -1293,8 +1103,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-file "yacc.asd" - #:asd-system-name "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 @@ -1569,9 +1378,11 @@ 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-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 +1397,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 +1598,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 +1612,9 @@ 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-systems '("swank"))) (home-page "https://github.com/slime/slime") (synopsis "Common Lisp Swank server") (description @@ -1839,8 +1623,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 +1647,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 @@ -1893,7 +1676,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")) @@ -2116,10 +1905,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 +1921,13 @@ named color.") "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc")) (file-name (git-file-name "prove" version)))) (build-system asdf-build-system/sbcl) - (arguments - `(#:asd-file "prove-asdf.asd")) - (synopsis "Test requirement for the Common Lisp 'prove' library") + (inputs + `(("alexandria" ,sbcl-alexandria) + ("cl-ppcre" ,sbcl-cl-ppcre) + ("cl-ansi-text" ,sbcl-cl-ansi-text))) + (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 +1937,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 +1967,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 +2005,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 +2022,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 +2041,28 @@ 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)) + (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 +2145,14 @@ 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-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 +2166,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 +2181,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 +2199,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,75 +2223,11 @@ 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 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 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 ecl-cffi + (sbcl-package->ecl-package sbcl-cffi)) (define-public sbcl-cl-sqlite (package @@ -2652,8 +2252,7 @@ package.") `(("fiveam" ,sbcl-fiveam) ("bordeaux-threads" ,sbcl-bordeaux-threads))) (arguments - `(#:asd-file "sqlite.asd" - #:asd-system-name "sqlite" + `(#:asd-systems '("sqlite") #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-paths @@ -2671,6 +2270,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")) @@ -2856,10 +2458,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 "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966")) (package - (name "sbcl-cl-cffi-gtk-boot0") + (name "sbcl-cl-cffi-gtk") (version (git-version "0.11.2" "2" commit)) (source (origin @@ -2872,17 +2474,34 @@ Lisp implementations.") (base32 "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj")))) (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") + #: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,223 +2536,12 @@ 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)) +(define-public ecl-cl-cffi-gtk + (sbcl-package->ecl-package sbcl-cl-cffi-gtk)) + (define-public sbcl-cl-webkit (let ((commit "04bb5703b68f4db9de71529b81896cc428ef54e1")) (package @@ -3155,8 +2563,7 @@ 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-systems '("cl-webkit2") #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-paths @@ -3177,6 +2584,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") @@ -3300,10 +2710,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) @@ -3312,14 +2722,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).") @@ -3328,14 +2737,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 +2755,23 @@ 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-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)) @@ -3538,7 +2920,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) @@ -3558,6 +2940,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")) @@ -3585,6 +2970,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") @@ -3661,6 +3049,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.111") (commit "4a27407aad9deb607ffb8847630cde3d041ea25a") @@ -3690,6 +3081,9 @@ Rosenberg's Common Lisp 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 ;; 3.3.4 tests are broken, upstream fixes them. (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a")) @@ -3722,6 +3116,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") @@ -3748,6 +3145,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") @@ -3777,9 +3177,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") @@ -3815,6 +3218,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") @@ -3895,6 +3301,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") @@ -3919,33 +3332,8 @@ 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 ecl-trivial-types + (sbcl-package->ecl-package sbcl-trivial-types)) (define-public sbcl-cl-annot (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d") @@ -3963,9 +3351,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") @@ -3977,41 +3362,43 @@ 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 ecl-cl-annot + (sbcl-package->ecl-package sbcl-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-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 + (sbcl-package->cl-source-package sbcl-cl-syntax)) -(define-public cl-syntax-interpol - (sbcl-package->cl-source-package sbcl-cl-syntax-interpol)) +(define-public ecl-cl-syntax + (sbcl-package->ecl-package sbcl-cl-syntax)) (define-public sbcl-cl-utilities (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b") @@ -4030,9 +3417,7 @@ 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" - #:phases + '(#:phases (modify-phases %standard-phases (add-after 'unpack 'fix-paths (lambda* (#:key inputs #:allow-other-keys) @@ -4055,6 +3440,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")) @@ -4080,6 +3468,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")) @@ -4100,8 +3491,7 @@ addition, removal, and random selection.") ;; Tests fail with: Component QURI-ASD::QURI-TEST not found, ;; required by #<SYSTEM "quri">. 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) @@ -4116,6 +3506,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")) @@ -4137,8 +3530,7 @@ Lisp. It is intended to be a replacement of PURI.") ;; by #<SYSTEM "myway">. 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) @@ -4151,6 +3543,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")) @@ -4172,8 +3567,7 @@ Lisp. It is intended to be a replacement of PURI.") ;; required by #<SYSTEM "xsubseq">. 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 @@ -4184,6 +3578,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")) @@ -4205,8 +3602,7 @@ effieiently.") ;; found, required by #<SYSTEM "smart-buffer">. 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))) @@ -4220,6 +3616,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")) @@ -4241,9 +3640,8 @@ depending on content size.") ;; required by #<SYSTEM "fast-http">. 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) @@ -4261,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") @@ -4277,8 +3678,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") @@ -4320,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")) @@ -4340,7 +3743,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 @@ -4358,6 +3762,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")) @@ -4378,7 +3785,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))) @@ -4397,6 +3805,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")) @@ -4418,11 +3829,9 @@ streams (though primarily the former, while wrapping the latter).") ;; required by #<SYSTEM "jonathan">. 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))) @@ -4437,6 +3846,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")) @@ -4458,8 +3870,7 @@ CCL.") ;; found, required by #<SYSTEM "http-body">. 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) @@ -4475,6 +3886,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")) @@ -4509,46 +3923,59 @@ 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 ecl-circular-streams + (sbcl-package->ecl-package sbcl-circular-streams)) + +(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-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 + (sbcl-package->cl-source-package sbcl-lack)) -(define-public cl-lack-request - (sbcl-package->cl-source-package sbcl-lack-request)) +(define-public ecl-lack + (sbcl-package->ecl-package sbcl-lack)) (define-public sbcl-local-time (let ((commit "62792705245168d3fc2e04164b9a143477284142") @@ -4585,156 +4012,8 @@ 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") - (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)))) - -(define-public cl-lack-response - (sbcl-package->cl-source-package sbcl-lack-response)) - -(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 ecl-local-time + (sbcl-package->ecl-package sbcl-local-time)) (define-public sbcl-trivial-mimes (let ((commit "303f8ac0aa6ca0bc139aa3c34822e623c3723fab") @@ -4752,20 +4031,6 @@ performance and simplicity in mind.") (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 @@ -4783,83 +4048,6 @@ mime-type of a file.") (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") (revision "1")) @@ -4903,15 +4091,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/") @@ -4923,6 +4107,9 @@ performance and simplicity in mind.") (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")) @@ -4968,72 +4155,49 @@ 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-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 ecl-clack + (sbcl-package->ecl-package sbcl-clack)) (define-public sbcl-log4cl (let ((commit "611e094458504b938d49de904eab141285328c7c") @@ -5213,8 +4377,7 @@ 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-systems '("parse-declarations-1.0"))) (home-page "https://common-lisp.net/project/parse-declarations/") (synopsis "Parse, filter, and build declarations") (description @@ -5258,7 +4421,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 @@ -5312,7 +4475,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))) @@ -5423,8 +4585,7 @@ 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-systems '("trivial-utf-8"))) (build-system asdf-build-system/sbcl) (synopsis "UTF-8 input/output library") (description @@ -5503,13 +4664,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 @@ -5522,135 +4682,41 @@ 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") + #: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 @@ -5660,6 +4726,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")) @@ -5688,6 +4757,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")) @@ -5715,14 +4787,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) @@ -5733,81 +4803,24 @@ 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") - (inputs - `(("closure-common" ,sbcl-closure-common) - ("puri" ,sbcl-puri) - ("cxml+xml" ,sbcl-cxml+xml))) - (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") + (build-system asdf-build-system/sbcl) (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 - (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)))))))))) + ("trivial-gray-streams" ,sbcl-trivial-gray-streams))) + (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)) +(define-public ecl-cxml + (sbcl-package->ecl-package sbcl-cxml)) + (define-public sbcl-cl-reexport (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b") (revision "1")) @@ -5839,6 +4852,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")) @@ -5864,8 +4880,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)) @@ -5877,6 +4892,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")) @@ -5914,8 +4932,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) @@ -5984,6 +5001,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")) @@ -6012,6 +5032,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")) @@ -6056,6 +5079,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")) @@ -6091,6 +5117,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")) @@ -6126,6 +5159,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")) @@ -6145,11 +5181,15 @@ 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-systems '("fare-quasiquote" + "fare-quasiquote-extras") #:phases (modify-phases %standard-phases ;; XXX: Require 1.0.0 version of fare-utils, and we package some @@ -6159,7 +5199,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 @@ -6169,222 +5213,97 @@ 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 ecl-fare-quasiquote + (sbcl-package->ecl-package sbcl-fare-quasiquote)) -(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 + '(#: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 cl-trivia.trivial + (sbcl-package->cl-source-package sbcl-trivia.trivial)) -(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 ecl-trivia.trivial + (sbcl-package->ecl-package sbcl-trivia.trivial)) (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-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)) +(define-public ecl-trivia + (sbcl-package->ecl-package sbcl-trivia)) + (define-public sbcl-mk-string-metrics (package (name "sbcl-mk-string-metrics") @@ -6419,6 +5338,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 @@ -6439,11 +5361,9 @@ 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-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 @@ -6458,6 +5378,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 @@ -6490,15 +5413,17 @@ 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 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")) (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 @@ -6511,9 +5436,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) @@ -6527,6 +5451,12 @@ 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 ecl-dbus + (sbcl-package->ecl-package sbcl-dbus)) + (define-public sbcl-cl-hooks (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7") (revision "1")) @@ -6611,8 +5541,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 @@ -6726,7 +5655,11 @@ 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-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 @@ -6741,26 +5674,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")) @@ -6815,7 +5728,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 _ @@ -6882,57 +5796,40 @@ 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"))) (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)) @@ -6961,7 +5858,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 @@ -7217,6 +6114,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")) @@ -7375,14 +6275,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) @@ -7408,6 +6307,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")) @@ -7588,11 +6490,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 @@ -7611,6 +6510,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")) @@ -7627,19 +6529,22 @@ 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-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 @@ -7651,39 +6556,8 @@ 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 ecl-graph + (sbcl-package->ecl-package sbcl-graph)) (define-public sbcl-trivial-indent (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a") @@ -7714,6 +6588,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")) @@ -7777,6 +6654,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")) @@ -7809,6 +6689,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")) @@ -7841,6 +6724,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")) @@ -7876,6 +6762,11 @@ 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 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3") (revision "1")) @@ -7895,13 +6786,31 @@ 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-systems '("antik-base" + "foreign-array") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-build + (lambda _ + (for-each delete-file + '("antik.asd" + "physical-dimension.asd" + "science-data.asd")) + #t))))) (synopsis "Scientific and engineering computation in Common Lisp") (description "Antik provides a foundation for scientific and engineering @@ -7918,63 +6827,19 @@ computer known.") (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)) + (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") @@ -7997,9 +6862,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) @@ -8038,17 +6902,27 @@ 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) (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-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")) + #t))))))) (define-public cl-antik (sbcl-package->cl-source-package sbcl-antik)) @@ -8091,13 +6965,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 @@ -8108,16 +6980,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 @@ -8130,13 +7001,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 @@ -8149,14 +7026,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 @@ -8165,56 +7039,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)) @@ -8296,11 +7120,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 @@ -8310,9 +7134,38 @@ 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 + `(#: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 @@ -8321,1060 +7174,6 @@ 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.math-functions - (sbcl-package->cl-source-package sbcl-cl-ana.math-functions)) - -(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-ana.calculus - (sbcl-package->cl-source-package sbcl-cl-ana.calculus)) - -(define-public ecl-cl-ana.calculus - (sbcl-package->ecl-package sbcl-cl-ana.calculus)) - -(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"))))) - -(define-public cl-ana.symbol-utils - (sbcl-package->cl-source-package sbcl-cl-ana.symbol-utils)) - -(define-public ecl-cl-ana.symbol-utils - (sbcl-package->ecl-package sbcl-cl-ana.symbol-utils)) - -(define-public sbcl-cl-ana.macro-utils - (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"))))) - -(define-public cl-ana.macro-utils - (sbcl-package->cl-source-package sbcl-cl-ana.macro-utils)) - -(define-public ecl-cl-ana.macro-utils - (sbcl-package->ecl-package sbcl-cl-ana.macro-utils)) - -(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 cl-ana.binary-tree - (sbcl-package->cl-source-package sbcl-cl-ana.binary-tree)) - -(define-public ecl-cl-ana.binary-tree - (sbcl-package->ecl-package sbcl-cl-ana.binary-tree)) - -(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-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)) @@ -9510,6 +7309,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")) @@ -9643,7 +7449,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 @@ -9673,11 +7478,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 @@ -9691,98 +7496,23 @@ 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-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" @@ -9792,14 +7522,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") @@ -10001,21 +7736,30 @@ ZeroMQ.") `(("imagemagick" ,imagemagick) ("tk" ,tk))) (arguments - `(#:asd-file "ltk/ltk.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 @@ -10029,44 +7773,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")) @@ -10395,14 +8101,11 @@ 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" - #: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. @@ -10453,9 +8156,7 @@ 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" - #:tests? #f)))) + `(#:tests? #f)))) (define-public cl-randist (sbcl-package->cl-source-package sbcl-cl-randist)) @@ -10487,9 +8188,7 @@ covered by the Common Lisp standard.") (inputs `(("documentation-utils" ,sbcl-documentation-utils))) (arguments - `(#:asd-system-name "float-features" - #:asd-file "float-features.asd" - #:tests? #f)))) + `(#:tests? #f)))) (define-public cl-float-features (sbcl-package->cl-source-package sbcl-float-features)) @@ -10527,9 +8226,7 @@ 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" - #:tests? #f)))) + `(#:tests? #f)))) (define-public cl-function-cache (sbcl-package->cl-source-package sbcl-function-cache)) @@ -10567,13 +8264,14 @@ 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" - #: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)) +(define-public ecl-type-r + (sbcl-package->ecl-package sbcl-type-r)) + (define-public sbcl-trivialib-type-unify (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99") (revision "1")) @@ -10606,16 +8304,18 @@ correctly.") (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - `(#:asd-system-name "trivialib.type-unify" - #:asd-file "trivialib.type-unify.asd" + `(#:asd-systems '("trivialib.type-unify") #:test-asd-file "trivialib.type-unify.test.asd"))))) (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")) + (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35") + (revision "2")) (package (name "sbcl-specialized-function") (version (git-version "0.0.0" revision commit)) @@ -10627,8 +8327,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 @@ -10648,13 +8347,15 @@ 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-files '("specialized-function.asd") #:test-asd-file "specialized-function.test.asd"))))) (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")) @@ -10686,16 +8387,18 @@ 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-files '("constantfold.asd") #:test-asd-file "constantfold.test.asd"))))) (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")) + (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18") + (revision "2")) (package (name "sbcl-gtype") (version (git-version "0.1" revision commit)) @@ -10707,8 +8410,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 @@ -10726,16 +8428,24 @@ 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-files '("gtype.asd") #:test-asd-file "gtype.test.asd"))))) (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")) + (let ((commit "3e8d40bf774e070e7af1d3dbf01bc8c37dbebd3a") + (revision "2")) (package (name "sbcl-numcl") (version (git-version "0.1.0" revision commit)) @@ -10747,8 +8457,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 @@ -10773,13 +8482,23 @@ and usefulness, not speed. Track the progress at (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - `(#:asd-system-name "numcl" - #:asd-file "numcl.asd" - #:test-asd-file "numcl.test.asd"))))) + `(#:asd-files '("numcl.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 + (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") (revision "1")) @@ -10802,7 +8521,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 @@ -10940,11 +8658,14 @@ approach to templating.") (define-public cl-mysql (sbcl-package->cl-source-package sbcl-cl-mysql)) -(define-public sbcl-simple-date +(define-public ecl-cl-mysql + (sbcl-package->ecl-package sbcl-cl-mysql)) + +(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 @@ -10958,108 +8679,23 @@ approach to templating.") (build-system asdf-build-system/sbcl) (native-inputs `(("fiveam" ,sbcl-fiveam))) - (synopsis "Basic date and time objects for Common Lisp") + (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-systems '("postmodern" + "simple-date/postgres-glue"))) + (synopsis "Common Lisp library for interacting with PostgreSQL") (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 + "@code{postmodern} is a Common Lisp library for interacting with PostgreSQL databases. It provides the following features: @itemize @@ -11069,11 +8705,29 @@ 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)) +(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: @@ -11092,12 +8746,22 @@ 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-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 @@ -11108,43 +8772,8 @@ 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 ecl-dbi + (sbcl-package->ecl-package sbcl-dbi)) (define-public sbcl-uffi (package @@ -11162,6 +8791,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 @@ -11183,10 +8813,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 @@ -11210,16 +8838,82 @@ 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))) + `(("rt" ,sbcl-rt))) + (inputs + `(("cffi" ,sbcl-cffi) + ("md5" ,sbcl-md5) + ("mysql" ,mysql) + ("postgresql" ,postgresql) + ("postmodern" ,sbcl-postmodern) + ("sqlite" ,sqlite) + ("uffi" ,sbcl-uffi) + ("zlib" ,zlib))) (arguments - `(#:phases + `(#:asd-files '("clsql.asd" + "clsql-uffi.asd" + "clsql-sqlite3.asd" + "clsql-postgresql.asd" + "clsql-postgresql-socket3.asd" + "clsql-mysql.asd") + #:asd-systems '("clsql" + "clsql-sqlite3" + "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)) + (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" + (("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" @@ -11245,9 +8939,9 @@ interfaces as well as a functional and an object oriented interface.") ("sqlite" ,sqlite) ("zlib" ,zlib))) (propagated-inputs - `(("cl-postgres" ,cl-postgres) - ("cffi-uffi-compat" ,cl-cffi-uffi-compat) + `(("cffi" ,cl-cffi) ("md5" ,cl-md5) + ("postmodern" ,cl-postmodern) ("uffi" ,cl-uffi))) (arguments `(#:phases @@ -11259,126 +8953,16 @@ interfaces as well as a functional and an object oriented interface.") (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"))) - -(define-public sbcl-clsql-mysql - (package - (inherit sbcl-clsql) - (name "sbcl-clsql-mysql") - (inputs - `(("mysql" ,mysql) - ("sbcl-clsql" ,sbcl-clsql) - ("sbcl-clsql-uffi" ,sbcl-clsql-uffi) - ("zlib" ,zlib))) - (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"))) +(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")) @@ -11395,8 +8979,6 @@ interfaces as well as a functional and an object oriented interface.") (sha256 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7")))) (build-system asdf-build-system/sbcl) - (arguments - `(#:asd-file "src/sycamore.asd")) (inputs `(("alexandria" ,sbcl-alexandria) ("cl-ppcre" ,sbcl-cl-ppcre))) @@ -11419,6 +9001,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") @@ -11444,6 +9029,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 @@ -11483,6 +9071,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 @@ -11518,6 +9109,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 @@ -11538,6 +9132,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 @@ -11563,29 +9166,12 @@ 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) ("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 @@ -11596,6 +9182,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")) @@ -11614,7 +9203,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 ") @@ -11644,7 +9233,7 @@ accompaniment to the standard ANSI facilities.") "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9")))) (build-system asdf-build-system/sbcl) (arguments - '(#:asd-system-name "quantile-estimator")) + '(#:asd-files '("quantile-estimator.asd"))) (inputs `(("alexandria" ,sbcl-alexandria))) (home-page "https://github.com/deadtrickster/quantile-estimator.cl") @@ -11680,9 +9269,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.") @@ -11694,85 +9303,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 @@ -11837,9 +9367,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") @@ -11923,14 +9450,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.") @@ -11959,7 +9485,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.") @@ -12024,19 +9550,10 @@ 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) - ("cffi-grovel" ,sbcl-cffi-grovel) ("librdkafka" ,librdkafka) ("lparallel" ,sbcl-lparallel) ("trivial-garbage" ,sbcl-trivial-garbage))) @@ -12048,6 +9565,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 @@ -12078,10 +9598,13 @@ 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 ecl-acclimation + (sbcl-package->ecl-package sbcl-acclimation)) + +(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 @@ -12093,14 +9616,11 @@ weight, temperature, names of physical quantitites, etc.") (sha256 (base32 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh")))) - (arguments - '(#:asd-file "2-3-tree/clump-2-3-tree.asd" - #:asd-system-name "clump-2-3-tree")) (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. @@ -12114,34 +9634,16 @@ 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 ecl-clump + (sbcl-package->ecl-package sbcl-clump)) + +(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 @@ -12153,12 +9655,10 @@ 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))) (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 @@ -12167,64 +9667,12 @@ 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)) +(define-public ecl-cluffer + (sbcl-package->ecl-package sbcl-cluffer)) + (define-public sbcl-cl-libsvm-format (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb") (revision "0")) @@ -12243,8 +9691,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") @@ -12278,8 +9725,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))) @@ -12318,7 +9764,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) @@ -12536,7 +9981,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 @@ -12702,7 +10146,7 @@ than a few Kb.") ("trivial-features" ,sbcl-trivial-features))) (arguments ;; FIXME: Without the following line, the build fails (see issue 41437). - `(#:asd-system-name "3bz")) + `(#:asd-systems '("3bz"))) (home-page "https://github.com/3b/3bz") (synopsis "Deflate decompression for Common Lisp") (description @@ -12812,6 +10256,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 @@ -12822,11 +10268,14 @@ and saving 2-dimensional pixel-based images.") (define-public cl-opticl (sbcl-package->cl-source-package sbcl-opticl)) -(define-public sbcl-clim-lisp +(define-public ecl-opticl + (sbcl-package->ecl-package sbcl-opticl)) + +(define-public sbcl-mcclim (let ((commit "27b4d7a667c9b3faa74cabcb57706b888314fff7") (revision "0")) (package - (name "sbcl-clim-lisp") + (name "sbcl-mcclim") (version (git-version "0.9.7" revision commit)) (source (origin @@ -12838,11 +10287,67 @@ and saving 2-dimensional pixel-based images.") (sha256 (base32 "0jijfgkwas6xnpp5wiii6slcx9pgsalngacb8zm29x6pamx2193h")))) (build-system asdf-build-system/sbcl) + (native-inputs + `(("fiveam" ,sbcl-fiveam) + ("pkg-config" ,pkg-config))) (inputs `(("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" ,sbcl-log4cl) - ("trivial-gray-streams" ,sbcl-trivial-gray-streams))) + ("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-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 @@ -12850,642 +10355,11 @@ and saving 2-dimensional pixel-based images.") 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)))) - -(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 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 sbcl-mcclim-franz - (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")))) - -(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 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 sbcl-mcclim-bezier - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-bezier") - (inputs - `(("mcclim-bezier/clx" ,sbcl-mcclim-bezier-clx) - ("mcclim-bezier/core" ,sbcl-mcclim-bezier-core) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (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))))))) - -(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 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 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-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 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))) - (package - (inherit base) - (name "cl-mcclim") - (native-inputs - `(("fiveam" ,cl-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) - ("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))))))) + (sbcl-package->cl-source-package sbcl-mcclim)) -(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 ecl-mcclim + (sbcl-package->ecl-package sbcl-mcclim)) (define-public sbcl-cl-inflector (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe") @@ -13742,11 +10616,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 @@ -13759,76 +10633,21 @@ 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 + ("optima" ,sbcl-optima) + ("sxql" ,sbcl-sxql) + ("uuid" ,sbcl-uuid))) + (arguments '(#:phases (modify-phases %standard-phases (add-after 'unpack 'remove-non-functional-tests @@ -13848,11 +10667,26 @@ like Ruby's ActiveRecord. #t))) ;; TODO: While all enabled tests pass, the phase fails with: ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito"> - #: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)) +(define-public ecl-mito + (sbcl-package->ecl-package sbcl-mito)) + (define-public sbcl-kebab (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b") (revision "1")) @@ -13876,8 +10710,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 #<SYSTEM "kebab">. @@ -13917,7 +10750,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) @@ -13927,9 +10760,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 @@ -14035,7 +10866,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 @@ -14068,19 +10900,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/lisp.scm b/gnu/packages/lisp.scm index aa6d7c12fd..c2114e6935 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -76,21 +76,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) @@ -98,7 +87,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) @@ -110,9 +99,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 @@ -259,10 +268,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) @@ -296,7 +302,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 @@ -435,9 +444,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) @@ -544,7 +551,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/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index bbbf5d3330..5e2a39fece 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -541,7 +541,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 5c57ef2b6d..8f07b21f26 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -1233,7 +1233,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/nss.scm b/gnu/packages/nss.scm index 949ed91020..99263299a4 100644 --- a/gnu/packages/nss.scm +++ b/gnu/packages/nss.scm @@ -36,7 +36,7 @@ (define-public nspr (package (name "nspr") - (version "4.25") + (version "4.27") (source (origin (method url-fetch) (uri (string-append @@ -44,7 +44,7 @@ version "/src/nspr-" version ".tar.gz")) (sha256 (base32 - "0mjjk2b7ika3v4y99cnaqz3z1iq1a50r1psn9i3s87gr46z0khqb")))) + "16z82qc1l4cqn66p59ai0dy9ycllywn4jlxhip1a605bns952jbd")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) @@ -73,7 +73,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 @@ -84,7 +84,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")) @@ -109,7 +109,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) @@ -139,7 +140,7 @@ in the Mozilla clients.") ;; leading to test failures: ;; <https://bugzilla.mozilla.org/show_bug.cgi?id=609734>. 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")) @@ -161,15 +162,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/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) 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( 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 <simon@simonsouth.net> +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 <rob@lougher.org.uk>. ++ * Copyright (C) 2020 Simon South <simon@simonsouth.net>. ++ * ++ * 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 <stdint.h> ++ ++#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 <rob@lougher.org.uk>. ++## ++## File added by Simon South <simon@simonsouth.net>. ++## ++## 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 <rob@jamvm.org.uk>. ++ * Copyright (C) 2020 Simon South <simon@simonsouth.net>. ++ * ++ * 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 <rob@jamvm.org.uk>. ++ * Copyright (C) 2020 Simon South <simon@simonsouth.net>. ++ * ++ * 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 <rob@lougher.org.uk>. ++ * Copyright (C) 2020 Simon South <simon@simonsouth.net>. ++ * ++ * 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-arm.patch b/gnu/packages/patches/jamvm-1.5.1-armv7-support.patch index 9e998e18db..9e998e18db 100644 --- a/gnu/packages/patches/jamvm-arm.patch +++ b/gnu/packages/patches/jamvm-1.5.1-armv7-support.patch 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 <simon@simonsouth.net> +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 <rob@jamvm.org.uk> ++Simon South <simon@simonsouth.net> +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 <rob@jamvm.org.uk>. ++ * Copyright (C) 2020 Simon South <simon@simonsouth.net>. ++ * ++ * 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 <stdint.h> ++ ++#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 <rob@jamvm.org.uk>\n\n"); ++ printf("Copyright (C) 2003-2014 Robert Lougher <rob@jamvm.org.uk>\n"); ++ printf("Portions Copyright (C) 2020 Simon South <simon@simonsouth.net>\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 <rob@jamvm.org.uk>. ++## ++## File added by Simon South <simon@simonsouth.net>. ++## ++## 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 <rob@jamvm.org.uk>. ++ * Copyright (C) 2020 Simon South <simon@simonsouth.net>. ++ * ++ * 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 <rob@jamvm.org.uk>. ++ * Copyright (C) 2020 Simon South <simon@simonsouth.net>. ++ * ++ * 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 <rob@jamvm.org.uk>. ++ * Copyright (C) 2020 Simon South <simon@simonsouth.net>. ++ * ++ * 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 <simon@simonsouth.net> +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 + 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/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 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 <glv@posteo.net> -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 <schulte.eric@gmail.com>" "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/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 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/") diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index 2fb636bca6..d5c24c264a 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -261,7 +261,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/python-crypto.scm b/gnu/packages/python-crypto.scm index f39695a850..0ede67f6c4 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 "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") @@ -519,14 +519,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))) @@ -741,7 +741,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) @@ -751,8 +751,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 diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 9813894b30..100c4caeac 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -1992,13 +1992,13 @@ APIs.") (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) @@ -2245,7 +2245,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/") @@ -2254,6 +2253,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. @@ -2269,7 +2269,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 diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 10fa9b54b4..e87dc351a2 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3484,14 +3484,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. @@ -3500,10 +3500,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 @@ -4201,14 +4212,14 @@ provides additional functionality on the produced Mallard documents.") (define-public python-cython (package (name "python-cython") - (version "0.29.17") + (version "0.29.21") (source (origin (method url-fetch) (uri (pypi-uri "Cython" version)) (sha256 (base32 - "1wnaz40hdw4mg5acz5gqb6bhjhn4cvfxg0xdzfy7aa6qn665hqb3")))) + "1bcwpra7c6k30yvic3sw2v3rq2dr40ypc4zqif6kr52mpn4wnyp5")))) (build-system python-build-system) ;; we need the full python package and not just the python-wrapper ;; because we need libpython3.3m.so @@ -9152,14 +9163,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") @@ -11014,14 +11025,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 @@ -16451,14 +16462,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") diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 25f811ac70..a596ca4ce6 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -346,7 +346,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) @@ -359,7 +358,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 @@ -371,6 +372,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 @@ -477,6 +479,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 @@ -601,27 +606,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") @@ -2779,7 +2763,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 diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 05404de1d8..35a96b5754 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016 Nikita <nikita@n0.is> ;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2017, 2018 Nikolai Merinov <nikolai.merinov@member.fsf.org> -;;; Copyright © 2017, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Danny Milosavljevic <dannym+a@scratchpost.org> ;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com> @@ -422,7 +422,9 @@ test = { path = \"../libtest\" } `(("bison" ,bison) ; For the tests ("cmake" ,cmake-minimal) ("flex" ,flex) ; For the tests - ("gdb" ,gdb) ; For the tests + ;; FIXME: Rust 1.27 and some later versions require GDB 8.2 specifically. + ;; See <https://bugs.gnu.org/37810>. 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) @@ -758,6 +760,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) @@ -800,7 +805,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 @@ -829,11 +833,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 <https://bugs.gnu.org/37810>. - (alist-replace "gdb" (list gdb-8.2) - (package-native-inputs base-rust))) (arguments (substitute-keyword-arguments (package-arguments base-rust) ((#:phases phases) @@ -885,6 +884,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)))))))) @@ -1147,14 +1148,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 @@ -1197,9 +1197,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)) @@ -1254,8 +1251,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))))))))) @@ -1324,4 +1319,4 @@ move around." "0a17jby2pd050s24cy4dfc0gzvgcl585v3vvyfilniyvjrqknsid")) ;; TODO(staging): Bump this variable to the latest packaged rust. -(define-public rust rust-1.39) +(define-public rust rust-1.45) 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" diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm index f27f9d0176..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 @@ -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: - ;; <https://github.com/sphinx-doc/sphinx/issues/4710>. - (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 diff --git a/gnu/packages/sssd.scm b/gnu/packages/sssd.scm index aa91424b4d..b2b5da96f8 100644 --- a/gnu/packages/sssd.scm +++ b/gnu/packages/sssd.scm @@ -164,7 +164,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/valgrind.scm b/gnu/packages/valgrind.scm index 75e852915e..4036bd461b 100644 --- a/gnu/packages/valgrind.scm +++ b/gnu/packages/valgrind.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Marius Bakke <marius@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,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" @@ -41,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 @@ -70,9 +73,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 +82,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 '()))) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 4b7f9a6ca7..a8f20bf11c 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.7.1") + (version "2.8.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 "014av7ayyc624xfmr63xhbgg7nw8fynsswj1g2wmk4lnkyfz23x0")))) + (base32 "1hqy9pnz5jh3dz5r59358n9p2vfy8aj59wpwrj4qz43qs9215fxd")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -3063,7 +3063,7 @@ and JACK.") (define-public libvdpau (package (name "libvdpau") - (version "1.3") + (version "1.4") (source (origin (method git-fetch) @@ -3073,7 +3073,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))) 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) diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 62d1352283..f34e4d7ae5 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -534,46 +534,42 @@ 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) - ("hu.dwim.defclass-star" ,cl-hu.dwim.defclass-star) - ("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) + ("hu.dwim.defclass-star" ,sbcl-hu.dwim.defclass-star) + ("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") diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index f291768e12..ced6dc2eee 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1274,15 +1274,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) @@ -1548,15 +1548,18 @@ hash/signatures.") (define-public libyaml (package (name "libyaml") - (version "0.2.4") + (version "0.2.5") (source (origin (method url-fetch) (uri (string-append "https://pyyaml.org/download/libyaml/yaml-" version ".tar.gz")) (sha256 - (base32 "0mq5wf17ifcwwxq3kbimhi53jn3fg23vcynqpzxjcz3vfjlfs2nq")))) + (base32 + "1x4fcw13r3lqy8ndydr3ili87wicplw2awbcv6r21qgyfndswhn6")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (home-page "https://pyyaml.org/wiki/LibYAML") (synopsis "YAML 1.1 parser and emitter written in C") (description @@ -5029,7 +5032,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") diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm index 7950b3b729..1092237a03 100644 --- a/gnu/packages/wget.scm +++ b/gnu/packages/wget.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; ;;; 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) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 58252e7095..2fafee29a0 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1607,10 +1607,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") @@ -1678,20 +1678,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") @@ -1753,7 +1748,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 @@ -1770,7 +1765,7 @@ rendering.") (inherit stumpwm-contrib) (name "sbcl-stumpwm-pass") (arguments - '(#:asd-system-name "pass" + '(#:asd-systems '("pass") #:tests? #f #:phases (modify-phases %standard-phases @@ -1787,7 +1782,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 @@ -1804,7 +1799,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 @@ -1821,7 +1816,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 @@ -1839,7 +1834,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 @@ -1857,7 +1852,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 @@ -1879,7 +1874,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 diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index d9c89053b9..7044b65eec 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -501,7 +501,7 @@ rasterisation.") (define-public libdrm (package (name "libdrm") - (version "2.4.101") + (version "2.4.102") (source (origin (method url-fetch) (uri (string-append @@ -509,8 +509,7 @@ rasterisation.") version ".tar.xz")) (sha256 (base32 - "19vqbhqljhln0lrpnv3s7y3lkhsdcp76dl8bhqj3cis9ism1pwyx")) - (patches (search-patches "libdrm-realpath-virtio.patch")))) + "0nx0bd9dhymdsd99v4ifib77yjirkvkxf5hzdkbr7qr8dhrzkjwb")))) (build-system meson-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index 8e18c0649d..2d80496330 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" diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 3db4cbae2c..be6e32a61e 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,21 +2474,10 @@ XC-APPGROUP, XTEST.") name "-" version ".tar.xz")) (sha256 (base32 - "04a2klvii0in9ln8r85mk2cm73jq8ry2m3yzmf2z8xyjxzjcmlr0")))) + "1jvsphdrs1i54ccjcn6ll26jy42am7h28lbsvwa6pmxgqm43qq7m")))) (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") @@ -4032,7 +4021,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) @@ -4042,7 +4031,7 @@ extension to the X11 protocol. It includes: ".tar.bz2")) (sha256 (base32 - "00hqc8nykvy8c09b8vab64dcd0ij3n5klxjn6rl00q7hickpah8x")))) + "1m4pnzlcdl6d1p7hdccpi0605zkikind00kjc5bx4gk3gd7m4nh9")))) (build-system gnu-build-system) (inputs `(("libx11" ,libx11) @@ -5461,19 +5450,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/inherit xorg-server |