extra/cantor to 20.12.3-4

This commit is contained in:
Kevin Mihelich 2021-03-25 21:22:35 +00:00
parent 701d83a20f
commit b4e40b68bd
2 changed files with 77 additions and 4 deletions

View file

@ -7,7 +7,7 @@
pkgname=cantor
pkgver=20.12.3
pkgrel=3
pkgrel=4
pkgdesc="KDE Frontend to Mathematical Software"
url="https://kde.org/applications/education/cantor/"
arch=(x86_64)
@ -23,16 +23,19 @@ optdepends=('maxima: Maxima backend'
'sagemath: SageMath backend'
'julia: Julia backend')
source=("https://download.kde.org/stable/release-service/$pkgver/src/$pkgname-$pkgver.tar.xz"{,.sig}
cantor-sage-completions.patch::https://invent.kde.org/education/cantor/-/merge_requests/26.patch)
cantor-sage-completions.patch::https://invent.kde.org/education/cantor/-/merge_requests/26.patch
cantor-julia-1.6.patch)
sha256sums=('4b4689d301963959fa112abfd3447ecdc1228db2aafb8403938b14fb2b69ca38'
'SKIP'
'be9f501d85e25884338815a199fed3690213546be481d9f92663914038fa128c')
'be9f501d85e25884338815a199fed3690213546be481d9f92663914038fa128c'
'0e9477a712eb3eab129fd16cdb35c4eb56846f34584a6ba310a418cd314c6498')
validpgpkeys=(CA262C6C83DE4D2FB28A332A3A6A4DB839EAA6D7 # Albert Astals Cid <aacid@kde.org>
F23275E4BF10AFC1DF6914A6DBD2CE893E2D1C87 # Christoph Feck <cfeck@kde.org>
D81C0CB38EB725EF6691C385BB463350D6EF31EF) # Heiko Becker <heiko.becker@kde.org>
prepare() {
patch -d $pkgname-$pkgver -p1 -i ../cantor-sage-completions.patch # Fix tab completion in Sage
patch -d $pkgname-$pkgver -p1 < cantor-sage-completions.patch # Fix tab completion in Sage
patch -d $pkgname-$pkgver -p1 < cantor-julia-1.6.patch # Fix build with julia 1.6
}
build() {

View file

@ -0,0 +1,70 @@
diff --git a/cmake/FindJulia.cmake b/cmake/FindJulia.cmake
index c7f64746..aba71a2d 100644
--- a/cmake/FindJulia.cmake
+++ b/cmake/FindJulia.cmake
@@ -80,16 +80,46 @@ if(RESULT EQUAL 0)
CACHE PATH "Julia library directory")
endif()
+if(NOT ${JULIA_VERSION_STRING} VERSION_LESS 1.6.0)
+ set(JULIA_INTERNAL_LIBDL_COMMAND "using Libdl\; abspath(dirname(Libdl.dlpath(\"libjulia-internal\")))")
+ execute_process(
+ COMMAND ${JULIA_EXECUTABLE} -E ${JULIA_INTERNAL_LIBDL_COMMAND}
+ OUTPUT_VARIABLE JULIA_INTERNAL_LIBRARY_DIR
+ RESULT_VARIABLE RESULT
+ )
+
+ if(RESULT EQUAL 0)
+ string(REGEX REPLACE "\"" "" JULIA_INTERNAL_LIBRARY_DIR ${JULIA_INTERNAL_LIBRARY_DIR})
+ string(STRIP ${JULIA_INTERNAL_LIBRARY_DIR} JULIA_INTERNAL_LIBRARY_DIR)
+ set(JULIA_INTERNAL_LIBRARY_DIR ${JULIA_INTERNAL_LIBRARY_DIR}
+ CACHE PATH "Julia internal library directory")
+ endif()
+endif()
+
find_library( JULIA_LIBRARY
NAMES julia
PATHS ${JULIA_LIBRARY_DIR}
)
+if(NOT ${JULIA_VERSION_STRING} VERSION_LESS 1.6.0)
+ find_library( JULIA_INTERNAL_LIBRARY
+ NAMES julia-internal
+ PATHS ${JULIA_INTERNAL_LIBRARY_DIR}
+ )
+endif()
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(
- Julia
- REQUIRED_VARS JULIA_LIBRARY JULIA_LIBRARY_DIR JULIA_INCLUDE_DIRS
- VERSION_VAR JULIA_VERSION_STRING
- FAIL_MESSAGE "Julia not found"
-)
+if(${JULIA_VERSION_STRING} VERSION_LESS 1.6.0)
+ find_package_handle_standard_args(
+ Julia
+ REQUIRED_VARS JULIA_LIBRARY JULIA_INCLUDE_DIRS
+ VERSION_VAR JULIA_VERSION_STRING
+ FAIL_MESSAGE "Julia not found"
+ )
+else()
+ find_package_handle_standard_args(
+ Julia
+ REQUIRED_VARS JULIA_LIBRARY JULIA_INTERNAL_LIBRARY JULIA_INCLUDE_DIRS
+ VERSION_VAR JULIA_VERSION_STRING
+ FAIL_MESSAGE "Julia not found"
+ )
+endif()
diff --git a/src/backends/julia/juliaserver/CMakeLists.txt b/src/backends/julia/juliaserver/CMakeLists.txt
index 7301eca0..f12628e1 100644
--- a/src/backends/julia/juliaserver/CMakeLists.txt
+++ b/src/backends/julia/juliaserver/CMakeLists.txt
@@ -8,6 +8,7 @@ add_executable(cantor_juliaserver ${JuliaServer_SRCS})
target_link_libraries(cantor_juliaserver
${JULIA_LIBRARY}
+ ${JULIA_INTERNAL_LIBRARY}
Qt5::Widgets
Qt5::DBus
)