summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /sci-mathematics/axiom
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sci-mathematics/axiom')
-rw-r--r--sci-mathematics/axiom/Manifest1
-rw-r--r--sci-mathematics/axiom/axiom-200805.ebuild97
-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.xml5
6 files changed, 292 insertions, 0 deletions
diff --git a/sci-mathematics/axiom/Manifest b/sci-mathematics/axiom/Manifest
new file mode 100644
index 000000000000..ed843094a6bc
--- /dev/null
+++ b/sci-mathematics/axiom/Manifest
@@ -0,0 +1 @@
+DIST axiom-may2008-src.tgz 207172456 RMD160 496c91f00d3b8623c13ea82ee5a95698899a5406 SHA1 51949340f754104c0fa72e269737538829cd9062 SHA256 c91cc50a9a6b9d66b398f8b96236249db72b6ce280d51c188db1805a4534380e
diff --git a/sci-mathematics/axiom/axiom-200805.ebuild b/sci-mathematics/axiom/axiom-200805.ebuild
new file mode 100644
index 000000000000..8552dea7f561
--- /dev/null
+++ b/sci-mathematics/axiom/axiom-200805.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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..2b0bd5314823
--- /dev/null
+++ b/sci-mathematics/axiom/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-mathematics</herd>
+</pkgmetadata>