From cd68997daa39ec09d4077d1f77d29667d30926ef Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 6 May 2026 08:34:41 +0200 Subject: [PATCH] gnu: r-rserve: Update to 1.8-19. * gnu/packages/cran.scm (r-rserve): Update to 1.8-19. [source]: Remove bundled jars. [arguments]: Pass configure flags to build client, server, and proxy; add phase 'build-java-components; remove phase 'relax-gcc-14-strictness. [propagated-inputs]: Remove r-checkmate, r-mime, r-jsonlite, r-knitr, r-r6, r-rcpp, and r-uuid. [inputs]: Add openjdk11:jdk. Change-Id: I1e8204dbf55e76d7e7f4541328b99896db7d45d2 --- gnu/packages/cran.scm | 66 ++++++++++++++++++++----------------------- 1 file changed, 31 insertions(+), 35 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index b6ea6f66500..454e9e87ce0 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -50436,49 +50436,45 @@ download images.") (define-public r-rserve (package (name "r-rserve") - (version "1.8-6") + (version "1.8-19") (source (origin (method url-fetch) - (uri (string-append "http://www.rforge.net/Rserve/snapshot/Rserve_" - version ".tar.gz")) + (uri (cran-uri "Rserve" version)) (sha256 - (base32 "0z1xvx8ifvlwfl3rf1wwhpbwp4ivh7sn71xhlqihqpsclpmljg8p")))) + (base32 "06a997a2a2mkaayqnknpy7angqf6k06flhcds6w0z8lrl29whii0")) + (snippet + '(begin (delete-file "src/client/java/Rserve/Rserve.jar") + (delete-file "inst/java/REngine.jar") + (delete-file "inst/java/Rserve.jar"))))) (build-system r-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'relax-gcc-14-strictness + (list + #:configure-flags + '(list "--configure-args=\"--with-client\"" + "--configure-args=\"--with-server\"" + "--configure-args=\"--with-proxy\"") + #:phases + #~(modify-phases %standard-phases + (add-before 'install 'build-java-components + ;; Makevars tries to install to R's store directory. (lambda _ - ;; XXX FIXME: $HOME/.R/Makevars seems to be the only way to - ;; set custom CFLAGS for R? - (setenv "HOME" (getcwd)) - (mkdir-p ".R") - (with-directory-excursion ".R" - (with-output-to-file "Makevars" - (lambda _ - (display (string-append - "CFLAGS=-g -O2" - " -std=gnu11" - " -Wno-error=implicit-function-declaration\n"))))))) - (add-before 'install 'install-server-binary - ;; Makevars tries to install to R's store directory. - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin"))) - (substitute* "src/Makevars.in" - (("\\$\\(R_HOME\\)") out)) - (mkdir-p bin))))))) - (propagated-inputs - (list r-checkmate - r-mime - r-jsonlite - r-knitr - r-r6 - r-rcpp - r-uuid)) + (let ((root (getcwd))) + (with-directory-excursion "src/client/java/" + (invoke "make" "all") + (install-file "REngine.jar" + (string-append root "/inst/java")) + (install-file "Rserve.jar" + (string-append root "/inst/java")))))) + (add-before 'install 'install-server-binary + ;; Makevars tries to install to R's store directory. + (lambda _ + (let ((bin (string-append #$output "/bin"))) + (substitute* "src/Makevars.in" + (("\\$\\(R_HOME\\)") #$output)) + (mkdir-p bin))))))) (inputs - (list openssl zlib)) + (list `(,openjdk11 "jdk") openssl zlib)) (home-page "https://github.com/s-u/Rserve") (synopsis "Server providing access to R from many languages and systems")