libqalculate + qalculate: new recipe (#6281)

* libqalculate + qalculate: new recipe

* Disable for gcc2
This commit is contained in:
extrowerk
2021-10-23 17:25:22 +01:00
committed by GitHub
parent 7f544cf8aa
commit a27f9ba70b
3 changed files with 300 additions and 0 deletions

View File

@@ -0,0 +1,91 @@
resource app_flags B_MULTIPLE_LAUNCH | B_ARGV_ONLY;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "SpeedCrunch",
long_info = "@LONG_INFO@"
};
resource app_signature "@APP_SIGNATURE@";
resource vector_icon {
$"6E6369660B05CD0400190400330200160230CE013DAE84BDAD4030CEF7C95ECD"
$"49FAB0004DFF4D020006020000003EAF44BE6ECB00000047224A49F66A00D427"
$"9FFFFA3DA302001202B5100C000000000000B5C8DE4A187549B9C4000000FF00"
$"2704FF1905F204FF4C05FF0500130205FF8020FF8020FF8020FF8020FF8020FF"
$"80B51FFF8030FF80B740FF8030FF8030FF8030FF80B740FF8020FF80B51FFF80"
$"200205FF809FE0FF809FE0FF809FE0FF809FE0FF809FE0FF80A310FF8008FF80"
$"00FF8008FF8008FF8008FF8000FF809FE0FF80A310FF809FE00205FF808990FF"
$"808990FF808990FF808990FF808990FF808DD0FF809650FF80920FFF809650FF"
$"809650FF809650FF80920FFF808990FF808DD0FF8089900205FF808000FF8080"
$"00FF808000FF808000FF808000FF808000FF808000FF808000FF808000FF8080"
$"00FF808000FF808000FF808000FF808000FF8080000205388000388000DE9080"
$"00FF808000FF808000FF808220FF8050FF80A41FFF80503850DE905038A41F38"
$"8000388220388000020BC756B416C756B416CB01B416CB61B824CB66B477CB61"
$"BAACCB61BFBCCB61BD34CB61C244CB61C754CB61C4CCCB66CB01C756CB62CB01"
$"CB62C247CB62B828CB62BD38CB62B47ECB62B41DC754B41DCB01B41DC4CCB41D"
$"BFBCB41DC244B41DBD34B41DB824B41DBAACB41DB477B828B416B47EB416BD38"
$"B416C756B416C247B416C756B416020BC756B416C756B416CB01B416CB61B824"
$"CB66B477CB61BAACCB61BFBCCB61BD34CB61C244CB61C754CB61C4CCCB66CB01"
$"C756CB62CB01CB62C247CB62B828CB62BD38CB62B47ECB62B41DC754B41DCB01"
$"B41DC4CCB41DBFBCB41DC244B41DBD34B41DB824B41DBAACB41DB477B828B416"
$"B47EB416BD38B416C756B416C247B416C756B41606047FCB61C75ACB61C75ACB"
$"5FCA3AC913CB38CB19CB06CB1BCB06CB61C75ACB62CA3BCB61C75AC75A06047F"
$"C913B40BC913B40BCB19B43DCB61B7E8CB5FB508CB62B508C913B40BCB1BB43D"
$"C913B40BB40B0208B828B3FBB828B3FBB47EB3FBB41DB80AB41DB45CB41DBA91"
$"B41DBFA1B41DBD19B41DC229B41DC739B41DC4B1B41DCAE6B828CB47B47ECB47"
$"BAB0CB47BFBFCB47BD38CB47BFBFC383BFBFB3FCBFBFBBBFBD38B3FCB828B3FB"
$"BAB0B3FBB828B3FB0207BFBFB3FBBFBFB3FBBFBFBBBFBFBFCB47BFBFC383C247"
$"CB47C756CB47C4CFCB47CB01CB47CB61C739CB61CAE6CB61C229CB61B809CB61"
$"BD19CB61B45CC756B3FBCB01B3FBC4CFB3FBBFBFB3FBC247B3FBBFBFB3FB0205"
$"BFBFB430BFBFB430C027B430C0F8B430C090B430C0F8BBE3C0F8CB47C0F8C395"
$"C090CB47BFBFCB47C027CB47BFBFC395BFBFB430BFBFBBE3BFBFB4300206B41E"
$"BFA1B41EBFA1B41EC229B41EC739B41EC4B1B419CAE6B828CB47B47ECB47BAB0"
$"CB47BFBFCB47BD38CB47BFBFC765BFBFBFA1BFBFC383BBDFBFA1B41EBFA1B7FE"
$"BFA1B41EBFA10220BC54BB81BC54BB81BC3ABB9EBC0DBBD837BBB1BBC3BC39BB"
$"76BC59BB9DBC59BB49BC59BB16BBD5BB2CBC2FBB0CBBB1BB09BBA1BB0CBBABBA"
$"B9BA59BA95B995BA95B9C5BB26B89ABBD0B810BB96B810BBE4B810BC1DB829BC"
$"00B819BC44B840BC77B846BC5AB846BCB8B846BCE5B7D3BCE5B816BCE5B78CBC"
$"61B75CBCAEB75CBBD3B75CBA7CB928BB5DB7CFBA70B8EDBA58B877BA64B8B2BA"
$"2BB79CB9B1B75CBA08B75CB967B75CB839B7B9B901B775B826B7BFB816B7C6B8"
$"26B7BFB81AB7D6B823B7F6B81FB7E6B8A0B7D6B8D7B7D3B8B7B7D3B927B7D3B9"
$"67B8B1B93AB7F0B986B935B9C5BA3CB9A6B9B8B96DBABAB8BDBBB5B915BB37B8"
$"7ABC15B819BC4FB83DBC4FB806BC4FB7C6BC32B7E6BC45B79CBC1CB75FBC12B7"
$"7CBC12B71FBC12B6F2BC83B6F2BC42B6F2BCD6B792BD0AB72FBD0AB7F6BD0AB8"
$"BDBC2CB81DBCEDB914BBC2B9DEBAB0B95BBB61B9FEBB31BA3FBC32BA1FBBB1BA"
$"68BCD9BAF9BD0A33BD0ABB73BD0ABC81BB9BBBC7BCBCBC72BB92BC54BB81BC63"
$"BB8ABC54BB810220B6D3C6D6B6D3C6D6B6E1C6D6B6FDC6D6B6EFC6D6B700C70C"
$"B72DC747B710C731B749C75CB7B6C767B777C767B81DC767B8ECC767B885C767"
$"B8EBC74DB8EAC71AB8EBC734B872C702B7A1C651B804C6BFB73DC5E3B70CC4B1"
$"B70CC558B70CC3F7B7DAC2D5B751C358B865C252B9F8C210B91AC210BAD0C210"
$"BC0AC2CBBB81C24FBC93C347BCD7C4A6BCD7C3E5BCD7C543BC57C637BCACC5C9"
$"BC02C6A4BAFEC71ABB8FC6F0BAFAC734BAF2C767BAF6C74DBB5BC767BC2EC767"
$"BBC5C767BC76C767BCBCC73EBCA5C759BCD3C722BCE1C6D6BCE0C700BCEFC6D6"
$"BD0BC6D6BCFDC6D6BD0BC74DBD0BC83ABD0BC7C3BC37C83ABA8FC83ABB63C83A"
$"BA99C7C8BAADC6E3BAA3C755BB70C6A5BBD2C4C4BBD2C5F0BBD2C400BB42C300"
$"BBA2C369BAE2C298B9F1C263BA72C263B968C263B89DC30BB8F7C29BB843C379"
$"B817C4B4B817C407B817C531B853C60AB82BC5A3B87BC671B939C6E3B8C8C6B9"
$"B941C755B94FC83AB948C7C8B87BC83AB6D3C83AB7A7C83AB6D3C7C3B6D3C6D6"
$"B6D3C74DB6D3C6D60209B828B3FBB828B3FBB47EB3FBB41EB80AB419B45CB41E"
$"B81BB41EB83FB41EB82DB419B491B828B431B47EB431BD38B431C756B431C247"
$"B431CB01B431CB61B83FCB61B491CB61B82DCB61B80ACB61B81BCB61B45CC756"
$"B3FBCB01B3FBC247B3FBB828B3FBBD38B3FBB828B3FB0209B829CB46B829CB46"
$"B47ECB46B41EC738B419CAE6B41EC726B41EC703B41EC715B419CAB1B829CB11"
$"B47ECB11BD38CB11C756CB11C247CB11CB01CB11CB61C703CB61CAB1CB61C715"
$"CB61C738CB61C726CB61CAE6C756CB46CB01CB46C247CB46B829CB46BD38CB46"
$"B829CB460205C2ACC0BBC2ACC0BBC2ACC11AC2ACC1D6C2ACC178C498C1D6C870"
$"C1D6C684C1D6C870C178C870C0BBC870C11AC684C0BBC2ACC0BBC498C0BBC2AC"
$"C0BB0205C2ACBD6DC2ACBD6DC2ACBDCBC2ACBE87C2ACBE29C498BE87C870BE87"
$"C684BE87C870BE29C870BD6DC870BDCBC684BD6DC2ACBD6DC498BD6DC2ACBD6D"
$"110A000100000A000101000A000102000A000103000A000104000A010105000A"
$"0A010512401183000000000000401189C02FBBC02FEA01158200040A02010600"
$"0A0303070809000A04010A000A05010B000A06010C000A07010D000A07010E00"
$"0A08010F000A020110000A0902111200"
};

