tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
beegfs: build beeond
Markus Kowalewski
8 years ago
043dece5
e4570af4
+34
-2
1 changed file
expand all
collapse all
unified
split
pkgs
os-specific
linux
beegfs
default.nix
+34
-2
pkgs/os-specific/linux/beegfs/default.nix
···
1
{ stdenv, fetchurl, pkgconfig, unzip, which
2
, libuuid, attr, xfsprogs, cppunit, rdma-core
3
, zlib, openssl, sqlite, jre, openjdk, ant
0
4
} :
5
6
let
7
version = "6.17";
8
9
subdirs = [
0
0
10
"beegfs_thirdparty/build"
11
"beegfs_opentk_lib/build"
12
"beegfs_common/build"
···
30
sha256 = "10xs7gzdmlg23k6zn1b7jij3lljn7rr1j6h476hq4lbg981qk3n3";
31
};
32
33
-
nativeBuildInputs = [ which unzip pkgconfig cppunit openjdk ant];
34
-
buildInputs = [ libuuid attr xfsprogs zlib openssl sqlite jre rdma-core ];
0
0
0
0
0
0
0
0
0
0
0
0
0
35
36
postPatch = ''
37
patchShebangs ./
38
find -type f -name Makefile -exec sed -i "s:/bin/bash:${stdenv.shell}:" \{} \;
39
find -type f -name Makefile -exec sed -i "s:/bin/true:true:" \{} \;
40
find -type f -name "*.mk" -exec sed -i "s:/bin/true:true:" \{} \;
0
0
0
0
0
0
0
41
'';
42
43
buildPhase = ''
···
93
94
cp beegfs_client_devel/build/dist/usr/share/doc/beegfs-client-devel/examples/* $docDir
95
cp -r beegfs_client_devel/include/* $includeDir
0
0
0
0
0
0
96
'';
97
98
postFixup = ''
···
100
--replace " java " " ${jre}/bin/java " \
101
--replace "/opt/beegfs/beegfs-admon-gui/beegfs-admon-gui.jar" \
102
"$libDirPkg/beegfs-admon-gui.jar"
0
0
0
103
'';
104
105
doCheck = true;
···
1
{ stdenv, fetchurl, pkgconfig, unzip, which
2
, libuuid, attr, xfsprogs, cppunit, rdma-core
3
, zlib, openssl, sqlite, jre, openjdk, ant
4
+
, openssh, perl, gfortran
5
} :
6
7
let
8
version = "6.17";
9
10
subdirs = [
11
+
"beeond_thirdparty/build"
12
+
"beeond_thirdparty_gpl/build"
13
"beegfs_thirdparty/build"
14
"beegfs_opentk_lib/build"
15
"beegfs_common/build"
···
33
sha256 = "10xs7gzdmlg23k6zn1b7jij3lljn7rr1j6h476hq4lbg981qk3n3";
34
};
35
36
+
nativeBuildInputs = [ which unzip pkgconfig cppunit openjdk ant perl ];
37
+
38
+
buildInputs = [
39
+
libuuid
40
+
attr
41
+
xfsprogs
42
+
zlib
43
+
openssl
44
+
sqlite
45
+
jre
46
+
rdma-core
47
+
openssh
48
+
gfortran ];
49
+
50
+
hardeningDisable = [ "format" ]; # required for building beeond
51
52
postPatch = ''
53
patchShebangs ./
54
find -type f -name Makefile -exec sed -i "s:/bin/bash:${stdenv.shell}:" \{} \;
55
find -type f -name Makefile -exec sed -i "s:/bin/true:true:" \{} \;
56
find -type f -name "*.mk" -exec sed -i "s:/bin/true:true:" \{} \;
57
+
58
+
# unpack manually and patch variable name
59
+
sed -i '/tar -C $(SOURCE_PATH) -xzf $(PCOPY_TAR)/d' beeond_thirdparty/build/Makefile
60
+
cd beeond_thirdparty/source
61
+
tar xf pcopy-0.96.tar.gz
62
+
sed -i 's/\([^_]\)rank/\1grank/' pcopy-0.96/src/pcp.cpp
63
+
cd ../..
64
'';
65
66
buildPhase = ''
···
116
117
cp beegfs_client_devel/build/dist/usr/share/doc/beegfs-client-devel/examples/* $docDir
118
cp -r beegfs_client_devel/include/* $includeDir
119
+
120
+
cp beeond_thirdparty_gpl/build/parallel $out/bin
121
+
cp beeond_thirdparty/build/pcopy/p* $out/bin
122
+
cp beeond_thirdparty/build/pcopy/s* $out/bin
123
+
cp -r beeond/scripts/* $out
124
+
cp beeond/source/* $out/bin
125
'';
126
127
postFixup = ''
···
129
--replace " java " " ${jre}/bin/java " \
130
--replace "/opt/beegfs/beegfs-admon-gui/beegfs-admon-gui.jar" \
131
"$libDirPkg/beegfs-admon-gui.jar"
132
+
133
+
substituteInPlace $out/bin/beeond \
134
+
--replace /opt/beegfs/sbin "$out/bin"
135
'';
136
137
doCheck = true;