From 9aa05d18b77b20ecea5046fac4987a5130d9dfef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Janne=20He=C3=9F?= Date: Thu, 26 Aug 2021 00:19:25 +0200 Subject: [PATCH] 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. --- pkgs/tools/misc/flexoptix-app/default.nix | 29 ++++++++++++++++------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/pkgs/tools/misc/flexoptix-app/default.nix b/pkgs/tools/misc/flexoptix-app/default.nix index 40f30bd7ad90..507fbb7dcc71 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} -in appimageTools.wrapType2 { - inherit name src; + # 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.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 '';