ecls-2.patch 1.6 KB

123456789101112131415161718192021222324252627282930313233343536
  1. diff -r -U1 maxima-5.37.1.orig/src/maxima.in maxima-5.37.1/src/maxima.in
  2. --- maxima-5.37.1.orig/src/maxima.in 2015-05-22 04:40:03.000000000 +0600
  3. +++ maxima-5.37.1/src/maxima.in 2015-09-03 16:33:30.913866985 +0600
  4. @@ -188,3 +188,3 @@
  5. elif [ "$MAXIMA_LISP" = "ecl" ]; then
  6. - exec "$maxima_image_base" $MAXIMA_LISP_OPTIONS -- "$@"
  7. + exec "$maxima_image_base" $MAXIMA_LISP_OPTIONS -norc -- "$@"
  8. diff -r -U1 maxima-5.37.1.orig/src/maxima.system maxima-5.37.1/src/maxima.system
  9. --- maxima-5.37.1.orig/src/maxima.system 2015-09-01 02:26:13.000000000 +0600
  10. +++ maxima-5.37.1/src/maxima.system 2015-09-03 16:42:47.071843596 +0600
  11. @@ -61,2 +61,10 @@
  12. #+ecl
  13. +(defun split-ld-flags-for-ecl (string &aux space)
  14. + (setf string (string-trim '(#\Space) string))
  15. + (if (setf space (position #\Space string))
  16. + (cons (subseq string 0 space)
  17. + (split-ld-flags-for-ecl (subseq string (1+ space))))
  18. + (cons string nil)))
  19. +
  20. +#+ecl
  21. (defun build-maxima-lib ()
  22. @@ -77,2 +85,7 @@
  23. files)))
  24. + (c::build-fasl "binary-ecl/maxima" :lisp-files obj
  25. + :ld-flags
  26. + (let ((x (symbol-value (find-symbol "*AUTOCONF-LD-FLAGS*"
  27. + (find-package "MAXIMA")))))
  28. + (if (and x (not (string= x ""))) (split-ld-flags-for-ecl x))))
  29. (c::build-program "binary-ecl/maxima" :lisp-files obj
  30. @@ -81,3 +94,3 @@
  31. (find-package "MAXIMA")))))
  32. - (if (and x (not (string= x ""))) (list x)))
  33. + (if (and x (not (string= x ""))) (split-ld-flags-for-ecl x)))
  34. :epilogue-code '(progn (require :defsystem)