mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-09 05:10:05 +02:00
142 lines
3.8 KiB
Bash
142 lines
3.8 KiB
Bash
SUMMARY="A general purpose formula parser and interpreter"
|
|
DESCRIPTION="Ixion is a general purpose formula parser & interpreter that can \
|
|
calculate multiple named targets, or \"cells\".
|
|
The cells can be referenced from each other, and the library takes care \
|
|
of resolving their dependencies automatically upon calculation. The caller \
|
|
can run the calculation routine either in a single-threaded mode, or \
|
|
a multi-threaded mode. The library also supports re-calculations where the \
|
|
contents of one or more cells have been modified since the last calculation, and \
|
|
a partial calculation of only the affected cells need to be calculated."
|
|
HOMEPAGE="https://gitlab.com/ixion/ixion"
|
|
COPYRIGHT="Kohei Yoshida et al."
|
|
LICENSE="MPL v2.0"
|
|
REVISION="1"
|
|
SOURCE_URI="https://gitlab.com/ixion/ixion/-/archive/$portVersion/ixion-$portVersion.tar.bz2"
|
|
CHECKSUM_SHA256="39e54cd486fed458c2a6e83a5e658d4c2e818862355b33645bb1342449428463"
|
|
SOURCE_DIR="ixion-$portVersion"
|
|
|
|
ARCHITECTURES="all !x86_gcc2"
|
|
SECONDARY_ARCHITECTURES="x86"
|
|
|
|
boostMinimumVersion=1.88.0
|
|
|
|
commandBinDir=$binDir
|
|
commandSuffix=$secondaryArchSuffix
|
|
if [ "$targetArchitecture" = x86_gcc2 ]; then
|
|
commandSuffix=
|
|
commandBinDir=$prefix/bin
|
|
fi
|
|
|
|
soVersion="${portVersion%.*}"
|
|
|
|
PROVIDES="
|
|
ixion0.20$secondaryArchSuffix = $portVersion
|
|
lib:libixion_$soVersion$secondaryArchSuffix = 0.0.0 compat >= 0
|
|
"
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffix
|
|
lib:libboost_filesystem$secondaryArchSuffix
|
|
lib:libboost_program_options$secondaryArchSuffix
|
|
lib:libboost_system$secondaryArchSuffix
|
|
lib:libz$secondaryArchSuffix
|
|
"
|
|
|
|
PROVIDES_devel="
|
|
ixion0.20${secondaryArchSuffix}_devel = $portVersion
|
|
devel:libixion_$soVersion$secondaryArchSuffix = 0.0.0 compat >= 0
|
|
"
|
|
REQUIRES_devel="
|
|
ixion0.20$secondaryArchSuffix == $portVersion base
|
|
devel:libboost_system$secondaryArchSuffix
|
|
"
|
|
|
|
PROVIDES_tools="
|
|
ixion0.20${secondaryArchSuffix}_tools = $portVersion
|
|
cmd:ixion_formula_tokenizer$commandSuffix = $portVersion
|
|
cmd:ixion_parser$commandSuffix = $portVersion
|
|
cmd:ixion_sorter$commandSuffix = $portVersion
|
|
"
|
|
REQUIRES_tools="
|
|
$REQUIRES
|
|
ixion0.20$secondaryArchSuffix == $portVersion base
|
|
"
|
|
CONFLICTS_tools="
|
|
ixion${secondaryArchSuffix}_tools
|
|
ixion0.18${secondaryArchSuffix}_tools
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
devel:libboost_filesystem$secondaryArchSuffix >= $boostMinimumVersion
|
|
devel:libboost_program_options$secondaryArchSuffix >= $boostMinimumVersion
|
|
devel:libboost_system$secondaryArchSuffix >= $boostMinimumVersion
|
|
devel:libz$secondaryArchSuffix
|
|
devel:libspdlog$secondaryArchSuffix
|
|
devel:mdds >= 3.0
|
|
"
|
|
BUILD_PREREQUIRES="
|
|
cmd:aclocal
|
|
cmd:autoconf
|
|
cmd:automake
|
|
cmd:doxygen
|
|
cmd:gcc$secondaryArchSuffix
|
|
cmd:ld$secondaryArchSuffix
|
|
cmd:libtoolize$secondaryArchSuffix
|
|
cmd:make
|
|
cmd:pkg_config$secondaryArchSuffix
|
|
"
|
|
|
|
defineDebugInfoPackage ixion0.20$secondaryArchSuffix \
|
|
"$(getPackagePrefix tools)"/bin/ixion-formula-tokenizer \
|
|
"$(getPackagePrefix tools)"/bin/ixion-parser \
|
|
"$(getPackagePrefix tools)"/bin/ixion-sorter \
|
|
"$libDir"/libixion-$soVersion.so.0.0.0
|
|
|
|
PATCH()
|
|
{
|
|
sed -i 's/-ldl//g' configure.ac
|
|
sed -i 's/-pthread//g' configure.ac
|
|
sed -i 's#$with_boost/include#$with_boost/headers#g' m4/boost.m4
|
|
}
|
|
|
|
BUILD()
|
|
{
|
|
autoreconf -fi
|
|
export CXXFLAGS="-std=c++17 -O2 -g"
|
|
BOOST_ROOT="$portPackageLinksDir"/devel~libboost_program_options/develop
|
|
runConfigure --omit-dirs binDir ./configure \
|
|
--bindir=$commandBinDir \
|
|
--enable-python=no
|
|
make $jobArgs
|
|
|
|
cd doc
|
|
doxygen doxygen.conf
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
make install
|
|
|
|
# documentation
|
|
docdir="$developDir/documentation/ixion${portVersion%.*}"
|
|
mkdir -p $docdir
|
|
cp -r doc/_doxygen/html $docdir
|
|
|
|
rm -f "$libDir"/libixion-$soVersion.la
|
|
|
|
prepareInstalledDevelLib libixion-$soVersion
|
|
fixPkgconfig
|
|
|
|
packageEntries devel \
|
|
"$developDir"
|
|
|
|
packageEntries tools \
|
|
"$commandBinDir"
|
|
}
|
|
|
|
TEST()
|
|
{
|
|
LIBRARY_PATH="$sourceDir/src/libixion/.libs${LIBRARY_PATH:+:$LIBRARY_PATH}" \
|
|
make check
|
|
}
|