80 lines
2.1 KiB
Nix
80 lines
2.1 KiB
Nix
|
x@{builderDefsPackage
|
||
|
, boost, fuse, openssl, cmake, attr, jdk, ant, which, python, file
|
||
|
, ...}:
|
||
|
builderDefsPackage
|
||
|
(a :
|
||
|
let
|
||
|
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
|
||
|
[];
|
||
|
|
||
|
buildInputs = map (n: builtins.getAttr n x)
|
||
|
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
|
||
|
sourceInfo = rec {
|
||
|
baseName="XtreemFS";
|
||
|
version="1.3.0";
|
||
|
name="${baseName}-${version}";
|
||
|
url="http://xtreemfs.googlecode.com/files/${name}.tar.gz";
|
||
|
hash="15rg3dh22kb2g94fmbb6r32a9qfl3yr4ql17rwj50l4y8wrcx0hf";
|
||
|
};
|
||
|
in
|
||
|
rec {
|
||
|
src = a.fetchurl {
|
||
|
url = sourceInfo.url;
|
||
|
sha256 = sourceInfo.hash;
|
||
|
};
|
||
|
|
||
|
inherit (sourceInfo) name version;
|
||
|
inherit buildInputs;
|
||
|
|
||
|
/* doConfigure should be removed if not needed */
|
||
|
phaseNames = ["setVars" "fixMakefile" "doMakeInstall" "fixInterpreterBin"
|
||
|
"fixInterpreterEtc"
|
||
|
"usrIsOut"];
|
||
|
|
||
|
setVars = a.noDepEntry ''
|
||
|
export JAVA_HOME="${jdk}"
|
||
|
export ANT_HOME="${ant}"
|
||
|
export CMAKE_HOME=${cmake}
|
||
|
'';
|
||
|
|
||
|
fixMakefile = a.fullDepEntry ''
|
||
|
sed -e 's@DESTDIR)/usr@DESTDIR)@g' -i Makefile
|
||
|
|
||
|
sed -e 's@/usr/bin/@@g' -i cpp/thirdparty/protobuf-*/configure
|
||
|
sed -e 's@/usr/bin/@@g' -i cpp/thirdparty/protobuf-*/gtest/configure
|
||
|
sed -e 's@/usr/bin/@@g' -i cpp/thirdparty/gtest-*/configure
|
||
|
'' ["doUnpack" "minInit"];
|
||
|
|
||
|
fixInterpreterBin = a.doPatchShebangs "$out/bin";
|
||
|
fixInterpreterEtc = a.doPatchShebangs "$out/etc/xos/xtreemfs";
|
||
|
|
||
|
usrIsOut = a.fullDepEntry ''
|
||
|
sed -e "s@/usr/@$out/@g" -i \
|
||
|
"$out"/{bin/xtfs_*,etc/xos/xtreemfs/*.*,etc/xos/xtreemfs/*/*,etc/init.d/*}
|
||
|
sed -e "s@JAVA_HOME=/usr@JAVA_HOME=${jdk}@g" -i \
|
||
|
"$out"/{bin/xtfs_*,etc/init.d/*}
|
||
|
'' ["minInit"];
|
||
|
|
||
|
makeFlags = [
|
||
|
''DESTDIR="$out"''
|
||
|
''SHELL="${a.stdenv.shell}"''
|
||
|
];
|
||
|
|
||
|
meta = {
|
||
|
description = "A distributed filesystem";
|
||
|
maintainers = with a.lib.maintainers;
|
||
|
[
|
||
|
raskin
|
||
|
];
|
||
|
platforms = with a.lib.platforms;
|
||
|
linux;
|
||
|
license = a.lib.licenses.bsd3;
|
||
|
};
|
||
|
passthru = {
|
||
|
updateInfo = {
|
||
|
downloadPage = "http://xtreemfs.org/download_sources.php";
|
||
|
};
|
||
|
};
|
||
|
}) x
|
||
|
|