From 3083719ddb24bbb452e7ddba34bec067ea249056 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 25 Jul 2012 00:01:50 +0000 Subject: Wed Jul 25 00:01:50 UTC 2012 --- community-testing/sage-mathematics/PKGBUILD | 103 +++++++++++++++++++++ .../sage-mathematics/SAGE-notebook.desktop | 19 ++++ .../sage-mathematics/sage-mathematics.install | 56 +++++++++++ 3 files changed, 178 insertions(+) create mode 100644 community-testing/sage-mathematics/PKGBUILD create mode 100644 community-testing/sage-mathematics/SAGE-notebook.desktop create mode 100644 community-testing/sage-mathematics/sage-mathematics.install (limited to 'community-testing/sage-mathematics') diff --git a/community-testing/sage-mathematics/PKGBUILD b/community-testing/sage-mathematics/PKGBUILD new file mode 100644 index 000000000..24300f2e9 --- /dev/null +++ b/community-testing/sage-mathematics/PKGBUILD @@ -0,0 +1,103 @@ +# $Id: PKGBUILD 74291 2012-07-23 15:07:41Z dwallace $ +# Maintainer: Daniel Wallace +# Contributor: Antonio Rojas < nqn1976 @ gmail.com > +# Contributor: Thomas Dziedzic < gostrc at gmail > +# Contributor: Osman Ugus +# Contributor: Stefan Husmann +# Special thanks to Nareto for moving the compile from the .install to the PKGBUILD + +pkgname=sage-mathematics +pkgver=5.1 +pkgrel=3 +pkgdesc='SAGE: Open Source Mathematics Software, a viable free alternative to Magma, Maple, Mathematica, and Matlab.' +url='http://www.sagemath.org' +arch=('i686' 'x86_64') +license=('GPL') +#depends=('readline') +makedepends=('gcc-fortran' 'desktop-file-utils') +optdepends=('imagemagick: some plotting functionality benefits from it' + 'texlive-core: some plotting functionality benefits from it, also to use SageTeX' + 'openssh: to use the notebook in secure mode' + 'ffmpeg: to show animations' + 'jsmath-fonts: native TeX fonts for the notebook') +options=('!makeflags') +install="${pkgname}.install" +source=("http://sage.math.washington.edu/home/release/sage-${pkgver}/sage-${pkgver}.tar" + 'SAGE-notebook.desktop') + +build() { + cd sage-${pkgver} + + # fix "missing sage.all error" during build + unset CFLAGS + unset CXXFLAGS + + # fix build errors + unset LDFLAGS + + # don't build GCC + export SAGE_INSTALL_GCC='no' + + # enable multiple threads while building, is this really needed? check if uses MAKEFLAGS + export SAGE_BUILD_THREADS=$(lscpu | awk '/^CPU\(s\):/ { print $2 }') + export MAKE="make -j${SAGE_BUILD_THREADS}" + + # use archlinux's fortran rather then the one that ships with sage to compile sage's fortran + export SAGE_FORTRAN='/usr/bin/gfortran' + export SAGE_FORTRAN_LIB='/usr/lib/libgfortran.so' + + # disable building with debugging support + export SAGE_DEBUG='no' + + # enable fat binaries (disables processor specific optimizations) + # comment out if you're only building it for yourself + export SAGE_FAT_BINARY='yes' + + # can't write to root in a clean chroot + export DOT_SAGE='/build/src/' + + # only build sage, no documents + #make build + make +} + +<< COMMENT +check() { + cd sage-${pkgver} + + # uncomment if we want to run all the tests (warning: very long) + #make ptestlong +} +COMMENT + +package() { + cd sage-${pkgver} + + # cp because make install is experimental and will corrupt the install + install -d ${pkgdir}/opt/sage + cp -dpr --no-preserve=ownership * ${pkgdir}/opt/sage + + # move SageTeX files to more appropriate directory + install -d ${pkgdir}/usr/share + mv ${pkgdir}/opt/sage/local/share/texmf \ + ${pkgdir}/usr/share + + desktop-file-install ${srcdir}/SAGE-notebook.desktop \ + --dir ${pkgdir}/usr/share/applications + + # create link to main binary + install -d ${pkgdir}/usr/bin + ln -s /opt/sage/sage ${pkgdir}/usr/bin/sage + + # remove build logs + rm -f ${pkgdir}/opt/sage/*.log + rm -rf ${pkgdir}/opt/sage/spkg/logs + + # remove source packages, since they are rarely needed, they are 300mb in size (compressed) + rm -f ${pkgdir}/opt/sage/spkg/base/*spkg + rm -f ${pkgdir}/opt/sage/spkg/standard/*spkg +} + +# vim :set ts=2 sw=2 et: +md5sums=('fa612f36387218d07b84f76995914c93' + 'dc391f12b7d17dd37326343ec0e99bbd') diff --git a/community-testing/sage-mathematics/SAGE-notebook.desktop b/community-testing/sage-mathematics/SAGE-notebook.desktop new file mode 100644 index 000000000..26a35d3ac --- /dev/null +++ b/community-testing/sage-mathematics/SAGE-notebook.desktop @@ -0,0 +1,19 @@ +[Desktop Entry] +Version=1.0 +Name=SAGE +Comment=SAGE NOTEBOOK +Comment[en_US]=SAGE NOTEBOOK +Exec=/opt/sage/sage -notebook +GenericName= +GenericName[de]= +Icon=/opt/sage/data/extcode/notebook/images/sageicon.png +MimeType= +Name[de]=SAGE +StartupNotify=true +Terminal=true +Type=Application +Categories=Science;Math; +X-DCOP-ServiceType= +X-KDE-SubstituteUID=false +X-KDE-Username= +GenericName[en_US]= diff --git a/community-testing/sage-mathematics/sage-mathematics.install b/community-testing/sage-mathematics/sage-mathematics.install new file mode 100644 index 000000000..6caa5299e --- /dev/null +++ b/community-testing/sage-mathematics/sage-mathematics.install @@ -0,0 +1,56 @@ +post_install() { + cd /opt/sage + + # set HOME because when sage updates its sage_root (after being moved) it will write files to ~/.sage with root ownership + # the files it writes to ~/.sage can be safely ignored + HOME=/tmp ./sage -c + + # add sagemath user for the daemon + useradd -r -c 'Sage daemon' -d /opt/sage -s /bin/false sagemath + + # Update LaTeX db to point to SageTeX + if [ -f /usr/bin/texhash ]; then + /usr/bin/texhash /usr/share/texmf + else + echo 'Warning: could not find /usr/bin/texhash' + echo 'SageTeX has been installed but you need to run:' + echo '# texhash /usr/share/texmf' + echo 'So that LaTeX will be able to find it.' + fi + +echo ' + ___ +/ (_) o | +\__ _ _ __ | +/ / |/ | | / \_| | | +\___/ | |_/|/\__/ \_/|/o + /| /| + \| \| + ________________________________ +< sage-mathematics, I mean, MOO! > + -------------------------------- + \ ^__^ + \ (oo)\_______ + (__)\ )\/\ + ||----w | + || || +' + +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + # Update LaTeX db to remove SageTeX entries + if [ -f /usr/bin/texhash ]; then + /usr/bin/texhash /usr/share/texmf + fi + + # remove the sagemath daemon user + userdel sagemath + + # clean up left overs + rm -rf /opt/sage +} -- cgit v1.2.3-54-g00ecf