From eac71f54fe561aadc02067d114c8f32ff3f359cb Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Tue, 28 Apr 2020 10:42:44 +0200 Subject: gnu: sbcl-cl-cffi-gtk-gobject: Link source to parent to reduce closure size. * gnu/packages/lisp-xyz.scm (sbcl-cl-cffi-gtk-gobject)[arguments]: Replace source folder with link to the same folder in the sbcl-cl-cffi-gtk-glib dependency. --- gnu/packages/lisp-xyz.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'gnu/packages/lisp-xyz.scm') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index cc9bda8ac6..b8efaf985f 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -2916,7 +2916,20 @@ is a library for creating graphical user interfaces.") (lambda* (#:key inputs #:allow-other-keys) (substitute* "gobject/gobject.init.lisp" (("libgobject" all) (string-append - (assoc-ref inputs "glib") "/lib/" all)))))))))) + (assoc-ref inputs "glib") "/lib/" all))))) + (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 -- cgit v1.2.3 From 6a7f36686499086086b23cb7238c91c899de7f67 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Tue, 28 Apr 2020 10:44:47 +0200 Subject: gnu: sbcl-cl-cffi-gtk-gio: Link source to parent to reduce closure size. * gnu/packages/lisp-xyz.scm (sbcl-cl-cffi-gtk-gio)[arguments]: Replace source folder with link to the same folder in the sbcl-cl-cffi-gtk-glib dependency. --- gnu/packages/lisp-xyz.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'gnu/packages/lisp-xyz.scm') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index b8efaf985f..fbb502cc73 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -2949,7 +2949,20 @@ is a library for creating graphical user interfaces.") (substitute* "gio/gio.init.lisp" (("libgio" all) (string-append - (assoc-ref inputs "glib") "/lib/" all)))))))))) + (assoc-ref inputs "glib") "/lib/" all))))) + (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 -- cgit v1.2.3 From 8f46a9d67f54ffbe04d4201bdfcc8b460f640805 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Tue, 28 Apr 2020 10:45:05 +0200 Subject: gnu: sbcl-cl-cffi-gtk-cairo: Link source to parent to reduce closure size. * gnu/packages/lisp-xyz.scm (sbcl-cl-cffi-gtk-cairo)[arguments]: Replace source folder with link to the same folder in the sbcl-cl-cffi-gtk-glib dependency. --- gnu/packages/lisp-xyz.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'gnu/packages/lisp-xyz.scm') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index fbb502cc73..e938bd6aa2 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -2981,7 +2981,20 @@ is a library for creating graphical user interfaces.") (substitute* "cairo/cairo.init.lisp" (("libcairo" all) (string-append - (assoc-ref inputs "cairo") "/lib/" all)))))))))) + (assoc-ref inputs "cairo") "/lib/" all))))) + (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 -- cgit v1.2.3 From d27f033f97ab7a71e0a3af004d3e11bea9374676 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Tue, 28 Apr 2020 10:45:18 +0200 Subject: gnu: sbcl-cl-cffi-gtk-pango: Link source to parent to reduce closure size. * gnu/packages/lisp-xyz.scm (sbcl-cl-cffi-gtk-pango)[arguments]: Replace source folder with link to the same folder in the sbcl-cl-cffi-gtk-glib dependency. --- gnu/packages/lisp-xyz.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'gnu/packages/lisp-xyz.scm') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index e938bd6aa2..b2b5e006a6 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -3015,7 +3015,20 @@ is a library for creating graphical user interfaces.") (substitute* "pango/pango.init.lisp" (("libpango" all) (string-append - (assoc-ref inputs "pango") "/lib/" all)))))))))) + (assoc-ref inputs "pango") "/lib/" all))))) + (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 -- cgit v1.2.3 From 2666a3361ec76fefe10257da3c6eb0f854ed24db Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Tue, 28 Apr 2020 10:45:32 +0200 Subject: gnu: sbcl-cl-cffi-gtk-gdk-pixbuf: Link source to parent to reduce closure size. * gnu/packages/lisp-xyz.scm (sbcl-cl-cffi-gtk-gdk-pixbuf)[arguments]: Replace source folder with link to the same folder in the sbcl-cl-cffi-gtk-glib dependency. --- gnu/packages/lisp-xyz.scm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'gnu/packages/lisp-xyz.scm') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index b2b5e006a6..fa86769872 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -3037,6 +3037,7 @@ is a library for creating graphical user interfaces.") (inputs `(("gdk-pixbuf" ,gdk-pixbuf) ("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 `(#:asd-file "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd" @@ -3047,7 +3048,20 @@ is a library for creating graphical user interfaces.") (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp" (("libgdk_pixbuf" all) (string-append - (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))))))))) + (assoc-ref inputs "gdk-pixbuf") "/lib/" all))))) + (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 -- cgit v1.2.3 From 80d8c00c84191206e3c1edfb7d6a9d47a15ec1bf Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Tue, 28 Apr 2020 10:45:47 +0200 Subject: gnu: sbcl-cl-cffi-gtk-gdk: Link source to parent to reduce closure size. * gnu/packages/lisp-xyz.scm (sbcl-cl-cffi-gtk-gdk)[arguments]: Replace source folder with link to the same folder in the sbcl-cl-cffi-gtk-glib dependency. --- gnu/packages/lisp-xyz.scm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'gnu/packages/lisp-xyz.scm') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index fa86769872..7f78a09ece 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -3069,6 +3069,7 @@ is a library for creating graphical user interfaces.") (name "sbcl-cl-cffi-gtk-gdk") (inputs `(("gtk" ,gtk+) + ("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) @@ -3088,7 +3089,20 @@ is a library for creating graphical user interfaces.") (substitute* "gdk/gdk.package.lisp" (("libgtk" all) (string-append - (assoc-ref inputs "gtk") "/lib/" all)))))))))) + (assoc-ref inputs "gtk") "/lib/" all))))) + (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 -- cgit v1.2.3 From 143eaa82d6d7048705b42597465473bcf309204b Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Tue, 28 Apr 2020 10:46:05 +0200 Subject: gnu: sbcl-cl-cffi-gtk: Link source to parent to reduce closure size. * gnu/packages/lisp-xyz.scm (sbcl-cl-cffi-gtk)[arguments]: Replace source folder with link to the same folder in the sbcl-cl-cffi-gtk-glib dependency. --- gnu/packages/lisp-xyz.scm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'gnu/packages/lisp-xyz.scm') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 7f78a09ece..5cf8a86940 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -3121,7 +3121,22 @@ is a library for creating graphical user interfaces.") #: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)))) + #:tests? #f + #:phases + (modify-phases %standard-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)) -- cgit v1.2.3 From a84b7a4af53553c5816c9534e33ea52802e89b1d Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Tue, 28 Apr 2020 14:48:58 +0200 Subject: gnu: sbcl-parenscript: Update to 2.7.1. * gnu/packages/lisp-xyz.scm (sbcl-parenscript): Update to 2.7.1. --- gnu/packages/lisp-xyz.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'gnu/packages/lisp-xyz.scm') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 5cf8a86940..c2029d940e 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -2670,10 +2670,11 @@ relational database engine.") (sbcl-package->cl-source-package sbcl-cl-sqlite)) (define-public sbcl-parenscript - (let ((commit "061d8e286c81c3f45c84fb2b11ee7d83f590a8f8")) + ;; Source archives are overwritten on every release, we use the Git repo instead. + (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766")) (package (name "sbcl-parenscript") - (version (git-version "2.6" "1" commit)) + (version (git-version "2.7.1" "1" commit)) (source (origin (method git-fetch) @@ -2683,7 +2684,7 @@ relational database engine.") (file-name (git-file-name "parenscript" version)) (sha256 (base32 - "1kbhgsjbikc73m5cwdp4d4fdafyqcr1b7b630qjrziql0nh6mi3k")))) + "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf")))) (build-system asdf-build-system/sbcl) (inputs `(("cl-ppcre" ,sbcl-cl-ppcre) -- cgit v1.2.3 From 192177b04974f456a081e7cb9177e7d9147f822c Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Thu, 30 Apr 2020 16:56:44 +0200 Subject: gnu: sbcl-osicat: Fix library path. * gnu/packages/lisp-xyz.scm (sbcl-osicat)[arguments]: Replace 'cleanup phase to preserve the location of libosicat.so so that it can be found when loading the system. --- gnu/packages/lisp-xyz.scm | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) (limited to 'gnu/packages/lisp-xyz.scm') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index c2029d940e..b032346a30 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -11533,21 +11533,19 @@ MOP easier to use.") (arguments `(#:phases (modify-phases %standard-phases - (add-before 'validate-runpath 'cleanup-files + ;; 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"))) - (for-each - delete-file - (filter (lambda (file) - (not (member (basename file) - '("basic-unixint__grovel" - "libosicat.so" - "osicat--system.fasl" - "osicat.asd" - "unixint__grovel")))) - (find-files lib ".*"))) - #t)))))) + (lib (string-append out "/lib/sbcl/"))) + (delete-file-recursively (string-append lib "src")) + (delete-file-recursively (string-append lib "tests")) + (for-each delete-file + (filter (lambda (file) + (not (member (basename file) '("libosicat.so")))) + (find-files (string-append lib "posix") ".*")))) + #t))))) (inputs `(("alexandria" ,sbcl-alexandria) ("cffi" ,sbcl-cffi) -- cgit v1.2.3