View File

@@ -0,0 +1,88 @@
SUMMARY="The ultimate desktop calculator"
DESCRIPTION="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 (Qt, and CLI)."
HOMEPAGE="https://qalculate.github.io/"
COPYRIGHT="2003-2006, 2021 Hanna Knutsson"
LICENSE="GNU GPL v2"
REVISION="1"
SOURCE_URI="https://github.com/Qalculate/qalculate-qt/releases/download/v$portVersion/qalculate-qt-$portVersion.tar.gz"
CHECKSUM_SHA256="f14c2d8677b650fd03d8b96d82bcedbae406015f2f871222f94b827c5a0aeef6"
SOURCE_DIR="qalculate-qt-$portVersion"
ADDITIONAL_FILES="qalculate_qt.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
qalculate_qt$secondaryArchSuffix = $portVersion
app:qalculate_qt = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libqalculate$secondaryArchSuffix
lib:libQt5Core$secondaryArchSuffix
lib:libQt5Gui$secondaryArchSuffix
lib:libQt5Network$secondaryArchSuffix
lib:libQt5Widgets$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libGL$secondaryArchSuffix
devel:libqalculate$secondaryArchSuffix
devel:libQt5Core$secondaryArchSuffix
devel:libQt5Gui$secondaryArchSuffix
devel:libQt5Network$secondaryArchSuffix
devel:libQt5Widgets$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:gcc$secondaryArchSuffix
cmd:lrelease$secondaryArchSuffix >= 5
cmd:make
cmd:pkg_config$secondaryArchSuffix
cmd:qmake$secondaryArchSuffix >= 5
"
defineDebugInfoPackage qalculate_qt$secondaryArchSuffix \
$appsDir/Qalculate
BUILD()
{
qmake .
make $jobArgs
}
INSTALL()
{
mkdir -p $appsDir
cp qalculate-qt $appsDir/Qalculate
local APP_SIGNATURE="application/x-vnd.qt5-qalculate_qt"
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
local LONG_INFO="$SUMMARY"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/qalculate_qt.rdef.in > qalculate_qt.rdef
addResourcesToBinaries qalculate_qt.rdef $appsDir/Qalculate
addAppDeskbarSymlink $appsDir/Qalculate
}
TEST()
{
cd build
make test
}

