From: tornaria <tornaria@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] maxima: fix #34849 and #34861
Date: Mon, 10 Jan 2022 13:14:34 +0100 [thread overview]
Message-ID: <20220110121434.im0JTWi8hfjYcviCjDeqlgSTwUpYsYQVri94p5QvnmU@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-34887@inbox.vuxu.org>
[-- Attachment #1: Type: text/plain, Size: 789 bytes --]
There is an updated pull request by tornaria against master on the void-packages repository
https://github.com/tornaria/void-packages maxima
https://github.com/void-linux/void-packages/pull/34887
maxima: fix #34849 and #34861
- patch maxima-sbcl so it uses gmp for arithmetic (closes #34849)
also add libgmp to shlib_requires since it won't be detected
- remove `nopie=yes` to fix #34861, replace by `nopie_files`
- remove `nostrip=yes`, replace by `nostrip_files`
- add checks for #34849 and #34861
- run testsuite only for full check (not in CI)
- some html and info files are shipped with source: do not rebuild
I based this on top of #34886 so `nostrip_files` works better.
A patch file from https://github.com/void-linux/void-packages/pull/34887.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-maxima-34887.patch --]
[-- Type: text/x-diff, Size: 4299 bytes --]
From 6acf130acb8fcd86ec011572d4a061482ea5e9e6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 5 Jan 2022 16:51:00 -0300
Subject: [PATCH] maxima: fix #34849 and #34861
- patch maxima-sbcl so it uses gmp for arithmetic (closes #34849)
also add libgmp to shlib_requires since it won't be detected
- remove `nopie=yes` to fix #34861, replace by `nopie_files`
- remove `nostrip=yes`, replace by `nostrip_files`
- add checks for #34849 and #34861
- run testsuite only for full check (not in CI)
- some html and info files are shipped with source: do not rebuild
---
.../maxima/patches/maxima-sbcl-with-gmp.patch | 19 +++++++
srcpkgs/maxima/template | 52 ++++++++++++++++---
2 files changed, 63 insertions(+), 8 deletions(-)
create mode 100644 srcpkgs/maxima/patches/maxima-sbcl-with-gmp.patch
diff --git a/srcpkgs/maxima/patches/maxima-sbcl-with-gmp.patch b/srcpkgs/maxima/patches/maxima-sbcl-with-gmp.patch
new file mode 100644
index 000000000000..074631ea2ba0
--- /dev/null
+++ b/srcpkgs/maxima/patches/maxima-sbcl-with-gmp.patch
@@ -0,0 +1,19 @@
+Patch maxima initialization for sbcl so it uses gmp for arithmetic
+
+
+--- a/src/init-cl.lisp 2021-05-15 20:20:53.000000000 -0300
++++ b/src/init-cl.lisp 2022-01-04 17:45:03.838273626 -0300
+@@ -574,8 +574,13 @@
+ (delete-file file)))))
+ *temp-files-list*))
+
++#+sbcl
++(eval-when (:compile-toplevel :load-toplevel :execute)
++ (require 'sb-gmp))
++
+ (defun cl-user::run ()
+ "Run Maxima in its own package."
++ #+sbcl (sb-gmp:install-gmp-funs)
+ (in-package :maxima)
+ (initialize-runtime-globals)
+ (let ((input-stream *standard-input*)
diff --git a/srcpkgs/maxima/template b/srcpkgs/maxima/template
index 1a4bec0dba18..69af367ca11d 100644
--- a/srcpkgs/maxima/template
+++ b/srcpkgs/maxima/template
@@ -1,7 +1,7 @@
# Template file for 'maxima'
pkgname=maxima
version=5.45.1
-revision=2
+revision=3
build_style=gnu-configure
configure_args="$(vopt_enable clisp) $(vopt_enable sbcl sbcl-exec) $(vopt_enable ecl)"
hostmakedepends="python3 perl emacs texinfo patchelf"
@@ -15,8 +15,15 @@ homepage="http://maxima.sourceforge.net"
distfiles="${SOURCEFORGE_SITE}/maxima/maxima-${version}.tar.gz"
checksum=fe9016276970bef214a1a244348558644514d7fdfaa4fc8b9d0e87afcbb4e7dc
-nostrip=yes
-nopie=yes
+# maxima-sbcl is nopie and should NOT be stripped or it won't work
+nostrip_files=/usr/lib/maxima/$version/binary-sbcl/maxima
+nopie_files=/usr/lib/maxima/$version/binary-sbcl/maxima
+
+if [ "$build_option_sbcl" ]; then
+ # binary-sbcl/maxima uses libgmp but this won't show up in objdump
+ shlib_requires=libgmp.so.10
+fi
+
build_options="clisp sbcl ecl"
desc_option_clisp="Build with CLISP"
desc_option_sbcl="Build with SBCL"
@@ -24,6 +31,14 @@ desc_option_ecl="Build with ECL"
build_options_default="sbcl ecl"
vopt_conflict clisp sbcl
+post_configure() {
+ # do not rebuild these files if they exist
+ touch -c doc/info/*.html
+ touch -c doc/info/maxima.info*
+ touch -c doc/info/maxima_toc.html
+ touch -c interfaces/xmaxima/doc/xmaxima.html
+}
+
post_build() {
if [ "$build_option_ecl" ]; then
# everything will go in the same directory, use rpath=$ORIGIN
@@ -38,13 +53,34 @@ post_build() {
do_check() {
if [ "$build_option_ecl" ]; then
- echo "Check that maxima.fas works"
- ecl --eval "(require 'maxima \"src/binary-ecl/maxima.fas\")" \
- --eval "(quit)"
+ echo "maxima-ecl: check that maxima.fas works (#34273)"
+ ecl --eval '(require :maxima "src/binary-ecl/maxima.fas")' \
+ --eval '(quit)'
+ echo PASS
+ echo "maxima-ecl: check that unlimited heap-size works (#34861)"
+ ./maxima-local -q -l ecl --batch-string=":lisp \
+ (ext:set-limit 'ext:heap-size 0)
+ showtime : true $
+ a : 10^(10^5) $
+ b : a^600 $
+ c : a^600 $
+ "
+ echo PASS
+ fi
+ if [ "$build_option_sbcl" ]; then
+ echo "maxima-sbcl: check that long arithmetic is fast (#34849)"
+ timeout -v 30s ./maxima-local -q -l sbcl --batch-string="
+ showtime : true $
+ a : 10^(10^5) $
+ b : a^1000 $
+ "
+ echo PASS
fi
- # now run the testsuite
- make ${makejobs} check
+ if [ "$XBPS_CHECK_PKGS" = full ]; then
+ # run the testsuite for all versions enabled
+ make ${makejobs} check
+ fi
}
post_install() {
next prev parent reply other threads:[~2022-01-10 12:14 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-06 1:17 [PR PATCH] " tornaria
2022-01-06 1:38 ` [PR REVIEW] " abenson
2022-01-06 1:50 ` tornaria
2022-01-07 17:44 ` tornaria
2022-01-10 12:14 ` tornaria [this message]
2022-01-10 12:22 ` tornaria
2022-01-11 15:55 ` [PR PATCH] [Merged]: " leahneukirchen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220110121434.im0JTWi8hfjYcviCjDeqlgSTwUpYsYQVri94p5QvnmU@z \
--to=tornaria@users.noreply.github.com \
--cc=ml@inbox.vuxu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).