aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Ammerlaan <andrewammerlaan@riseup.net>2021-01-29 12:14:32 +0100
committerAndrew Ammerlaan <andrewammerlaan@riseup.net>2021-01-29 12:15:16 +0100
commit8b84c4eeee61faa734bffdd0fe39fa3319ddbfe3 (patch)
tree2856c5e2689e102488ffc34d356dff9e5a8730c8 /sci-mathematics
parent.github/workflows/pkgcheck: correctly ignore live VCS pkgs (diff)
downloadsci-8b84c4eeee61faa734bffdd0fe39fa3319ddbfe3.tar.gz
sci-8b84c4eeee61faa734bffdd0fe39fa3319ddbfe3.tar.bz2
sci-8b84c4eeee61faa734bffdd0fe39fa3319ddbfe3.zip
sci-mathematics/giac: fix SRC_URI
thanks to @kiwifb and the sage-on-gentoo overlay Package-Manager: Portage-3.0.14, Repoman-3.0.2 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@riseup.net>
Diffstat (limited to 'sci-mathematics')
-rw-r--r--sci-mathematics/giac/Manifest2
-rw-r--r--sci-mathematics/giac/files/giac-1.6.0.17-gsl_lapack.patch84
-rw-r--r--sci-mathematics/giac/files/pari_2_11.patch17
-rw-r--r--sci-mathematics/giac/giac-1.6.0.47.ebuild121
-rw-r--r--sci-mathematics/giac/giac-1.6.0.ebuild75
-rw-r--r--sci-mathematics/giac/metadata.xml17
6 files changed, 234 insertions, 82 deletions
diff --git a/sci-mathematics/giac/Manifest b/sci-mathematics/giac/Manifest
index acc6bac12..49385c665 100644
--- a/sci-mathematics/giac/Manifest
+++ b/sci-mathematics/giac/Manifest
@@ -1 +1 @@
-DIST giac-1.6.0.tar.gz 80915015 BLAKE2B 3e982fe6be780b0f352da3f6a169ec9829405198e7bb610125d0b5ef9e00f08f9cdb3b5de09862a55e33c295ecc8587248b00cb89cf87d6588bce3ff889aec02 SHA512 ff4846b309d9a4e35945eadbf9d8e3d0784721df54c1d5db72ad430a36dcd1c96f0cca6102cfa7df22f523f3782335094d120de65f519f93e1c3b13e158b3069
+DIST giac-1.6.0.47.tar.gz 81226671 BLAKE2B 6c2226772ebbd57589610b0c14221fd6c80baf66bac0972c7be3c03c14e8bf2c838f03609b239125d849380369c9ad978f79e6e802b594f8e3fb4be1e102266f SHA512 bf9b137efd7603e80152a22a665b91df2fb2b62f82037860bbf338ffb01d0af25b0cd06fda04b19bcb2e08fdf7c605931ebd9dcb6344c27f464c7a03262ab2c2
diff --git a/sci-mathematics/giac/files/giac-1.6.0.17-gsl_lapack.patch b/sci-mathematics/giac/files/giac-1.6.0.17-gsl_lapack.patch
new file mode 100644
index 000000000..24d6c8f56
--- /dev/null
+++ b/sci-mathematics/giac/files/giac-1.6.0.17-gsl_lapack.patch
@@ -0,0 +1,84 @@
+diff --git a/configure.ac b/configure.ac
+index 1e38e50..6625bc7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -38,6 +38,7 @@ AC_LANG([C++])
+ AC_PROG_LIBTOOL
+ AC_PROG_YACC
+ AM_PROG_LEX
++PKG_PROG_PKG_CONFIG
+ AC_C_BIGENDIAN
+
+ dnl Check for standard C+headers
+@@ -145,47 +146,17 @@ AC_CHECK_SIZEOF(long)
+ AC_CHECK_SIZEOF(long long)
+
+ dnl Checking for Gnu Sci Lib
+-CONFIG_GSL="yes"
+-AC_ARG_ENABLE([gsl],[
+- AS_HELP_STRING([--enable-gsl], [Use GNU scientific library [[default=yes]]])],
+- [ if test "x$enableval" = "xno"; then CONFIG_GSL="no"; fi], [])
+-
+-if test "$CONFIG_GSL" = "yes"; then
+- AC_CHECK_HEADERS(gsl/gsl_blas.h)
+- AC_CHECK_HEADERS(gsl/gsl_eigen.h)
+- if test "$ac_cv_header_gsl_gsl_blas_h" != "yes" -o "$ac_cv_header_gsl_gsl_eigen_h" != "yes"; then
+- CONFIG_GSL="no"
+- fi
+-fi
+-if test "$CONFIG_GSL" = "yes"; then
+- save_LIBS="$LIBS"
+- AC_CHECK_LIB(gslcblas, main, [], [CONFIG_GSL="no"])
+- AC_CHECK_LIB(gsl, gsl_sf_gamma, [], [CONFIG_GSL="no"])
+- LIBS="$save_LIBS"
+- fi
+-GSL_LIBS=""
+-if test "$CONFIG_GSL" = "yes"; then
+- GSL_LIBS="-lgsl -lgslcblas"
+- fi
+-AC_SUBST(CONFIG_GSL)
+-AC_SUBST(GSL_LIBS)
+-AM_CONDITIONAL(CONFIG_GSL, [test "$CONFIG_GSL" = "yes"])
+-
+-CONFIG_LAPACK="yes"
+-AC_ARG_ENABLE([lapack],
+- [AS_HELP_STRING([--enable-lapack], [Use LAPACK [[default=yes]]])],
+- [ if test "$enableval" = "no"; then CONFIG_LAPACK="no"; fi], [])
+-
+-if test "$CONFIG_LAPACK" = "yes"; then
+-# AC_CHECK_LIB(f2c, main, [], [CONFIG_LAPACK="no"])
+-# AC_CHECK_LIB(blas, main, [], [CONFIG_LAPACK="no"])
+-# AC_CHECK_LIB(tmglib, main, [], [CONFIG_LAPACK="no"])
+- AC_CHECK_LIB(gfortran, main)
+- AC_CHECK_LIB(blas, main)
+- AC_CHECK_LIB(lapack, main, [], [CONFIG_LAPACK="no"])
+-# AX_BLAS([have_blas=yes],[have_blas=no])
+-# AX_LAPACK([have_lapack=yes],[have_lapack=no])
+-fi
++PKG_CHECK_MODULES([GSL], [gsl],[
++ AC_DEFINE(HAVE_LIBGSL,1, [Define if gsl is installed])
++ AC_SUBST(GSL_LIBS)])
++
++PKG_CHECK_MODULES([LAPACK], [lapack],[
++ AC_DEFINE(HAVE_LIBLAPACK,1,[Define if LAPACK is installed])
++ AC_SUBST(LAPACK_LIBS)])
++
++PKG_CHECK_MODULES([BLAS], [blas],[
++ AC_DEFINE(HAVE_BLAS,1,[Define if BLAS is installed])
++ AC_SUBST(BLAS_LIBS)])
+
+ CONFIG_PARI="yes"
+ AC_ARG_ENABLE([pari],
+diff --git a/src/Makefile.am b/src/Makefile.am
+index a142067..2ebcce0 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -14,7 +14,7 @@ libgiac_la_SOURCES = input_lexer.ll sym2poly.cc gausspol.cc threaded.cc \
+ help.cc lpsolve.cc optimization.cc signalprocessing.cc \
+ graphe.cc graphtheory.cc nautywrapper.c markup.cc kdisplay.cc kadd.cc # Ugh..
+
+-libgiac_la_LIBADD = $(NTL_LIBS) $(COCOA_LIBS) $(PARI_LIBS) $(GSL_LIBS)
++libgiac_la_LIBADD = $(NTL_LIBS) $(COCOA_LIBS) $(PARI_LIBS) $(GSL_LIBS) $(LAPACK_LIBS) $(BLAS_LIBS)
+
+ giacincludedir = $(includedir)/giac
+ giacinclude_HEADERS = dispatch.h fraction.h gen.h desolve.h misc.h ti89.h \
diff --git a/sci-mathematics/giac/files/pari_2_11.patch b/sci-mathematics/giac/files/pari_2_11.patch
new file mode 100644
index 000000000..24142257a
--- /dev/null
+++ b/sci-mathematics/giac/files/pari_2_11.patch
@@ -0,0 +1,17 @@
+Change test output for PARI 2.11
+
+See https://trac.sagemath.org/ticket/25567
+and https://xcas.univ-grenoble-alpes.fr/forum/viewtopic.php?f=4&t=2102
+
+diff -ru a/check/TP11-sol.cas.out1 b/check/TP11-sol.cas.out1
+--- a/check/TP11-sol.cas.out1 2014-10-21 10:51:48.000000000 +0200
++++ b/check/TP11-sol.cas.out1 2018-08-07 17:04:12.528052773 +0200
+@@ -10,7 +10,7 @@
+ 1073741824000000000000000000061203284109000000000000000000000000008409,
+ 2^3*3*389*733*156904374622257604823879982847602392900751802349981470895277241,
+ "Done",
+-matrix[[2,7,1],[3,2,1],[389,2,1],[733,2,1],[156904374622257604823879982847602392900751802349981470895277241,2,matrix[[2,13,1],[3,3,1],[5,2,1],[7,2,1],[56467,2,1],[6553084925887974620811527,2,matrix[[2,5,1],[19,2,1],[71,2,1],[126823,2,1]]]]]],
++1,
+ 0,
+ [],
+ 1,
diff --git a/sci-mathematics/giac/giac-1.6.0.47.ebuild b/sci-mathematics/giac/giac-1.6.0.47.ebuild
new file mode 100644
index 000000000..aeb36f76f
--- /dev/null
+++ b/sci-mathematics/giac/giac-1.6.0.47.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools flag-o-matic xdg
+
+MY_PV="$(ver_rs 3-4 -)"
+
+DESCRIPTION="A free C++ CAS (Computer Algebra System) library and its interfaces"
+HOMEPAGE="https://www-fourier.ujf-grenoble.fr/~parisse/giac.html"
+SRC_URI="https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/${PN}_${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+# French documentation is not GPL, and is subject to a non commercial use license, so skipping it.
+LANGS="el en es pt"
+IUSE="ao doc +ecm examples gc +glpk gui static-libs test"
+for X in ${LANGS} ; do
+ IUSE="${IUSE} l10n_${X}"
+done
+
+RDEPEND="
+ dev-libs/gmp:=[cxx]
+ sys-libs/readline:=
+ gui? (
+ >=x11-libs/fltk-1.1.9
+ media-libs/libpng:=
+ )
+ ao? ( media-libs/libao )
+ dev-libs/mpfr:=
+ sci-libs/mpfi
+ sci-libs/gsl:=
+ >=sci-mathematics/pari-2.7:=[threads]
+ dev-libs/ntl:=
+ virtual/lapack
+ virtual/blas
+ net-misc/curl
+ >=sci-mathematics/nauty-2.6.7
+ ecm? ( >=sci-mathematics/gmp-ecm-7.0.0 )
+ glpk? ( sci-mathematics/glpk )
+ gc? ( dev-libs/boehm-gc )"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+ dev-tex/hevea
+ virtual/pkgconfig
+ virtual/yacc
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.6.0.17-gsl_lapack.patch
+ "${FILESDIR}"/pari_2_11.patch
+ )
+
+REQUIRED_USE="test? ( gui )"
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}/${PN}-$(ver_cut 1-3)"
+
+src_prepare(){
+ default
+
+ eautoreconf
+}
+
+src_configure(){
+ if use gui; then
+ append-cppflags -I$(fltk-config --includedir)
+ append-lfs-flags
+ append-libs $(fltk-config --ldflags | sed -e 's/\(-L\S*\)\s.*/\1/') || die
+ fi
+
+ # Using libsamplerate is currently broken
+ econf \
+ --enable-gmpxx \
+ --disable-samplerate \
+ $(use_enable static-libs static) \
+ $(use_enable gui) \
+ $(use_enable gui png) \
+ $(use_enable ao) \
+ $(use_enable ecm) \
+ $(use_enable glpk) \
+ $(use_enable gc)
+}
+
+src_install() {
+ emake install DESTDIR="${D}"
+ dodoc AUTHORS ChangeLog INSTALL NEWS README TROUBLES
+ if !(use gui); then
+ rm -rf \
+ "${ED}"/usr/bin/x* \
+ "${ED}"/usr/share/application-registry \
+ "${ED}"/usr/share/applications \
+ "${ED}"/usr/share/icons
+ fi
+
+ if use !doc; then
+ rm -R "${ED}"/usr/share/doc/giac* "${ED}"/usr/share/giac/doc/ || die
+ else
+ for lang in ${LANGS}; do
+ if use l10n_$lang; then
+ ln "${ED}"/usr/share/giac/doc/aide_cas "${ED}"/usr/share/giac/doc/"${lang}"/aide_cas || die
+ else
+ rm -rf "${ED}"/usr/share/giac/doc/"${lang}"
+ fi
+ done
+ # Deleting French documentation for copyright reasons
+ rm -rf "${ED}"/usr/share/giac/doc/fr
+ fi
+
+ if use !examples; then
+ rm -R "${ED}"/usr/share/giac/examples || die
+ fi
+
+ # remove .la file
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-mathematics/giac/giac-1.6.0.ebuild b/sci-mathematics/giac/giac-1.6.0.ebuild
deleted file mode 100644
index c8d28b51a..000000000
--- a/sci-mathematics/giac/giac-1.6.0.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A free C++ CAS (Computer Algebra System) library and its interfaces"
-HOMEPAGE="https://www-fourier.ujf-grenoble.fr/~parisse/giac.html"
-SRC_URI="https://www-fourier.ujf-grenoble.fr/~parisse/giac/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-IUSE="doc examples fltk"
-
-inherit flag-o-matic pax-utils xdg
-
-RDEPEND="
- >=dev-libs/gmp-3
- >=sys-libs/readline-4.2
- fltk? ( >=x11-libs/fltk-1.1.9 )
- dev-libs/mpfr
- sci-libs/gsl
- >=sci-mathematics/pari-2.3
- >=dev-libs/ntl-5.2
-"
-BDEPEND="dev-tex/hevea"
-
-src_prepare(){
- sed -e "s:\$(prefix)/share:\$(DESTDIR)\$(prefix)/share:g" \
- -e "s:config.h \$(includedir)/giac:config.h \$(DESTDIR)\$(includedir)/giac:g" \
- -e "s:\$(DESTDIR)\$(DESTDIR):\$(DESTDIR):g" \
- -e "s:\$(DESTDIR)/\$(DESTDIR):\$(DESTDIR):g" \
- -i `find -name Makefile\*` || die
- if use !fltk; then
- sed -e "s: gl2ps\.[chlo]*::g" -i src/Makefile.* || die
- fi
- default
-}
-
-src_configure(){
- if use fltk
- then
- append-cppflags -I$(fltk-config --includedir)
- append-lfs-flags
- append-libs $(fltk-config --ldflags | sed -e 's/\(-L\S*\)\s.*/\1/') || die
- fi
- econf $(use_enable fltk gui)
-}
-
-src_install() {
- emake install DESTDIR="${D}"
- dobin src/aide
- rm "${D}"/usr/bin/*cas_help || die
- dodoc AUTHORS ChangeLog INSTALL NEWS README TROUBLES
- if use !fltk; then
- rm "${D}"/usr/bin/x* || die
- elif host-is-pax; then
- pax-mark -m "${D}"/usr/bin/x*
- fi
- if use !doc; then
- rm -R "${D}"/usr/share/doc "${D}"/usr/share/giac/doc/ || die
- else
- for LANG in el en es fr pt; do
- if echo ${LINGUAS} | grep -v "$LANG" &> /dev/null; then
- rm -R "${D}"/usr/share/giac/doc/"$LANG"
- else
- ln "${D}"/usr/share/giac/doc/aide_cas "${D}"/usr/share/giac/doc/"$LANG"/aide_cas || die
- fi
- done
- fi
- if use !examples; then
- rm -R "${D}"/usr/share/giac/examples || die
- fi
-}
diff --git a/sci-mathematics/giac/metadata.xml b/sci-mathematics/giac/metadata.xml
index 60502e1d7..7b8a11df2 100644
--- a/sci-mathematics/giac/metadata.xml
+++ b/sci-mathematics/giac/metadata.xml
@@ -6,10 +6,15 @@
<name>Gentoo Mathematics Project</name>
</maintainer>
<longdescription>
-Giac is a free computer algebra system that can be used to perform
-computer algebra, function graphs, interactive geometry (2-d and 3-d),
-spreadsheet and statistics, programmation. It may be used as a replacement
-for high end graphic calculators for example on netbooks (for about
-the same price as a calculator but with much more performances).
-</longdescription>
+ Giac is a free computer algebra system that can be used to perform
+ computer algebra, function graphs, interactive geometry (2-d and 3-d),
+ spreadsheet and statistics, programmation. It may be used as a replacement
+ for high end graphic calculators for example on netbooks (for about
+ the same price as a calculator but with much more performances).
+ </longdescription>
+ <use>
+ <flag name="glpk">Enable the use of <pkg>sci-mathematics/glpk</pkg></flag>
+ <flag name="ecm">Enable the use of <pkg>sci-mathematics/gmp-ecm</pkg></flag>
+ <flag name="gc">Enable garbage collection support via <pkg>dev-libs/boehm-gc</pkg></flag>
+ </use>
</pkgmetadata>