summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-mathematics/maxima/files/maxima-ecl-ldflags.patch')
-rw-r--r--sci-mathematics/maxima/files/maxima-ecl-ldflags.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/sci-mathematics/maxima/files/maxima-ecl-ldflags.patch b/sci-mathematics/maxima/files/maxima-ecl-ldflags.patch
new file mode 100644
index 000000000000..e71486fcf736
--- /dev/null
+++ b/sci-mathematics/maxima/files/maxima-ecl-ldflags.patch
@@ -0,0 +1,27 @@
+diff -p -up maxima-5.20.1/src/maxima.system.orig maxima-5.20.1/src/maxima.system
+--- maxima-5.20.1/src/maxima.system.orig 2010-03-04 17:25:38.708483072 -0300
++++ maxima-5.20.1/src/maxima.system 2010-03-04 17:27:27.150481620 -0300
+@@ -44,6 +44,14 @@
+ (c:build-fasl output :lisp-files (list object-output)))))
+
+ #+ecl
++(defun split-ld-flags-for-ecl (string &aux space)
++ (setf string (string-trim '(#\Space) string))
++ (if (setf space (position #\Space string))
++ (cons (subseq string 0 space)
++ (split-ld-flags-for-ecl (subseq string (1+ space))))
++ (cons string nil)))
++
++#+ecl
+ (defun build-maxima-lib ()
+ (labels ((list-all-objects (module)
+ (if (eql (mk::component-type module) :file)
+@@ -66,7 +74,7 @@
+ :ld-flags
+ (let ((x (symbol-value (find-symbol "*AUTOCONF-LD-FLAGS*"
+ (find-package "MAXIMA")))))
+- (if (and x (not (string= x ""))) (list x)))
++ (if (and x (not (string= x ""))) (split-ld-flags-for-ecl x)))
+ :epilogue-code '(progn (require :defsystem)
+ (cl-user::run)))))))
+