mpfi: new recipe

This is a new (optional) dependency of texlive since 2024. They also provide the library
internally (like all their dependencies), but for distribution packages, using system libraries is
preferred.
This commit is contained in:
Joachim Mairböck
2024-03-25 20:28:08 +01:00
parent e66aa2bbcc
commit a8241432b1

View File

@@ -0,0 +1,87 @@
SUMMARY="C library for multiple-precision interval arithmetic"
DESCRIPTION="MPFI is intended to be a portable library written in C for arbitrary precision \
interval arithmetic with intervals represented using MPFR reliable floating-point numbers. It is \
based on the GNU MP library and on the MPFR library. The purpose of an arbitrary precision \
interval arithmetic is on the one hand to get guaranteed results, thanks to interval computation, \
and on the other hand to obtain accurate results, thanks to multiple precision arithmetic. The \
MPFI library is built upon MPFR in order to benefit from the correct roundings provided by MPFR. \
Further advantages of using MPFR are its portability and compliance with the IEEE 754 standard \
for floating-point arithmetic."
HOMEPAGE="https://gitlab.inria.fr/mpfi/mpfi/"
COPYRIGHT="2002-2018, Ouragan team, Inria Paris, France
Arenaire team and AriC team, INRIA Rhone-Alpes and LIP, ENS Lyon, France
Lab. ANO, University of Sciences and Technologies of Lille, France."
LICENSE="GNU GPL v3
GNU LGPL v3"
REVISION="1"
SOURCE_URI="https://perso.ens-lyon.fr/nathalie.revol/softwares/mpfi-$portVersion.tar.xz"
CHECKSUM_SHA256="819e98bc7dad7cf7e67c9ddb592f44545c300de143fe30bc29ca1b422b55306a"
ARCHITECTURES="all"
SECONDARY_ARCHITECTURES="x86"
libVersion="0.0.0"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
mpfi$secondaryArchSuffix = $portVersion
lib:libmpfi$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libgmp$secondaryArchSuffix
lib:libmpfr$secondaryArchSuffix >= 6
"
PROVIDES_devel="
mpfi${secondaryArchSuffix}_devel = $portVersion
devel:libmpfi$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
mpfi$secondaryArchSuffix == $portVersion base
devel:libgmp$secondaryArchSuffix
devel:libmpfr$secondaryArchSuffix >= 6
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libgmp$secondaryArchSuffix
devel:libmpfr$secondaryArchSuffix >= 6
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmp
cmd:gcc$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
defineDebugInfoPackage mpfi$secondaryArchSuffix \
$libDir/libmpfi.so.$libVersion
BUILD()
{
runConfigure ./configure \
--disable-static
make $jobArgs
}
INSTALL()
{
make install
# remove libtool file
rm $libDir/libmpfi.la
prepareInstalledDevelLib libmpfi
fixPkgconfig
# devel package
packageEntries devel \
$developDir
}
TEST()
{
make check
}