From 5fc398f8880b79f400379fc9bc8e66d1e9987d41 Mon Sep 17 00:00:00 2001 From: Sukanka Date: Sat, 4 Jun 2022 01:12:53 +0800 Subject: [PATCH] add jasp-desktop --- BioArchLinux/jasp-desktop/PKGBUILD | 121 +++++++++++++++++++++++++++ BioArchLinux/jasp-desktop/jasp.patch | 33 ++++++++ BioArchLinux/jasp-desktop/lilac.py | 12 +++ BioArchLinux/jasp-desktop/lilac.yaml | 40 +++++++++ 4 files changed, 206 insertions(+) create mode 100644 BioArchLinux/jasp-desktop/PKGBUILD create mode 100644 BioArchLinux/jasp-desktop/jasp.patch create mode 100644 BioArchLinux/jasp-desktop/lilac.py create mode 100644 BioArchLinux/jasp-desktop/lilac.yaml diff --git a/BioArchLinux/jasp-desktop/PKGBUILD b/BioArchLinux/jasp-desktop/PKGBUILD new file mode 100644 index 0000000000..831ea512a3 --- /dev/null +++ b/BioArchLinux/jasp-desktop/PKGBUILD @@ -0,0 +1,121 @@ +#Maintainer: sukanka + +_pkgname=jasp +_pkgver=0.16.2 +pkgname=jasp-desktop +pkgver=${_pkgver//[:-]/.} +pkgrel=1 +pkgdesc="A complete statistical package for both Bayesian and Frequentist statistical methods" +arch=('x86_64') +url="https://github.com/jasp-stats/jasp-desktop" +license=('AGPL3') +makedepends=("cmake" 'boost' 'jsoncpp' +'openssl' +'autoconf' +'zlib' +'bison' +'flex' +'jags' +'gcc-fortran' +'qtcreator' +) +depends=('r' +'qt6-5compat' +'readstat' +'libarchive' +'r-rinside' +'qt6-base' +'qt6-webengine' + +# jaspBase +"r-jaspbase" +"r-jaspgraphs" +"r-jaspresults" +"r-jasptools" + +#jaspCommon +"r-jaspdescriptives" +"r-jaspttests" +"r-jaspanova" +"r-jaspmixedmodels" +"r-jaspregression" +"r-jaspfrequencies" +"r-jaspfactor" + +#jaspExtra +"r-jaspaudit" +"r-jaspbain" +"r-jaspbsts" +"r-jaspcircular" +"r-jaspcochrane" +"r-jaspdistributions" +"r-jaspequivalencettests" +"r-jaspjags" +"r-jasplearnbayes" +"r-jaspmachinelearning" +"r-jaspmetaanalysis" +"r-jaspnetwork" +"r-jaspprocesscontrol" +"r-jaspreliability" +"r-jaspsem" +"r-jaspsummarystatistics" +"r-jaspvisualmodeling" +"r-jaspprophet" +) +provides=($_pkgname) +source=("${pkgname}-${pkgver}.tar.gz::https://github.com/jasp-stats/jasp-desktop/archive/refs/tags/v${pkgver}.tar.gz" +"${_pkgname}".patch +'jasp.sh' +"jaspColumnEncoder::git+https://github.com/jasp-stats/jaspColumnEncoder.git" +'jaspResults::git+https://github.com/jasp-stats/jaspResults.git' +) +sha256sums=('6f62db1b2b0741c894a7937f413799887e0d443f25f1b85d59e914847b14fff1' + '3e359651595e76790ea287b57cfd629279f027a9934a36b95b2825c2ba3bf43d' + 'e0714d980e7549b4c7dcbae50370e95b6ad2e7f0cf21a534ceb3a5a83ee583fd' + 'SKIP' + 'SKIP' + ) + +prepare(){ + cd $srcdir/${pkgname}-${pkgver} + patch --strip=1 < ../${_pkgname}.patch + cp -rf $srcdir/jaspColumnEncoder/* Common/jaspColumnEncoder + cp -rf $srcdir/jaspResults/* R-Interface/jaspResults + + find Tools/CMake -name *.cmake -print0 | xargs -0 sed -i "s|/usr/local|/usr|g" +} + + +build(){ + cd $srcdir/${pkgname}-${pkgver} + mkdir -p ${srcdir}/usr/lib/R + cmake -S . -B build -DCUSTOM_R_PATH=/usr/lib/R -DLINUX_LOCAL_BUILD=OFF -DINSTALL_R_MODULES=OFF \ + -DUSE_LOCAL_R_LIBS_PATH=",lib=\"${srcdir}/usr/lib/R\"" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr/lib/${pkgname} -DCMAKE_INSTALL_LIBDIR=lib + + cmake --build build -- -j 5 +} + +package() { + cd $srcdir/${pkgname}-${pkgver}/build + make install DESTDIR=${pkgdir} + install -Dm755 $srcdir/jasp.sh ${pkgdir}/usr/bin/jasp + + cd ${pkgdir}/usr/lib/${pkgname} + mv share ${pkgdir}/usr + mv Resources ${pkgdir}/usr/share/${pkgname} + ln -s /usr/share/${pkgname} ${pkgdir}/usr/lib/${pkgname}/Resources + + rm -rf lib64 + rm -rf Modules/{renv-cache,*.log} + + + # fix RPATH + patchelf --add-rpath /usr/lib/R/library/RInside/lib/ \ + ${pkgdir}/usr/lib/jasp-desktop/bin/JASPEngine + sed -i "s|^Exec.*|Exec=jasp %f|g" \ + ${pkgdir}/usr/share/applications/org.jaspstats.JASP.desktop + + rm -rf ${pkgdir}/usr/lib/jasp-desktop/{renv-root,renv-cache} +} diff --git a/BioArchLinux/jasp-desktop/jasp.patch b/BioArchLinux/jasp-desktop/jasp.patch new file mode 100644 index 0000000000..64562bcadc --- /dev/null +++ b/BioArchLinux/jasp-desktop/jasp.patch @@ -0,0 +1,33 @@ +diff --color --unified --recursive --text jasp-desktop-0.16.2/Tools/CMake/R.cmake jasp-desktop-0.16.21/Tools/CMake/R.cmake +--- jasp-desktop-0.16.2/Tools/CMake/R.cmake 2022-04-19 15:47:06.000000000 +0800 ++++ jasp-desktop-0.16.21/Tools/CMake/R.cmake 2022-05-23 01:21:50.757847997 +0800 +@@ -706,8 +706,9 @@ + set(R_EXECUTABLE "${R_HOME_PATH}/bin/R") + set(RCPP_PATH "${R_LIBRARY_PATH}/Rcpp") + set(RINSIDE_PATH "${R_LIBRARY_PATH}/RInside") +- +- set(USE_LOCAL_R_LIBS_PATH ", lib='${R_LIBRARY_PATH}'") ++ if(NOT USE_LOCAL_R_LIBS_PATH) ++ set(USE_LOCAL_R_LIBS_PATH ", lib='${R_LIBRARY_PATH}'") ++ endif(NOT USE_LOCAL_R_LIBS_PATH) + + message(CHECK_START "Looking for R.h") + set(R_INCLUDE_PATH "${R_HOME_PATH}/include") +diff --color --unified --recursive --text jasp-desktop-0.16.2/Tools/CMake/Modules.cmake jasp-desktop-0.16.21/Tools/CMake/Modules.cmake +--- jasp-desktop-0.16.2/Tools/CMake/Modules.cmake 2022-04-19 15:47:06.000000000 +0800 ++++ jasp-desktop-0.16.21/Tools/CMake/Modules.cmake 2022-05-23 02:02:39.562203992 +0800 +@@ -158,14 +158,6 @@ + if ('jaspBase' %in% installed.packages()) { + cat(NULL, file='${MODULES_BINARY_PATH}/jaspBase-installed-successfully.log') + } else { +- install.packages(c('ggplot2', 'gridExtra', 'gridGraphics', +- 'jsonlite', 'modules', 'officer', 'pkgbuild', +- 'plyr', 'qgraph', 'ragg', 'R6', 'renv', +- 'rjson', 'rvg', 'svglite', 'systemfonts', +- 'withr', 'testthat', +- 'data.table', 'httr', 'lifecycle', +- 'pkgload', 'remotes', 'stringi', 'stringr', +- 'vdiffr'), type='${R_PKG_TYPE}', repos='${R_REPOSITORY}' ${USE_LOCAL_R_LIBS_PATH}) + install.packages('${PROJECT_SOURCE_DIR}/Engine/jaspBase/', type='source', repos=NULL ${USE_LOCAL_R_LIBS_PATH}, INSTALL_opts='--no-multiarch --no-docs --no-test-load') + } + ") diff --git a/BioArchLinux/jasp-desktop/lilac.py b/BioArchLinux/jasp-desktop/lilac.py new file mode 100644 index 0000000000..620556bc87 --- /dev/null +++ b/BioArchLinux/jasp-desktop/lilac.py @@ -0,0 +1,12 @@ +#!/usr/bin/env python3 +from lilaclib import * + +def pre_build(): + for line in edit_file('PKGBUILD'): + if line.startswith('_pkgver='): + line = f'_pkgver={_G.newver}' + print(line) + update_pkgver_and_pkgrel(_G.newver.replace(':', '.').replace('-', '.')) + +def post_build(): + git_pkgbuild_commit() diff --git a/BioArchLinux/jasp-desktop/lilac.yaml b/BioArchLinux/jasp-desktop/lilac.yaml new file mode 100644 index 0000000000..692bc7e0c0 --- /dev/null +++ b/BioArchLinux/jasp-desktop/lilac.yaml @@ -0,0 +1,40 @@ +maintainers: + - github: sukanka + email: su975853527@gmail.com +build_prefix: extra-x86_64 +repo_depends: + - "r-rinside" + - "r-jaspbase" + - "r-jaspgraphs" + - "r-jaspresults" + - "r-jasptools" + - "r-jaspdescriptives" + - "r-jaspttests" + - "r-jaspanova" + - "r-jaspmixedmodels" + - "r-jaspregression" + - "r-jaspfrequencies" + - "r-jaspfactor" + - "r-jaspaudit" + - "r-jaspbain" + - "r-jaspcircular" + - "r-jaspcochrane" + - "r-jaspdistributions" + - "r-jaspequivalencettests" + - "r-jaspjags" + - "r-jasplearnbayes" + - "r-jaspmachinelearning" + - "r-jaspmetaanalysis" + - "r-jaspnetwork" + - "r-jaspprocesscontrol" + - "r-jaspreliability" + - "r-jaspsem" + - "r-jaspsummarystatistics" + - "r-jaspvisualmodeling" + - "r-jaspprophet" +pre_build: vcs_update +post_build: git_pkgbuild_commit +update_on: + - source: github + github: jasp-stats/jasp-desktop + use_latest_release: true