jnr-posix: init at 3.1.18

+82
+82
pkgs/by-name/jn/jnr-posix/package.nix
···
··· 1 + { stdenv 2 + , lib 3 + , fetchFromGitHub 4 + , dpkg 5 + , jdk 6 + , makeWrapper 7 + , maven 8 + , which 9 + }: 10 + let 11 + pname = "jnr-posix"; 12 + version = "3.1.18"; 13 + 14 + src = fetchFromGitHub { 15 + owner = "jnr"; 16 + repo = "jnr-posix"; 17 + rev = "jnr-posix-${version}"; 18 + hash = "sha256-zx8I9rsu9Kjef+LatDA1WIuO7Vgo0/JM5nGi3pSWch4="; 19 + }; 20 + 21 + deps = stdenv.mkDerivation { 22 + name = "${pname}-${version}-deps"; 23 + inherit src; 24 + 25 + nativeBuildInputs = [ jdk maven ]; 26 + 27 + buildPhase = '' 28 + runHook preBuild 29 + 30 + mvn package -Dmaven.test.skip=true -Dmaven.repo.local=$out/.m2 -Dmaven.wagon.rto=5000 31 + 32 + runHook postBuild 33 + ''; 34 + 35 + # keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside 36 + installPhase = '' 37 + runHook preInstall 38 + 39 + find $out/.m2 -type f -regex '.+\(\.lastUpdated\|resolver-status\.properties\|_remote\.repositories\)' -delete 40 + find $out/.m2 -type f -iname '*.pom' -exec sed -i -e 's/\r\+$//' {} \; 41 + 42 + runHook postInstall 43 + ''; 44 + 45 + outputHashMode = "recursive"; 46 + outputHash = "sha256-gOw0KUFyZEMONwLwlHSiV+ZZ7JQhjZwg708Q1IciUfo="; 47 + 48 + doCheck = false; 49 + }; 50 + in 51 + stdenv.mkDerivation rec { 52 + inherit version pname src; 53 + 54 + nativeBuildInputs = [ maven which ]; 55 + 56 + postPatch = '' 57 + sed -i "s/\/usr\/bin\/id/$(which id | sed 's#/#\\/#g')/g" src/main/java/jnr/posix/JavaPOSIX.java 58 + ''; 59 + 60 + buildPhase = '' 61 + runHook preBuild 62 + 63 + mvn package --offline -Dmaven.test.skip=true -Dmaven.repo.local=$(cp -dpR ${deps}/.m2 ./ && chmod +w -R .m2 && pwd)/.m2 64 + 65 + runHook postBuild 66 + ''; 67 + 68 + installPhase = '' 69 + runHook preInstall 70 + 71 + install -D target/${pname}-${version}.jar $out/share/java/${pname}-${version}.jar 72 + 73 + runHook postInstall 74 + ''; 75 + 76 + meta = with lib; { 77 + description = "jnr-posix is a lightweight cross-platform POSIX emulation layer for Java, written in Java and is part of the JNR project"; 78 + homepage = "https://github.com/jnr/jnr-posix"; 79 + license = with licenses; [ epl20 gpl2Only lgpl21Only ]; 80 + maintainers = with lib.maintainers; [ rhysmdnz ]; 81 + }; 82 + }