From 52e344abd9cb435ff4bf7d276d576aa2cac1be13 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Sun, 9 May 2021 07:28:47 -0400 Subject: sci-mathematics/giac: new minor version 1.7.0.5 with forced c++14. Supporting c++17 (the new default in gcc-11) upstream will probably take some time; for now we just append-cxxflags -std=c++14. Closes: https://bugs.gentoo.org/788283 Package-Manager: Portage-3.0.18, Repoman-3.0.2 Signed-off-by: Michael Orlitzky --- sci-mathematics/giac/Manifest | 2 +- sci-mathematics/giac/giac-1.7.0.1.ebuild | 163 ------------------------------ sci-mathematics/giac/giac-1.7.0.5.ebuild | 165 +++++++++++++++++++++++++++++++ 3 files changed, 166 insertions(+), 164 deletions(-) delete mode 100644 sci-mathematics/giac/giac-1.7.0.1.ebuild create mode 100644 sci-mathematics/giac/giac-1.7.0.5.ebuild (limited to 'sci-mathematics') diff --git a/sci-mathematics/giac/Manifest b/sci-mathematics/giac/Manifest index a0c47413436f..dba7ba2106a8 100644 --- a/sci-mathematics/giac/Manifest +++ b/sci-mathematics/giac/Manifest @@ -1 +1 @@ -DIST giac_1.7.0-1.tar.gz 82118267 BLAKE2B a9bb4cb260bfc7ba187907d054c737aa8f5de7baf132913dac2a054e886ec632d9077a52fb1e837a1db623223199592407734857725ee4b22c775f928893bb9d SHA512 05565ee22f4d81a4149935df9a32dc78ac07d06db1555a3d951169d184c746c61cd4d57407eabeb982fb8cb5b4a82726b5a553e6a9e689517a241eb0a8726929 +DIST giac_1.7.0-5.tar.gz 82481999 BLAKE2B b322c7008fc6fd687ef11355d3c1dfe48abdbbff6415968d4476dd7760e03f5d174e2ab88f87d638a77c16762d977b5e211b54a71529cf65af0ad4c7d6d16403 SHA512 39e0d1fca0497365ddebe9eba871bbcff790cbcb33f2a61bfbf0e018f300d7429eee7d97a446f0cbb45f2e8abe3af4ed77e3c58a74e919b9f907959f270df355 diff --git a/sci-mathematics/giac/giac-1.7.0.1.ebuild b/sci-mathematics/giac/giac-1.7.0.1.ebuild deleted file mode 100644 index 53d532f38e09..000000000000 --- a/sci-mathematics/giac/giac-1.7.0.1.ebuild +++ /dev/null @@ -1,163 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -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 static-libs 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" -) - -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() { - 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 - econf \ - --enable-gmpxx \ - --disable-samplerate \ - --disable-micropy \ - --docdir=/usr/share/giac/doc \ - $(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() { - 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 -} diff --git a/sci-mathematics/giac/giac-1.7.0.5.ebuild b/sci-mathematics/giac/giac-1.7.0.5.ebuild new file mode 100644 index 000000000000..8dcab375adc8 --- /dev/null +++ b/sci-mathematics/giac/giac-1.7.0.5.ebuild @@ -0,0 +1,165 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +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 static-libs 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" +) + +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 + econf \ + --enable-gmpxx \ + --disable-samplerate \ + --disable-micropy \ + --docdir=/usr/share/giac/doc \ + $(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() { + 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 +} -- cgit v1.2.3-65-gdbad