summary refs log tree commit diff
path: root/pkgs/tools/filesystems
diff options
context:
space:
mode:
authorMarkus Kowalewski <markus.kowalewski@gmail.com>2019-08-21 00:25:41 +0200
committerMarkus Kowalewski <markus.kowalewski@gmail.com>2019-09-21 16:21:10 +0200
commit2906718bccd16eac7a197d6eca32be6931a707a9 (patch)
treee400f75e046cfc3b62f91fa351e4c8776c438060 /pkgs/tools/filesystems
parentf0fec244ca380b9d3e617ee7b419c59758c8b0f1 (diff)
downloadnixpkgs-2906718bccd16eac7a197d6eca32be6931a707a9.tar
nixpkgs-2906718bccd16eac7a197d6eca32be6931a707a9.tar.gz
nixpkgs-2906718bccd16eac7a197d6eca32be6931a707a9.tar.bz2
nixpkgs-2906718bccd16eac7a197d6eca32be6931a707a9.tar.lz
nixpkgs-2906718bccd16eac7a197d6eca32be6931a707a9.tar.xz
nixpkgs-2906718bccd16eac7a197d6eca32be6931a707a9.tar.zst
nixpkgs-2906718bccd16eac7a197d6eca32be6931a707a9.zip
orangefs: init at 2.9.7
Diffstat (limited to 'pkgs/tools/filesystems')
-rw-r--r--pkgs/tools/filesystems/orangefs/default.nix61
1 files changed, 61 insertions, 0 deletions
diff --git a/pkgs/tools/filesystems/orangefs/default.nix b/pkgs/tools/filesystems/orangefs/default.nix
new file mode 100644
index 00000000000..37f4026799b
--- /dev/null
+++ b/pkgs/tools/filesystems/orangefs/default.nix
@@ -0,0 +1,61 @@
+{ stdenv, fetchurl, bison, flex, autoreconfHook
+, openssl, db, attr, perl, tcsh
+} :
+
+stdenv.mkDerivation rec {
+  pname = "orangefs";
+  version = "2.9.7";
+
+  src = fetchurl {
+    url = "http://download.orangefs.org/current/source/orangefs-${version}.tar.gz";
+    sha256 = "15669f5rcvn44wkas0mld0qmyclrmhbrw4bbbp66sw3a12vgn4sm";
+  };
+
+  nativeBuildInputs = [ bison flex perl autoreconfHook ];
+  buildInputs = [ openssl db attr tcsh ];
+
+  postPatch = ''
+    # Issue introduced by attr-2.4.48
+    substituteInPlace src/apps/user/ofs_setdirhint.c --replace attr/xattr.h sys/xattr.h
+
+    # Do not try to install empty sysconfdir
+    substituteInPlace Makefile.in --replace 'install -d $(sysconfdir)' ""
+
+    # perl interpreter needs to be fixed or build fails
+    patchShebangs ./src/apps/admin/pvfs2-genconfig
+
+    # symlink points to a location in /usr
+    rm ./src/client/webpack/ltmain.sh
+  '';
+
+  configureFlags = [
+    "--sysconfdir=/etc/orangefs"
+    "--enable-shared"
+    "--enable-fast"
+    "--with-ssl=${stdenv.lib.getDev openssl}"
+  ];
+
+
+  enableParallelBuilding = true;
+
+  postInstall = ''
+    # install useful helper scripts
+    install examples/keys/pvfs2-gen-keys.sh $out/bin
+  '';
+
+  postFixup = ''
+    for f in pvfs2-getmattr pvfs2-setmattr; do
+      substituteInPlace $out/bin/$f --replace '#!/bin/csh' '#!${tcsh}/bin/tcsh'
+    done
+
+    sed -i 's:openssl:${openssl}/bin/openssl:' $out/bin/pvfs2-gen-keys.sh
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Scale-out network file system for use on high-end computing systems";
+    homepage = "http://www.orangefs.org/";
+    license = with licenses;  [ asl20 bsd3 gpl2 lgpl21 lgpl21Plus openldap ];
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ markuskowa ];
+  };
+}