From d877aca0552b752b4c126be50ea94b44fcc41388 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 11 Nov 2025 13:25:15 +0100 Subject: [PATCH] gnu: r-sdmtools: Replace removed constants. R 4.5.0 removed previously deprecated definitions. * gnu/packages/cran.scm (r-sdmtools)[arguments]: Add phase 'patch-constants. Change-Id: I06125aeff8b7b1f219f8458b6c9aeeb696e33f11 --- gnu/packages/cran.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 40d65dbbaae58cc44c27792745dace96ea0b13a8..d0dbbe6afcdf9acf4e8ad7ba2d818184183c0d9d 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -19674,6 +19674,22 @@ normalizations, minimum variance matching, and so on.") "1xvcd97ikqsfdpk2fddy3k0z1ajqga7nv9bgac9c1wnjk1gqrpgh")))) (properties `((upstream-name . "SDMTools"))) (build-system r-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'patch-constants + (lambda _ + ;; Older versions of R used to define PI. As of R 4.5.0 the + ;; definition from the default math headers is supposed to be + ;; used instead. + (substitute* "src/pointinpolygon.c" + (("double TWOPI = " m) + (string-append "#define PI M_PI\n" m))) + (with-fluids ((%default-port-encoding "ISO-8859-1")) + (substitute* "src/vincenty.geodesics.c" + (("#include " m) + (string-append m "\n#define PI M_PI"))))))))) (propagated-inputs (list r-r-utils)) (home-page "https://www.rforge.net/SDMTools/") (synopsis "Species distribution modelling tools")