summary refs log tree commit diff
path: root/pkgs/applications/networking/breitbandmessung/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/networking/breitbandmessung/default.nix')
-rw-r--r--pkgs/applications/networking/breitbandmessung/default.nix110
1 files changed, 25 insertions, 85 deletions
diff --git a/pkgs/applications/networking/breitbandmessung/default.nix b/pkgs/applications/networking/breitbandmessung/default.nix
index 31f33be3867..ff14695cce8 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 <<EOF > $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 = {