From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- sci-mathematics/axiom/Manifest | 8 + sci-mathematics/axiom/axiom-200805.ebuild | 96 ++++++++++++ .../axiom/files/axiom-200711-gcl-configure.patch | 11 ++ .../noweb-2.9-insecure-tmp-file.Makefile.patch | 10 ++ .../files/noweb-2.9-insecure-tmp-file.patch.input | 168 +++++++++++++++++++++ sci-mathematics/axiom/metadata.xml | 8 + 6 files changed, 301 insertions(+) create mode 100644 sci-mathematics/axiom/Manifest create mode 100644 sci-mathematics/axiom/axiom-200805.ebuild create mode 100644 sci-mathematics/axiom/files/axiom-200711-gcl-configure.patch create mode 100644 sci-mathematics/axiom/files/noweb-2.9-insecure-tmp-file.Makefile.patch create mode 100644 sci-mathematics/axiom/files/noweb-2.9-insecure-tmp-file.patch.input create mode 100644 sci-mathematics/axiom/metadata.xml (limited to 'sci-mathematics/axiom') diff --git a/sci-mathematics/axiom/Manifest b/sci-mathematics/axiom/Manifest new file mode 100644 index 000000000000..548fedc5175c --- /dev/null +++ b/sci-mathematics/axiom/Manifest @@ -0,0 +1,8 @@ +AUX axiom-200711-gcl-configure.patch 445 SHA256 1e56780436eae1f9c31e55ac3c2903a62837cd957fe323f995922e2a4629c4f9 SHA512 fe03fccc6d165e2bc6785c39aa0b3fa5d44761054931162e7b96667e1ad29c941bbb38f1eabb81a638eee3cefeeeb8bf3b31e69f3f2a8f3871fa192466bfda64 WHIRLPOOL b1e183648dee06bea1dbcafb1d28c2fe8ce017d1638dbc6dad30d8ada5aa129d105aa9da68a1d32580528df084f1ddaf0370ad75e84a05256244da94b478dbaf +AUX noweb-2.9-insecure-tmp-file.Makefile.patch 439 SHA256 3c4b5bea61620cb545e576d2e82dd8daa0478fc6c40ae0a93dbdac432aa9531d SHA512 2f13d849e01a68b2c04a978889755fd8d5160d929dae3ccb398015e40044cfcf2f40eca4824171fc65cec381f956c947886762383adddeeff541eb5f509f0425 WHIRLPOOL 5199ccd1f53e8500efe13a705e1595c73bd6410c9b64899c3934c3556149f6b930abc0be5d83b69124476a9643769e42b0a5da2c7444dd79606cf94d59be83da +AUX noweb-2.9-insecure-tmp-file.patch.input 4819 SHA256 68bf232fd91b94fc9d08373d079afcb890a6af6991373da81089560ce21889a9 SHA512 90c7407823d47e89ee1268a1f4d06c13439d0fa77aee23f0db7e5875c7535f1083dedde622d9b1f5586232389bcebd1353f7e2dd0535fec5d039af8eddde9b9d WHIRLPOOL 8ccc85588383bf658541fe0c9a637975b3cbe3dcc2cf8bdc4de7df02d3e5932214e1b9097c6549c1a43cd87f3ce24ce5a4c4b12418516046e0a769b65cd67601 +DIST axiom-may2008-src.tgz 207172456 SHA256 c91cc50a9a6b9d66b398f8b96236249db72b6ce280d51c188db1805a4534380e SHA512 36f137622a3179aa8c84ddbe6506681a67e1f8d69db430777c3eb6aca0da24c601b2c63f586ead838f74ae3b2043d46b63d742e1dd1191fbf3a10affb958662c WHIRLPOOL 5e4d79ddfa48039dc7940e3b9b99807689fa55f0de34d446d505455820d3150fada9c1a0dac5ca073657c80714c8788d8b2c7573c482d1e756f640299387128a +EBUILD axiom-200805.ebuild 2856 SHA256 324b82e76862569f15c9cb73fd431f5dd8ec6746ec7da498ad6d4969dd09a055 SHA512 c0b6c81d3fef16810db118700e10008703d2a3ca6eea3ff8b741a335d0a351ba82463c2f4d8c5b83cb0816e8decaa6638b91bfd5c96e6090f82a93bb6bd029d0 WHIRLPOOL 2f8d6170fe2e9795a6147f0ebc3d31535aabc25773189c845ec4848a1e13f4ec8c65c5c01a5141735d0c96bd9d1f56d9f481315662b49801624c59094a9c9338 +MISC ChangeLog 2574 SHA256 891d8d30c56bd32ec85b78edb9a0ffdb81c2f199a7ca9e81bb623d93f4fc5876 SHA512 9546e8663e3e2d466293eedeedc3412e536d33019c43e728c83087bb71a9b6a90dfb19e8b3af41351500c7509ebeeb5084e6a2f02ed5a404a86a04c844cc5f4e WHIRLPOOL 4c5c938d9c4e1dbc791df36f946893d5b82a30065726f0ec606081ec59684c6d3887e71377d5e63e7316b901efc296a5bcf1134939d98afd6a203185c71a0f14 +MISC ChangeLog-2015 3894 SHA256 40443558447fd878b4fb783d352773bf692e7508acd5565d981a7f26d386ba42 SHA512 ee2097c0140c16dbb6662744d62a7ea7a63ef77e83cc0f4a64c0b3eb96ad41cfea14da3e21494bcb9d6ac9823d6a2b965b861de070c89a2568e4bbcca747ba6d WHIRLPOOL ca88778553d80c4261bdb9c9d8b0ff1c7294b74bc206c318ab76de643d23cc8c2a6087bffa2aafe8c1e4bbdb7824003f13db233b01e553136264b0fdfbfbda0f +MISC metadata.xml 269 SHA256 a871d7ff10784843cabcb9dc241de96e6fce441b85b5985450dfa226a550d776 SHA512 ecf9121172cdf04793bdbf6684060c7f15fb2a25606e53d8fc7dbc78efe24e264affa600c1ee3106ce8216b7093dff66eced3f78dd6ca7bd6ee589d1c7912cd6 WHIRLPOOL 8b7ba32ab675a9464103d73a803eeb3dae79f7f2ac90fea364a7d003efd6cc4db9c5e098bea367c269fc27e239a6ece61f3e9ce9a0657471197395f27b87bb36 diff --git a/sci-mathematics/axiom/axiom-200805.ebuild b/sci-mathematics/axiom/axiom-200805.ebuild new file mode 100644 index 000000000000..ff9ea32b60ba --- /dev/null +++ b/sci-mathematics/axiom/axiom-200805.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit eutils multilib flag-o-matic + +DESCRIPTION="Axiom is a general purpose Computer Algebra system" +HOMEPAGE="http://axiom.axiom-developer.org/" +SRC_URI="http://www.axiom-developer.org/axiom-website/downloads/${PN}-may2008-src.tgz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +# NOTE: Do not strip since this seems to remove some crucial +# runtime paths as well, thereby, breaking axiom +RESTRICT="strip" + +DEPEND="virtual/latex-base + x11-libs/libXaw + sys-apps/debianutils + sys-process/procps" +RDEPEND="" + +S="${WORKDIR}"/${PN} + +pkg_setup() { + # for 2.6.25 kernels and higher we need to have + # /proc/sys/kernel/randomize_va_space set to somthing other + # than 2, otherwise gcl fails to compile (see bug #186926). + local current_setting=$(/sbin/sysctl kernel.randomize_va_space 2>/dev/null | cut -d' ' -f3) + if [[ ${current_setting} == 2 ]]; then + echo + eerror "Your kernel has brk randomization enabled. This will" + eerror "cause axiom to fail to compile *and* run (see bug #186926)." + eerror "You can issue:" + eerror + eerror " /sbin/sysctl -w kernel.randomize_va_space=1" + eerror + eerror "as root to turn brk randomization off temporarily." + eerror "However, when not using axiom you may want to turn" + eerror "brk randomization back on via" + eerror + eerror " /sbin/sysctl -w kernel.randomize_va_space=2" + eerror + eerror "since it results in a less secure kernel." + die "Kernel brk randomization detected" + fi +} + +src_prepare() { + cp "${FILESDIR}"/noweb-2.9-insecure-tmp-file.patch.input \ + "${S}"/zips/noweb-2.9-insecure-tmp-file.patch \ + || die "Failed to fix noweb" + cp "${FILESDIR}"/${PN}-200711-gcl-configure.patch \ + "${S}"/zips/gcl-2.6.7.configure.in.patch \ + || die "Failed to fix gcl-2.6.7 configure" + epatch "${FILESDIR}"/noweb-2.9-insecure-tmp-file.Makefile.patch + + # lots of strict-aliasing badness + append-flags -fno-strict-aliasing +} + +src_compile() { + # use gcl 2.6.7 + sed -e "s:GCLVERSION=gcl-2.6.8pre$:GCLVERSION=gcl-2.6.7:" \ + -i Makefile.pamphlet Makefile \ + || die "Failed to select proper gcl" + + # fix libXpm.a location + sed -e "s:X11R6/lib:$(get_libdir):g" -i Makefile.pamphlet \ + || die "Failed to fix libXpm lib paths" + + # Let the fun begin... + AXIOM="${S}"/mnt/linux emake -j1 +} + +src_install() { + emake DESTDIR="${D}"/opt/axiom COMMAND="${D}"/opt/axiom/mnt/linux/bin/axiom install + + mv "${D}"/opt/axiom/mnt/linux/* "${D}"/opt/axiom \ + || die "Failed to mv axiom into its final destination path." + rm -fr "${D}"/opt/axiom/mnt \ + || die "Failed to remove old directory." + + dodir /usr/bin + dosym /opt/axiom/bin/axiom /usr/bin/axiom + + sed -e "2d;3i AXIOM=/opt/axiom" \ + -i "${D}"/opt/axiom/bin/axiom \ + || die "Failed to patch axiom runscript!" + + dodoc changelog readme faq +} diff --git a/sci-mathematics/axiom/files/axiom-200711-gcl-configure.patch b/sci-mathematics/axiom/files/axiom-200711-gcl-configure.patch new file mode 100644 index 000000000000..a5ecb58d7cc7 --- /dev/null +++ b/sci-mathematics/axiom/files/axiom-200711-gcl-configure.patch @@ -0,0 +1,11 @@ +--- configure 2008-02-01 09:06:15.000000000 -0500 ++++ configure.new 2008-02-01 09:03:18.000000000 -0500 +@@ -1711,7 +1711,7 @@ + # results, and the version is kept in special file). + + if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then +- system=MP-RAS-`${AWK} '{print $3}' /etc/.relid'` ++ system=MP-RAS-`${AWK} '{print $3}' '/etc/.relid'` + fi + if test "`uname -s`" = "AIX" ; then + system=AIX-`uname -v`.`uname -r` diff --git a/sci-mathematics/axiom/files/noweb-2.9-insecure-tmp-file.Makefile.patch b/sci-mathematics/axiom/files/noweb-2.9-insecure-tmp-file.Makefile.patch new file mode 100644 index 000000000000..b8cd40ea03bb --- /dev/null +++ b/sci-mathematics/axiom/files/noweb-2.9-insecure-tmp-file.Makefile.patch @@ -0,0 +1,10 @@ +--- Makefile~ 2005-09-05 19:50:31.000000000 +0100 ++++ Makefile 2006-02-17 17:08:31.000000000 +0000 +@@ -85,6 +85,7 @@ + ${PATCH} <${ZIPS}/noweb.modules.c.patch ; \ + cd ${OBJ}/noweb/src ; \ + ${PATCH} <${ZIPS}/noweb.src.Makefile.patch ; \ ++ ${PATCH} -p0 <${ZIPS}/noweb-2.9-insecure-tmp-file.patch ; \ + ./awkname ${AWK} ; \ + ${ENV} ${MAKE} BIN=${MNT}/${SYS}/bin/lib LIB=${MNT}/${SYS}/bin/lib \ + MAN=${MNT}/${SYS}/bin/man \ diff --git a/sci-mathematics/axiom/files/noweb-2.9-insecure-tmp-file.patch.input b/sci-mathematics/axiom/files/noweb-2.9-insecure-tmp-file.patch.input new file mode 100644 index 000000000000..00288a8a3133 --- /dev/null +++ b/sci-mathematics/axiom/files/noweb-2.9-insecure-tmp-file.patch.input @@ -0,0 +1,168 @@ +--- awkname ++++ awkname +@@ -5,7 +5,7 @@ + esac + + rc=0 +-new=/tmp/$$.new; old=/tmp/$$.old ++new=$(tempfile -p new); old=$(tempfile -p old) + + for file in lib/emptydefn lib/unmarkup lib/toascii \ + awk/noidx awk/totex awk/tohtml awk/noindex \ +--- awk/totex.nw ++++ awk/totex.nw +@@ -24,7 +24,7 @@ + @ + On an ugly system, we have to put it in a file. + <>= +-awkfile=/tmp/totex$$.awk ++awkfile=$(tempfile -p totex) + trap 'rm -f $awkfile; exit 1' 0 1 2 15 # clean up files + cat > $awkfile << 'EOF' + <> +--- lib/toascii ++++ lib/toascii +@@ -7,9 +7,9 @@ + *) echo "This can't happen -- $i passed to toascii" 1>&2 ; exit 1 ;; + esac + done +-awkfile="tmp/awk$$.tmp" +-textfile="/tmp/text$$.tmp" +-tagsfile="/tmp/tags$$.tmp" ++awkfile=$(tempfile -p awk -s .tmp) ++textfile=$(tempfile -p text -s .tmp) ++tagsfile=$(tempfile -p tags -s .tmp) + export awkfile textfile tagsfile + trap 'rm -f $awkfile $textfile $tagsfile' 0 1 2 10 14 15 + nawk 'BEGIN { textfile=ENVIRON["textfile"] +--- shell/cpif ++++ shell/cpif +@@ -17,7 +17,7 @@ + 0) echo 'Usage: '`basename $0`' [ -eq -ne ] file...' 1>&2; exit 2 + esac + +-new=/tmp/$$ ++new=$(tempfile) + trap 'rm -f $new; exit 1' 1 2 15 # clean up files + + cat >$new +--- shell/nonu ++++ shell/nonu +@@ -2,7 +2,7 @@ + LIB=/usr/public/pkg/noweb/lib + # attempt to convert nuweb to noweb using sam + +-tmp=/tmp/nonu$$ ++tmp=$(tempfile -p nonu) + trap '/bin/rm -f $tmp; exit 1' 1 2 15 # clean up files + cp $1 $tmp || exit 1 + +--- shell/roff.nw ++++ shell/roff.nw +@@ -80,7 +80,7 @@ + other, and quoting each quote is ugly. The pragmatic solution is to + copy the awk program into a temporary file, using a shell here-document. + <>= +-awkfile="/tmp/noweb$$.awk" ++awkfile=$(tempfile -p noweb -s .awk) + trap 'rm -f $awkfile' 0 1 2 10 14 15 + cat > $awkfile << 'EOF' + <> +@@ -662,12 +662,13 @@ + + base="`basename $1 | sed '/\./s/\.[^.]*$//'`" + tagsfile="$base.nwt" ++tmpfile=$(tempfile -p tags) + (echo ".so $macrodir/tmac.w" + if [ -r "$tagsfile" ]; then +- cp $tagsfile /tmp/tags.$$ ++ cp $tagsfile $tmpfile + $AWK '<> +- <>' /tmp/tags.$$ +- rm -f /tmp/tags.$$ ++ <>' $tmpfile ++ rm -f $tmpfile + fi + cat "$@") | + ($ROFF $opts 2>$tagsfile) +--- shell/noroff ++++ shell/noroff +@@ -35,9 +35,10 @@ + + base="`basename $1 | sed '/\./s/\.[^.]*$//'`" + tagsfile="$base.nwt" ++tmpfile=$(tempfile -p tags) + (echo ".so $macrodir/tmac.w" + if [ -r "$tagsfile" ]; then +- cp $tagsfile /tmp/tags.$$ ++ cp $tagsfile $tmpfile + $AWK '{ + if (sub(/^###TAG### / , "")) tags[$1] = $2 + else if (sub(/^###BEGINCHUNKS###/, "")) printf ".de CLIST\n.CLISTBEGIN\n" +@@ -88,8 +89,8 @@ + # print str3 + # print convquote(str3) + # } +- function tag(s) { if (s in tags) return tags[s]; else return "???" }' /tmp/tags.$$ +- rm -f /tmp/tags.$$ ++ function tag(s) { if (s in tags) return tags[s]; else return "???" }' $tmpfile ++ rm -f $tmpfile + fi + cat "$@") | + ($ROFF $opts 2>$tagsfile) +--- shell/toroff ++++ shell/toroff +@@ -9,7 +9,7 @@ + exit 1;; + esac + done +-awkfile="/tmp/noweb$$.awk" ++awkfile=$(tempfile -p noweb -s .awk) + trap 'rm -f $awkfile' 0 1 2 10 14 15 + cat > $awkfile << 'EOF' + /^@begin docs 0$/ { if (delay) next } +--- lib/toascii.nw ++++ lib/toascii.nw +@@ -28,9 +28,9 @@ + Also arranged here is a temporary file for storage of the awk program on an + ugly system, as discussed below. + <>= +-awkfile="tmp/awk$$.tmp" +-textfile="/tmp/text$$.tmp" +-tagsfile="/tmp/tags$$.tmp" ++awkfile=$(tempfile -p awk -s .tmp) || { echo "$0: Cannot create temporary file" >&2; exit 1; } ++textfile=$(tempfile -p text -s .tmp) || { echo "$0: Cannot create temporary file" >&2; exit 1; } ++tagsfile=$(tempfile -p tags -s .tmp) || { echo "$0: Cannot create temporary file" >&2; exit 1; } + export awkfile textfile tagsfile + trap 'rm -f $awkfile $textfile $tagsfile' 0 1 2 10 14 15 + @ %def textfile tagsfile awkfile +--- shell/roff.mm ++++ shell/roff.mm +@@ -214,7 +214,7 @@ + .ADDLIST 1a + .PRINTLIST + +-awkfile="/tmp/noweb$$.awk" ++awkfile=$(tempfile -p noweb -s .awk) || { echo "$0: Cannot create temporary file" >&2; exit 1; } + trap 'rm -f $awkfile' 0 1 2 10 14 15 + cat > $awkfile \&<< 'EOF' + \c +@@ -1628,14 +1628,15 @@ + tagsfile="$base.nwt" + (echo ".so $macrodir/tmac.w" + if [ -r "$tagsfile" ]; then +- cp $tagsfile /tmp/tags.$$ ++ tagstemp=$(tempfile -p tags) || { echo "$0: Cannot create temporary file" >&2; exit 1; } ++ cp $tagsfile $tagstemp + $AWK '\c + .USE "action for \*[BEGINCONVQUOTE]tags\*[ENDCONVQUOTE] line" 11c + \& + \c + .USE "functions" 8a +-\&' /tmp/tags.$$ +- rm -f /tmp/tags.$$ ++\&' $tagstemp ++ rm -f $tagstemp + fi + cat "$@") | + ($ROFF $opts 2>$tagsfile) diff --git a/sci-mathematics/axiom/metadata.xml b/sci-mathematics/axiom/metadata.xml new file mode 100644 index 000000000000..514f7304d513 --- /dev/null +++ b/sci-mathematics/axiom/metadata.xml @@ -0,0 +1,8 @@ + + + + + sci-mathematics@gentoo.org + Gentoo Mathematics Project + + -- cgit v1.2.3