tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
jnr-posix: init at 3.1.18
Rhys Davies
2 years ago
70c69948
098e29cd
+82
1 changed file
expand all
collapse all
unified
split
pkgs
by-name
jn
jnr-posix
package.nix
+82
pkgs/by-name/jn/jnr-posix/package.nix
···
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
···
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
+
}