summary refs log tree commit diff
diff options
context:
space:
mode:
authorArtturi <Artturin@artturin.com>2021-10-07 18:20:05 +0300
committerGitHub <noreply@github.com>2021-10-07 18:20:05 +0300
commit46c22f8932d3d0eb8e509293f2ac42cf08417997 (patch)
treea03c7f708f86375ddd6eb2bac2f1af55501c7a75
parent70088dc29994c32f8520150e34c6e57e8453f895 (diff)
parentcd42b9fff8581b36ddd843241d42e214715af851 (diff)
downloadnixpkgs-46c22f8932d3d0eb8e509293f2ac42cf08417997.tar
nixpkgs-46c22f8932d3d0eb8e509293f2ac42cf08417997.tar.gz
nixpkgs-46c22f8932d3d0eb8e509293f2ac42cf08417997.tar.bz2
nixpkgs-46c22f8932d3d0eb8e509293f2ac42cf08417997.tar.lz
nixpkgs-46c22f8932d3d0eb8e509293f2ac42cf08417997.tar.xz
nixpkgs-46c22f8932d3d0eb8e509293f2ac42cf08417997.tar.zst
nixpkgs-46c22f8932d3d0eb8e509293f2ac42cf08417997.zip
Merge pull request #140337 from Artturin/overidesrcfetchff
-rw-r--r--pkgs/build-support/fetchfirefoxaddon/default.nix21
-rw-r--r--pkgs/build-support/fetchfirefoxaddon/tests.nix13
2 files changed, 24 insertions, 10 deletions
diff --git a/pkgs/build-support/fetchfirefoxaddon/default.nix b/pkgs/build-support/fetchfirefoxaddon/default.nix
index 127f32dd61b..79014fd23c4 100644
--- a/pkgs/build-support/fetchfirefoxaddon/default.nix
+++ b/pkgs/build-support/fetchfirefoxaddon/default.nix
@@ -2,19 +2,26 @@
 
 {
   name
-, url
+, url ? null
 , md5 ? ""
 , sha1 ? ""
 , sha256 ? ""
 , sha512 ? ""
 , fixedExtid ? null
 , hash ? ""
+, src ? ""
 }:
 
-stdenv.mkDerivation rec {
-
-  inherit name;
+let
   extid = if fixedExtid == null then "nixos@${name}" else fixedExtid;
+  source = if url == null then src else fetchurl {
+    url = url;
+    inherit md5 sha1 sha256 sha512 hash;
+  };
+in
+stdenv.mkDerivation {
+  inherit name;
+
   passthru = {
     inherit extid;
   };
@@ -26,16 +33,12 @@ stdenv.mkDerivation rec {
 
     UUID="${extid}"
     mkdir -p "$out/$UUID"
-    unzip -q ${src} -d "$out/$UUID"
+    unzip -q ${source} -d "$out/$UUID"
     NEW_MANIFEST=$(jq '. + {"applications": { "gecko": { "id": "${extid}" }}, "browser_specific_settings":{"gecko":{"id": "${extid}"}}}' "$out/$UUID/manifest.json")
     echo "$NEW_MANIFEST" > "$out/$UUID/manifest.json"
     cd "$out/$UUID"
     zip -r -q -FS "$out/$UUID.xpi" *
     rm -r "$out/$UUID"
   '';
-  src = fetchurl {
-    url = url;
-    inherit md5 sha1 sha256 sha512 hash;
-  };
   nativeBuildInputs = [ coreutils unzip zip jq  ];
 }
diff --git a/pkgs/build-support/fetchfirefoxaddon/tests.nix b/pkgs/build-support/fetchfirefoxaddon/tests.nix
index d125be196af..c407d0e74b8 100644
--- a/pkgs/build-support/fetchfirefoxaddon/tests.nix
+++ b/pkgs/build-support/fetchfirefoxaddon/tests.nix
@@ -1,4 +1,4 @@
-{ invalidateFetcherByDrvHash, fetchFirefoxAddon, ... }:
+{ invalidateFetcherByDrvHash, fetchFirefoxAddon, fetchurl, ... }:
 
 {
   simple = invalidateFetcherByDrvHash fetchFirefoxAddon {
@@ -7,4 +7,15 @@
     url = "https://addons.mozilla.org/firefox/downloads/file/3059971/image_search_options-3.0.12-fx.xpi";
     sha256 = "sha256-H73YWX/DKxvhEwKpWOo7orAQ7c/rQywpljeyxYxv0Gg=";
   };
+  overidden-source =
+    let
+      image-search-options = fetchurl {
+        url = "https://addons.mozilla.org/firefox/downloads/file/3059971/image_search_options-3.0.12-fx.xpi";
+        sha256 = "sha256-H73YWX/DKxvhEwKpWOo7orAQ7c/rQywpljeyxYxv0Gg=";
+      };
+    in
+    invalidateFetcherByDrvHash fetchFirefoxAddon {
+      name = "image-search-options";
+      src = image-search-options;
+    };
 }