evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / il / ili2c / package.nix
blob1d6f373db83a38b65af5108f8e7496a912acd612
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , ant
5 , jdk8
6 , jre8
7 , makeWrapper
8 , stripJavaArchivesHook
9 }:
11 let
12   jdk = jdk8;
13   jre = jre8;
15 stdenv.mkDerivation (finalAttrs: {
16   pname = "ili2c";
17   version = "5.1.1"; # There are newer versions, but they use gradle
19   nativeBuildInputs = [
20     ant
21     jdk
22     makeWrapper
23     stripJavaArchivesHook
24   ];
26   src = fetchFromGitHub {
27     owner = "claeis";
28     repo = "ili2c";
29     rev = "ili2c-${finalAttrs.version}";
30     hash = "sha256-FHhx+f253+UdbFjd2fOlUY1tpQ6pA2aVu9CBSwUVoKQ=";
31   };
33   patches = [
34     # avoids modifying Version.properties file because that would insert the current timestamp into the file
35     ./dont-use-build-timestamp.patch
36   ];
38   buildPhase = ''
39     runHook preBuild
40     ant jar
41     runHook postBuild
42   '';
44   installPhase = ''
45     runHook preInstall
47     install -Dm644 build/jar/ili2c.jar -t $out/share/ili2c
48     makeWrapper ${jre}/bin/java $out/bin/ili2c \
49         --add-flags "-jar $out/share/ili2c/ili2c.jar"
51     runHook postInstall
52   '';
54   meta = with lib; {
55     description = "INTERLIS Compiler";
56     longDescription = ''
57       Checks the syntactical correctness of an INTERLIS data model.
58     '';
59     homepage = "https://www.interlis.ch/downloads/ili2c";
60     sourceProvenance = with sourceTypes; [
61       fromSource
62       binaryBytecode # source bundles dependencies as jars
63     ];
64     license = licenses.lgpl21Plus;
65     maintainers = with maintainers; teams.geospatial.members ++ [ das-g ];
66     platforms = platforms.unix;
67     mainProgram = "ili2c";
68   };