From c3a3d3732b428ccd187895647561cb8233f309e3 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/3] add 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..0ac9d7dda65a 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 de92a506b36c787110d68b4c49abd71ae9d50cb5 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/3] 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..49d835c5f39c --- /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 5515c6226a169bba1158fc6464a811d7cb8f259e 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/3] 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 49d835c5f39c..fd19d60b2a1d 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/"