public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Michael Orlitzky" <mjo@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-mathematics/giac/, sci-mathematics/giac/files/
Date: Thu, 22 Jun 2023 22:17:02 +0000 (UTC)	[thread overview]
Message-ID: <1687471469.82f9df370a68e34b5f2f95ed805b8c924cdb947a.mjo@gentoo> (raw)

commit:     82f9df370a68e34b5f2f95ed805b8c924cdb947a
Author:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 22 21:00:22 2023 +0000
Commit:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Thu Jun 22 22:04:29 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=82f9df37

sci-mathematics/giac: add 1.9.0.55

Signed-off-by: Michael Orlitzky <mjo <AT> gentoo.org>

 sci-mathematics/giac/Manifest                      |   1 +
 .../giac-1.9.0.55-disable-failing-tests.patch      |  35 ++++
 sci-mathematics/giac/giac-1.9.0.55.ebuild          | 177 +++++++++++++++++++++
 3 files changed, 213 insertions(+)

diff --git a/sci-mathematics/giac/Manifest b/sci-mathematics/giac/Manifest
index 175acc15f391..c7aa8276edf2 100644
--- a/sci-mathematics/giac/Manifest
+++ b/sci-mathematics/giac/Manifest
@@ -1 +1,2 @@
 DIST giac_1.9.0-29.tar.gz 115441843 BLAKE2B 9114db489be0c51d67c87b0a0c187fecf9eca84d7cb3117e72793290c8e606e76c3d9bc8a2d573fc2de2f2d885fb34d18583302a5902d69045976114ac02b95e SHA512 57b58aa35c724eae7df36229cb3d45d1b724a8a88acb1d1dd0711be64dd7c891850e7242662e448ce955e76b856973f9065628b65ce0826c60e277cb944b21b7
+DIST giac_1.9.0-55.tar.gz 113729553 BLAKE2B 8e95693623cfc8558e9a3b2dcc5e11cdbc4f2e25f0c2e88322dee986c5e010a63ced682bdbcb8b6dda61c8309477e8a106360a56f3a88d76043359bdb64f5d61 SHA512 c8043893fbe8951662c6c2fdd53adf6d2602ae7d3810254cd76d8478992005d9320de5e6be9453a03d5ed976900ec7721790ee61dace58e7121e0cfc330ecad9

diff --git a/sci-mathematics/giac/files/giac-1.9.0.55-disable-failing-tests.patch b/sci-mathematics/giac/files/giac-1.9.0.55-disable-failing-tests.patch
new file mode 100644
index 000000000000..fdb0cf9f0396
--- /dev/null
+++ b/sci-mathematics/giac/files/giac-1.9.0.55-disable-failing-tests.patch
@@ -0,0 +1,35 @@
+From e9ad950f7838921b1d0c85b503d7c9668be663b6 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 22 Jun 2023 16:57:55 -0400
+Subject: [PATCH 1/1] check/Makefile.am: disable two failing tests.
+
+Mentioned on Github at,
+
+  https://github.com/sagemath/sage/pull/35745#issuecomment-1603298668
+
+For the moment, and without more information, disabling them is the
+simplest thing to do.
+---
+ check/Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/check/Makefile.am b/check/Makefile.am
+index ef0aa03..be1260c 100644
+--- a/check/Makefile.am
++++ b/check/Makefile.am
+@@ -1,10 +1,10 @@
+ TESTS = 	chk_integrate  \
+ 		chk_factor chk_normalize chk_partfrac chk_limit \
+ 		chk_cas chk_geo chk_morley_demo chk_xavier \
+-		chk_fhan1 chk_fhan2 chk_fhan3 chk_fhan4 chk_fhan5 \
++		chk_fhan1 chk_fhan2 chk_fhan3 chk_fhan5 \
+ 		chk_fhan6 chk_fhan8 chk_fhan0 \
+ 		chk_fhan11 chk_fhan12 chk_fhan13 chk_fhan14 chk_fhan15 \
+-		chk_fhan16 chk_fhan17 chk_fhan19 chk_fhan20 \
++		chk_fhan16 chk_fhan19 chk_fhan20 \
+ 		chk_fhan21 chk_fhan9 chk_fhan18 chk_fhan7
+ EXTRA_DIST = 	chk_integrate chk_intinda chk_intindbo chk_intindbr \
+ 		chk_intindc chk_intindj chk_intindm \
+-- 
+2.39.3
+

diff --git a/sci-mathematics/giac/giac-1.9.0.55.ebuild b/sci-mathematics/giac/giac-1.9.0.55.ebuild
new file mode 100644
index 000000000000..dc56ce5cff71
--- /dev/null
+++ b/sci-mathematics/giac/giac-1.9.0.55.ebuild
@@ -0,0 +1,177 @@
+# Copyright 1999-2023 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[opengl]
+		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
+	app-alternatives/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"
+	"${FILESDIR}/${PN}-1.9.0.55-disable-failing-tests.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() {
+	# giac-1.9.0.55 tries to compile a bundled version of FLTK for you
+	# if you pass --enable-fltk but the system version isn't detected.
+	# We make sure that cannot happen under any circumstances.
+	rm fltk-1.3.8-source.tar.bz2 || die
+	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 the gui is though --disable-fltk.
+	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
+}


             reply	other threads:[~2023-06-22 22:17 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-22 22:17 Michael Orlitzky [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-01-16 14:22 [gentoo-commits] repo/gentoo:master commit in: sci-mathematics/giac/, sci-mathematics/giac/files/ Michael Orlitzky
2025-01-05 14:03 Michael Orlitzky
2024-09-06  0:35 Michael Orlitzky
2024-03-04 16:33 Michael Orlitzky
2023-10-31 12:59 Michael Orlitzky
2023-07-07 13:18 Michael Orlitzky
2022-12-24  0:03 Michael Orlitzky
2021-06-15 14:32 Michael Orlitzky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1687471469.82f9df370a68e34b5f2f95ed805b8c924cdb947a.mjo@gentoo \
    --to=mjo@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox