diff options
author | Justin Bedo <cu@cua0.org> | 2023-03-22 09:44:21 +1100 |
---|---|---|
committer | Justin Bedo <cu@cua0.org> | 2023-03-22 09:48:06 +1100 |
commit | 14db22f86827277db0c973d665e0272c627b77c7 (patch) | |
tree | 7861ef1e46575192fef26f650b49a564af6779a2 /pkgs/development/r-modules | |
parent | 442e1b87d1bf0134f0fdea1ca7697e08e0b04627 (diff) | |
download | nixlib-14db22f86827277db0c973d665e0272c627b77c7.tar nixlib-14db22f86827277db0c973d665e0272c627b77c7.tar.gz nixlib-14db22f86827277db0c973d665e0272c627b77c7.tar.bz2 nixlib-14db22f86827277db0c973d665e0272c627b77c7.tar.lz nixlib-14db22f86827277db0c973d665e0272c627b77c7.tar.xz nixlib-14db22f86827277db0c973d665e0272c627b77c7.tar.zst nixlib-14db22f86827277db0c973d665e0272c627b77c7.zip |
rPackages.rhdf5: fix build
use nixpkgs provided hdf5 instead of vendored library
Diffstat (limited to 'pkgs/development/r-modules')
-rw-r--r-- | pkgs/development/r-modules/default.nix | 3 | ||||
-rw-r--r-- | pkgs/development/r-modules/patches/rhdf5.patch | 46 |
2 files changed, 49 insertions, 0 deletions
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix index d89a788b5f12..289bc4190daa 100644 --- a/pkgs/development/r-modules/default.nix +++ b/pkgs/development/r-modules/default.nix @@ -1328,6 +1328,9 @@ let propagatedBuildInputs = with pkgs; attrs.propagatedBuildInputs ++ [ (hdf5-blosc.override {hdf5 = hdf5_1_10;}) ]; patches = [ ./patches/rhdf5filters.patch ]; }); + + rhdf5= old.rhdf5.overrideAttrs (attrs: { + patches = [ ./patches/rhdf5.patch ]; }); }; in diff --git a/pkgs/development/r-modules/patches/rhdf5.patch b/pkgs/development/r-modules/patches/rhdf5.patch new file mode 100644 index 000000000000..eb2f28d01876 --- /dev/null +++ b/pkgs/development/r-modules/patches/rhdf5.patch @@ -0,0 +1,46 @@ +diff --git a/src/Makevars b/src/Makevars +index 713b44c..704ac17 100644 +--- a/src/Makevars ++++ b/src/Makevars +@@ -1,5 +1,5 @@ + RHDF5_LIBS = $(shell "$(R_HOME)/bin${R_ARCH_BIN}/Rscript" -e 'Rhdf5lib::pkgconfig("PKG_C_LIBS")') +-PKG_LIBS = $(RHDF5_LIBS) ++PKG_LIBS = $(RHDF5_LIBS) -lhdf5 + + #PKG_CFLAGS = -Wall + +diff --git a/src/h5testLock.c b/src/h5testLock.c +index b326444..5d58b4a 100644 +--- a/src/h5testLock.c ++++ b/src/h5testLock.c +@@ -8,16 +8,16 @@ SEXP _h5fileLock(SEXP _file_name) { + int lk = -1; + + /* create the temporary file */ +- fd = HDopen(file_name, O_RDWR | O_CREAT | O_TRUNC, 0666); ++ fd = open(file_name, O_RDWR | O_CREAT | O_TRUNC, 0666); + + /* try to lock file */ +- lk = HDflock(fd, LOCK_EX | LOCK_NB); ++ lk = flock(fd, LOCK_EX | LOCK_NB); + + /* unlock so we can remove */ +- HDflock(fd, LOCK_UN); ++ flock(fd, LOCK_UN); + + /* close */ +- HDclose(fd); ++ close(fd); + + /* return value of lock attempt */ + PROTECT(Rval = allocVector(INTSXP, 1)); +diff --git a/src/h5testLock.h b/src/h5testLock.h +index 2c1c5e4..660c747 100644 +--- a/src/h5testLock.h ++++ b/src/h5testLock.h +@@ -1,5 +1,4 @@ + #include <fcntl.h> + #include "myhdf5.h" +-#include <H5private.h> + + SEXP _h5fileLock(); |