diff options
Diffstat (limited to 'pkgs/development/lisp-modules-new')
3 files changed, 155 insertions, 95 deletions
diff --git a/pkgs/development/lisp-modules-new/lisp-packages.nix b/pkgs/development/lisp-modules-new/lisp-packages.nix index aebcfdb1878eb..78dd34ccdcedd 100644 --- a/pkgs/development/lisp-modules-new/lisp-packages.nix +++ b/pkgs/development/lisp-modules-new/lisp-packages.nix @@ -40,6 +40,7 @@ let removeSuffix hasInfix optionalString + makeBinPath makeLibraryPath makeSearchPath recurseIntoAttrs @@ -249,6 +250,12 @@ let then pkgs.applyPatches { inherit (args) src patches; } else args.src; patches = []; + + # make sure that propagated build-inputs from lispLibs are propagated + propagatedBuildInputs = lib.unique + (builtins.concatLists + (lib.catAttrs "propagatedBuildInputs" + (builtins.concatLists [[args] lispLibs nativeLibs javaLibs]))); }))); # Build the set of lisp packages using `lisp` @@ -353,7 +360,9 @@ let --prefix LD_LIBRARY_PATH : "${o.LD_LIBRARY_PATH}" \ --prefix LD_LIBRARY_PATH : "${makeLibraryPath o.nativeLibs}" \ --prefix CLASSPATH : "${o.CLASSPATH}" \ - --prefix CLASSPATH : "${makeSearchPath "share/java/*" o.javaLibs}" + --prefix CLASSPATH : "${makeSearchPath "share/java/*" o.javaLibs}" \ + --prefix PATH : "${makeBinPath (o.buildInputs or [])}" \ + --prefix PATH : "${makeBinPath (o.propagatedBuildInputs or [])}" ''; }); diff --git a/pkgs/development/lisp-modules-new/patches/cl-sat.glucose-binary-from-PATH-if-present.patch b/pkgs/development/lisp-modules-new/patches/cl-sat.glucose-binary-from-PATH-if-present.patch new file mode 100644 index 0000000000000..6a0d2d07666b2 --- /dev/null +++ b/pkgs/development/lisp-modules-new/patches/cl-sat.glucose-binary-from-PATH-if-present.patch @@ -0,0 +1,27 @@ +From 2040fcab5a7be2f28add46a1412bef62ac5ccf11 Mon Sep 17 00:00:00 2001 +From: Maximilian Marx <mmarx@wh2.tu-dresden.de> +Date: Thu, 24 Nov 2022 20:00:33 +0100 +Subject: [PATCH] Use glucose binary from PATH if present + +--- + src/package.lisp | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/package.lisp b/src/package.lisp +index b6e26ac..bdb2581 100644 +--- a/src/package.lisp ++++ b/src/package.lisp +@@ -13,7 +13,9 @@ + (defvar *glucose-home* (asdf:system-relative-pathname :cl-sat.glucose "glucose-syrup/")) + + (defun glucose-binary (&optional (*glucose-home* *glucose-home*)) +- (merge-pathnames "simp/glucose_static" *glucose-home*)) ++ (if (trivial-package-manager:which "glucose") ++ "glucose" ++ (merge-pathnames "simp/glucose_static" *glucose-home*))) + + (defmethod solve ((input pathname) (solver (eql :glucose)) &rest options &key debug &allow-other-keys) + (remf options :debug) +-- +2.36.2 + diff --git a/pkgs/development/lisp-modules-new/ql.nix b/pkgs/development/lisp-modules-new/ql.nix index 07dd90feb3028..aa04a8dce2e2e 100644 --- a/pkgs/development/lisp-modules-new/ql.nix +++ b/pkgs/development/lisp-modules-new/ql.nix @@ -9,97 +9,97 @@ let # FIXME: automatically add nativeLibs based on conditions signalled + # Try to keep this list sorted extras = { + cffi-libffi = pkg: { + nativeBuildInputs = [ libffi ]; + nativeLibs = [ libffi ]; + }; "cl+ssl" = pkg: { nativeLibs = [ openssl_1_1 ]; }; + "cl-ana.hdf-cffi" = pkg: { + nativeBuildInputs = [ pkgs.hdf5 ]; + nativeLibs = [ pkgs.hdf5 ]; + NIX_LDFLAGS = [ "-lhdf5" ]; + }; + cl-async-ssl = pkg: { + nativeLibs = [ openssl_1_1 ]; + }; cl-cffi-gtk-glib = pkg: { nativeLibs = [ glib ]; }; cl-cffi-gtk-cairo = pkg: { nativeLibs = [ cairo ]; }; + cl-cffi-gtk-gdk = pkg: { + nativeLibs = [ gtk3 ]; + }; + cl-cffi-gtk-gdk-pixbuf = pkg: { + nativeLibs = [ gdk-pixbuf ]; + }; + cl-cffi-gtk-pango = pkg: { + nativeLibs = [ pango ]; + }; cl-cairo2 = pkg: { nativeLibs = [ cairo ]; }; cl-cairo2-xlib = pkg: { nativeLibs = [ gtk2-x11 ]; }; + cl-devil = pkg: { + nativeBuildInputs = [ pkgs.libdevil ]; + nativeLibs = [ pkgs.libdevil ]; + }; cl-freetype2 = pkg: { nativeLibs = [ freetype ]; nativeBuildInputs = [ freetype ]; patches = [ ./patches/cl-freetype2-fix-grovel-includes.patch ]; }; - cl-pango = pkg: { - nativeLibs = [ pango ]; - }; - cl-gtk2-gdk = pkg: { - nativeLibs = [ gtk2-x11 ]; - }; - cl-gtk2-glib = pkg: { - nativeLibs = [ glib ]; - }; - cl-gtk2-pango = pkg: { - nativeLibs = [ pango ]; + cl-glfw = pkg: { + nativeLibs = [ glfw ]; }; - cl-rsvg2 = pkg: { - nativeLibs = [ librsvg ]; + cl-glfw-opengl-core = pkg: { + nativeLibs = [ libGL ]; }; - cl-cffi-gtk-gdk = pkg: { - nativeLibs = [ gtk3 ]; + cl-glfw3 = pkg: { + nativeLibs = [ glfw ]; }; - cl-cffi-gtk-gdk-pixbuf = pkg: { - nativeLibs = [ gdk-pixbuf ]; + cl-glu = pkg: { + nativeLibs = [ libGLU ]; }; - cl-cffi-gtk-pango = pkg: { - nativeLibs = [ pango ]; + cl-glut = pkg: { + nativeLibs = [ freeglut ]; }; cl-gobject-introspection = pkg: { nativeLibs = [ glib gobject-introspection ]; }; - cl-mysql = pkg: { - nativeLibs = [ mariadb.client ]; - }; - clsql-postgresql = pkg: { - nativeLibs = [ postgresql.lib ]; - }; - clsql-sqlite3 = pkg: { - nativeLibs = [ sqlite ]; - }; - cl-webkit2 = pkg: { - nativeLibs = [ webkitgtk ]; - }; - dbd-mysql = pkg: { - nativeLibs = [ mariadb.client ]; - }; - lla = pkg: { - nativeLibs = [ openblas ]; - }; - cffi-libffi = pkg: { - nativeBuildInputs = [ libffi ]; - nativeLibs = [ libffi ]; - }; - cl-rabbit = pkg: { - nativeBuildInputs = [ rabbitmq-c ]; - nativeLibs = [ rabbitmq-c ]; + cl-gtk2-gdk = pkg: { + nativeLibs = [ gtk2-x11 ]; }; - trivial-ssh-libssh2 = pkg: { - nativeLibs = [ libssh2 ]; + cl-gtk2-glib = pkg: { + nativeLibs = [ glib ]; }; - mssql = pkg: { - nativeLibs = [ freetds ]; + cl-gtk2-pango = pkg: { + nativeLibs = [ pango ]; }; - sqlite = pkg: { - nativeLibs = [ sqlite ]; + cl-liballegro = pkg: { + # build doesnt fail without this, but fails on runtime + # weird... + nativeLibs = [ allegro5 ]; }; cl-libuv = pkg: { nativeBuildInputs = [ libuv ]; nativeLibs = [ libuv ]; }; - cl-liballegro = pkg: { - # build doesnt fail without this, but fails on runtime - # weird... - nativeLibs = [ allegro5 ]; + cl-libxml2 = pkg: { + nativeLibs = [ pkgs.libxml2 ]; + }; + cl-libyaml = pkg: { + nativeLibs = [ pkgs.libyaml ]; + }; + cl-mysql = pkg: { + nativeLibs = [ mariadb.client ]; }; cl-ode = pkg: { nativeLibs = let @@ -111,68 +111,76 @@ let }); in [ ode' ]; }; - classimp = pkg: { - nativeLibs = [ assimp ]; + cl-opengl = pkg: { + nativeLibs = [ libGL ]; }; - sdl2 = pkg: { - nativeLibs = [ SDL2 ]; + cl-pango = pkg: { + nativeLibs = [ pango ]; }; - lispbuilder-sdl-cffi = pkg: { - nativeLibs = [ SDL ]; + cl-rabbit = pkg: { + nativeBuildInputs = [ rabbitmq-c ]; + nativeLibs = [ rabbitmq-c ]; }; - cl-opengl = pkg: { - nativeLibs = [ libGL ]; + cl-rdkafka = pkg: { + nativeBuildInputs = [ rdkafka ]; + nativeLibs = [ rdkafka ]; }; - cl-glu = pkg: { - nativeLibs = [ libGLU ]; + cl-readline = pkg: { + nativeLibs = [ pkgs.readline ]; }; - cl-glut = pkg: { - nativeLibs = [ freeglut ]; + cl-rsvg2 = pkg: { + nativeLibs = [ librsvg ]; }; - cl-glfw = pkg: { - nativeLibs = [ glfw ]; + "cl-sat.glucose" = pkg: { + propagatedBuildInputs = [ pkgs.glucose ]; + patches = [ ./patches/cl-sat.glucose-binary-from-PATH-if-present.patch ]; + }; - cl-glfw-opengl-core = pkg: { - nativeLibs = [ libGL ]; + "cl-sat.minisat" = pkg: { + propagatedBuildInputs = [ pkgs.minisat ]; }; - cl-glfw3 = pkg: { - nativeLibs = [ glfw ]; + cl-webkit2 = pkg: { + nativeLibs = [ webkitgtk ]; }; - lev = pkg: { - nativeLibs = [ libev ]; + classimp = pkg: { + nativeLibs = [ assimp ]; }; - cl-rdkafka = pkg: { - nativeBuildInputs = [ rdkafka ]; - nativeLibs = [ rdkafka ]; + clsql-postgresql = pkg: { + nativeLibs = [ postgresql.lib ]; }; - cl-async-ssl = pkg: { - nativeLibs = [ openssl_1_1 ]; + clsql-sqlite3 = pkg: { + nativeLibs = [ sqlite ]; }; - osicat = pkg: { - LD_LIBRARY_PATH = "${pkg}/posix/"; + dbd-mysql = pkg: { + nativeLibs = [ mariadb.client ]; + }; + gsll = pkg: { + nativeBuildInputs = [ pkgs.gsl ]; + nativeLibs = [ pkgs.gsl ]; }; iolib = pkg: { nativeBuildInputs = [ libfixposix ]; nativeLibs = [ libfixposix ]; systems = [ "iolib" "iolib/os" "iolib/pathnames" ]; }; - "cl-ana.hdf-cffi" = pkg: { - nativeBuildInputs = [ pkgs.hdf5 ]; - nativeLibs = [ pkgs.hdf5 ]; - NIX_LDFLAGS = [ "-lhdf5" ]; + lev = pkg: { + nativeLibs = [ libev ]; }; - gsll = pkg: { - nativeBuildInputs = [ pkgs.gsl ]; - nativeLibs = [ pkgs.gsl ]; + lispbuilder-sdl-cffi = pkg: { + nativeLibs = [ SDL ]; }; - cl-libyaml = pkg: { - nativeLibs = [ pkgs.libyaml ]; + lla = pkg: { + nativeLibs = [ openblas ]; }; - cl-libxml2 = pkg: { - nativeLibs = [ pkgs.libxml2 ]; + mssql = pkg: { + nativeLibs = [ freetds ]; }; - cl-readline = pkg: { - nativeLibs = [ pkgs.readline ]; + osicat = pkg: { + LD_LIBRARY_PATH = "${pkg}/posix/"; + }; + png = pkg: { + nativeBuildInputs = [ pkgs.libpng ]; + nativeLibs = [ pkgs.libpng ]; }; pzmq = pkg: { nativeBuildInputs = [ pkgs.zeromq ]; @@ -190,6 +198,22 @@ let nativeBuildInputs = [ pkgs.zeromq ]; nativeLibs = [ pkgs.zeromq ]; }; + sdl2 = pkg: { + nativeLibs = [ SDL2 ]; + }; + sqlite = pkg: { + nativeLibs = [ sqlite ]; + }; + trivial-package-manager = pkg: { + propagatedBuildInputs = [ pkgs.which ]; + }; + trivial-ssh-libssh2 = pkg: { + nativeLibs = [ libssh2 ]; + }; + zmq = pkg: { + nativeBuildInputs = [ pkgs.zeromq ]; + nativeLibs = [ pkgs.zeromq ]; + }; }; qlpkgs = |