1SUMMARY="A general purpose formula parser and interpreter" 2DESCRIPTION="Ixion is a general purpose formula parser & interpreter that can \ 3calculate multiple named targets, or \"cells\". 4The cells can be referenced from each other, and the library takes care \ 5of resolving their dependencies automatically upon calculation. The caller \ 6can run the calculation routine either in a single-threaded mode, or \ 7a multi-threaded mode. The library also supports re-calculations where the \ 8contents of one or more cells have been modified since the last calculation, \ 9and a partial calculation of only the affected cells need to be calculated." 10HOMEPAGE="https://gitlab.com/ixion/ixion" 11COPYRIGHT="Kohei Yoshida et al." 12LICENSE="MPL v2.0" 13REVISION="4" 14SOURCE_URI="https://gitlab.com/ixion/ixion/-/archive/$portVersion/ixion-$portVersion.tar.bz2" 15CHECKSUM_SHA256="63f3942defc684be82046b9d7454602dadafced9be7b3b60e9e8a5fa63ee91a8" 16SOURCE_DIR="ixion-$portVersion" 17 18ARCHITECTURES="all !x86_gcc2" 19SECONDARY_ARCHITECTURES="x86" 20 21boostMinimumVersion=1.83.0 22 23commandBinDir=$binDir 24commandSuffix=$secondaryArchSuffix 25if [ "$targetArchitecture" = x86_gcc2 ]; then 26 commandSuffix= 27 commandBinDir=$prefix/bin 28fi 29 30soVersion="${portVersion%.*}" 31 32PROVIDES=" 33 ixion$secondaryArchSuffix = $portVersion 34 lib:libixion_$soVersion$secondaryArchSuffix = 0.0.0 compat >= 0 35 " 36REQUIRES=" 37 haiku$secondaryArchSuffix 38 lib:libboost_filesystem$secondaryArchSuffix 39 lib:libboost_program_options$secondaryArchSuffix 40 lib:libboost_system$secondaryArchSuffix 41 lib:libz$secondaryArchSuffix 42 " 43 44PROVIDES_devel=" 45 ixion${secondaryArchSuffix}_devel = $portVersion 46 devel:libixion_$soVersion$secondaryArchSuffix = 0.0.0 compat >= 0 47 " 48REQUIRES_devel=" 49 ixion$secondaryArchSuffix == $portVersion base 50 " 51 52PROVIDES_tools=" 53 ixion${secondaryArchSuffix}_tools = $portVersion 54 cmd:ixion_formula_tokenizer$commandSuffix = $portVersion 55 cmd:ixion_parser$commandSuffix = $portVersion 56 cmd:ixion_sorter$commandSuffix = $portVersion 57 " 58REQUIRES_tools=" 59 $REQUIRES 60 ixion$secondaryArchSuffix == $portVersion base 61 " 62 63BUILD_REQUIRES=" 64 haiku${secondaryArchSuffix}_devel 65 devel:libboost_filesystem$secondaryArchSuffix >= $boostMinimumVersion 66 devel:libboost_program_options$secondaryArchSuffix >= $boostMinimumVersion 67 devel:libboost_system$secondaryArchSuffix >= $boostMinimumVersion 68 devel:libz$secondaryArchSuffix 69 devel:libspdlog$secondaryArchSuffix 70 devel:mdds >= 2 71 " 72BUILD_PREREQUIRES=" 73 cmd:aclocal 74 cmd:autoconf 75 cmd:automake 76 cmd:gcc$secondaryArchSuffix 77 cmd:ld$secondaryArchSuffix 78 cmd:libtoolize$secondaryArchSuffix 79 cmd:make 80 cmd:pkg_config$secondaryArchSuffix 81 " 82 83defineDebugInfoPackage ixion$secondaryArchSuffix \ 84 "$(getPackagePrefix tools)"/bin/ixion-formula-tokenizer \ 85 "$(getPackagePrefix tools)"/bin/ixion-parser \ 86 "$(getPackagePrefix tools)"/bin/ixion-sorter \ 87 "$libDir"/libixion-$soVersion.so.0.0.0 88 89PATCH() 90{ 91 sed -i 's/-ldl//g' configure.ac 92 sed -i 's/-pthread//g' configure.ac 93 sed -i 's#$with_boost/include#$with_boost/headers#g' m4/boost.m4 94} 95 96BUILD() 97{ 98 autoreconf -fi 99 BOOST_ROOT="$portPackageLinksDir"/devel~libboost_program_options/develop 100 runConfigure --omit-dirs binDir ./configure \ 101 --bindir=$commandBinDir \ 102 --enable-python=no 103 make $jobArgs 104} 105 106INSTALL() 107{ 108 make install 109 110 rm -f "$libDir"/libixion-$soVersion.la 111 112 prepareInstalledDevelLib libixion-$soVersion 113 fixPkgconfig 114 115 packageEntries devel \ 116 "$developDir" 117 118 packageEntries tools \ 119 "$commandBinDir" 120} 121 122TEST() 123{ 124 LIBRARY_PATH="$sourceDir/src/libixion/.libs${LIBRARY_PATH:+:$LIBRARY_PATH}" \ 125 make check 126} 127