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";
|
||||
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";
|
||||
hash = "sha256-eLUbsQkYuVQxt4px62hzfdUNg2zCL/VOSVEVctfbxW8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ ant jdk ];
|
||||
buildPhase = ''
|
||||
export ANT_OPTS=-Dbuild.sysclasspath=ignore
|
||||
${ant}/bin/ant -f openproj_build/build.xml
|
||||
'';
|
||||
nativeBuildInputs = [
|
||||
ant
|
||||
jdk
|
||||
stripJavaArchivesHook
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
resourcesPath = "openproj_build/resources";
|
||||
desktopItem = "${resourcesPath}/projectlibre.desktop";
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
ant -f openproj_build/build.xml
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
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 \
|
||||
--prefix PATH : "${jre}/bin:${coreutils}/bin:${which}/bin"
|
||||
--prefix PATH : ${lib.makeBinPath [ jre coreutils which ]}
|
||||
|
||||
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
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.projectlibre.com/";
|
||||
meta = {
|
||||
description = "Project-Management Software similar to MS-Project";
|
||||
homepage = "https://www.projectlibre.com/";
|
||||
license = lib.licenses.cpal10;
|
||||
mainProgram = "projectlibre";
|
||||
maintainers = [ maintainers.Mogria ];
|
||||
license = licenses.cpal10;
|
||||
maintainers = with lib.maintainers; [ Mogria tomasajt ];
|
||||
platforms = jre.meta.platforms;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue