jasp-desktop: 0.19.1 -> 0.19.3 (#410351)

This commit is contained in:
Justin Bedő
2025-05-26 09:21:16 +10:00
committed by GitHub
3 changed files with 122 additions and 50 deletions
+52 -21
View File
@@ -1,5 +1,5 @@
diff --git a/Tools/CMake/Libraries.cmake b/Tools/CMake/Libraries.cmake
index cc4681a..f484013 100644
index a95ef78..6ee84cd 100644
--- a/Tools/CMake/Libraries.cmake
+++ b/Tools/CMake/Libraries.cmake
@@ -67,7 +67,7 @@ if((NOT LibArchive_FOUND) AND (NOT WIN32))
@@ -11,36 +11,67 @@ index cc4681a..f484013 100644
find_package(
Boost 1.78 REQUIRED
COMPONENTS filesystem
@@ -178,10 +178,10 @@ if(LINUX)
set(LIBREADSTAT_INCLUDE_DIRS /app/include)
set(LIBREADSTAT_LIBRARY_DIRS /app/lib)
else()
- set(LIBREADSTAT_INCLUDE_DIRS /usr/local/include /usr/include)
+ set(LIBREADSTAT_INCLUDE_DIRS @readstat@/include /usr/include)
# The last two library paths handle the two most common multiarch cases.
# Other multiarch-compliant paths may come up but should be rare.
- set(LIBREADSTAT_LIBRARY_DIRS /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/aarch64-linux-gnu)
+ set(LIBREADSTAT_LIBRARY_DIRS @readstat@/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/aarch64-linux-gnu)
@@ -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/Programs.cmake b/Tools/CMake/Programs.cmake
index dbd089d..ef6857a 100644
index bfdc8dc..af5ac03 100644
--- a/Tools/CMake/Programs.cmake
+++ b/Tools/CMake/Programs.cmake
@@ -39,6 +39,7 @@ endif()
@@ -38,8 +38,9 @@ if(NOT WIN32)
endif()
# ------ Linux Tools/Programs
+#[[
if(LINUX)
-
-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'")
@@ -81,6 +82,7 @@ if(LINUX)
endif()
find_program(
diff --git a/Tools/CMake/R.cmake b/Tools/CMake/R.cmake
index 9ae27d4..64fd96a 100644
--- a/Tools/CMake/R.cmake
+++ b/Tools/CMake/R.cmake
@@ -841,11 +841,6 @@ message(STATUS "R_CPP_INCLUDES_LIBRARY = ${R_CPP_INCLUDES_LIBRARY}")
configure_file(${PROJECT_SOURCE_DIR}/Modules/setup_renv.R.in
${SCRIPT_DIRECTORY}/setup_renv.R @ONLY)
endif()
+]]#
-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}/setup_renv.R)
# ----------------------
if(APPLE)
# Patch renv
@@ -867,11 +862,6 @@ endif()
configure_file(${PROJECT_SOURCE_DIR}/Modules/setup_rcpp_rinside.R.in
${SCRIPT_DIRECTORY}/setup_rcpp_rinside.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}/setup_rcpp_rinside.R)
if(APPLE)
# Patch RInside and RCpp
@@ -892,8 +882,8 @@ endif()
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")
+44 -3
View File
@@ -165,6 +165,12 @@ let
src = jasp-src;
sourceRoot = "${jasp-src.name}/Modules/${name}";
propagatedBuildInputs = deps;
# some packages have a .Rprofile that tries to activate renv
# we disable this by removing .Rprofile
postPatch = ''
rm -f .Rprofile
'';
};
in
{
@@ -229,6 +235,20 @@ in
jaspGraphs
jaspSem
];
jaspBFF = buildJaspModule "jaspBFF" [
BFF
jaspBase
jaspGraphs
];
jaspBfpack = buildJaspModule "jaspBfpack" [
BFpack
bain
ggplot2
stringr
coda
jaspBase
jaspGraphs
];
jaspBsts = buildJaspModule "jaspBsts" [
Boom
bsts
@@ -305,6 +325,7 @@ in
conting'
multibridge
ggplot2
interp
jaspBase
jaspGraphs
plyr
@@ -353,6 +374,8 @@ in
ggforce
tidyr
igraph
HDInterval
metafor
];
jaspMachineLearning = buildJaspModule "jaspMachineLearning" [
kknn
@@ -375,6 +398,7 @@ in
jaspBase
jaspGraphs
MASS
mclust
mvnormalTest
neuralnet
network
@@ -385,6 +409,7 @@ in
ROCR
Rtsne
signal
VGAM
];
jaspMetaAnalysis = buildJaspModule "jaspMetaAnalysis" [
dplyr
@@ -406,6 +431,12 @@ in
metamisc
ggmcmc
pema
clubSandwich
CompQuadForm
sp
dfoptim
nleqslv
patchwork
];
jaspMixedModels = buildJaspModule "jaspMixedModels" [
afex
@@ -459,6 +490,8 @@ in
BART
EBMAforecast
imputeTS
scoringRules
scoringutils
];
jaspProcess = buildJaspModule "jaspProcess" [
blavaan
@@ -543,6 +576,7 @@ in
lme4
MASS
psych
mirt
];
jaspRobustTTests = buildJaspModule "jaspRobustTTests" [
RoBTT
@@ -553,16 +587,17 @@ in
jaspSem = buildJaspModule "jaspSem" [
forcats
ggplot2
jaspBase
jaspGraphs
lavaan
cSEM
reshape2
jaspBase
jaspGraphs
semPlot
semTools
stringr
tibble
tidyr
SEMsens
];
jaspSummaryStatistics = buildJaspModule "jaspSummaryStatistics" [
BayesFactor
@@ -579,7 +614,7 @@ in
];
jaspSurvival = buildJaspModule "jaspSurvival" [
survival
survminer
ggsurvfit
jaspBase
jaspGraphs
];
@@ -593,6 +628,12 @@ in
plotrix
plyr
];
jaspTestModule = buildJaspModule "jaspTestModule" [
jaspBase
jaspGraphs
svglite
stringi
];
jaspTimeSeries = buildJaspModule "jaspTimeSeries" [
jaspBase
jaspGraphs
+26 -26
View File
@@ -1,31 +1,34 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
buildEnv,
linkFarm,
replaceVars,
R,
rPackages,
cmake,
ninja,
pkg-config,
boost,
freexl,
libarchive,
readstat,
qt6,
R,
readstat,
rPackages,
}:
let
version = "0.19.1";
version = "0.19.3";
src = fetchFromGitHub {
owner = "jasp-stats";
repo = "jasp-desktop";
rev = "v${version}";
hash = "sha256-SACGyNVxa6rFjloRQrEVtUgujEEF7WYL8Qhw6ZqLwdQ=";
tag = "v${version}";
fetchSubmodules = true;
hash = "sha256-p489Q3jMQ7UWOCdAGskRF9KSLoRSatUwGVfj0/g4aPo=";
};
moduleSet = import ./modules.nix {
@@ -58,25 +61,19 @@ stdenv.mkDerivation {
inherit version src;
patches = [
# remove unused cmake deps, ensure boost is dynamically linked, patch readstat path
(replaceVars ./cmake.patch {
inherit readstat;
})
(fetchpatch {
name = "fix-qt-6.8-crash.patch";
url = "https://github.com/jasp-stats/jasp-desktop/commit/d96a35d262312f72081ac3f96ae8c2ae7c796b0.patch";
hash = "sha256-KcsFy1ImPTHwDKN5Umfoa9CbtQn7B3FNu/Srr0dEJGA=";
})
# - 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
];
cmakeFlags = [
"-DGITHUB_PAT=dummy"
"-DGITHUB_PAT_DEF=dummy"
"-DINSTALL_R_FRAMEWORK=OFF"
"-DLINUX_LOCAL_BUILD=OFF"
"-DINSTALL_R_MODULES=OFF"
"-DCUSTOM_R_PATH=${customREnv}"
(lib.cmakeFeature "GITHUB_PAT" "dummy")
(lib.cmakeFeature "GITHUB_PAT_DEF" "dummy")
(lib.cmakeBool "LINUX_LOCAL_BUILD" false)
(lib.cmakeBool "INSTALL_R_MODULES" false)
(lib.cmakeFeature "CUSTOM_R_PATH" "${customREnv}")
];
nativeBuildInputs = [
@@ -87,10 +84,12 @@ stdenv.mkDerivation {
];
buildInputs = [
customREnv
boost
customREnv
freexl
libarchive
readstat
qt6.qtbase
qt6.qtdeclarative
qt6.qtwebengine
@@ -98,6 +97,7 @@ stdenv.mkDerivation {
qt6.qt5compat
];
# needed so that JASPEngine can find libRInside.so
env.NIX_LDFLAGS = "-L${rPackages.RInside}/library/RInside/lib";
postInstall = ''
@@ -107,7 +107,7 @@ stdenv.mkDerivation {
# Remove flatpak proxy script
rm $out/bin/org.jaspstats.JASP
substituteInPlace $out/share/applications/org.jaspstats.JASP.desktop \
--replace-fail "Exec=org.jaspstats.JASP" "Exec=JASP"
--replace-fail "Exec=org.jaspstats.JASP" "Exec=JASP"
# symlink modules from the store
ln -s ${modulesDir} $out/Modules