summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Orlitzky <mjo@gentoo.org>2024-03-10 22:51:37 -0400
committerMichael Orlitzky <mjo@gentoo.org>2024-03-10 22:54:35 -0400
commit13e806399cb8fd6a4711ea36aba899c3cc5ad41f (patch)
treeb72b999d9448bdfeb99d45dad15134576c68b943 /sci-mathematics/flint
parentx11-drivers/nvidia-drivers: stabilize 535.161.07 for amd64 (diff)
downloadgentoo-13e806399cb8fd6a4711ea36aba899c3cc5ad41f.tar.gz
gentoo-13e806399cb8fd6a4711ea36aba899c3cc5ad41f.tar.bz2
gentoo-13e806399cb8fd6a4711ea36aba899c3cc5ad41f.zip
sci-mathematics/flint: add 3.1.0
Fixes the pkg-config install location too. Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Diffstat (limited to 'sci-mathematics/flint')
-rw-r--r--sci-mathematics/flint/Manifest1
-rw-r--r--sci-mathematics/flint/files/flint-3.1.0-fix-pc-install.patch29
-rw-r--r--sci-mathematics/flint/flint-3.1.0.ebuild84
3 files changed, 114 insertions, 0 deletions
diff --git a/sci-mathematics/flint/Manifest b/sci-mathematics/flint/Manifest
index 730cca7ed921..b1c7fc7e9dbf 100644
--- a/sci-mathematics/flint/Manifest
+++ b/sci-mathematics/flint/Manifest
@@ -1,2 +1,3 @@
DIST flint-2.9.0.tar.gz 5283894 BLAKE2B a790437ee142d8acb5cec1e6c7d21812f8d83f5d30d1e8c07e799713e96791d87792f25fbd4ce2d0d68f6a8ee2f0cde2b8d9f8db8ab26922a48485e0e90394aa SHA512 4494cba6a4e215e817d7c74ef6834c4e05a832488f4808bbd7bea8b02a4a35d47ef3c63a4f213230c712b32842f5588c503fc1cf23e5e2ddc4a4a5a1627a02ba
DIST flint-3.0.1.tar.gz 7624944 BLAKE2B 0d94252075945f39af3dd2e49803cbe16aa65b108964dfc0c12bdfd9188748944c1e839401e17b974f8f6f8832e4da84d62a63f20b63cfff0ff5c2736bfd2d47 SHA512 4b5b432b962135cd708a0ce4242343f3226f0fdf73c3f541728ed4540e7ef6cb7812a48b6b46e65a8fcc1f5cae93d8bb59838d24728024cd9aa0f7b8e5c6f98f
+DIST flint-3.1.0.tar.gz 7585407 BLAKE2B 697be5bd88e7793eb160d5f0e2110a7b8371ef8d3ca82b576c4cc755983a660a884d35d3cbb442288caa074b7f41699f4c6bc3c244272d9e9f5755d8d209004d SHA512 1d33bb35853f4bdca047899ebb4ac9873748c6d57ad3b6aded32219261e95713fb26b394d8c86f6183b9f44db58697def07e6c565ac789461d5ccc4dca3e9ba7
diff --git a/sci-mathematics/flint/files/flint-3.1.0-fix-pc-install.patch b/sci-mathematics/flint/files/flint-3.1.0-fix-pc-install.patch
new file mode 100644
index 000000000000..5e0145cb95e7
--- /dev/null
+++ b/sci-mathematics/flint/files/flint-3.1.0-fix-pc-install.patch
@@ -0,0 +1,29 @@
+From f4e0dfda90f6574048578f112bea1013d54f0987 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sun, 10 Mar 2024 21:48:51 -0400
+Subject: [PATCH 1/1] CMakeLists.txt: install the pkg-config file to the
+ configured libdir
+
+Currently it installs to lib/pkgconfig, which can be incorrect on
+systems where (for example) the normal libdir is lib64 and "lib" is
+reserved for 32-bit libraries.
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 30935cef4..d8dfee38d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -537,7 +537,7 @@ set(PACKAGE_NAME ${PROJECT_NAME})
+ set(PACKAGE_VERSION ${PROJECT_VERSION})
+ configure_file(flint.pc.in flint.pc @ONLY)
+
+-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/flint.pc DESTINATION lib/pkgconfig)
++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/flint.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+
+ if(BUILD_TESTING)
+ set(FLINT_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src) # To get src/test/main
+--
+2.43.0
+
diff --git a/sci-mathematics/flint/flint-3.1.0.ebuild b/sci-mathematics/flint/flint-3.1.0.ebuild
new file mode 100644
index 000000000000..f95e430165ae
--- /dev/null
+++ b/sci-mathematics/flint/flint-3.1.0.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit cmake flag-o-matic python-any-r1
+
+DESCRIPTION="Fast Library for Number Theory"
+HOMEPAGE="https://www.flintlib.org/"
+
+# flintlib.org tarballs have been broken in the past, Bill Hart suggests
+# we get them from Github (which he has control over).
+SRC_URI="https://github.com/flintlib/flint/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+
+# Based off the soname, e.g. /usr/lib64/libflint.so -> libflint.so.15
+SLOT="0/19"
+
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="doc ntl test"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="${PYTHON_DEPS}
+ doc? (
+ app-text/texlive-core
+ dev-python/sphinx
+ dev-tex/latexmk
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ )
+"
+DEPEND="dev-libs/gmp:=
+ dev-libs/mpfr:=
+ ntl? ( dev-libs/ntl:= )
+ virtual/cblas"
+# flint 3 includes arb and arb cannot use flint 3.
+RDEPEND="${DEPEND}
+ !sci-mathematics/arb"
+
+# The rst files are API docs, but they're very low-effort compared to
+# the PDF and HTML docs, so we ship them unconditionally and hide only
+# the painful parts behind USE=doc.
+DOCS="AUTHORS README.md doc/source/*.rst"
+
+PATCHES=(
+ "${FILESDIR}/flint-3.0.1-find-cblas.patch"
+ "${FILESDIR}/${P}-fix-pc-install.patch"
+)
+
+src_configure() {
+ # https://github.com/flintlib/flint/issues/1683
+ append-cflags -Wno-error=strict-prototypes
+
+ local mycmakeargs=(
+ -DWITH_NTL="$(usex ntl)"
+ -DBUILD_TESTING="$(usex test)"
+ -DBUILD_DOCS="$(usex doc)"
+ )
+
+ cmake_src_configure
+
+ if use doc; then
+ # Avoid the "html/_source" directory that will contain a copy of
+ # the rst sources we've already installed, and also avoid
+ # installing html/objects.inv.
+ HTML_DOCS="${BUILD_DIR}/html/*.html
+ ${BUILD_DIR}/html/*.js
+ ${BUILD_DIR}/html/_static"
+ DOCS+=" ${BUILD_DIR}/latex/Flint.pdf"
+ fi
+}
+
+src_compile() {
+ cmake_src_compile
+
+ if use doc; then
+ cmake_build html
+ cmake_build pdf
+ fi
+}