jasp-desktop: split up patches into multiple files (#432595)
This commit is contained in:
commit
a29f1e65e1
@ -1,121 +0,0 @@
|
||||
diff --git a/Tools/CMake/Install.cmake b/Tools/CMake/Install.cmake
|
||||
index edd96b0..1fbdb3c 100644
|
||||
--- a/Tools/CMake/Install.cmake
|
||||
+++ b/Tools/CMake/Install.cmake
|
||||
@@ -229,24 +229,10 @@ if(LINUX)
|
||||
install(DIRECTORY ${CMAKE_SOURCE_DIR}/Resources/
|
||||
DESTINATION ${JASP_INSTALL_RESOURCEDIR})
|
||||
|
||||
- install(
|
||||
- DIRECTORY ${MODULES_BINARY_PATH}/binary_pkgs ${MODULES_BINARY_PATH}/manifests ${MODULES_BINARY_PATH}/module_libs ${MODULES_BINARY_PATH}/Tools
|
||||
- DESTINATION ${JASP_INSTALL_MODULEDIR}
|
||||
- REGEX ${FILES_EXCLUDE_PATTERN} EXCLUDE
|
||||
- REGEX ${FOLDERS_EXCLUDE_PATTERN} EXCLUDE)
|
||||
-
|
||||
install(
|
||||
FILES ${MODULES_BINARY_PATH}/modules-settings.json
|
||||
DESTINATION ${JASP_INSTALL_MODULEDIR}
|
||||
)
|
||||
- # we do not need renv-root in an install
|
||||
- #install(DIRECTORY ${MODULES_RENV_ROOT_PATH}/
|
||||
- # DESTINATION ${JASP_INSTALL_PREFIX}/lib64/renv-root)
|
||||
-
|
||||
-if(NOT FLATPAK_USED) #because flatpak already puts renv-cache in /app/lib64 anyway
|
||||
- install(DIRECTORY ${MODULES_RENV_CACHE_PATH}/
|
||||
- DESTINATION ${JASP_INSTALL_PREFIX}/lib64/renv-cache)
|
||||
-endif()
|
||||
|
||||
#Flatpak wrapper that sets some environment variables that JASP needs
|
||||
install(PROGRAMS ${CMAKE_SOURCE_DIR}/Tools/flatpak/org.jaspstats.JASP
|
||||
diff --git a/Tools/CMake/Libraries.cmake b/Tools/CMake/Libraries.cmake
|
||||
index a6673d9..a079021 100644
|
||||
--- a/Tools/CMake/Libraries.cmake
|
||||
+++ b/Tools/CMake/Libraries.cmake
|
||||
@@ -67,7 +67,7 @@ if((NOT LibArchive_FOUND) AND (NOT WIN32))
|
||||
endif()
|
||||
endif()
|
||||
|
||||
-set(Boost_USE_STATIC_LIBS ON)
|
||||
+add_definitions(-DBOOST_LOG_DYN_LINK)
|
||||
find_package(
|
||||
Boost 1.78 REQUIRED
|
||||
COMPONENTS filesystem
|
||||
@@ -185,7 +185,7 @@ if(LINUX)
|
||||
endif()
|
||||
|
||||
message(CHECK_START "Looking for libreadstat.so")
|
||||
- find_file(LIBREADSTAT_LIBRARIES libreadstat.so
|
||||
+ find_library(LIBREADSTAT_LIBRARIES libreadstat.so
|
||||
HINTS ${LIBREADSTAT_LIBRARY_DIRS} REQUIRED)
|
||||
|
||||
if(EXISTS ${LIBREADSTAT_LIBRARIES})
|
||||
diff --git a/Tools/CMake/Modules.cmake b/Tools/CMake/Modules.cmake
|
||||
index ca8e040..875db1f 100644
|
||||
--- a/Tools/CMake/Modules.cmake
|
||||
+++ b/Tools/CMake/Modules.cmake
|
||||
@@ -13,19 +13,6 @@ configure_file(${PROJECT_SOURCE_DIR}/Modules/modules-settings.json
|
||||
configure_file(${PROJECT_SOURCE_DIR}/Modules/install-modules.R.in
|
||||
${SCRIPT_DIRECTORY}/install-modules.R @ONLY)
|
||||
|
||||
-#create modules install target
|
||||
-add_custom_target(
|
||||
- Modules
|
||||
- USES_TERMINAL
|
||||
- WORKING_DIRECTORY ${R_HOME_PATH}
|
||||
- DEPENDS ${JASP_MODULE_BUNDLE_MANAGER_LIBRARY}/jaspModuleBundleManager
|
||||
- DEPENDS ${SCRIPT_DIRECTORY}/install-modules.R
|
||||
- COMMAND ${CMAKE_COMMAND} -E env "JASP_R_HOME=${R_HOME_PATH}" ${R_EXECUTABLE} --slave --no-restore --no-save
|
||||
- --file=${SCRIPT_DIRECTORY}/install-modules.R
|
||||
- BYPRODUCTS ${MODULES_BINARY_PATH}/bundles-downloaded.txt
|
||||
- BYPRODUCTS ${MODULES_BINARY_PATH}/bundles-installed.txt
|
||||
- COMMENT "------ Installing Modules"
|
||||
-)
|
||||
|
||||
|
||||
|
||||
diff --git a/Tools/CMake/Programs.cmake b/Tools/CMake/Programs.cmake
|
||||
index 4e7c052..abb5b48 100644
|
||||
--- a/Tools/CMake/Programs.cmake
|
||||
+++ b/Tools/CMake/Programs.cmake
|
||||
@@ -38,8 +38,9 @@ if(NOT WIN32)
|
||||
endif()
|
||||
|
||||
# ------ Linux Tools/Programs
|
||||
-
|
||||
-if(LINUX)
|
||||
+# We don't need to check for any dependencies that are used to build R packages
|
||||
+# since we build them separately
|
||||
+if(false)
|
||||
|
||||
message(CHECK_START "Looking for 'gfortran'")
|
||||
find_program(
|
||||
diff --git a/Tools/CMake/R.cmake b/Tools/CMake/R.cmake
|
||||
index 42e7b88..405b434 100644
|
||||
--- a/Tools/CMake/R.cmake
|
||||
+++ b/Tools/CMake/R.cmake
|
||||
@@ -867,14 +867,6 @@ else()
|
||||
configure_file(${PROJECT_SOURCE_DIR}/Modules/install-renv.R.in
|
||||
${SCRIPT_DIRECTORY}/install-renv.R @ONLY)
|
||||
|
||||
-
|
||||
-execute_process(
|
||||
- COMMAND_ECHO STDOUT
|
||||
- #ERROR_QUIET OUTPUT_QUIET
|
||||
- WORKING_DIRECTORY ${R_HOME_PATH}
|
||||
- COMMAND
|
||||
- ${R_EXECUTABLE} --slave --no-restore --no-save --file=${SCRIPT_DIRECTORY}/install-renv.R
|
||||
-)
|
||||
|
||||
if(APPLE)
|
||||
# Patch renv
|
||||
@@ -937,8 +929,8 @@ execute_process(
|
||||
|
||||
include(FindRPackagePath)
|
||||
|
||||
-find_package_path(RCPP_PATH ${R_CPP_INCLUDES_LIBRARY} "Rcpp")
|
||||
-find_package_path(RINSIDE_PATH ${R_CPP_INCLUDES_LIBRARY} "RInside")
|
||||
+find_package_path(RCPP_PATH ${R_LIBRARY_PATH} "Rcpp")
|
||||
+find_package_path(RINSIDE_PATH ${R_LIBRARY_PATH} "RInside")
|
||||
|
||||
set(RENV_PATH "${RENV_LIBRARY}/renv")
|
||||
|
@ -0,0 +1,29 @@
|
||||
diff --git a/Tools/CMake/Install.cmake b/Tools/CMake/Install.cmake
|
||||
index edd96b0..1fbdb3c 100644
|
||||
--- a/Tools/CMake/Install.cmake
|
||||
+++ b/Tools/CMake/Install.cmake
|
||||
@@ -229,24 +229,10 @@ if(LINUX)
|
||||
install(DIRECTORY ${CMAKE_SOURCE_DIR}/Resources/
|
||||
DESTINATION ${JASP_INSTALL_RESOURCEDIR})
|
||||
|
||||
- install(
|
||||
- DIRECTORY ${MODULES_BINARY_PATH}/binary_pkgs ${MODULES_BINARY_PATH}/manifests ${MODULES_BINARY_PATH}/module_libs ${MODULES_BINARY_PATH}/Tools
|
||||
- DESTINATION ${JASP_INSTALL_MODULEDIR}
|
||||
- REGEX ${FILES_EXCLUDE_PATTERN} EXCLUDE
|
||||
- REGEX ${FOLDERS_EXCLUDE_PATTERN} EXCLUDE)
|
||||
-
|
||||
install(
|
||||
FILES ${MODULES_BINARY_PATH}/modules-settings.json
|
||||
DESTINATION ${JASP_INSTALL_MODULEDIR}
|
||||
)
|
||||
- # we do not need renv-root in an install
|
||||
- #install(DIRECTORY ${MODULES_RENV_ROOT_PATH}/
|
||||
- # DESTINATION ${JASP_INSTALL_PREFIX}/lib64/renv-root)
|
||||
-
|
||||
-if(NOT FLATPAK_USED) #because flatpak already puts renv-cache in /app/lib64 anyway
|
||||
- install(DIRECTORY ${MODULES_RENV_CACHE_PATH}/
|
||||
- DESTINATION ${JASP_INSTALL_PREFIX}/lib64/renv-cache)
|
||||
-endif()
|
||||
|
||||
#Flatpak wrapper that sets some environment variables that JASP needs
|
||||
install(PROGRAMS ${CMAKE_SOURCE_DIR}/Tools/flatpak/org.jaspstats.JASP
|
30
pkgs/by-name/ja/jasp-desktop/disable-renv-logic.patch
Normal file
30
pkgs/by-name/ja/jasp-desktop/disable-renv-logic.patch
Normal file
@ -0,0 +1,30 @@
|
||||
diff --git a/Tools/CMake/R.cmake b/Tools/CMake/R.cmake
|
||||
index 42e7b88..405b434 100644
|
||||
--- a/Tools/CMake/R.cmake
|
||||
+++ b/Tools/CMake/R.cmake
|
||||
@@ -867,14 +867,6 @@ else()
|
||||
configure_file(${PROJECT_SOURCE_DIR}/Modules/install-renv.R.in
|
||||
${SCRIPT_DIRECTORY}/install-renv.R @ONLY)
|
||||
|
||||
-
|
||||
-execute_process(
|
||||
- COMMAND_ECHO STDOUT
|
||||
- #ERROR_QUIET OUTPUT_QUIET
|
||||
- WORKING_DIRECTORY ${R_HOME_PATH}
|
||||
- COMMAND
|
||||
- ${R_EXECUTABLE} --slave --no-restore --no-save --file=${SCRIPT_DIRECTORY}/install-renv.R
|
||||
-)
|
||||
|
||||
if(APPLE)
|
||||
# Patch renv
|
||||
@@ -937,8 +929,8 @@ execute_process(
|
||||
|
||||
include(FindRPackagePath)
|
||||
|
||||
-find_package_path(RCPP_PATH ${R_CPP_INCLUDES_LIBRARY} "Rcpp")
|
||||
-find_package_path(RINSIDE_PATH ${R_CPP_INCLUDES_LIBRARY} "RInside")
|
||||
+find_package_path(RCPP_PATH ${R_LIBRARY_PATH} "Rcpp")
|
||||
+find_package_path(RINSIDE_PATH ${R_LIBRARY_PATH} "RInside")
|
||||
|
||||
set(RENV_PATH "${RENV_LIBRARY}/renv")
|
||||
|
@ -0,0 +1,16 @@
|
||||
diff --git a/Tools/CMake/Programs.cmake b/Tools/CMake/Programs.cmake
|
||||
index 4e7c052..abb5b48 100644
|
||||
--- a/Tools/CMake/Programs.cmake
|
||||
+++ b/Tools/CMake/Programs.cmake
|
||||
@@ -38,8 +38,9 @@ if(NOT WIN32)
|
||||
endif()
|
||||
|
||||
# ------ Linux Tools/Programs
|
||||
-
|
||||
-if(LINUX)
|
||||
+# We don't need to check for any dependencies that are used to build R packages
|
||||
+# since we build them separately
|
||||
+if(false)
|
||||
|
||||
message(CHECK_START "Looking for 'gfortran'")
|
||||
find_program(
|
13
pkgs/by-name/ja/jasp-desktop/link-boost-dynamically.patch
Normal file
13
pkgs/by-name/ja/jasp-desktop/link-boost-dynamically.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/Tools/CMake/Libraries.cmake b/Tools/CMake/Libraries.cmake
|
||||
index a6673d9..a079021 100644
|
||||
--- a/Tools/CMake/Libraries.cmake
|
||||
+++ b/Tools/CMake/Libraries.cmake
|
||||
@@ -67,7 +67,7 @@ if((NOT LibArchive_FOUND) AND (NOT WIN32))
|
||||
endif()
|
||||
endif()
|
||||
|
||||
-set(Boost_USE_STATIC_LIBS ON)
|
||||
+add_definitions(-DBOOST_LOG_DYN_LINK)
|
||||
find_package(
|
||||
Boost 1.78 REQUIRED
|
||||
COMPONENTS filesystem
|
@ -3,6 +3,7 @@
|
||||
stdenv,
|
||||
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
|
||||
buildEnv,
|
||||
linkFarm,
|
||||
@ -63,11 +64,15 @@ stdenv.mkDerivation {
|
||||
inherit version src;
|
||||
|
||||
patches = [
|
||||
# - ensure boost is linked dynamically
|
||||
# - fix readstat's find logic
|
||||
# - disable some of the renv logic
|
||||
# - dont't check for dependencies required for building modules
|
||||
./cmake.patch
|
||||
(fetchpatch {
|
||||
name = "readstat-use-find-library.patch";
|
||||
url = "https://github.com/jasp-stats/jasp-desktop/commit/87c5a1f4724833aed0f7758499b917b3107ee196.patch";
|
||||
hash = "sha256-0CrMKJkZpS97KmQFvZPyV1h3C7eKVr/IT0dARYBoKFo=";
|
||||
})
|
||||
./link-boost-dynamically.patch
|
||||
./disable-module-install-logic.patch # don't try to install modules via cmake
|
||||
./disable-renv-logic.patch
|
||||
./dont-check-for-module-deps.patch # dont't check for dependencies required for building modules
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
@ -100,7 +105,7 @@ stdenv.mkDerivation {
|
||||
qt6.qt5compat
|
||||
];
|
||||
|
||||
# needed so that JASPEngine can find libRInside.so
|
||||
# needed so that the linker can find libRInside.so
|
||||
env.NIX_LDFLAGS = "-L${rPackages.RInside}/library/RInside/lib";
|
||||
|
||||
postInstall = ''
|
||||
|
Loading…
x
Reference in New Issue
Block a user