diff options
Diffstat (limited to 'sci-mathematics/maxima/files/maxima-ecl-ldflags.patch')
-rw-r--r-- | sci-mathematics/maxima/files/maxima-ecl-ldflags.patch | 27 |
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))))))) + |