Merge pull request #294958 from TomaSajt/projectlibre
projectlibre: make deterministic and clean up
This commit is contained in:
commit
40311becbb
1 changed files with 47 additions and 25 deletions
|
@ -1,46 +1,68 @@
|
||||||
{ lib, stdenv, fetchgit, ant, jdk, makeWrapper, jre, coreutils, which }:
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchgit
|
||||||
|
, ant
|
||||||
|
, jdk
|
||||||
|
, stripJavaArchivesHook
|
||||||
|
, makeWrapper
|
||||||
|
, jre
|
||||||
|
, coreutils
|
||||||
|
, which
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation {
|
||||||
pname = "projectlibre";
|
pname = "projectlibre";
|
||||||
version = "1.7.0";
|
version = "1.7.0";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://git.code.sf.net/p/projectlibre/code";
|
url = "https://git.code.sf.net/p/projectlibre/code";
|
||||||
rev = "0c939507cc63e9eaeb855437189cdec79e9386c2"; # version 1.7.0 was not tagged
|
rev = "0c939507cc63e9eaeb855437189cdec79e9386c2"; # version 1.7.0 was not tagged
|
||||||
sha256 = "0vy5vgbp45ai957gaby2dj1hvmbxfdlfnwcanwqm9f8q16qipdbq";
|
hash = "sha256-eLUbsQkYuVQxt4px62hzfdUNg2zCL/VOSVEVctfbxW8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [
|
||||||
buildInputs = [ ant jdk ];
|
ant
|
||||||
buildPhase = ''
|
jdk
|
||||||
export ANT_OPTS=-Dbuild.sysclasspath=ignore
|
stripJavaArchivesHook
|
||||||
${ant}/bin/ant -f openproj_build/build.xml
|
makeWrapper
|
||||||
'';
|
];
|
||||||
|
|
||||||
resourcesPath = "openproj_build/resources";
|
buildPhase = ''
|
||||||
desktopItem = "${resourcesPath}/projectlibre.desktop";
|
runHook preBuild
|
||||||
|
ant -f openproj_build/build.xml
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/share/{applications,projectlibre/samples,pixmaps,doc/projectlibre} $out/bin
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p $out/share/{projectlibre/samples,doc/projectlibre}
|
||||||
|
|
||||||
|
pushd openproj_build
|
||||||
|
cp -R dist/* $out/share/projectlibre
|
||||||
|
cp -R license $out/share/doc/projectlibre
|
||||||
|
cp -R resources/samples/* $out/share/projectlibre/samples
|
||||||
|
install -Dm644 resources/projectlibre.desktop -t $out/share/applications
|
||||||
|
install -Dm644 resources/projectlibre.png -t $out/share/pixmaps
|
||||||
|
install -Dm755 resources/projectlibre -t $out/bin
|
||||||
|
popd
|
||||||
|
|
||||||
|
substituteInPlace $out/bin/projectlibre \
|
||||||
|
--replace-fail "/usr/share/projectlibre" "$out/share/projectlibre"
|
||||||
|
|
||||||
substitute $resourcesPath/projectlibre $out/bin/projectlibre \
|
|
||||||
--replace "\"/usr/share/projectlibre\"" "\"$out/share/projectlibre\""
|
|
||||||
chmod +x $out/bin/projectlibre
|
|
||||||
wrapProgram $out/bin/projectlibre \
|
wrapProgram $out/bin/projectlibre \
|
||||||
--prefix PATH : "${jre}/bin:${coreutils}/bin:${which}/bin"
|
--prefix PATH : ${lib.makeBinPath [ jre coreutils which ]}
|
||||||
|
|
||||||
cp -R openproj_build/dist/* $out/share/projectlibre
|
runHook postInstall
|
||||||
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; {
|
meta = {
|
||||||
homepage = "https://www.projectlibre.com/";
|
|
||||||
description = "Project-Management Software similar to MS-Project";
|
description = "Project-Management Software similar to MS-Project";
|
||||||
|
homepage = "https://www.projectlibre.com/";
|
||||||
|
license = lib.licenses.cpal10;
|
||||||
mainProgram = "projectlibre";
|
mainProgram = "projectlibre";
|
||||||
maintainers = [ maintainers.Mogria ];
|
maintainers = with lib.maintainers; [ Mogria tomasajt ];
|
||||||
license = licenses.cpal10;
|
platforms = jre.meta.platforms;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue