From 92e2e3b3f414bb421240b98145eb65089b637bbe Mon Sep 17 00:00:00 2001 From: Fabian Möller Date: Wed, 20 Apr 2022 12:07:07 +0200 Subject: breitbandmessung: don't use bundled electron --- .../networking/breitbandmessung/default.nix | 110 +++++---------------- 1 file changed, 25 insertions(+), 85 deletions(-) (limited to 'pkgs/applications/networking/breitbandmessung/default.nix') diff --git a/pkgs/applications/networking/breitbandmessung/default.nix b/pkgs/applications/networking/breitbandmessung/default.nix index 31f33be38670e..ff14695cce845 100644 --- a/pkgs/applications/networking/breitbandmessung/default.nix +++ b/pkgs/applications/networking/breitbandmessung/default.nix @@ -1,32 +1,12 @@ { lib , stdenv -, alsa-lib -, at-spi2-atk -, at-spi2-core -, atk -, autoPatchelfHook -, cairo -, cups -, dbus -, dpkg -, expat , fetchurl -, gdk-pixbuf -, glib -, gtk3 -, libdrm -, libxkbcommon +, dpkg +, electron_16 , makeWrapper -, mesa , nixosTests -, nspr -, nss -, pango -, pciutils -, systemd +, nodePackages , undmg -, writeShellScriptBin -, xorg }: let @@ -34,19 +14,6 @@ let version = "3.1.0"; - # At first start, the program checks for supported operating systems by calling `lsb_release -a` - # and only runs when it finds Debian/Ubuntu. So we present us as Debian an make it happy. - fake-lsb-release = writeShellScriptBin "lsb_release" '' - echo "Distributor ID: Debian" - echo "Description: Debian GNU/Linux 10 (buster)" - echo "Release: 10" - echo "Codename: buster" - ''; - - binPath = lib.makeBinPath [ - fake-lsb-release - ]; - systemArgs = rec { x86_64-linux = rec { src = fetchurl { @@ -54,68 +21,41 @@ let sha256 = "sha256-jSP+H9ej9Wd+swBZSy9uMi2ExSTZ191FGZhqaocTl7w="; }; - dontUnpack = true; - nativeBuildInputs = [ - autoPatchelfHook dpkg makeWrapper + nodePackages.asar ]; - buildInputs = runtimeDependencies; - - runtimeDependencies = [ - alsa-lib - at-spi2-atk - at-spi2-core - atk - cairo - cups - dbus - expat - gdk-pixbuf - glib - gtk3 - libdrm - libxkbcommon - mesa - nspr - nss - pango - pciutils - systemd - xorg.libX11 - xorg.libXcomposite - xorg.libXdamage - xorg.libXext - xorg.libXfixes - xorg.libXrandr - xorg.libxcb - xorg.libxshmfence - ]; + unpackPhase = "dpkg-deb -x $src ."; installPhase = '' - dpkg-deb -x $src $out mkdir -p $out/bin - - chmod -R g-w $out - - addAutoPatchelfSearchPath --no-recurse $out/opt/Breitbandmessung - autoPatchelfFile $out/opt/Breitbandmessung/breitbandmessung - - makeWrapper $out/opt/Breitbandmessung/breitbandmessung $out/bin/breitbandmessung \ - --prefix PATH : ${binPath} - - mv $out/usr/share $out/share - rmdir $out/usr + mv usr/share $out/share + mkdir -p $out/share/breitbandmessung/resources + + asar e opt/Breitbandmessung/resources/app.asar $out/share/breitbandmessung/resources + + # At first start, the program checks for supported operating systems by using the `bizzby-lsb-release` + # module and only runs when it finds Debian/Ubuntu. So we present us as Debian and make it happy. + cat < $out/share/breitbandmessung/resources/node_modules/bizzby-lsb-release/lib/lsb-release.js + module.exports = function release() { + return { + distributorID: "Debian", + description: "Debian GNU/Linux 10 (buster)", + release: "10", + codename: "buster" + } + } + EOF + + makeWrapper ${electron_16}/bin/electron $out/bin/breitbandmessung \ + --add-flags $out/share/breitbandmessung/resources/build/electron.js # Fix the desktop link substituteInPlace $out/share/applications/breitbandmessung.desktop \ --replace /opt/Breitbandmessung $out/bin ''; - - dontAutoPatchelf = true; - dontPatchELF = true; }; x86_64-darwin = { -- cgit 1.4.1