fetchNextcloudApp: add sha512 (#435930)

authored by philiptaron.tngl.sh and committed by GitHub 43d66715 ebbc7fb3

+57 -30
+4 -3
nixos/modules/services/web-apps/nextcloud.nix
··· 391 391 inherit (pkgs.nextcloud31Packages.apps) mail calendar contacts; 392 392 phonetrack = pkgs.fetchNextcloudApp { 393 393 name = "phonetrack"; 394 - sha256 = "0qf366vbahyl27p9mshfma1as4nvql6w75zy2zk5xwwbp343vsbc"; 395 - url = "https://gitlab.com/eneiluj/phonetrack-oc/-/wikis/uploads/931aaaf8dca24bf31a7e169a83c17235/phonetrack-0.6.9.tar.gz"; 396 - version = "0.6.9"; 394 + license = "agpl3Plus"; 395 + sha512 = "f67902d1b48def9a244383a39d7bec95bb4215054963a9751f99dae9bd2f2740c02d2ef97b3b76d69a36fa95f8a9374dd049440b195f4dad2f0c4bca645de228"; 396 + url = "https://github.com/julien-nc/phonetrack/releases/download/v0.8.2/phonetrack-0.8.2.tar.gz"; 397 + version = "0.8.2"; 397 398 }; 398 399 } 399 400 '';
+28 -27
pkgs/build-support/fetchnextcloudapp/default.nix
··· 6 6 ... 7 7 }: 8 8 { 9 + name ? 10 + if appName == null || appVersion == null then null else "nextcloud-app-${appName}-${appVersion}", 9 11 url, 10 12 hash ? "", 11 13 sha256 ? "", 14 + sha512 ? "", 12 15 appName ? null, 13 16 appVersion ? null, 14 17 license, 15 18 patches ? [ ], 16 19 description ? null, 20 + longDescription ? description, 17 21 homepage ? null, 18 22 maintainers ? [ ], 19 23 teams ? [ ], 20 24 unpack ? false, # whether to use fetchzip rather than fetchurl 21 25 }: 22 - applyPatches ( 23 - { 24 - inherit patches; 25 - src = (if unpack then fetchzip else fetchurl) { 26 - inherit url hash sha256; 27 - meta = { 28 - license = lib.licenses.${license}; 29 - longDescription = description; 30 - inherit homepage maintainers teams; 31 - } 32 - // lib.optionalAttrs (description != null) { 33 - longDescription = description; 34 - } 35 - // lib.optionalAttrs (homepage != null) { 36 - inherit homepage; 37 - }; 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; 38 42 }; 39 - prePatch = '' 40 - if [ ! -f ./appinfo/info.xml ]; then 41 - echo "appinfo/info.xml doesn't exist in $out, aborting!" 42 - exit 1 43 - fi 44 - ''; 45 - } 46 - // lib.optionalAttrs (appName != null && appVersion != null) { 47 - name = "nextcloud-app-${appName}-${appVersion}"; 48 - } 49 - ) 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 + }
+22
pkgs/build-support/fetchnextcloudapp/tests.nix
··· 1 + { 2 + testers, 3 + fetchNextcloudApp, 4 + ... 5 + }: 6 + 7 + { 8 + simple-sha512 = testers.invalidateFetcherByDrvHash fetchNextcloudApp { 9 + appName = "phonetrack"; 10 + appVersion = "0.8.2"; 11 + license = "agpl3Plus"; 12 + sha512 = "f67902d1b48def9a244383a39d7bec95bb4215054963a9751f99dae9bd2f2740c02d2ef97b3b76d69a36fa95f8a9374dd049440b195f4dad2f0c4bca645de228"; 13 + 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 { 16 + appName = "phonetrack"; 17 + appVersion = "0.8.2"; 18 + license = "agpl3Plus"; 19 + sha256 = "7c4252186e0ff8e0b97fc3d30131eeadd51bd2f9cc6aa321eb0c1c541f9572c0"; 20 + url = "https://github.com/julien-nc/phonetrack/releases/download/v0.8.2/phonetrack-0.8.2.tar.gz"; 21 + }; 22 + }
+3
pkgs/test/default.nix
··· 131 131 fetchDebianPatch = recurseIntoAttrs (callPackages ../build-support/fetchdebianpatch/tests.nix { }); 132 132 fetchzip = recurseIntoAttrs (callPackages ../build-support/fetchzip/tests.nix { }); 133 133 fetchgit = recurseIntoAttrs (callPackages ../build-support/fetchgit/tests.nix { }); 134 + fetchNextcloudApp = recurseIntoAttrs ( 135 + callPackages ../build-support/fetchnextcloudapp/tests.nix { } 136 + ); 134 137 fetchFromBitbucket = recurseIntoAttrs (callPackages ../build-support/fetchbitbucket/tests.nix { }); 135 138 fetchFirefoxAddon = recurseIntoAttrs ( 136 139 callPackages ../build-support/fetchfirefoxaddon/tests.nix { }