Merge pull request #330634 from r-ryantm/auto-update/circumflex
[NixPkgs.git] / pkgs / servers / nosql / apache-jena / fuseki-binary.nix
blob9817de91766f185f05040adc9a52a056dae8d791
1 { lib
2 , stdenv
3 , fetchurl
4 , java
5 , coreutils
6 , which
7 , makeWrapper
8   # For the test
9 , pkgs
12 stdenv.mkDerivation rec {
13   pname = "apache-jena-fuseki";
14   version = "4.9.0";
15   src = fetchurl {
16     url = "mirror://apache/jena/binaries/apache-jena-fuseki-${version}.tar.gz";
17     hash = "sha256-t25Q0lb+ecR12cDD1p6eZnzLxW0kZpPOFGvo5YK7AlI=";
18   };
19   nativeBuildInputs = [
20     makeWrapper
21   ];
22   installPhase = ''
23     cp -r . "$out"
24     chmod +x $out/fuseki
25     ln -s "$out"/{fuseki-backup,fuseki-server,fuseki} "$out/bin"
26     for i in "$out"/bin/*; do
27       # It is necessary to set the default $FUSEKI_BASE directory to a writable location
28       # By default it points to $FUSEKI_HOME/run which is in the nix store
29       wrapProgram "$i" \
30         --prefix "PATH" : "${java}/bin/:${coreutils}/bin:${which}/bin" \
31         --set-default "FUSEKI_HOME" "$out" \
32         --run "if [ -z \"\$FUSEKI_BASE\" ]; then export FUSEKI_BASE=\"\$HOME/.local/fuseki\" ; mkdir -p \"\$HOME/.local/fuseki\" ; fi" \
33         ;
34     done
35   '';
36   passthru = {
37     tests = {
38       basic-test = pkgs.callPackage ./fuseki-test.nix { };
39     };
40   };
41   meta = with lib; {
42     description = "SPARQL server";
43     license = licenses.asl20;
44     maintainers = with maintainers; [ raskin ];
45     platforms = platforms.all;
46     sourceProvenance = with sourceTypes; [ binaryBytecode binaryNativeCode ];
47     homepage = "https://jena.apache.org";
48     downloadPage = "https://archive.apache.org/dist/jena/binaries/";
49     mainProgram = "fuseki";
50   };