diff options
Diffstat (limited to 'pkgs/signald/default.nix')
-rw-r--r-- | pkgs/signald/default.nix | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/pkgs/signald/default.nix b/pkgs/signald/default.nix deleted file mode 100644 index 593e63d..0000000 --- a/pkgs/signald/default.nix +++ /dev/null | |||
@@ -1,87 +0,0 @@ | |||
1 | { lib, stdenv, fetchurl, fetchgit, jre, coreutils, gradle_6, git, perl | ||
2 | , makeWrapper }: | ||
3 | |||
4 | let | ||
5 | pname = "signald"; | ||
6 | |||
7 | version = "0.13.1"; | ||
8 | |||
9 | # This package uses the .git directory | ||
10 | src = fetchgit { | ||
11 | url = "https://gitlab.com/signald/signald"; | ||
12 | rev = version; | ||
13 | sha256 = "1ilmg0i1kw2yc7m3hxw1bqdpl3i9wwbj8623qmz9cxhhavbcd5i7"; | ||
14 | leaveDotGit = true; | ||
15 | }; | ||
16 | |||
17 | buildConfigJar = fetchurl { | ||
18 | url = "https://dl.bintray.com/mfuerstenau/maven/gradle/plugin/de/fuerstenau/BuildConfigPlugin/1.1.8/BuildConfigPlugin-1.1.8.jar"; | ||
19 | sha256 = "0y1f42y7ilm3ykgnm6s3ks54d71n8lsy5649xgd9ahv28lj05x9f"; | ||
20 | }; | ||
21 | |||
22 | patches = [ ./git-describe-always.patch ./gradle-plugin.patch ]; | ||
23 | |||
24 | postPatch = '' | ||
25 | patchShebangs gradlew | ||
26 | sed -i -e 's|BuildConfig.jar|${buildConfigJar}|' build.gradle | ||
27 | ''; | ||
28 | |||
29 | # fake build to pre-download deps into fixed-output derivation | ||
30 | deps = stdenv.mkDerivation { | ||
31 | name = "${pname}-deps"; | ||
32 | inherit src version postPatch patches; | ||
33 | nativeBuildInputs = [ gradle_6 perl ]; | ||
34 | buildPhase = '' | ||
35 | export GRADLE_USER_HOME=$(mktemp -d) | ||
36 | gradle --no-daemon build | ||
37 | ''; | ||
38 | # perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar) | ||
39 | installPhase = '' | ||
40 | find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \ | ||
41 | | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/''${\($5 =~ s/-jvm//r)}" #e' \ | ||
42 | | sh | ||
43 | ''; | ||
44 | # Don't move info to share/ | ||
45 | forceShare = [ "dummy" ]; | ||
46 | outputHashAlgo = "sha256"; | ||
47 | outputHashMode = "recursive"; | ||
48 | outputHash = "0w8ixp1l0ch1jc2dqzxdx3ljlh17hpgns2ba7qvj43nr4prl71l7"; | ||
49 | }; | ||
50 | |||
51 | in stdenv.mkDerivation rec { | ||
52 | inherit pname src version postPatch patches; | ||
53 | |||
54 | buildPhase = '' | ||
55 | export GRADLE_USER_HOME=$(mktemp -d) | ||
56 | |||
57 | # Use the local packages from -deps | ||
58 | sed -i -e 's|mavenCentral()|mavenLocal(); maven { url uri("${deps}") }|' build.gradle | ||
59 | |||
60 | gradle --offline --no-daemon distTar | ||
61 | ''; | ||
62 | |||
63 | installPhase = '' | ||
64 | mkdir -p $out | ||
65 | tar xvf ./build/distributions/signald.tar --strip-components=1 --directory $out/ | ||
66 | wrapProgram $out/bin/signald \ | ||
67 | --prefix PATH : ${lib.makeBinPath [ coreutils ]} \ | ||
68 | --set JAVA_HOME "${jre}" | ||
69 | ''; | ||
70 | |||
71 | nativeBuildInputs = [ git gradle_6 makeWrapper ]; | ||
72 | |||
73 | doCheck = true; | ||
74 | |||
75 | meta = with lib; { | ||
76 | description = "Unofficial daemon for interacting with Signal"; | ||
77 | longDescription = '' | ||
78 | Signald is a daemon that facilitates communication over Signal. It is | ||
79 | unofficial, unapproved, and not nearly as secure as the real Signal | ||
80 | clients. | ||
81 | ''; | ||
82 | homepage = "https://signald.org"; | ||
83 | license = licenses.gpl3Plus; | ||
84 | maintainers = with maintainers; [ expipiplus1 ]; | ||
85 | platforms = platforms.unix; | ||
86 | }; | ||
87 | } | ||