jasp-desktop: split up patches into multiple files (#432595)

-121
pkgs/by-name/ja/jasp-desktop/cmake.patch
···
-
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")
-
+29
pkgs/by-name/ja/jasp-desktop/disable-module-install-logic.patch
···
+
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
···
+
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")
+
+16
pkgs/by-name/ja/jasp-desktop/dont-check-for-module-deps.patch
···
+
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(
+11 -6
pkgs/by-name/ja/jasp-desktop/package.nix
···
stdenv,
fetchFromGitHub,
+
fetchpatch,
buildEnv,
linkFarm,
···
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 = [
···
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 = ''