From 5701339d82dc6127ada60ee9487a4a0e9186adb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= Date: Thu, 11 Nov 2021 09:39:20 -0300 Subject: [PATCH 1/4] hooks: option to skip 03-rewrite-python-shebang --- common/hooks/pre-pkg/03-rewrite-python-shebang.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/common/hooks/pre-pkg/03-rewrite-python-shebang.sh b/common/hooks/pre-pkg/03-rewrite-python-shebang.sh index 07162ad2c69b..c0f2198e44cf 100644 --- a/common/hooks/pre-pkg/03-rewrite-python-shebang.sh +++ b/common/hooks/pre-pkg/03-rewrite-python-shebang.sh @@ -4,6 +4,10 @@ hook() { local pyver= shebang= off= + if [ -n "$_no_python_shebang" ]; then + return 0 + fi + if [ -d ${PKGDESTDIR}/usr/lib/python* ]; then pyver="$(find ${PKGDESTDIR}/usr/lib/python* -prune -type d | grep -o '[[:digit:]]\.[[:digit:]]\+$')" fi From e5df033c986d4451162ba9d605bc2438b4e35461 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= Date: Thu, 11 Nov 2021 10:36:03 -0300 Subject: [PATCH 2/4] New package: sage-9.5.beta5 --- srcpkgs/sage/template | 74 +++++++++++++++++++++++++++++++++++++++++++ srcpkgs/sage/update | 3 ++ 2 files changed, 77 insertions(+) create mode 100644 srcpkgs/sage/template create mode 100644 srcpkgs/sage/update diff --git a/srcpkgs/sage/template b/srcpkgs/sage/template new file mode 100644 index 000000000000..2ef437238cb5 --- /dev/null +++ b/srcpkgs/sage/template @@ -0,0 +1,74 @@ +# Template file for 'sage' +pkgname=sage +version=9.5.beta5 +revision=1 +build_style=configure +configure_args=--prefix=/usr/lib/sage-${version} +make_check_target=ptest +short_desc="Open source mathematics software" +maintainer="Gonzalo TornarĂ­a " +license="GPL-3.0-or-later" +homepage="http://sagemath.org/" +distfiles="http://mirrors.mit.edu/sage/src/sage-$version.tar.gz" +checksum=3b78ee848450d6881902bf68f4f3af17e1647e72c51e5fcdcb412c938ecbce57 + +case ${version} in + # url for devel is different + *.beta*|*.rc*) + distfiles=${distfiles/sage\/src/sage\/devel} + ;; +esac + +# first we try to build native; we'll worry about cross later +# besides, some dependencies are nocross +nocross=yes + +# for now, to make install faster +nostrip=yes + +# don't rewrite python shebang as sage uses its own python (for now) +_no_python_shebang=yes + +do_install() { + vcopy /usr/lib/sage-${version} usr/lib/ + vmkdir usr/bin + ln -s /usr/lib/sage-${version}/bin/sage ${DESTDIR}/usr/bin/ +} + +### copied from sage-deps, to keep in sync + +# hard dependencies +makedepends+=" gcc make m4 perl binutils git tar libgomp-devel" + +# recommended dependencies +makedepends+=" gcc-fortran openssl-devel" + +# bootstrap dependencies +makedepends+=" automake gettext gettext-devel" + +# other host dependencies +makedepends+=" cmake curl git ninja pandoc patch pkg-config python3 tox" + +# already in void +makedepends+=" + CoinMP-devel R arb-devel boost-devel bzip2-devel ecl eclib-devel + ecm-devel flintlib-devel freetype-devel gc-devel gd-devel giac-devel + glpk-devel gmp-devel gmpxx-devel gp2c graphviz gsl-devel isl-devel + libatomic_ops-devel libcurl-devel libffi-devel libmpc-devel + libpng-devel libxml2-devel mpfr-devel ncurses-devel openblas-devel + pari-devel pari-elldata-small pari-galdata pari-galpol-small + pari-seadata pcre-devel perl-File-Slurp perl-JSON perl-Term-ReadKey + perl-Term-ReadLine-Gnu perl-XML-LibXML perl-XML-LibXSLT + perl-XML-Writer ppl-devel python3-devel readline-devel sqlite-devel + zeromq-devel zlib-devel + FlintQS SuiteSparse-devel cddlib-devel fflas-ffpack fplll-devel gf2x-devel + givaro-devel igraph-devel iml-devel lcalc-devel linbox-devel + m4ri-devel m4rie-devel mpfi-devel ntl-devel perl-SVG rankwidth-devel + singular sympow zn_poly symmetrica-devel planarity-devel qhull libqhull-devel +" + +# TODO: standard +# brial cliquer gfan libbraiding libhomfly lrcalc nauty palp tachyon + +# TODO: optional +# 4ti2 coxeter3 libnauty libsemigroups lrslib perl_mongodb diff --git a/srcpkgs/sage/update b/srcpkgs/sage/update new file mode 100644 index 000000000000..f797813dcde6 --- /dev/null +++ b/srcpkgs/sage/update @@ -0,0 +1,3 @@ +# for now, check both stable and devel releases +site="http://mirrors.mit.edu/sage/src/ +http://mirrors.mit.edu/sage/devel/" From 0e85019dec9235654b682c14f80e0fdf8f5b6c0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= Date: Sat, 13 Nov 2021 00:08:27 -0300 Subject: [PATCH 3/4] sagemath: update to sage-9.5.beta6 Also: - rename pkg from sage to sagemath - now it will build sage in-place at /usr/lib/sage-$version - the resulting pkg contains a lot of useless stuff that comes with the distribution; we'll have to clean up. E.g. SAGE_ROOT/upstream is definitely unnecessary (1.2G); possibly SAGE_ROOT/pkgs or at least SAGE_ROOT/pkgs/sagemath-standard/build (2.6G). --- srcpkgs/{sage => sagemath}/template | 46 +++++++++++++++++++++-------- srcpkgs/{sage => sagemath}/update | 1 + 2 files changed, 35 insertions(+), 12 deletions(-) rename srcpkgs/{sage => sagemath}/template (67%) rename srcpkgs/{sage => sagemath}/update (90%) diff --git a/srcpkgs/sage/template b/srcpkgs/sagemath/template similarity index 67% rename from srcpkgs/sage/template rename to srcpkgs/sagemath/template index 2ef437238cb5..fa5189ad259e 100644 --- a/srcpkgs/sage/template +++ b/srcpkgs/sagemath/template @@ -1,41 +1,63 @@ -# Template file for 'sage' -pkgname=sage -version=9.5.beta5 +# Template file for 'sagemath' +pkgname=sagemath +version=9.5.beta6 revision=1 +wrksrc=sage-$version build_style=configure -configure_args=--prefix=/usr/lib/sage-${version} +configure_args="--enable-build-as-root" make_check_target=ptest +# for now skip building docs +make_build_target=build short_desc="Open source mathematics software" maintainer="Gonzalo TornarĂ­a " license="GPL-3.0-or-later" homepage="http://sagemath.org/" distfiles="http://mirrors.mit.edu/sage/src/sage-$version.tar.gz" -checksum=3b78ee848450d6881902bf68f4f3af17e1647e72c51e5fcdcb412c938ecbce57 +checksum=7bae8cbb4db73147bd698261497102524bfadeb71ca66b1c68e96827bd5a8975 + +# path where sage will be installed +_SAGE_ROOT=/usr/lib/sage-${version} case ${version} in # url for devel is different - *.beta*|*.rc*) - distfiles=${distfiles/sage\/src/sage\/devel} - ;; + *.beta*|*.rc*) distfiles=${distfiles/sage\/src/sage\/devel} ;; esac -# first we try to build native; we'll worry about cross later -# besides, some dependencies are nocross +# for now, skip check in ci, since we still have a few tests failing +make_check=ci-skip + +# for now, just build native; we'll worry about cross later +# besides, some dependencies are nocross (e.g. ntl) nocross=yes # for now, to make install faster nostrip=yes +# don't shlib_provide anything +noshlibprovides=yes + # don't rewrite python shebang as sage uses its own python (for now) _no_python_shebang=yes +post_extract() { + # sage wants to be built in place so let $wrksrc be a symlink + mv -T $wrksrc $_SAGE_ROOT + ln -sfT $_SAGE_ROOT $wrksrc +} + +do_clean() { + # undo post_extract() + rm $wrksrc + mv $_SAGE_ROOT $wrksrc +} + do_install() { vcopy /usr/lib/sage-${version} usr/lib/ vmkdir usr/bin - ln -s /usr/lib/sage-${version}/bin/sage ${DESTDIR}/usr/bin/ + ln -s $_SAGE_ROOT/sage ${DESTDIR}/usr/bin/ } -### copied from sage-deps, to keep in sync +### copied from sage-deps, to be kept in sync # hard dependencies makedepends+=" gcc make m4 perl binutils git tar libgomp-devel" diff --git a/srcpkgs/sage/update b/srcpkgs/sagemath/update similarity index 90% rename from srcpkgs/sage/update rename to srcpkgs/sagemath/update index f797813dcde6..c33aba4e6df2 100644 --- a/srcpkgs/sage/update +++ b/srcpkgs/sagemath/update @@ -1,3 +1,4 @@ +pkgname=sage # for now, check both stable and devel releases site="http://mirrors.mit.edu/sage/src/ http://mirrors.mit.edu/sage/devel/" From b0a333cb0447a65134497b60a91a443d3a5f4132 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= Date: Sat, 13 Nov 2021 07:40:55 -0300 Subject: [PATCH 4/4] sagemath: revbump for changes - include patch fixing build of pyzmq on musl - add gengetopts and texinfo to makedepends - first attempt at cleanup: remove upstream sources and build artifacts --- srcpkgs/sagemath/patches/fix-pyzmq-musl.patch | 15 +++++++++++++++ srcpkgs/sagemath/template | 9 +++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/sagemath/patches/fix-pyzmq-musl.patch diff --git a/srcpkgs/sagemath/patches/fix-pyzmq-musl.patch b/srcpkgs/sagemath/patches/fix-pyzmq-musl.patch new file mode 100644 index 000000000000..9190830d835e --- /dev/null +++ b/srcpkgs/sagemath/patches/fix-pyzmq-musl.patch @@ -0,0 +1,15 @@ +diff --git a/build/pkgs/pyzmq/spkg-install.in b/build/pkgs/pyzmq/spkg-install.in +index 0ce404ee5a..b7260c6d27 100644 +--- a/build/pkgs/pyzmq/spkg-install.in ++++ b/build/pkgs/pyzmq/spkg-install.in +@@ -1,6 +1,9 @@ + # Since we use environment vars we have to generate setup.cfg + +-echo "[build_ext]" > src/setup.cfg ++echo "[global]" > src/setup.cfg ++echo "skip_check_zmq = True" >> src/setup.cfg ++ ++echo "[build_ext]" >> src/setup.cfg + + # (I tried putting quotes around $SAGE_LOCAL to allow for spaces in + # the path---which is never used but is a good habit to support---but diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template index fa5189ad259e..8cbfc4023df3 100644 --- a/srcpkgs/sagemath/template +++ b/srcpkgs/sagemath/template @@ -1,7 +1,7 @@ # Template file for 'sagemath' pkgname=sagemath version=9.5.beta6 -revision=1 +revision=2 wrksrc=sage-$version build_style=configure configure_args="--enable-build-as-root" @@ -52,7 +52,11 @@ do_clean() { } do_install() { - vcopy /usr/lib/sage-${version} usr/lib/ + vcopy $_SAGE_ROOT usr/lib/ + # cleanup: upstream sources and build artifacts + rm -rf ${DESTDIR}/$_SAGE_ROOT/upstream + rm -rf ${DESTDIR}/$_SAGE_ROOT/pkgs/*/build + # symlink main binary vmkdir usr/bin ln -s $_SAGE_ROOT/sage ${DESTDIR}/usr/bin/ } @@ -87,6 +91,7 @@ makedepends+=" givaro-devel igraph-devel iml-devel lcalc-devel linbox-devel m4ri-devel m4rie-devel mpfi-devel ntl-devel perl-SVG rankwidth-devel singular sympow zn_poly symmetrica-devel planarity-devel qhull libqhull-devel + gengetopts texinfo " # TODO: standard