nixpkgs/pkgs/applications/misc/projectlibre/default.nix

46 lines
1.5 KiB
Nix

{ lib, stdenv, fetchgit, ant, jdk, makeWrapper, jre, coreutils, which }:
stdenv.mkDerivation rec {
pname = "projectlibre";
version = "1.7.0";
src = fetchgit {
url = "https://git.code.sf.net/p/projectlibre/code";
rev = "0c939507cc63e9eaeb855437189cdec79e9386c2"; # version 1.7.0 was not tagged
sha256 = "0vy5vgbp45ai957gaby2dj1hvmbxfdlfnwcanwqm9f8q16qipdbq";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ ant jdk ];
buildPhase = ''
export ANT_OPTS=-Dbuild.sysclasspath=ignore
${ant}/bin/ant -f openproj_build/build.xml
'';
resourcesPath = "openproj_build/resources";
desktopItem = "${resourcesPath}/projectlibre.desktop";
installPhase = ''
mkdir -p $out/share/{applications,projectlibre/samples,pixmaps,doc/projectlibre} $out/bin
substitute $resourcesPath/projectlibre $out/bin/projectlibre \
--replace "\"/usr/share/projectlibre\"" "\"$out/share/projectlibre\""
chmod +x $out/bin/projectlibre
wrapProgram $out/bin/projectlibre \
--prefix PATH : "${jre}/bin:${coreutils}/bin:${which}/bin"
cp -R openproj_build/dist/* $out/share/projectlibre
cp -R openproj_build/license $out/share/doc/projectlibre
cp $desktopItem $out/share/applications
cp $resourcesPath/projectlibre.png $out/share/pixmaps
cp -R $resourcesPath/samples/* $out/share/projectlibre/samples
'';
meta = with lib; {
homepage = "https://www.projectlibre.com/";
description = "Project-Management Software similar to MS-Project";
maintainers = [ maintainers.Mogria ];
license = licenses.cpal10;
};
}