welkin: use mkDerivation and fix build

This commit is contained in:
Robin Gloster 2016-01-26 16:34:33 +00:00
parent ea9c2fad54
commit 5e189bd207

View file

@ -1,57 +1,35 @@
x@{builderDefsPackage
, jre
, ...}:
builderDefsPackage
(a :
let
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
["jre"];
{ stdenv, fetchsvn, jre, makeWrapper }:
buildInputs = map (n: builtins.getAttr n x)
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
sourceInfo = rec {
baseName="welkin";
version="1.1";
name="${baseName}-${version}";
url="http://simile.mit.edu/dist/welkin/${name}.tar.gz";
hash="0hr2xvfz887fdf2ysiqydv6m13gbdl5x0fh4960i655d5imvd5x0";
};
in
rec {
src = a.fetchurl {
url = sourceInfo.url;
sha256 = sourceInfo.hash;
stdenv.mkDerivation rec {
name = "welkin-${version}";
version = "1.1";
src = fetchsvn {
url = "http://simile.mit.edu/repository/welkin";
rev = "9638";
sha256 = "1bqh3vam7y805xrmdw7k0ckcfwjg88wypxgv3njkkwyn7kxnfnqp";
};
inherit (sourceInfo) name version;
inherit buildInputs;
sourceRoot = "welkin-r9638/tags/${version}";
/* doConfigure should be removed if not needed */
phaseNames = ["doDeploy" "createBin"];
buildInputs = [ jre makeWrapper ];
doDeploy = a.simplyShare "welkin";
createBin = a.fullDepEntry ''
mkdir -p "$out/bin"
echo "#! ${a.stdenv.shell}" > "$out/bin/welkin"
echo "export JAVA_HOME=${jre}" >> "$out/bin/welkin"
echo "\"$out/share/welkin/welkin.sh\" \"\$@\"" >> "$out/bin/welkin"
sed -e 's@[.]/lib/welkin[.]jar@"'"$out"'/share/welkin/lib/welkin.jar"@' -i "$out/share/welkin/welkin.sh"
chmod a+x "$out/bin/welkin"
'' ["minInit" "defEnsureDir"];
installPhase = ''
mkdir -p $out/{bin,share}
cp -R . $out/share
cp $out/share/welkin.sh $out/bin/welkin
sed -e 's@\./lib/welkin\.jar@'"$out"'/share/lib/welkin.jar@' -i $out/bin/welkin
wrapProgram $out/bin/welkin \
--set JAVA_HOME ${jre}
chmod a+x $out/bin/welkin
'';
meta = {
description = "An RDF visualizer";
maintainers = with a.lib.maintainers;
[
maintainers = with stdenv.lib.maintainers; [
raskin
];
hydraPlatforms = [];
license = a.lib.licenses.free;
license = stdenv.lib.licenses.free;
};
passthru = {
updateInfo = {
downloadPage = "http://simile.mit.edu/dist/welkin/";
};
};
}) x
}