summary refs log tree commit diff
path: root/pkgs/os-specific/linux/beegfs
diff options
context:
space:
mode:
authorMarkus Kowalewski <markus.kowalewski@gmail.com>2018-01-24 00:27:00 -0800
committerMarkus Kowalewski <markus.kowalewski@gmail.com>2018-01-29 21:47:50 -0800
commit043dece5b7de97930d9f010c880d1bf3eae6a61d (patch)
tree6bd70e5ac00cbf4585a10d0cae7b621b566d5eb6 /pkgs/os-specific/linux/beegfs
parente4570af4933a71ef701e0267c0d400b09dd44523 (diff)
downloadnixlib-043dece5b7de97930d9f010c880d1bf3eae6a61d.tar
nixlib-043dece5b7de97930d9f010c880d1bf3eae6a61d.tar.gz
nixlib-043dece5b7de97930d9f010c880d1bf3eae6a61d.tar.bz2
nixlib-043dece5b7de97930d9f010c880d1bf3eae6a61d.tar.lz
nixlib-043dece5b7de97930d9f010c880d1bf3eae6a61d.tar.xz
nixlib-043dece5b7de97930d9f010c880d1bf3eae6a61d.tar.zst
nixlib-043dece5b7de97930d9f010c880d1bf3eae6a61d.zip
beegfs: build beeond
Diffstat (limited to 'pkgs/os-specific/linux/beegfs')
-rw-r--r--pkgs/os-specific/linux/beegfs/default.nix36
1 files changed, 34 insertions, 2 deletions
diff --git a/pkgs/os-specific/linux/beegfs/default.nix b/pkgs/os-specific/linux/beegfs/default.nix
index 03b485b0ae39..6cf233694cdc 100644
--- a/pkgs/os-specific/linux/beegfs/default.nix
+++ b/pkgs/os-specific/linux/beegfs/default.nix
@@ -1,12 +1,15 @@
 { stdenv, fetchurl, pkgconfig, unzip, which
 , libuuid, attr, xfsprogs, cppunit, rdma-core
 , zlib, openssl, sqlite, jre, openjdk, ant
+, openssh, perl, gfortran
 } :
 
 let
   version = "6.17";
 
   subdirs = [
+    "beeond_thirdparty/build"
+    "beeond_thirdparty_gpl/build"
     "beegfs_thirdparty/build"
     "beegfs_opentk_lib/build"
     "beegfs_common/build"
@@ -30,14 +33,34 @@ in stdenv.mkDerivation rec {
     sha256 = "10xs7gzdmlg23k6zn1b7jij3lljn7rr1j6h476hq4lbg981qk3n3";
   };
 
-  nativeBuildInputs = [ which unzip pkgconfig cppunit openjdk ant];
-  buildInputs = [ libuuid attr xfsprogs zlib openssl sqlite jre rdma-core ];
+  nativeBuildInputs = [ which unzip pkgconfig cppunit openjdk ant perl ];
+
+  buildInputs = [
+    libuuid
+    attr
+    xfsprogs
+    zlib
+    openssl
+    sqlite
+    jre
+    rdma-core
+    openssh
+    gfortran ];
+
+  hardeningDisable = [ "format" ]; # required for building beeond
 
   postPatch = ''
     patchShebangs ./
     find -type f -name Makefile -exec sed -i "s:/bin/bash:${stdenv.shell}:" \{} \;
     find -type f -name Makefile -exec sed -i "s:/bin/true:true:" \{} \;
     find -type f -name "*.mk" -exec sed -i "s:/bin/true:true:" \{} \;
+
+    # unpack manually and patch variable name
+    sed -i '/tar -C $(SOURCE_PATH) -xzf $(PCOPY_TAR)/d' beeond_thirdparty/build/Makefile
+    cd beeond_thirdparty/source
+    tar xf pcopy-0.96.tar.gz
+    sed -i 's/\([^_]\)rank/\1grank/' pcopy-0.96/src/pcp.cpp
+    cd ../..
   '';
 
   buildPhase = ''
@@ -93,6 +116,12 @@ in stdenv.mkDerivation rec {
 
     cp beegfs_client_devel/build/dist/usr/share/doc/beegfs-client-devel/examples/* $docDir
     cp -r beegfs_client_devel/include/* $includeDir
+
+    cp beeond_thirdparty_gpl/build/parallel $out/bin
+    cp beeond_thirdparty/build/pcopy/p* $out/bin
+    cp beeond_thirdparty/build/pcopy/s* $out/bin
+    cp -r beeond/scripts/* $out
+    cp beeond/source/* $out/bin
   '';
 
   postFixup = ''
@@ -100,6 +129,9 @@ in stdenv.mkDerivation rec {
       --replace " java " " ${jre}/bin/java " \
       --replace "/opt/beegfs/beegfs-admon-gui/beegfs-admon-gui.jar" \
                 "$libDirPkg/beegfs-admon-gui.jar"
+
+    substituteInPlace $out/bin/beeond \
+      --replace /opt/beegfs/sbin "$out/bin"
   '';
 
   doCheck = true;