summary refs log tree commit diff
path: root/pkgs/tools/misc/flexoptix-app
diff options
context:
space:
mode:
authorJanne Heß <janne@hess.ooo>2021-08-26 00:19:25 +0200
committerJanne Heß <janne@hess.ooo>2021-08-26 00:19:25 +0200
commit9aa05d18b77b20ecea5046fac4987a5130d9dfef (patch)
tree645af8e7859d73af0da7d11207b2f6407b61d7a3 /pkgs/tools/misc/flexoptix-app
parentf74b8acfac29c2bff5c8435622ed5b4fae39da20 (diff)
downloadnixpkgs-9aa05d18b77b20ecea5046fac4987a5130d9dfef.tar
nixpkgs-9aa05d18b77b20ecea5046fac4987a5130d9dfef.tar.gz
nixpkgs-9aa05d18b77b20ecea5046fac4987a5130d9dfef.tar.bz2
nixpkgs-9aa05d18b77b20ecea5046fac4987a5130d9dfef.tar.lz
nixpkgs-9aa05d18b77b20ecea5046fac4987a5130d9dfef.tar.xz
nixpkgs-9aa05d18b77b20ecea5046fac4987a5130d9dfef.tar.zst
nixpkgs-9aa05d18b77b20ecea5046fac4987a5130d9dfef.zip
flexoptix-app: 5.9.0 -> 5.11.0 and fixes
This update is required because the autoupdater prevents the app from
running without being updated (which is not possible because it is a
store path).
So this updates the app and patches out the updater (essentially it
never thinks it needs to update, even though it prints on the command
line that it should).

Also fix the desktop item.
Diffstat (limited to 'pkgs/tools/misc/flexoptix-app')
-rw-r--r--pkgs/tools/misc/flexoptix-app/default.nix29
1 files changed, 20 insertions, 9 deletions
diff --git a/pkgs/tools/misc/flexoptix-app/default.nix b/pkgs/tools/misc/flexoptix-app/default.nix
index 40f30bd7ad9..507fbb7dcc7 100644
--- a/pkgs/tools/misc/flexoptix-app/default.nix
+++ b/pkgs/tools/misc/flexoptix-app/default.nix
@@ -1,12 +1,12 @@
-{ lib, appimageTools, fetchurl }: let
+{ lib, appimageTools, fetchurl, nodePackages }: let
   pname = "flexoptix-app";
-  version = "5.9.0";
+  version = "5.11.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     name = "${name}.AppImage";
     url = "https://flexbox.reconfigure.me/download/electron/linux/x64/FLEXOPTIX%20App.${version}.AppImage";
-    sha256 = "0gbqaj9b11mxx0knmmh2d5863kaslbb3r6c4h8rjhg8qy4cws7hj";
+    sha256 = "sha256:1hzdb2fbkwpsf0d3ws4z32blk6549jwhf1lrlqmcxhzqfvkr4gin";
   };
 
   udevRules = fetchurl {
@@ -14,12 +14,20 @@
     sha256 = "0mr1bhgvavq1ax4206z1vr2y64s3r676w9jjl9ysziklbrsvk5rr";
   };
 
-  appimageContents = appimageTools.extractType2 {
-    inherit name src;
-  };
+  appimageContents = (appimageTools.extract { inherit name src; }).overrideAttrs (oA: {
+    buildCommand = ''
+      ${oA.buildCommand}
+
+      # Get rid of the autoupdater
+      ${nodePackages.asar}/bin/asar extract $out/resources/app.asar app
+      sed -i 's/async isUpdateAvailable.*/async isUpdateAvailable(updateInfo) { return false;/g' app/node_modules/electron-updater/out/AppUpdater.js
+      ${nodePackages.asar}/bin/asar pack app $out/resources/app.asar
+    '';
+  });
 
-in appimageTools.wrapType2 {
-  inherit name src;
+in appimageTools.wrapAppImage {
+  inherit name;
+  src = appimageContents;
 
   multiPkgs = null; # no 32bit needed
   extraPkgs = { pkgs, ... }@args: [
@@ -27,11 +35,14 @@ in appimageTools.wrapType2 {
   ] ++ appimageTools.defaultFhsEnvArgs.multiPkgs args;
 
   extraInstallCommands = ''
+    # Add desktop convencience stuff
     mv $out/bin/{${name},${pname}}
     install -Dm444 ${appimageContents}/flexoptix-app.desktop -t $out/share/applications
     install -Dm444 ${appimageContents}/flexoptix-app.png -t $out/share/pixmaps
     substituteInPlace $out/share/applications/flexoptix-app.desktop \
-      --replace 'Exec=AppRun' "Exec=$out/bin/${pname}"
+      --replace 'Exec=AppRun' "Exec=$out/bin/${pname} --"
+
+    # Add udev rules
     mkdir -p $out/lib/udev/rules.d
     ln -s ${udevRules} $out/lib/udev/rules.d/99-tprogrammer.rules
   '';