mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-08 21:00:05 +02:00
217 lines
7.0 KiB
Bash
217 lines
7.0 KiB
Bash
SUMMARY="KDE Frontend to mathematical applications"
|
|
DESCRIPTION="Cantor is a KDE Application aimed to provide a nice Interface for doing Mathematics \
|
|
and Scientific Computing. It doesn't implement its own Computation Logic, but instead is built \
|
|
around different Backends.
|
|
|
|
Available Backends
|
|
* Julia Programming Language: http://julialang.org/
|
|
* KAlgebra for Calculation and Plotting: http://edu.kde.org/kalgebra/
|
|
* Lua Programming Language: http://lua.org/
|
|
* Maxima Computer Algebra System: http://maxima.sourceforge.net/
|
|
* Octave for Numerical Computation: https://gnu.org/software/octave/
|
|
* Python 2 Programming Language: http://python.org/
|
|
* Python 3 Programming Language: http://python.org/
|
|
* Qalculate Desktop Calculator: http://qalculate.sourceforge.net/
|
|
* R Project for Statistical Computing: http://r-project.org/
|
|
* Sage Mathematics Software: http://sagemath.org/
|
|
* Scilab for Numerical Computation: http://scilab.org/"
|
|
HOMEPAGE="https://apps.kde.org/cantor/"
|
|
COPYRIGHT="2010-2025 KDE Organisation
|
|
2016 Filipe Saraiva
|
|
2009-2015 Alexander Rieder"
|
|
LICENSE="GNU GPL v2"
|
|
REVISION="1"
|
|
SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/cantor-$portVersion.tar.xz"
|
|
CHECKSUM_SHA256="072a3bbe238654404f17fef51c4e0aadb1b7862eed8eb8f9fed7d42628802d89"
|
|
SOURCE_DIR="cantor-$portVersion"
|
|
PATCHES="cantor-$portVersion.patchset"
|
|
ADDITIONAL_FILES="cantor.rdef.in"
|
|
|
|
ARCHITECTURES="all !x86_gcc2"
|
|
SECONDARY_ARCHITECTURES="x86"
|
|
|
|
libVersion="$portVersion"
|
|
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
|
|
|
|
PROVIDES="
|
|
cantor$secondaryArchSuffix = $portVersion
|
|
app:Cantor = $portVersion
|
|
cmd:cantor$secondaryArchSuffix = $portVersion
|
|
cmd:cantor_pythonserver$secondaryArchSuffix = $portVersion
|
|
cmd:cantor_rserver$secondaryArchSuffix = $portVersion
|
|
cmd:cantor_scripteditor$secondaryArchSuffix = $portVersion
|
|
lib:cantor_pythonbackend$secondaryArchSuffix
|
|
lib:libcantor_config$secondaryArchSuffix
|
|
lib:libcantorlibs$secondaryArchSuffix = $libVersionCompat
|
|
"
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffix
|
|
lib:libGL$secondaryArchSuffix
|
|
lib:libAnalitza$secondaryArchSuffix
|
|
lib:libgfortran$secondaryArchSuffix
|
|
lib:libluajit_5.1$secondaryArchSuffix
|
|
lib:libmarkdown$secondaryArchSuffix
|
|
lib:libpoppler$secondaryArchSuffix
|
|
lib:libpoppler_qt6$secondaryArchSuffix
|
|
lib:libpython3.10$secondaryArchSuffix
|
|
lib:libqalculate$secondaryArchSuffix
|
|
lib:libRmath$secondaryArchSuffix
|
|
lib:libspectre$secondaryArchSuffix
|
|
lib:libxml2$secondaryArchSuffix
|
|
lib:libxslt$secondaryArchSuffix
|
|
# KF6
|
|
lib:libKF6Archive$secondaryArchSuffix
|
|
lib:libKF6Attica$secondaryArchSuffix
|
|
lib:libKF6Bookmarks$secondaryArchSuffix
|
|
lib:libKF6ColorScheme$secondaryArchSuffix
|
|
lib:libKF6Completion$secondaryArchSuffix
|
|
lib:libKF6ConfigCore$secondaryArchSuffix
|
|
lib:libKF6ConfigWidgets$secondaryArchSuffix
|
|
lib:libKF6CoreAddons$secondaryArchSuffix
|
|
lib:libKF6Crash$secondaryArchSuffix
|
|
lib:libKF6GuiAddons$secondaryArchSuffix
|
|
lib:libKF6I18n$secondaryArchSuffix
|
|
lib:libKF6IconThemes$secondaryArchSuffix
|
|
lib:libKF6ItemViews$secondaryArchSuffix
|
|
lib:libKF6KIOCore$secondaryArchSuffix
|
|
lib:libKF6JobWidgets$secondaryArchSuffix
|
|
lib:libKF6NewStuffCore$secondaryArchSuffix
|
|
lib:libKF6Parts$secondaryArchSuffix
|
|
lib:libKF6Service$secondaryArchSuffix
|
|
lib:libKF6Solid$secondaryArchSuffix
|
|
lib:libKF6SyntaxHighlighting$secondaryArchSuffix
|
|
lib:libKF6TextEditor$secondaryArchSuffix
|
|
lib:libKF6WidgetsAddons$secondaryArchSuffix
|
|
lib:libKF6XmlGui$secondaryArchSuffix
|
|
# Qt6
|
|
lib:libQt6Core$secondaryArchSuffix
|
|
lib:libQt6Gui$secondaryArchSuffix
|
|
lib:libQt6Network$secondaryArchSuffix
|
|
lib:libQt6Svg$secondaryArchSuffix
|
|
lib:libQt6Widgets$secondaryArchSuffix
|
|
lib:libQt6Xml$secondaryArchSuffix
|
|
"
|
|
|
|
PROVIDES_devel="
|
|
cantor${secondaryArchSuffix}_devel = $portVersion
|
|
devel:libcantorlibs$secondaryArchSuffix = $libVersionCompat
|
|
"
|
|
REQUIRES_devel="
|
|
cantor$secondaryArchSuffix == $portVersion base
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
shared_mime_info$secondaryArchSuffix
|
|
devel:libAnalitza$secondaryArchSuffix >= 9.0.0
|
|
devel:libluajit_5.1$secondaryArchSuffix
|
|
devel:libmarkdown$secondaryArchSuffix
|
|
devel:libpoppler$secondaryArchSuffix >= 148
|
|
devel:libpoppler_Qt6$secondaryArchSuffix >= 3.10
|
|
devel:libqalculate$secondaryArchSuffix
|
|
devel:libRmath$secondaryArchSuffix
|
|
devel:libspectre$secondaryArchSuffix
|
|
devel:libxml2$secondaryArchSuffix
|
|
devel:libxslt$secondaryArchSuffix
|
|
# KF6
|
|
extra_cmake_modules$secondaryArchSuffix
|
|
devel:libKF6Archive$secondaryArchSuffix
|
|
devel:libKF6Completion$secondaryArchSuffix
|
|
devel:libKF6ConfigCore$secondaryArchSuffix
|
|
devel:libKF6CoreAddons$secondaryArchSuffix
|
|
devel:libKF6Crash$secondaryArchSuffix
|
|
devel:libKF6GuiAddons$secondaryArchSuffix
|
|
devel:libKF6I18n$secondaryArchSuffix
|
|
devel:libKF6IconThemes$secondaryArchSuffix
|
|
devel:libKF6KIOCore$secondaryArchSuffix
|
|
devel:libKF6NewStuffCore$secondaryArchSuffix
|
|
devel:libKF6Parts$secondaryArchSuffix
|
|
devel:libKF6SyntaxHighlighting$secondaryArchSuffix
|
|
devel:libKF6TextEditor$secondaryArchSuffix
|
|
devel:libKF6TextWidgets$secondaryArchSuffix
|
|
devel:libKF6XmlGui$secondaryArchSuffix
|
|
# Qt6
|
|
devel:libQt6Core$secondaryArchSuffix
|
|
devel:libQt6Core5Compat$secondaryArchSuffix
|
|
devel:libQt6Svg$secondaryArchSuffix
|
|
# required for embedded documentation
|
|
# devel:libQt6Help$secondaryArchSuffix
|
|
# devel:libQt6Webengine$secondaryArchSuffix
|
|
"
|
|
BUILD_PREREQUIRES="
|
|
cmd:cmake
|
|
cmd:g++$secondaryArchSuffix
|
|
cmd:ninja
|
|
cmd:msgfmt$secondaryArchSuffix
|
|
cmd:msgmerge$secondaryArchSuffix
|
|
cmd:pkg_config$secondaryArchSuffix
|
|
cmd:python3.10
|
|
cmd:r
|
|
cmd:which
|
|
"
|
|
|
|
TEST_REQUIRES="
|
|
qthaikuplugins$secondaryArchSuffix
|
|
"
|
|
|
|
BUILD()
|
|
{
|
|
cmake -B build -S . -G Ninja -DCMAKE_BUILD_TYPE=Release \
|
|
$cmakeDirArgs \
|
|
-DCMAKE_INSTALL_BINDIR=$prefix/bin \
|
|
-DENABLE_EMBEDDED_DOCUMENTATION=OFF \
|
|
-DBUILD_DOC=OFF \
|
|
-DCMAKE_SKIP_RPATH=YES \
|
|
-DBUILD_TESTING=OFF \
|
|
-Wno-dev
|
|
|
|
ninja -v -C build $jobArgs
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
ninja -C build install
|
|
|
|
# don't mess with shared_mime_info files
|
|
rm -rf $dataDir/mime/{aliases,generic-icons,globs,globs2,icons,magic}
|
|
rm -rf $dataDir/mime/{mime.cache,subclasses,treemagic,types,version,XMLnamespaces}
|
|
# cleanup
|
|
rm -rf $dataDir/{applications,config.kcfg,knsrcfiles,metainfo}
|
|
|
|
mkdir -p $appsDir
|
|
mv $prefix/bin/cantor $appsDir/Cantor
|
|
ln -s $appsDir/Cantor $prefix/bin/cantor
|
|
|
|
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
|
|
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
|
|
local MINOR="`echo "$portVersion" | cut -d. -f3`"
|
|
local APP_NAME="Cantor"
|
|
local LONG_INFO="$SUMMARY"
|
|
local APP_SIGNATURE="application/x-vnd.kde-cantor"
|
|
sed \
|
|
-e "s|@MAJOR@|$MAJOR|" \
|
|
-e "s|@MIDDLE@|$MIDDLE|" \
|
|
-e "s|@MINOR@|$MINOR|" \
|
|
-e "s|@LONG_INFO@|$LONG_INFO|" \
|
|
-e "s|@APP_NAME@|$APP_NAME|" \
|
|
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
|
|
$portDir/additional-files/cantor.rdef.in > cantor.rdef
|
|
|
|
addResourcesToBinaries cantor.rdef $appsDir/Cantor
|
|
addAppDeskbarSymlink $appsDir/Cantor
|
|
|
|
prepareInstalledDevelLib \
|
|
libcantorlibs
|
|
|
|
packageEntries devel \
|
|
$developDir \
|
|
$libDir/cmake
|
|
}
|
|
|
|
TEST()
|
|
{
|
|
export LIBRARY_PATH="$sourceDir/build/src/lib${LIBRARY_PATH:+:$LIBRARY_PATH}"
|
|
export LIBRARY_PATH="$sourceDir/build/src/lib/test${LIBRARY_PATH:+:$LIBRARY_PATH}"
|
|
make -C build test
|
|
}
|