browserpass-extension: init at 3.7.2

bringing this in-tree instead of fetching it from the mozilla addons
webpage because i plan to develop on it.
This commit is contained in:
colin 2022-11-01 04:57:34 -07:00
parent 1c62bcd50c
commit 7f7041351b
2 changed files with 58 additions and 0 deletions

View File

@ -0,0 +1,57 @@
{ stdenv
, fetchFromGitHub
, gnused
, jq
, mkYarnModules
, zip
}:
let
pname = "browserpass-extension";
version = "3.7.2";
src = fetchFromGitHub {
owner = "browserpass";
repo = "browserpass-extension";
rev = version;
sha256 = "sha256-uDJ0ID8mD+5WLQK40+OfzRNIOOhZWsLYIi6QgcdIDvc=";
};
browserpass-extension-yarn-modules = mkYarnModules {
inherit pname version;
packageJSON = "${src}/src/package.json";
yarnLock = "${src}/src/yarn.lock";
};
extid = "browserpass@maximbaz.com";
in stdenv.mkDerivation {
inherit pname version src;
patchPhase = ''
# dependencies are built separately: skip the yarn install
${gnused}/bin/sed -i /yarn\ install/d src/Makefile
'';
preBuild = ''
ln -s ${browserpass-extension-yarn-modules}/node_modules src/node_modules
'';
installPhase = ''
BASE=$out/share/mozilla/extensions/\{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
mkdir -p $BASE
pushd firefox
# firefox requires addons to have an id field when sideloading:
# - <https://extensionworkshop.com/documentation/publish/distribute-sideloading/>
cat manifest.json \
| ${jq}/bin/jq '. + { applications: {gecko: {id: "${extid}" }}, browser_specific_settings: {gecko: {id: "${extid}"}} }' \
> manifest.patched.json
mv manifest{.patched,}.json
${zip}/bin/zip -r $BASE/browserpass@maximbaz.com.xpi ./*
popd
'';
passthru = {
inherit extid;
};
}

View File

@ -42,6 +42,7 @@
#### TEMPORARY: PACKAGES WAITING TO BE UPSTREAMED
kaiteki = prev.callPackage ./kaiteki { };
lightdm-mobile-greeter = prev.callPackage ./lightdm-mobile-greeter { pkgs = next; };
browserpass-extension = prev.callPackage ./browserpass-extension { };
gopass-native-messaging-host = prev.callPackage ./gopass-native-messaging-host { };
# kaiteki = prev.kaiteki;
# TODO: upstream, or delete nabla