1{ stdenv, lib, fetchFromGitHub, ant, jdk, stripJavaArchivesHook }:
2
3stdenv.mkDerivation (finalAttrs: {
4 pname = "jna";
5 version = "5.14.0";
6
7 src = fetchFromGitHub {
8 owner = "java-native-access";
9 repo = "jna";
10 rev = finalAttrs.version;
11 hash = "sha256-a5l9khKLWfvTHv53utfbw344/UNQOnIU93+wZNQ0ji4=";
12 };
13
14 nativeBuildInputs = [ ant jdk stripJavaArchivesHook ];
15
16 buildPhase = ''
17 runHook preBuild
18 rm -r dist # remove prebuilt files
19 ant dist
20 runHook postBuild
21 '';
22
23 installPhase = ''
24 runHook preInstall
25 install -Dm444 -t $out/share/java dist/jna{,-platform}.jar
26 runHook postInstall
27 '';
28
29 meta = with lib; {
30 changelog = "https://github.com/java-native-access/jna/blob/${finalAttrs.version}/CHANGES.md";
31 description = "Java Native Access";
32 homepage = "https://github.com/java-native-access/jna";
33 license = with licenses; [ lgpl21 asl20 ];
34 maintainers = with maintainers; [ nagy ];
35 platforms = platforms.linux ++ platforms.darwin;
36 };
37})