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