diff --git a/kde-apps/cantor/additional-files/cantor.rdef.in b/kde-apps/cantor/additional-files/cantor.rdef.in new file mode 100644 index 000000000..bca95f9de --- /dev/null +++ b/kde-apps/cantor/additional-files/cantor.rdef.in @@ -0,0 +1,53 @@ +resource app_flags B_SINGLE_LAUNCH; + +resource app_version { + major = @MAJOR@, + middle = @MIDDLE@, + minor = @MINOR@, + + variety = B_APPV_FINAL, + internal = 0, + + short_info = "@APP_NAME@", + long_info = "@LONG_INFO@" +}; + +resource app_signature "@APP_SIGNATURE@"; + +resource vector_icon { + $"6E6369660702000602000000BD55553DDAAA000000D236614A000000BD8D48FF" + $"E8B97102000602BCDD55BD00003C4AAABDC0004B3EB442000000343B40FF555E" + $"6303AA7F4105FF03007AD9020002023AAA9F3AAAAABAAAAA3AAA9F48AAAF4AAA" + $"A700383E51FFFF655C6F0005D60C020528B52028B520BCBDB520C9D7B520C34A" + $"B520C9D7BC35C9D7CA60C9D7C34AC34ACA6028CA60BCBDCA6028C34A28B52028" + $"BC3528B5200205B74028B74028BD1828C8C8284828C8C838C8C858C8C8484858" + $"B74058BD1858B74048B74028B74038B7402802052CB6B72CB6B7BD45B6B7C83F" + $"B6B7C2C2B6B7C83FBCBDC83FC8C8C83FC2C2C2C2C8C82CC8C8BD45C8C82CC2C2" + $"2CB6B72CBCBD2CB6B70205B74028B74028B74038B74058B74048BD1858C8C858" + $"4858C8C848C8C828C8C8384828B74028BD1828B740280205C50FC83FC50FC83F" + $"C5C5C83FC730C83FC67AC83FC730C86DC730C8C8C730C89AC67AC8C8C50FC8C8" + $"C5C5C8C8C50FC89AC50FC83FC50FC86DC50FC83F0205C268C83FC268C83FC31D" + $"C83F4CC83FC3D2C83F4CC86D4CC8C84CC89AC3D2C8C8C268C8C8C31DC8C8C268" + $"C89AC268C83FC268C86DC268C83F020FC400BD18C400BD18C3D2BD72C3773CC3" + $"A5BDCDC377BDFAC377BD9FC377BDCDC23ABD9F40BD9FC0FDBD9FBF0ABEDDBD9F" + $"44BE55C01ABD7244BD1844BD4544BCEAC0FD38C047BCBDC0A2BC35C047BB80C0" + $"47BBDAC047BC62C12A3C48BD45C20DBD4548BB8048BC6248BDFAC56A48CA60C0" + $"75C7E5C4B4CA60C83ECA60C679CA60C83FCA60C83F50C83FC87AC83F4CC83F44" + $"C83F48C6D5BFEDC400BD18C56ABE82C400BD180207BF39C376BF39C376BF38C3" + $"76BF37C3BABF37C394BF37C3E0BF39C3FEBF38C3FEBF93C3FEC046C3FEBFECC3" + $"FEC047C3FEC048C3BAC048C3E0C048C394C046C376C047C376BFECC376BF39C3" + $"76BF93C376BF39C3760207BB81C266BB81C266BB80C266BB80C2AABB80C284BB" + $"80C2D0BB81C2EEBB80C2EEBE55C2EEC3FEC2EEC12AC2EEC3FFC2EEC400C2AAC4" + $"00C2D0C400C284C3FEC266C3FFC266C12AC266BB81C266BE55C266BB81C26600" + $"0544BF3744BF37C1EEBF37C268C047C268BFB1C268C0DE4444C1EE44C0C144C0" + $"47C047C047C0DEC047BFB144BF37C0C1BF3744BF37000A44BEB044BEB0C075BE" + $"B040C04740BF6540C12A44C1DFC075C1DFC1C1C1DFC268C176C21FC1B7C268C1" + $"99C268C1DFC268C1BCC295C1DF48C1DFC2C2C1DF48C0D048BEB04840C2C2BEB0" + $"C268BEB0C295BEB0C268BED3C268BF19C268BEF6C21FBED844BEB0C1C1BEB044" + $"BEB0020DC400BD18C400BD18C295BD1840BD18C12ABD18BEF6BE75BD64C12EBE" + $"2DBFD1BD1DC0B43840BCD7C03ABC3540BB8040BBDB40BB80BFEDBB80C047BB80" + $"C01ABBC1C047BC42C047BC02C047BCA3C0EFBD64C23EBD04C196BE48C0B4C00F" + $"BD9FBF2BBF2AC132BD9FC378BD9FC255BD9FC378BDCDC3783CC378BDFAC3A63C" + $"C4003CC3D33CC400BDCDC400BD18C400BD72C400BD18070A000100000A010101" + $"000A02020203000A030104000A040105000A050106000A06050708090A0B00" +}; diff --git a/kde-apps/cantor/cantor-23.08.4.recipe b/kde-apps/cantor/cantor-23.08.4.recipe new file mode 100644 index 000000000..87d668b3c --- /dev/null +++ b/kde-apps/cantor/cantor-23.08.4.recipe @@ -0,0 +1,201 @@ +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://invent.kde.org/education/cantor" +COPYRIGHT="2016 Filipe Saraiva + 2009-2015 Alexander Rieder" +LICENSE="GNU GPL v2" +REVISION="1" +SOURCE_URI="$HOMEPAGE/-/archive/v$portVersion/cantor-v$portVersion.tar.bz2" +CHECKSUM_SHA256="a3385f45fb07f1ed1296e9ffe207cf53dd42c9fa9fd9d6ef98ca28551e9d570e" +SOURCE_DIR="cantor-v$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 + cmd:cantor$secondaryArchSuffix = $portVersion + cmd:cantor_pythonserver$secondaryArchSuffix = $portVersion + cmd:cantor_rserver$secondaryArchSuffix = $portVersion + cmd:cantor_scripteditor$secondaryArchSuffix = $portVersion + lib:cantor_pythonbackend$secondaryArchSuffix = $libVersionCompat + lib:libcantor_config$secondaryArchSuffix = $libVersionCompat + lib:libcantorlibs$secondaryArchSuffix = $libVersionCompat + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libgfortran$secondaryArchSuffix + lib:libpoppler$secondaryArchSuffix + lib:libpoppler_qt5$secondaryArchSuffix + # KF5 + lib:libAnalitza$secondaryArchSuffix + lib:libKF5Archive$secondaryArchSuffix + lib:libKF5Attica$secondaryArchSuffix + lib:libKF5Auth$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:libKF5NewStuff$secondaryArchSuffix + lib:libKF5Parts$secondaryArchSuffix + lib:libKF5Service$secondaryArchSuffix + lib:libKF5Solid$secondaryArchSuffix + lib:libKF5SonnetCore$secondaryArchSuffix + lib:libKF5SyntaxHighlighting$secondaryArchSuffix + lib:libKF5TextEditor$secondaryArchSuffix + lib:libKF5TextWidgets$secondaryArchSuffix + lib:libKF5WidgetsAddons$secondaryArchSuffix + lib:libKF5WindowSystem$secondaryArchSuffix + lib:libKF5XmlGui$secondaryArchSuffix + # Qt5 + lib:libQt5Core$secondaryArchSuffix + lib:libQt5DBus$secondaryArchSuffix + lib:libQt5Gui$secondaryArchSuffix + lib:libQt5Network$secondaryArchSuffix + lib:libQt5Svg$secondaryArchSuffix + lib:libQt5Webengine$secondaryArchSuffix + lib:libQt5Widgets$secondaryArchSuffix + lib:libQt5Xml$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:libluajit_5.1$secondaryArchSuffix + devel:libpoppler$secondaryArchSuffix + devel:libpoppler_qt5$secondaryArchSuffix + devel:libqalculate$secondaryArchSuffix + # KF5 + extra_cmake_modules$secondaryArchSuffix >= 5.93.0 + devel:libAnalitza$secondaryArchSuffix + devel:libKF5Auth$secondaryArchSuffix + devel:libKF5Archive$secondaryArchSuffix + devel:libKF5Attica$secondaryArchSuffix + devel:libKF5Bookmarks$secondaryArchSuffix + devel:libKF5Codecs$secondaryArchSuffix + devel:libKF5Completion$secondaryArchSuffix + devel:libKF5ConfigCore$secondaryArchSuffix + devel:libKF5ConfigWidgets$secondaryArchSuffix + devel:libKF5CoreAddons$secondaryArchSuffix + devel:libKF5Crash$secondaryArchSuffix + devel:libKF5I18n$secondaryArchSuffix + devel:libKF5IconThemes$secondaryArchSuffix + devel:libKF5KIOCore$secondaryArchSuffix + devel:libKF5JobWidgets$secondaryArchSuffix + devel:libKF5ItemViews$secondaryArchSuffix + devel:libKF5NewStuff$secondaryArchSuffix + devel:libKF5Parts$secondaryArchSuffix + devel:libKF5Service$secondaryArchSuffix + devel:libKF5Solid$secondaryArchSuffix + devel:libKF5SonnetCore$secondaryArchSuffix + devel:libKF5SyntaxHighlighting$secondaryArchSuffix + devel:libKF5TextEditor$secondaryArchSuffix + devel:libKF5TextWidgets$secondaryArchSuffix + devel:libKF5WidgetsAddons$secondaryArchSuffix + devel:libKF5WindowSystem$secondaryArchSuffix + devel:libKF5XmlGui$secondaryArchSuffix + # Qt5 + devel:libQt5Core$secondaryArchSuffix + devel:libQt5Help$secondaryArchSuffix + devel:libQt5Webengine$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:g++$secondaryArchSuffix + cmd:make + cmd:msgfmt + cmd:msgmerge + cmd:pkg_config$secondaryArchSuffix + cmd:python3 + cmd:r + " + +TEST_REQUIRES=" + qthaikuplugins$secondaryArchSuffix + " + +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 -Wno-dev +# false + make -C build $jobArgs +} + +INSTALL() +{ + make -C build install + + 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.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 $binDir/cantor + + prepareInstalledDevelLib \ + libcantorlibs + + packageEntries devel \ + $developDir \ + $libDir/cmake + + addAppDeskbarSymlink $binDir/cantor Cantor +} + +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 +} diff --git a/kde-apps/cantor/patches/cantor-23.08.4.patchset b/kde-apps/cantor/patches/cantor-23.08.4.patchset new file mode 100644 index 000000000..968724cd9 --- /dev/null +++ b/kde-apps/cantor/patches/cantor-23.08.4.patchset @@ -0,0 +1,62 @@ +From 17c0ecf1e54f8e7fe7f716704a28a1c38cefb3c3 Mon Sep 17 00:00:00 2001 +From: Begasus +Date: Wed, 10 Jan 2024 15:47:05 +0100 +Subject: Disable DocTools + + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bf775a3..e85d91b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -45,7 +45,6 @@ find_package(KF5 ${KF5_MIN_VERSION} REQUIRED + Config + Crash + Completion +- DocTools + NewStuff + IconThemes + TextEditor +@@ -125,7 +124,7 @@ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DQT_NO_DEBUG_OUTPUT") + kde_enable_exceptions() + + # FIXME Looks like docbook on Windows don't buildable at all, so it are temporarily disabled +-if(NOT WIN32) ++if(NOT WIN32 AND NOT HAIKU) + add_subdirectory(doc) + endif(NOT WIN32) + add_subdirectory(src) +-- +2.42.1 + + +From 77250c028463be02dd3c091135ec3b4bb78739bd Mon Sep 17 00:00:00 2001 +From: Begasus +Date: Wed, 10 Jan 2024 15:51:57 +0100 +Subject: Disable POSITION_INDEPENDENT_CODE + + +diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt +index 2868373..e1ccef5 100644 +--- a/thirdparty/CMakeLists.txt ++++ b/thirdparty/CMakeLists.txt +@@ -10,7 +10,7 @@ ExternalProject_Add( + URL ${CMAKE_CURRENT_SOURCE_DIR}/discount-2.2.6-patched + SOURCE_SUBDIR cmake + CMAKE_ARGS -DDISCOUNT_ONLY_LIBRARY:BOOL=ON -DDISCOUNT_MAKE_INSTALL:BOOL=OFF -DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE_MAKEFILE} +- CMAKE_CACHE_ARGS "-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true" ++ CMAKE_CACHE_ARGS "-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=false" + PREFIX ${CMAKE_CURRENT_BINARY_DIR} + INSTALL_COMMAND "" + BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/discount_project-build +@@ -24,7 +24,7 @@ add_library(Discount::Lib STATIC IMPORTED GLOBAL) + set_target_properties(Discount::Lib PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${source_dir} + IMPORTED_LOCATION ${binary_dir}/libmarkdown${CMAKE_STATIC_LIBRARY_SUFFIX} +- POSITION_INDEPENDENT_CODE ON ++ POSITION_INDEPENDENT_CODE OFF + ) + add_dependencies(Discount::Lib discount_project-build) + +-- +2.42.1 +