Files
haikuports/sci-visualization/labplot/labplot-2.11.1.recipe
2024-07-27 18:45:25 +02:00

214 lines
6.9 KiB
Bash

SUMMARY="Scientific data analysis and visualisation based on KDE Frameworks"
DESCRIPTION="FREE, open source and cross-platform Data Visualization and Analysis software \
accessible to everyone.
Feature highlights:
* High-quality data visualization and plotting with few clicks
* Reliable and easy data analysis and statistics, no coding required
* Intuitive and fast computing with interactive notebooks
* Effortless data extraction from images
* Smooth data import and export to and from multiple formats
* Available for Windows, macOS, Linux and FreeBSD."
HOMEPAGE="https://invent.kde.org/education/labplot"
COPYRIGHT="2010-2024 KDE Organisation"
LICENSE="GNU GPL v2"
REVISION="2"
SOURCE_URI="https://download.kde.org/stable/labplot/labplot-$portVersion.tar.xz"
CHECKSUM_SHA256="53aa6ac8df39324d99463e60d88de25346b3928da5bb0f210b0563489046679d"
SOURCE_DIR="labplot-$portVersion"
ADDITIONAL_FILES="labplot2.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
labplot$secondaryArchSuffix = $portVersion
cmd:labplot2$secondaryArchSuffix = $portVersion
lib:liblabplot$secondaryArchSuffix
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcerf$secondaryArchSuffix
lib:libcfitsio$secondaryArchSuffix
lib:libfftw3f$secondaryArchSuffix
lib:libgsl$secondaryArchSuffix
lib:libgslcblas$secondaryArchSuffix
lib:libhdf5$secondaryArchSuffix
lib:liblz4$secondaryArchSuffix
lib:libmarkdown$secondaryArchSuffix
lib:libmatio$secondaryArchSuffix
lib:libnetcdf$secondaryArchSuffix
lib:liborigin$secondaryArchSuffix
lib:libpoppler$secondaryArchSuffix
lib:libpoppler_qt5$secondaryArchSuffix
lib:libspectre$secondaryArchSuffix
lib:libxcb$secondaryArchSuffix
lib:libz$secondaryArchSuffix
# KF5
lib:libcantorlibs$secondaryArchSuffix
lib:libKF5Archive$secondaryArchSuffix
lib:libKF5Attica$secondaryArchSuffix
lib:libKF5AuthCore$secondaryArchSuffix
lib:libKF5Bookmarks$secondaryArchSuffix
lib:libKF5Codecs$secondaryArchSuffix
lib:libKF5Completion$secondaryArchSuffix
lib:libKF5ConfigCore$secondaryArchSuffix
lib:libKF5ConfigGui$secondaryArchSuffix
lib:libKF5ConfigWidgets$secondaryArchSuffix
lib:libKF5CoreAddons$secondaryArchSuffix
lib:libKF5Crash$secondaryArchSuffix
lib:libKF5I18n$secondaryArchSuffix
lib:libKF5IconThemes$secondaryArchSuffix
lib:libKF5ItemViews$secondaryArchSuffix
lib:libKF5KIOCore$secondaryArchSuffix
lib:libKF5JobWidgets$secondaryArchSuffix
lib:libKF5NewStuffCore$secondaryArchSuffix
lib:libKF5Parts$secondaryArchSuffix
lib:libKF5Purpose$secondaryArchSuffix
lib:libKF5Service$secondaryArchSuffix
lib:libKF5Solid$secondaryArchSuffix
lib:libKF5SonnetCore$secondaryArchSuffix
lib:libKF5SyntaxHighlighting$secondaryArchSuffix
lib:libKF5TextWidgets$secondaryArchSuffix
lib:libKF5WidgetsAddons$secondaryArchSuffix
lib:libKF5WindowSystem$secondaryArchSuffix
lib:libKF5XmlGui$secondaryArchSuffix
lib:libKUserFeedbackCore$secondaryArchSuffix
# Qt5
lib:libQt5Core$secondaryArchSuffix
lib:libQt5DBus$secondaryArchSuffix
lib:libQt5Gui$secondaryArchSuffix
lib:libQt5Network$secondaryArchSuffix
lib:libQt5PrintSupport$secondaryArchSuffix
lib:libQt5SerialPort$secondaryArchSuffix
lib:libQt5Sql$secondaryArchSuffix
lib:libQt5Svg$secondaryArchSuffix
lib:libQt5Xml$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:eigen$secondaryArchSuffix
devel:libcerf$secondaryArchSuffix
devel:libcfitsio$secondaryArchSuffix >= 10.4
devel:libexecinfo$secondaryArchSuffix
devel:libfftw3f$secondaryArchSuffix
devel:libgsl$secondaryArchSuffix
devel:libhdf5$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:liblz4$secondaryArchSuffix
devel:libmarkdown$secondaryArchSuffix
devel:libmatio$secondaryArchSuffix
devel:libnetcdf$secondaryArchSuffix
devel:liborigin$secondaryArchSuffix
devel:libpoppler$secondaryArchSuffix >= 131.0.0
devel:libpoppler_qt5$secondaryArchSuffix >= 1.33.0
devel:libspectre$secondaryArchSuffix
devel:libssp_nonshared$secondaryArchSuffix
devel:libxcb$secondaryArchSuffix
devel:libz$secondaryArchSuffix
# KF5
extra_cmake_modules$secondaryArchSuffix
devel:libcantorlibs$secondaryArchSuffix
devel:libKF5Archive$secondaryArchSuffix
devel:libKF5Auth$secondaryArchSuffix
devel:libKF5Attica$secondaryArchSuffix
devel:libKF5Bookmarks$secondaryArchSuffix
devel:libKF5Completion$secondaryArchSuffix
devel:libKF5Codecs$secondaryArchSuffix
devel:libKF5ConfigCore$secondaryArchSuffix
devel:libKF5ConfigWidgets$secondaryArchSuffix
devel:libKF5CoreAddons$secondaryArchSuffix
devel:libKF5Crash$secondaryArchSuffix
devel:libKF5I18n$secondaryArchSuffix
devel:libKF5IconThemes$secondaryArchSuffix
devel:libKF5KIOCore$secondaryArchSuffix
devel:libKF5ItemViews$secondaryArchSuffix
devel:libKF5JobWidgets$secondaryArchSuffix
devel:libKF5NewStuffCore$secondaryArchSuffix
devel:libKF5Parts$secondaryArchSuffix
devel:libKF5Purpose$secondaryArchSuffix
devel:libKF5Service$secondaryArchSuffix
devel:libKF5Solid$secondaryArchSuffix
devel:libKF5SonnetUi$secondaryArchSuffix
devel:libKF5SyntaxHighlighting$secondaryArchSuffix
devel:libKF5TextWidgets$secondaryArchSuffix
devel:libKF5WidgetsAddons$secondaryArchSuffix
devel:libKF5WindowSystem$secondaryArchSuffix
devel:libKF5XmlGui$secondaryArchSuffix
devel:libKUserFeedbackCore$secondaryArchSuffix
# Qt5
devel:libQt5Core$secondaryArchSuffix
devel:libQt5Xml$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:bison
cmd:cmake
cmd:g++$secondaryArchSuffix
cmd:make
cmd:msgfmt
cmd:msgmerge
cmd:pkg_config$secondaryArchSuffix
cmd:qdbuscpp2xml$secondaryArchSuffix >= 5
"
TEST_REQUIRES="
qthaikuplugins$secondaryArchSuffix
"
PATCH()
{
# disable docs
sed -e '/ DocTools/ s/^#*/#/' -i CMakeLists.txt
sed -e '/add_subdirectory(doc)/ s/^#*/#/' -i CMakeLists.txt
}
BUILD()
{
cmake -Bbuild -S. $cmakeDirArgs \
-DCMAKE_BUILD_TYPE=Release \
-DKDE_INSTALL_PLUGINDIR=$addOnsDir/Qt5 \
-DKDE_INSTALL_QMLDIR=$dataDir/Qt5/qml \
-DECM_DIR=/system/data/cmake/Modules/ECM/cmake \
-DBUILD_WITH_QT6=OFF \
-DENABLE_READSTAT=OFF \
-DBUILD_TESTING=OFF \
-DENABLE_TESTS=OFF -Wno-dev
make -C build $jobArgs
}
INSTALL()
{
make -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}
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
local APP_NAME="LabPlot2"
local LONG_INFO="$SUMMARY"
local APP_SIGNATURE="application/x-vnd.labplot2"
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/labplot2.rdef.in > labplot2.rdef
addResourcesToBinaries labplot2.rdef $binDir/labplot2
addAppDeskbarSymlink $binDir/labplot2 LabPlot
}
TEST()
{
# 95% tests passed, 3 tests failed out of 65
ctest --test-dir build --output-on-failure
}