Skip to content

Commit 4954843

Browse files
committed
fetchNextcloudApp: refactor for testing
1 parent e27f6eb commit 4954843

File tree

2 files changed

+31
-36
lines changed

2 files changed

+31
-36
lines changed

pkgs/build-support/fetchnextcloudapp/default.nix

Lines changed: 27 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
...
77
}:
88
{
9+
name ?
10+
if appName == null || appVersion == null then null else "nextcloud-app-${appName}-${appVersion}",
911
url,
1012
hash ? "",
1113
sha256 ? "",
@@ -15,41 +17,34 @@
1517
license,
1618
patches ? [ ],
1719
description ? null,
20+
longDescription ? description,
1821
homepage ? null,
1922
maintainers ? [ ],
2023
teams ? [ ],
2124
unpack ? false, # whether to use fetchzip rather than fetchurl
2225
}:
23-
applyPatches (
24-
{
25-
inherit patches;
26-
src = (if unpack then fetchzip else fetchurl) {
27-
inherit
28-
url
29-
hash
30-
sha256
31-
sha512
32-
;
33-
meta = {
34-
license = lib.licenses.${license};
35-
longDescription = description;
36-
inherit homepage maintainers teams;
37-
}
38-
// lib.optionalAttrs (description != null) {
39-
longDescription = description;
40-
}
41-
// lib.optionalAttrs (homepage != null) {
42-
inherit homepage;
43-
};
26+
applyPatches {
27+
${if name == null then null else "name"} = name;
28+
inherit patches;
29+
30+
src = (if unpack then fetchzip else fetchurl) {
31+
inherit url;
32+
${if hash == "" then null else "hash"} = hash;
33+
${if sha256 == "" then null else "sha256"} = sha256;
34+
${if sha512 == "" then null else "sha512"} = sha512;
35+
36+
meta = {
37+
license = lib.licenses.${license};
38+
${if description == null then null else "description"} = description;
39+
${if longDescription == null then null else "longDescription"} = longDescription;
40+
${if homepage == null then null else "homepage"} = homepage;
41+
inherit maintainers teams;
4442
};
45-
prePatch = ''
46-
if [ ! -f ./appinfo/info.xml ]; then
47-
echo "appinfo/info.xml doesn't exist in $out, aborting!"
48-
exit 1
49-
fi
50-
'';
51-
}
52-
// lib.optionalAttrs (appName != null && appVersion != null) {
53-
name = "nextcloud-app-${appName}-${appVersion}";
54-
}
55-
)
43+
};
44+
prePatch = ''
45+
if [ ! -f ./appinfo/info.xml ]; then
46+
echo "appinfo/info.xml doesn't exist in $out, aborting!"
47+
exit 1
48+
fi
49+
'';
50+
}

pkgs/build-support/fetchnextcloudapp/tests.nix

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,18 @@
55
}:
66

77
{
8-
simple-sha512 = testers.invalidateFetcherByDrvHash (fetchNextcloudApp {
8+
simple-sha512 = testers.invalidateFetcherByDrvHash fetchNextcloudApp {
99
appName = "phonetrack";
1010
appVersion = "0.8.2";
1111
license = "agpl3Plus";
1212
sha512 = "f67902d1b48def9a244383a39d7bec95bb4215054963a9751f99dae9bd2f2740c02d2ef97b3b76d69a36fa95f8a9374dd049440b195f4dad2f0c4bca645de228";
1313
url = "https://github.com/julien-nc/phonetrack/releases/download/v0.8.2/phonetrack-0.8.2.tar.gz";
14-
});
15-
simple-sha256 = testers.invalidateFetcherByDrvHash (fetchNextcloudApp {
14+
};
15+
simple-sha256 = testers.invalidateFetcherByDrvHash fetchNextcloudApp {
1616
appName = "phonetrack";
1717
appVersion = "0.8.2";
1818
license = "agpl3Plus";
1919
sha256 = "7c4252186e0ff8e0b97fc3d30131eeadd51bd2f9cc6aa321eb0c1c541f9572c0";
2020
url = "https://github.com/julien-nc/phonetrack/releases/download/v0.8.2/phonetrack-0.8.2.tar.gz";
21-
});
21+
};
2222
}

0 commit comments

Comments
 (0)