using @@ to export already defined r-with-tests

This commit is contained in:
Jean-François GUILLAUME 2023-10-25 09:56:13 +00:00
commit 3340a680ab

View file

@ -1,169 +1,5 @@
(define-module (glicid packages r)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages maths)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages readline)
#:use-module (gnu packages statistics)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages xorg)
#:use-module (glicid packages gcc)
#:use-module (guix build-system gnu)
)
(define-module (glicid packages r))
; stolen from r-with-tests @ (gnu packages statistics
(define-public R
(package
(name "R")
(version "4.3.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cran/src/base/R-"
(version-major version) "/R-"
version ".tar.gz"))
(sha256
(base32
"16dswjcymzr2mj1vjwqdyjaa9d4isa1p6c9viihnyg02y4jbzl4d"))))
(build-system gnu-build-system)
(arguments
`(#:disallowed-references (,tzdata-for-tests)
#:make-flags
(list (string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib/R/lib")
"PKG_BUILT_STAMP=1970-01-01")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'do-not-compress-serialized-files
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/library/base/makebasedb.R"
(("compress = TRUE") "compress = FALSE"))))
(add-before 'configure 'patch-coreutils-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((uname-bin (search-input-file inputs "/bin/uname"))
(rm-bin (search-input-file inputs "/bin/rm")))
(substitute* "src/scripts/R.sh.in"
(("uname") uname-bin))
(substitute* "src/unix/sys-std.c"
(("rm -Rf ") (string-append rm-bin " -Rf ")))
(substitute* "src/library/parallel/R/detectCores.R"
(("'grep")
(string-append "'" (search-input-file inputs "/bin/grep")))
(("\\| wc -l")
(string-append "| " (search-input-file inputs "/bin/wc") " -l"))))))
(add-after 'unpack 'patch-tests
(lambda _
(substitute* "src/unix/sys-unix.c"
(("\"/bin/sh\"")
(string-append "\"" (which "sh") "\"")))
(substitute* "tests/reg-packages.R"
(("8 <= print" m) (string-append "## " m)))))
(add-after 'unpack 'build-reproducibly
(lambda _
(substitute* "src/library/tools/man/Rd2HTML.Rd"
(("\\\\%Y-\\\\%m-\\\\%d at \\\\%H:\\\\%M:\\\\%S")
"(removed for reproducibility)"))
(substitute* "src/library/methods/R/trace.R"
(("dateCreated = Sys.time\\(\\)")
"dateCreated = as.POSIXct(\"1970-1-1 00:00:00\", tz = \"UTC\")"))
(substitute* '("src/library/grDevices/Makefile.in"
"doc/manual/Makefile.in")
(("R_GZIPCMD\\)" line)
(string-append line " -n")))
(substitute* "src/library/base/R/srcfile.R"
(("timestamp <- (timestamp.*|file.mtime.*)" _ time)
(string-append "timestamp <- \
as.POSIXct(if (\"\" != Sys.getenv(\"SOURCE_DATE_EPOCH\")) {\
as.numeric(Sys.getenv(\"SOURCE_DATE_EPOCH\"))\
} else { " time "}, origin=\"1970-01-01\")\n")))
(substitute* "src/library/tools/Makefile.in"
(("(install_package_description\\(.*\"')\\)\"" line prefix)
(string-append prefix ", builtStamp='1970-01-01')\"")))
(define-public R (@@ (gnu packages statistics) r-with-tests))
(substitute* "src/library/Recommended/Makefile.in"
(("INSTALL_OPTS =" m)
(string-append m " --built-timestamp=1970-01-01" m)))
(with-fluids ((%default-port-encoding "ISO-8859-1"))
(substitute* "tools/help2man.pl"
(("my \\$date = strftime \"%B %Y\", localtime" line)
(string-append line " 1"))))
(substitute* "src/library/methods/DESCRIPTION.in"
(("\\(2008\\)\n") "(2008) ")
((" ``Software") "``Software")
(("Data Analysis:.") "Data Analysis:\n")
(("Programming with R") " Programming with R"))
(substitute* "src/library/tools/DESCRIPTION.in"
(("codetools, methods, xml2, curl, commonmark, knitr, xfun, mathjaxr")
"codetools, methods, xml2, curl, commonmark,
knitr, xfun, mathjaxr"))))
(add-before 'build 'set-locales
(lambda _
(setlocale LC_ALL "C")
(setenv "LC_ALL" "C")))
(add-before 'configure 'set-default-pager
(lambda _ (setenv "PAGER" "cat")))
(add-before 'configure 'set-timezone
(lambda* (#:key inputs #:allow-other-keys)
(setenv "TZ" "UTC+1")
(setenv "TZDIR"
(search-input-directory inputs
"share/zoneinfo"))))
(add-before 'check 'set-home
(lambda _ (setenv "HOME" "/tmp")))
(add-after 'build 'make-info
(lambda _ (invoke "make" "info")))
(add-after 'build 'install-info
(lambda _ (invoke "make" "install-info"))))
#:configure-flags
`(
"--with-cairo"
"--with-blas=-lopenblas"
"--with-libpng"
"--with-jpeglib"
"--with-libtiff"
"--with-ICU"
"--with-tcltk"
,(string-append "--with-tcl-config="
(assoc-ref %build-inputs "tcl")
"/lib/tclConfig.sh")
,(string-append "--with-tk-config="
(assoc-ref %build-inputs "tk")
"/lib/tkConfig.sh")
"--enable-R-shlib"
"--enable-BLAS-shlib"
"--with-system-tre")))
(native-inputs
(list bzip2 perl pkg-config texinfo
(texlive-updmap.cfg
(list texlive-fancyvrb texlive-inconsolata texlive-upquote texlive-xkeyval))
tzdata-for-tests xz))
(inputs
(list coreutils curl openblas gfortran grep icu4c libjpeg-turbo libpng libtiff libxt
pango pcre2 readline tcl tk which zlib bash-minimal))
(native-search-paths
(list (search-path-specification
(variable "R_LIBS_SITE")
(files (list "site-library/")))))
(home-page "https://www.r-project.org/")
(synopsis "Environment for statistical computing and graphics")
(description
"R is a language and environment for statistical computing and graphics.
It provides a variety of statistical techniques, such as linear and nonlinear
modeling, classical statistical tests, time-series analysis, classification
and clustering. It also provides robust support for producing
publication-quality data plots. A large amount of 3rd-party packages are
available, greatly increasing its breadth and scope.")
(license license:gpl3+)))
R