chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / vi / vieb / package.nix
blobaf524a450e4d4a981336b633be8a56ceae44dfa0
1 { stdenv, buildNpmPackage, fetchFromGitHub, electron, makeWrapper, python3, makeDesktopItem, lib }:
3 buildNpmPackage rec {
4   pname = "vieb";
5   version = "12.0.0";
7   src = fetchFromGitHub {
8     owner = "Jelmerro";
9     repo = pname;
10     rev = version;
11     hash = "sha256-/gMAGmTsaS9B0qHXHq2Z/77LgcAMKjF6Mt7OiJ9l4wU=";
12   };
14   postPatch = ''
15     sed -i '/"electron"/d' package.json
16   '';
18   npmDepsHash = "sha256-sGDygjb9+tIBHykMUb3UGZrCF8btkFVObTdyx4Y3Q2c=";
19   makeCacheWritable = true;
20   dontNpmBuild = true;
21   env.ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
23   nativeBuildInputs = [ makeWrapper ] ++ lib.optional stdenv.hostPlatform.isAarch64 python3;
25   desktopItem = makeDesktopItem {
26     name = "vieb";
27     exec = "vieb %U";
28     icon = "vieb";
29     desktopName = "Web Browser";
30     genericName = "Web Browser";
31     categories = [ "Network" "WebBrowser" ];
32     mimeTypes = [
33       "text/html"
34       "application/xhtml+xml"
35       "x-scheme-handler/http"
36       "x-scheme-handler/https"
37     ];
38   };
40   postInstall = ''
41     install -Dm0644 {${desktopItem},$out}/share/applications/vieb.desktop
43     pushd $out/lib/node_modules/vieb/app/img/icons
44     for file in *.png; do
45       install -Dm0644 $file $out/share/icons/hicolor/''${file//.png}/apps/vieb.png
46     done
47     popd
49     makeWrapper ${electron}/bin/electron $out/bin/vieb \
50       --add-flags $out/lib/node_modules/vieb/app \
51       --set npm_package_version ${version}
52   '';
54   distPhase = ":"; # disable useless $out/tarballs directory
56   meta = with lib; {
57     homepage = "https://vieb.dev/";
58     changelog = "https://github.com/Jelmerro/Vieb/releases/tag/${version}";
59     description = "Vim Inspired Electron Browser";
60     mainProgram = "vieb";
61     maintainers = with maintainers; [ gebner tejing ];
62     platforms = platforms.unix;
63     license = licenses.gpl3Plus;
64   };