Files
haikuports/sci-libs/libqalculate/libqalculate-5.9.0.recipe
2026-01-25 15:59:37 +00:00

152 lines
4.0 KiB
Bash

SUMMARY="A modern multi-purpose calculator library"
DESCRIPTION="libqalculate is math libary for expression evaluation with \
units, variables and functions support and CAS functionality."
HOMEPAGE="https://qalculate.github.io/"
COPYRIGHT="2003-2007, 2008, 2016-2025 Hanna Knutsson"
LICENSE="GNU GPL v2"
REVISION="1"
SOURCE_URI="https://github.com/Qalculate/libqalculate/releases/download/v$portVersion/libqalculate-$portVersion.tar.gz"
CHECKSUM_SHA256="94d734b9303b3b68df61e4255f2eddeee346b66ec4b6e134f19e1a3cc3ff4a09"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
commandBinDir=$binDir
commandSuffix=$secondaryArchSuffix
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
libVersion="23.3.10"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
libqalculate$secondaryArchSuffix = $portVersion
lib:libqalculate$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
cmd:gnuplot
lib:libcurl$secondaryArchSuffix
lib:libgmp$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libicudata$secondaryArchSuffix
lib:libicuuc$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libmpfr$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
"
PROVIDES_devel="
libqalculate${secondaryArchSuffix}_devel = $portVersion
devel:libqalculate$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
libqalculate$secondaryArchSuffix == $portVersion base
devel:libcurl$secondaryArchSuffix
devel:libgmp$secondaryArchSuffix
devel:libicudata$secondaryArchSuffix
devel:libicui18n$secondaryArchSuffix
devel:libicuuc$secondaryArchSuffix
devel:libmpfr$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
"
SUMMARY_tools="$SUMMARY (Qalculate! binary)"
DESCRIPTION_tools="Qalculate! is a multi-purpose cross-platform desktop calculator. It is \
simple to use but provides power and versatility normally reserved for \
complicated math packages, as well as useful tools for everyday needs \
(such as currency conversion and percent calculation). Features include a \
large library of customizable functions, unit calculations and conversion, \
symbolic calculations (including integrals and equations), arbitrary \
precision, uncertainty propagation, interval arithmetic, plotting, and a \
user-friendly interface."
PROVIDES_tools="
libqalculate${secondaryArchSuffix}_tools = $portVersion
cmd:qalc$commandSuffix = $portVersion
"
REQUIRES_tools="
libqalculate$secondaryArchSuffix == $portVersion base
haiku$secondaryArchSuffix
$REQUIRES
lib:libhistory$secondaryArchSuffix
lib:libreadline$secondaryArchSuffix
"
ARCHITECTURES_doc="any"
PROVIDES_doc="
libqalculate_doc
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcurl$secondaryArchSuffix
devel:libgmp$secondaryArchSuffix
devel:libhistory$secondaryArchSuffix >= 8
devel:libicudata$secondaryArchSuffix >= 74
devel:libicui18n$secondaryArchSuffix >= 74
devel:libiconv$secondaryArchSuffix
devel:libicuuc$secondaryArchSuffix >= 74
devel:libintl$secondaryArchSuffix
devel:libmpfr$secondaryArchSuffix >= 6
devel:libreadline$secondaryArchSuffix >= 8
devel:libxml2$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmp
cmd:diff
cmd:doxygen
cmd:gcc$secondaryArchSuffix
cmd:intltoolize
cmd:make
cmd:msgfmt$secondaryArchSuffix
cmd:msgmerge$secondaryArchSuffix
cmd:pkg_config$secondaryArchSuffix
"
defineDebugInfoPackage libqalculate$secondaryArchSuffix \
$libDir/libqalculate.so.$libVersion \
"$(getPackagePrefix tools)"/bin/qalc
BUILD()
{
runConfigure --omit-dirs "binDir docDir" ./configure \
--bindir=$commandBinDir \
--docdir=$documentationDir/packages/libqalculate \
--disable-static
make $jobArgs
}
INSTALL()
{
make install
# remove libtool file
rm $libDir/libqalculate.la
prepareInstalledDevelLib \
libqalculate
fixPkgconfig
# devel package
packageEntries devel \
$developDir
# tools package
packageEntries tools \
$commandBinDir \
$manDir
# documentation package
packageEntries doc \
$documentationDir
}
TEST()
{
make check
}