void-packages/srcpkgs/maxima/patches/a0d7a43e5234305bd6f1de5909d4ce5d7e1ea864.patch
Gonzalo Tornaría ab0d3102b5 maxima: add a subpkg maxima-ecl needed for sagemath
- Added a build option 'ecl' (enabled by default)
 - The ecl binary and library will be in a subpkg maxima-ecl so this
   should not affect current users of maxima
 - new patches:
   - a0d7a43...: build a FASL library for ECL (this is merged upstream)
   - handle-multiple-ldflags.patch: otherwise compilation with multiple
     options in LDFLAGS fails (taken from debian)
   - matrixexp.patch: fixes an error in matrix exponentiation (taken
     from debian, this originates in sagemath)

A weak point is that the library maxima.fas is installed in
/usr/lib/ecl-${ecl_version} which is where ecl looks for them, but this
doesn't seem right.

Maybe an alternative would be to have the ecl package ship a symlink at
/usr/lib/ecl pointing to the versioned directory, then have the
maxima-ecl package place its library in the non-versioned directory.
2021-12-21 14:19:58 +01:00

25 lines
887 B
Diff

commit a0d7a43e5234305bd6f1de5909d4ce5d7e1ea864
Author: Robert Dodier <robert_dodier@users.sourceforge.net>
Date: Mon Oct 11 22:40:13 2021 -0700
Apply patch #80: "Build a FASL library, needed by SageMath"
This modifies maxima.system for ECL only.
diff --git a/src/maxima.system b/src/maxima.system
index d954bc2b9..525fb778e 100644
--- a/src/maxima.system
+++ b/src/maxima.system
@@ -75,6 +75,11 @@
;; Convert dir/foo.fas to dir/foo.o
(make-pathname :type "o" :defaults p))
files)))
+ (c::build-fasl "binary-ecl/maxima" :lisp-files obj
+ :ld-flags
+ (let ((x (symbol-value (find-symbol "*AUTOCONF-LD-FLAGS*"
+ (find-package "MAXIMA")))))
+ (if (and x (not (string= x ""))) (list x))))
(c::build-program "binary-ecl/maxima" :lisp-files obj
:ld-flags
(let ((x (symbol-value (find-symbol "*AUTOCONF-LD-FLAGS*"