+++ /dev/null
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit autotools elisp-common eutils flag-o-matic python-single-r1 toolchain-funcs
-
-FACTORY="factory-4.0.0+m4"
-FACTORY_GFTABLES="factory.4.0.1-gftables"
-
-DESCRIPTION="Research tool for commutative algebra and algebraic geometry"
-HOMEPAGE="http://www.math.uiuc.edu/Macaulay2/"
-BASE_URI="http://www.math.uiuc.edu/Macaulay2/Downloads/OtherSourceCode/trunk"
-SRC_URI="
- https://dev.gentoo.org/~tomka/files/${P}.tar.bz2
- ${BASE_URI}/${FACTORY}.tar.gz
- ${BASE_URI}/${FACTORY_GFTABLES}.tar.gz
- ${BASE_URI}/gtest-1.7.0.tar.gz"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="amd64 x86"
-IUSE="debug emacs +optimization"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-DEPEND="${PYTHON_DEPS}
- sys-process/time
- virtual/pkgconfig"
-
-RDEPEND="${PYTHON_DEPS}
- sys-libs/gdbm
- <dev-libs/ntl-7
- sci-mathematics/pari[gmp]
- >=sys-libs/readline-6.1
- dev-libs/libxml2:2
- sci-mathematics/flint[gc]
- sci-mathematics/frobby
- sci-mathematics/4ti2
- sci-mathematics/nauty
- >=sci-mathematics/normaliz-2.8
- sci-mathematics/gfan
- sci-libs/mpir[cxx]
- dev-libs/mpfr
- sci-libs/cdd+
- sci-libs/cddlib
- sci-libs/lrslib[gmp]
- virtual/blas
- virtual/lapack
- dev-util/ctags
- sys-libs/ncurses
- >=dev-libs/boehm-gc-7.4[threads]
- dev-libs/libatomic_ops
- emacs? ( virtual/emacs )"
-
-SITEFILE=70Macaulay2-gentoo.el
-
-S="${WORKDIR}/M2/"
-
-pkg_setup () {
- tc-export CC CPP CXX PKG_CONFIG
- append-cppflags "-I/usr/include/frobby"
- # gtest needs python:2
- python-single-r1_pkg_setup
-}
-
-src_prepare() {
- # Patching .m2 files to look for external programs in
- # /usr/bin
- epatch "${FILESDIR}"/1.6-paths-of-external-programs.patch
-
- # Shortcircuit lapack tests
- epatch "${FILESDIR}"/1.6-lapack.patch
-
- # Factory is a statically linked library which (in this flavor) are not used by any
- # other program. We build it internally and don't install it.
- cp "${DISTDIR}/${FACTORY}.tar.gz" "${S}/BUILD/tarfiles/" \
- || die "copy failed"
- cp "${DISTDIR}/${FACTORY_GFTABLES}.tar.gz" "${S}/BUILD/tarfiles/" \
- || die "copy failed"
- # Macaulay2 developers want that gtest is built internally because
- # the documentation says it may fail if build with options not the
- # same as the tested program.
- cp "${DISTDIR}/gtest-1.7.0.tar.gz" "${S}/BUILD/tarfiles/" \
- || die "copy failed"
-
- eautoreconf
-}
-
-src_configure (){
- # Recommended in bug #268064 Possibly unecessary
- # but should not hurt anybody.
- if ! use emacs; then
- tags="ctags"
- fi
-
- # configure instead of econf to enable install with --prefix
- ./configure LIBS="$($(tc-getPKG_CONFIG) --libs lapack)" \
- --prefix="${D}/usr" \
- --disable-encap \
- --disable-strip \
- --with-issue=Gentoo \
- $(use_enable optimization optimize) \
- $(use_enable debug) \
- --enable-build-libraries="factory" \
- --with-unbuilt-programs="4ti2 gfan normaliz nauty cddplus lrslib" \
- || die "failed to configure Macaulay"
-}
-
-src_compile() {
- # Parallel build not supported yet
- emake IgnoreExampleErrors=true -j1
-
- if use emacs; then
- cd "${S}/Macaulay2/emacs" || die
- elisp-compile *.el
- fi
-}
-
-src_test() {
- # No parallel tests yet & Need to increase the time
- # limit for long running tests in Schubert2 to pass
- emake TLIMIT=550 -j1 check
-}
-
-src_install () {
- # Parallel install not supported yet
- emake IgnoreExampleErrors=true -j1 install
-
- # Remove emacs files and install them in the
- # correct place if use emacs
- rm -rf "${ED}"/usr/share/emacs/site-lisp || die
- if use emacs; then
- cd "${S}/Macaulay2/emacs" || die
- elisp-install ${PN} *.elc *.el
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- fi
-}
-
-pkg_postinst() {
- if use emacs; then
- elisp-site-regen
- elog "If you want to set a hot key for Macaulay2 in Emacs add a line similar to"
- elog "(global-set-key [ f12 ] 'M2)"
- elog "in order to set it to F12 (or choose a different one)."
- fi
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
+++ /dev/null
---- configure.ac 2012-10-24 09:29:55.240498786 -0700
-+++ configure.ac.2 2012-10-30 15:07:27.172846300 -0700
-@@ -1285,46 +1285,7 @@
- done
- test $BUILD_factory = yes && BUILTLIBS="$SINGULARLIBS $BUILTLIBS"
-
--# we need to do the fortran library testing last, in case AC_SEARCH_LIBS adds
--# one of them to $LIBS, making it impossible to check for the presence of C or
--# C++ libraries. (I'm not sure why putting -llapack on the gcc command line
--# needlessly causes the library to be linked against.)
--FORTRANUSED=no
--if test "$LAPACK" = yes
--then AC_MSG_CHECKING([whether the vecLib framework is available])
-- SAVELIBS=$LIBS LIBS="-framework vecLib $LIBS"
-- AC_LANG(C)
-- AC_LINK_IFELSE(
-- [AC_LANG_PROGRAM(,[sgemv_();dgetrf_();])],
-- [
-- AC_MSG_RESULT(yes)
-- ],
-- [
-- AC_MSG_RESULT(no)
-- LIBS=$SAVELIBS
-- FORTRANUSED=yes
-- if test $BUILD_lapack = no
-- then AC_LANG(Fortran)
-- if test "$FC" = ""
-- then AC_MSG_ERROR(no fortran compiler found)
-- else AC_MSG_NOTICE(using fortran compiler $FC)
-- fi
-- AC_SEARCH_LIBS(sgemv,blas f77blas,,BUILD_lapack=yes)
-- AC_SEARCH_LIBS(dgetrf,lapack,,BUILD_lapack=yes)
-- fi
-- ])
--fi
--test $BUILD_lapack = yes && BUILTLIBS="-llapack -lblas $BUILTLIBS"
--
--if test $BUILD_lapack = yes
--then # test whether the fortran compiler can handle lapack, which, starting with
-- # version 3.2, requires fortran 90, not fortran 77
-- AC_LANG(Fortran)
-- AC_MSG_CHECKING([whether the fortran compiler is modern enough for lapack])
-- AC_COMPILE_IFELSE([instrinsic maxloc],
-- AC_MSG_ERROR(the fortran compiler ($FC) does not support the Fortran 90 language required for compiling lapack),
-- AC_MSG_RESULT(yes))
--fi
-+BUILTLIBS="$(${PKG_CONFIG} --libs lapack) $BUILTLIBS"
-
- if test $BUILD_memtailor = yes
- then BUILTLIBS="-lmemtailor $BUILTLIBS"