View File

@@ -0,0 +1,121 @@
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-2021 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="2a2b6f8de4b43acdff98efdda338436db1a3f7ecd994e1bc2a422a65fba03479"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libVersion="22.14.2"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
libqalculate$secondaryArchSuffix = $portVersion
lib:libqalculate$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
cmd:gnuplot
lib:libcurl$secondaryArchSuffix
lib:libgettextpo$secondaryArchSuffix
lib:libgmp$secondaryArchSuffix
lib:libhistory$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libicudata$secondaryArchSuffix
lib:libicui18n$secondaryArchSuffix >= 66
lib:libicuuc$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libmpfr$secondaryArchSuffix >= 6
lib:libreadline$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
"
PROVIDES_devel="
libqalculate${secondaryArchSuffix}_devel = $portVersion
devel:libqalculate$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
libqalculate$secondaryArchSuffix == $portVersion base
devel:libgmp$secondaryArchSuffix
devel:libmpfr$secondaryArchSuffix >= 6
"
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$secondaryArchSuffix = $portVersion
"
REQUIRES_tools="
libqalculate$secondaryArchSuffix == $portVersion base
haiku$secondaryArchSuffix
$REQUIRES
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcurl$secondaryArchSuffix
devel:libgettextlib$secondaryArchSuffix
devel:libgmp$secondaryArchSuffix
devel:libhistory$secondaryArchSuffix >= 8
devel:libicudata$secondaryArchSuffix
devel:libicui18n$secondaryArchSuffix >= 66
devel:libiconv$secondaryArchSuffix
devel:libicuuc$secondaryArchSuffix >= 66
devel:libintl$secondaryArchSuffix
devel:libmpfr$secondaryArchSuffix >= 6
devel:libreadline$secondaryArchSuffix >= 8
devel:libxml2$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:gcc$secondaryArchSuffix
cmd:intltoolize
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
defineDebugInfoPackage libqalculate$secondaryArchSuffix \
$libDir/libqalculate.so.$libVersion \
"$(getPackagePrefix tools)/$relativeBinDir"/qalc
BUILD()
{
runConfigure ./configure \
--disable-static
make $jobArgs
}
INSTALL()
{
make install
rm $libDir/libqalculate.la
prepareInstalledDevelLib libqalculate
fixPkgconfig
# devel package
packageEntries devel \
$developDir
packageEntries tools \
$binDir \
$manDir
}
TEST()
{
make check
}