summaryrefslogtreecommitdiff
path: root/sci-mathematics/axiom
diff options
context:
space:
mode:
Diffstat (limited to 'sci-mathematics/axiom')
-rw-r--r--sci-mathematics/axiom/Manifest8
-rw-r--r--sci-mathematics/axiom/axiom-200805.ebuild96
-rw-r--r--sci-mathematics/axiom/files/axiom-200711-gcl-configure.patch11
-rw-r--r--sci-mathematics/axiom/files/noweb-2.9-insecure-tmp-file.Makefile.patch10
-rw-r--r--sci-mathematics/axiom/files/noweb-2.9-insecure-tmp-file.patch.input168
-rw-r--r--sci-mathematics/axiom/metadata.xml8
6 files changed, 301 insertions, 0 deletions
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.
+ <<invoke awk program using 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'
+ <<awk program for conversion to {\TeX}>>
+--- 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.
+ <<invoke awk program>>=
+-awkfile="/tmp/noweb$$.awk"
++awkfile=$(tempfile -p noweb -s .awk)
+ trap 'rm -f $awkfile' 0 1 2 10 14 15
+ cat > $awkfile << 'EOF'
+ <<awk program>>
+@@ -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 '<<action for [[tags]] line>>
+- <<functions>>' /tmp/tags.$$
+- rm -f /tmp/tags.$$
++ <<functions>>' $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.
+ <<arrange temporary files>>=
+-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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-mathematics@gentoo.org</email>
+ <name>Gentoo Mathematics Project</name>
+ </maintainer>
+</pkgmetadata>