about summary refs log tree commit diff
path: root/pkgs/development/lisp-modules-new-obsolete/patches
diff options
context:
space:
mode:
authorKasper Gałkowski <k@galkowski.xyz>2023-04-01 16:02:22 +0200
committerKasper Gałkowski <k@galkowski.xyz>2023-04-02 11:14:49 +0200
commitbdc000263ae994f6d96a6bde7d63805f1e4f818b (patch)
tree76292291745ffc8735d3534e40a1ace5a52695cd /pkgs/development/lisp-modules-new-obsolete/patches
parent9a26e2dea92566db6151fef2909140992a751207 (diff)
lisp-modules: add back the two current implementations
This is to enable a smooth migration to the new one.
Diffstat (limited to 'pkgs/development/lisp-modules-new-obsolete/patches')
-rw-r--r--pkgs/development/lisp-modules-new-obsolete/patches/cffi-libffi-darwin-ffi-h.patch14
-rw-r--r--pkgs/development/lisp-modules-new-obsolete/patches/cl-freetype2-fix-grovel-includes.patch16
-rw-r--r--pkgs/development/lisp-modules-new-obsolete/patches/cl-liballegro-nuklear-missing-dll.patch17
-rw-r--r--pkgs/development/lisp-modules-new-obsolete/patches/cl-sat.glucose-binary-from-PATH-if-present.patch27
-rw-r--r--pkgs/development/lisp-modules-new-obsolete/patches/magicl-dont-build-fortran-twice.patch21
-rw-r--r--pkgs/development/lisp-modules-new-obsolete/patches/qt-libs-dont-download.patch36
-rw-r--r--pkgs/development/lisp-modules-new-obsolete/patches/qtools-use-nix-libs.patch19
-rw-r--r--pkgs/development/lisp-modules-new-obsolete/patches/swank-pure-paths.patch28
8 files changed, 178 insertions, 0 deletions
diff --git a/pkgs/development/lisp-modules-new-obsolete/patches/cffi-libffi-darwin-ffi-h.patch b/pkgs/development/lisp-modules-new-obsolete/patches/cffi-libffi-darwin-ffi-h.patch
new file mode 100644
index 0000000000000..15c4a45887550
--- /dev/null
+++ b/pkgs/development/lisp-modules-new-obsolete/patches/cffi-libffi-darwin-ffi-h.patch
@@ -0,0 +1,14 @@
+--- a/libffi/libffi-types.lisp
++++ b/libffi/libffi-types.lisp
+@@ -43,9 +43,6 @@
+ 
+ (pkg-config-cflags "libffi" :optional t)
+ 
+-#+darwin
+-(include "ffi/ffi.h")
+-#-darwin
+ (include "ffi.h")
+ 
+ (cenum status
+
+Diff finished.  Sun Nov 13 00:23:10 2022
\ No newline at end of file
diff --git a/pkgs/development/lisp-modules-new-obsolete/patches/cl-freetype2-fix-grovel-includes.patch b/pkgs/development/lisp-modules-new-obsolete/patches/cl-freetype2-fix-grovel-includes.patch
new file mode 100644
index 0000000000000..5260f0c058414
--- /dev/null
+++ b/pkgs/development/lisp-modules-new-obsolete/patches/cl-freetype2-fix-grovel-includes.patch
@@ -0,0 +1,16 @@
+--- a/src/ffi/grovel/grovel-freetype.h
++++ b/src/ffi/grovel/grovel-freetype.h
+@@ -2,7 +2,7 @@
+ #include <ft2build.h>
+ #include FT_FREETYPE_H
+ 
+-#include <ftsystem.h>
+-#include <fttypes.h>
+-#include <ftlist.h>
+-#include <ftimage.h>
++#include <freetype/ftsystem.h>
++#include <freetype/fttypes.h>
++#include <freetype/ftlist.h>
++#include <freetype/ftimage.h>
+
+Diff finished.  Mon Nov 14 22:41:57 2022
diff --git a/pkgs/development/lisp-modules-new-obsolete/patches/cl-liballegro-nuklear-missing-dll.patch b/pkgs/development/lisp-modules-new-obsolete/patches/cl-liballegro-nuklear-missing-dll.patch
new file mode 100644
index 0000000000000..b5bde523eba92
--- /dev/null
+++ b/pkgs/development/lisp-modules-new-obsolete/patches/cl-liballegro-nuklear-missing-dll.patch
@@ -0,0 +1,17 @@
+Fix system not loading due to:
+
+Unhandled CFFI:LOAD-FOREIGN-LIBRARY-ERROR 
+  Unable to load foreign library (LIBALLEGRO-NUKLEAR).
+  Error opening shared object "/build/source/src/liballegro_nuklear.so":
+  /build/source/src/liballegro_nuklear.so: undefined symbol: al_draw_ellipse.
+--- a/cl-liballegro-nuklear.asd
++++ b/cl-liballegro-nuklear.asd
+@@ -12,7 +12,7 @@
+   :description "CFFI wrapper for the Nuklear IM GUI library with liballegro backend, to be used with cl-liballegro."
+   :author "Andrew Kravchuk <awkravchuk@gmail.com>"
+   :license "MIT"
+-  :depends-on (:cffi :cffi-libffi :trivial-features)
++  :depends-on (:cl-liballegro :cffi :cffi-libffi :trivial-features)
+   :pathname "src"
+   :serial t
+   :components ((:makefile "Makefile")
diff --git a/pkgs/development/lisp-modules-new-obsolete/patches/cl-sat.glucose-binary-from-PATH-if-present.patch b/pkgs/development/lisp-modules-new-obsolete/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-obsolete/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-obsolete/patches/magicl-dont-build-fortran-twice.patch b/pkgs/development/lisp-modules-new-obsolete/patches/magicl-dont-build-fortran-twice.patch
new file mode 100644
index 0000000000000..f63b6949b1fd5
--- /dev/null
+++ b/pkgs/development/lisp-modules-new-obsolete/patches/magicl-dont-build-fortran-twice.patch
@@ -0,0 +1,21 @@
+--- a/magicl.asd
++++ b/magicl.asd
+@@ -143,6 +143,7 @@
+            (shared-object (make-pathname :type #+darwin "dylib" #-darwin "so"
+                                          :name "libexpokit"
+                                          :defaults fortran-file)))
++      (unless (probe-file (nn shared-object))
+       (uiop:run-program
+        (list "gfortran" "-fPIC" "-std=legacy"
+              "-c"
+@@ -155,7 +156,7 @@
+              (nn object-file)
+              #+darwin "-lblas"
+              #+darwin "-llapack"))
+-      (delete-file object-file))))
++      (delete-file object-file)))))
+ 
+ 
+ (asdf:defsystem #:magicl/ext-expokit
+
+Diff finished.  Mon Oct 10 22:03:54 2022
diff --git a/pkgs/development/lisp-modules-new-obsolete/patches/qt-libs-dont-download.patch b/pkgs/development/lisp-modules-new-obsolete/patches/qt-libs-dont-download.patch
new file mode 100644
index 0000000000000..e21a44c2a17d1
--- /dev/null
+++ b/pkgs/development/lisp-modules-new-obsolete/patches/qt-libs-dont-download.patch
@@ -0,0 +1,36 @@
+--- a/qt-libs.asd
++++ b/qt-libs.asd
+@@ -17,5 +17,4 @@
+   :components ((:file "qt-libs"))
+   :depends-on (:qt-lib-generator
+                :cl-ppcre
+-               :cffi)
+-  :perform (asdf:load-op :after (op c) (uiop:symbol-call :qt-libs :ensure-standalone-libs)))
++               :cffi))
+--- a/qt-libs.lisp
++++ b/qt-libs.lisp
+@@ -94,16 +94,14 @@
+   standalone-dir)
+
+ (defun %ensure-lib-loaded (file)
+-  (let ((file (etypecase file
+-                (pathname file)
+-                (string (installed-library-file file))))
+-        (name (intern (string-upcase (pathname-name file))))
+-        #+sbcl(sb-ext:*muffled-warnings* 'style-warning))
+-    (cffi::register-foreign-library
+-     name `((T ,file))
+-     :search-path (to-directory file))
+-    (unless (cffi:foreign-library-loaded-p name)
+-      (cffi:load-foreign-library name))))
++ (let ((name (make-pathname :name (format nil "lib~a" file)
++                             :type #+unix "so"
++                                   #+darwin "dylib")))
++    (or (find-if (lambda (lib)
++                   (equal (cffi:foreign-library-pathname lib)
++                          (namestring name)))
++                 (cffi:list-foreign-libraries))
++        (cffi:load-foreign-library name))))
+
+ (defun ensure-lib-loaded (file)
+   (cond ((pathnamep file)
\ No newline at end of file
diff --git a/pkgs/development/lisp-modules-new-obsolete/patches/qtools-use-nix-libs.patch b/pkgs/development/lisp-modules-new-obsolete/patches/qtools-use-nix-libs.patch
new file mode 100644
index 0000000000000..b380894b04a83
--- /dev/null
+++ b/pkgs/development/lisp-modules-new-obsolete/patches/qtools-use-nix-libs.patch
@@ -0,0 +1,19 @@
+Dont use the qt+libs system for managing Qt dependencies, because Nix provides
+them already.
+Don't build the deploy.lisp helper file, because Nix also can handle deployment.
+--- a/qtools.asd
++++ b/qtools.asd
+@@ -33,10 +33,9 @@
+                (:file "generate")
+                (:file "dynamic")
+                (:file "precompile")
+-               (:file "deploy")
+                (:file "fast-call")
+                (:file "documentation"))
+-  :depends-on (:qt+libs
++  :depends-on (:qt
+                :deploy
+                :cl-ppcre
+                :closer-mop
+
+Diff finished.  Sun Oct  2 14:38:06 2022
\ No newline at end of file
diff --git a/pkgs/development/lisp-modules-new-obsolete/patches/swank-pure-paths.patch b/pkgs/development/lisp-modules-new-obsolete/patches/swank-pure-paths.patch
new file mode 100644
index 0000000000000..0b9a40ab0e2bf
--- /dev/null
+++ b/pkgs/development/lisp-modules-new-obsolete/patches/swank-pure-paths.patch
@@ -0,0 +1,28 @@
+Prevent swank from attempting write into storeDir
+--- a/swank-loader.lisp
++++ b/swank-loader.lisp
+@@ -162,7 +162,7 @@
+                  ,(unique-dir-name)))
+    (user-homedir-pathname)))
+ 
+-(defvar *fasl-directory* (default-fasl-dir)
++(defvar *fasl-directory* #P"@out@/fasl/"
+   "The directory where fasl files should be placed.")
+ 
+ (defun binary-pathname (src-pathname binary-dir)
+@@ -284,12 +284,7 @@
+                  (contrib-dir src-dir))))
+ 
+ (defun delete-stale-contrib-fasl-files (swank-files contrib-files fasl-dir)
+-  (let ((newest (reduce #'max (mapcar #'file-write-date swank-files))))
+-    (dolist (src contrib-files)
+-      (let ((fasl (binary-pathname src fasl-dir)))
+-        (when (and (probe-file fasl)
+-                   (<= (file-write-date fasl) newest))
+-          (delete-file fasl))))))
++  (declare (ignore swank-files contrib-files fasl-dir)))
+ 
+ (defun compile-contribs (&key (src-dir (contrib-dir *source-directory*))
+                            (fasl-dir (contrib-dir *fasl-directory*))
+
+Diff finished.  Sat Jan 22 23:57:27 2022
\ No newline at end of file