summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrançois Bissey <frp.bissey@gmail.com>2022-11-10 11:00:10 +1300
committerMichael Orlitzky <mjo@gentoo.org>2022-11-10 20:11:06 -0500
commit75b6694602b3128505ff11daa7f474701283c2f9 (patch)
tree99456991882d74b0ac4ae7bf0b823d06bbb13945 /sci-mathematics/giac
parentmedia-video/mpv: fix build when gnustep-gui is installed (diff)
downloadgentoo-75b6694602b3128505ff11daa7f474701283c2f9.tar.gz
gentoo-75b6694602b3128505ff11daa7f474701283c2f9.tar.bz2
gentoo-75b6694602b3128505ff11daa7f474701283c2f9.zip
sci-mathematics/giac: add 1.9.0.29
Signed-off-by: François Bissey <frp.bissey@gmail.com> Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Diffstat (limited to 'sci-mathematics/giac')
-rw-r--r--sci-mathematics/giac/Manifest1
-rw-r--r--sci-mathematics/giac/giac-1.9.0.29.ebuild172
2 files changed, 173 insertions, 0 deletions
diff --git a/sci-mathematics/giac/Manifest b/sci-mathematics/giac/Manifest
index d884e727c391..d854e626c0c7 100644
--- a/sci-mathematics/giac/Manifest
+++ b/sci-mathematics/giac/Manifest
@@ -1,4 +1,5 @@
DIST giac_1.7.0-13.tar.gz 86447065 BLAKE2B 4d91e83608f7ec376d133c2784ffce99447a9dd78b5c8582b81a0aae0b8ac59eec4db3ee4a8bcb39202c777c300178a181f2dc2ac74ab445ddba2f3efa0ecb1b SHA512 99fff7ce5117fd8c106601ead03679805d529fe12d5372cdd4ae54824aa6fdcbdaaa1a62ea1153391a1a65af8970e38fca7d95ca9983755ff06053f1d8b6d65a
DIST giac_1.7.0-47.tar.gz 96787570 BLAKE2B b05b3f44f10695a5d085df0a0db9aba761ac011964caeb247bd6034ca2a41505e5eb30df0de494826270703d9b62fbb3b9d4869f4cdd32d1d88636f374fbae16 SHA512 60a8550f7da2a163365759266660421c936797a9d52c3ba3802b5e00610fc460b49ccef44df809331abb1cbb65432e283fb4484b1efffb577c4802ab44fecff7
DIST giac_1.9.0-21.tar.gz 103871108 BLAKE2B 2db4a930b8acb2304456c85437b50504a25df3d0395115c8e71906b8608a38f034de0b9474115f87d4169a8eaa2039c200101696abb98f47123037aa1ef47630 SHA512 b14e41cf2f94d6e73417d5908ae77a503b3ab191bca7e7e5b07659516cbc4f6081a199175f3f5fdb12608c6100291081d234b94cecd0e30ac822c37b50e95821
+DIST giac_1.9.0-29.tar.gz 115441843 BLAKE2B 9114db489be0c51d67c87b0a0c187fecf9eca84d7cb3117e72793290c8e606e76c3d9bc8a2d573fc2de2f2d885fb34d18583302a5902d69045976114ac02b95e SHA512 57b58aa35c724eae7df36229cb3d45d1b724a8a88acb1d1dd0711be64dd7c891850e7242662e448ce955e76b856973f9065628b65ce0826c60e277cb944b21b7
DIST giac_1.9.0-5.tar.gz 97863572 BLAKE2B 8766061ace737972b5f47cd7d9f92b0002fa6c94a754dd723fb06001560cc62c60631163bd038b2e7b50919088d8bc669e61582189084395ad2aacf39865cb52 SHA512 86a6edc31797bd3d6ec0ac9ed93c092bbe77cb056269be64c9a23304fcc8ce56c521d829d61ffeac98efd2995ef8371500360462815d61ba97d0cd7bd3b86976
diff --git a/sci-mathematics/giac/giac-1.9.0.29.ebuild b/sci-mathematics/giac/giac-1.9.0.29.ebuild
new file mode 100644
index 000000000000..2efba95ba2ec
--- /dev/null
+++ b/sci-mathematics/giac/giac-1.9.0.29.ebuild
@@ -0,0 +1,172 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic xdg-utils
+
+FETCH_P="${PN}_"$(ver_rs 3 '-')
+MY_PV=$(ver_cut 1-3)
+DESCRIPTION="A free C++ 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/${FETCH_P}.tar.gz"
+LICENSE="GPL-2"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+LANGS="el en es pt"
+IUSE="ao doc +ecm examples gc +glpk gui test"
+for X in ${LANGS} ; do
+ IUSE="${IUSE} l10n_${X}"
+done
+
+# nauty and cliquer are automagical dependencies
+RDEPEND="dev-libs/gmp:=[cxx(+)]
+ sys-libs/readline:=
+ gui? ( x11-libs/fltk
+ media-libs/libpng:= )
+ ao? ( media-libs/libao )
+ dev-libs/mpfr:=
+ sci-libs/mpfi
+ sci-libs/gsl:=
+ sci-mathematics/pari:=[threads]
+ dev-libs/ntl:=
+ virtual/lapack
+ virtual/blas
+ net-misc/curl
+ sci-mathematics/cliquer
+ sci-mathematics/nauty
+ ecm? ( sci-mathematics/gmp-ecm )
+ glpk? ( sci-mathematics/glpk )
+ gc? ( dev-libs/boehm-gc )"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="dev-tex/hevea
+ virtual/pkgconfig
+ virtual/yacc"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.7.0.1-gsl_lapack.patch"
+ "${FILESDIR}/${PN}-1.6.0-pari-2.11.patch"
+ "${FILESDIR}/${PN}-1.9.0.21-pari-2.15.patch"
+)
+
+REQUIRED_USE="test? ( gui )"
+
+# The mirror restriction is due to the French documentation for which
+# "Other kind of redistributions require the consent of the copyright
+# holder."
+RESTRICT="!test? ( test ) mirror"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ append-cxxflags -std=c++14 # bug 788283
+
+ if use gui; then
+ append-cppflags -I$(fltk-config --includedir)
+ append-lfs-flags
+
+ # Get the big-L flags from fltk's LDFLAGS.
+ append-ldflags $(fltk-config --ldflags | sed -e 's/\(-L\S*\)\s.*/\1/')
+ fi
+
+ # Using libsamplerate is currently broken
+ #
+ # The giac build system supports --docdir, but the path /usr/share/giac/doc
+ # is hard-coded throughout the source code, so passing anything else to
+ # ./configure --docdir just causes problems. Later, we'll put things right.
+ #
+ # micropython is for specific use in an upstream project, so is quickjs.
+ # Note that disabling fltk is not a real option. It just skip autodetection
+ # but doesn't disable compiling against fltk. png is needed as part of fltk
+ # support.
+ #
+ # As of 1.9.0.25, --{en,dis}able-gui is no op. The only way to disable gui is
+ # use the fltk enable flag.
+ econf \
+ --enable-gmpxx \
+ --disable-samplerate \
+ --disable-micropy \
+ --disable-quickjs \
+ --docdir="${EPREFIX}"/usr/share/giac/doc \
+ $(use_enable gui fltk) \
+ $(use_enable gui png) \
+ $(use_enable ao) \
+ $(use_enable ecm) \
+ $(use_enable glpk) \
+ $(use_enable gc)
+
+}
+
+src_install() {
+ docompress -x "/usr/share/doc/${PF}/"{aide_cas,doc,examples}
+ emake install DESTDIR="${D}"
+
+ # Move all of /usr/share/giac (which contains only documentation) to
+ # its /usr/share/doc/${PF} counterpart.
+ dodir /usr/share/doc
+ mv "${ED}"/usr/share/giac "${ED}/usr/share/doc/${PF}" || die
+
+ # and create a symlink from the original location to the new one
+ dosym "./doc/${PF}" /usr/share/giac
+
+ # This is duplicated in ${ED}/usr/share/doc/${PF}/examples
+ rm -r "${ED}/usr/share/doc/${PF}/doc/Exemples" || die
+
+ # These aren't supposed to be installed at all.
+ find "${ED}/usr/share/doc/${PF}" -type f -name 'Makefile*' -delete || die
+
+ # The French docs are not freely licensed according to the README.
+ rm -r "${ED}/usr/share/doc/${PF}/doc/fr" || die
+
+ 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 \
+ || die "failed to clean up fltk files"
+ fi
+
+ if ! use doc; then
+ rm -r "${ED}/usr/share/doc/${PF}/doc" || die "failed to remove doc directory"
+ else
+ for lang in ${LANGS}; do
+ if use l10n_$lang; then
+ dosym ../aide_cas "/usr/share/doc/${PF}/doc/${lang}/aide_cas"
+ else
+ rm -r "${ED}/usr/share/giac/doc/${lang}" \
+ || die "failed to remove ${lang} documentation"
+ fi
+ done
+ fi
+
+ if ! use examples; then
+ rm -r "${ED}/usr/share/doc/${PF}/examples" \
+ || die "failed to remove examples"
+ fi
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ if use gui; then
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+ fi
+}
+
+pkg_postrm() {
+ if use gui; then
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+ fi
+}