lol

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.

+20 -9
+20 -9
pkgs/tools/misc/flexoptix-app/default.nix
··· 1 - { lib, appimageTools, fetchurl }: let 2 pname = "flexoptix-app"; 3 - version = "5.9.0"; 4 name = "${pname}-${version}"; 5 6 src = fetchurl { 7 name = "${name}.AppImage"; 8 url = "https://flexbox.reconfigure.me/download/electron/linux/x64/FLEXOPTIX%20App.${version}.AppImage"; 9 - sha256 = "0gbqaj9b11mxx0knmmh2d5863kaslbb3r6c4h8rjhg8qy4cws7hj"; 10 }; 11 12 udevRules = fetchurl { ··· 14 sha256 = "0mr1bhgvavq1ax4206z1vr2y64s3r676w9jjl9ysziklbrsvk5rr"; 15 }; 16 17 - appimageContents = appimageTools.extractType2 { 18 - inherit name src; 19 - }; 20 21 - in appimageTools.wrapType2 { 22 - inherit name src; 23 24 multiPkgs = null; # no 32bit needed 25 extraPkgs = { pkgs, ... }@args: [ ··· 27 ] ++ appimageTools.defaultFhsEnvArgs.multiPkgs args; 28 29 extraInstallCommands = '' 30 mv $out/bin/{${name},${pname}} 31 install -Dm444 ${appimageContents}/flexoptix-app.desktop -t $out/share/applications 32 install -Dm444 ${appimageContents}/flexoptix-app.png -t $out/share/pixmaps 33 substituteInPlace $out/share/applications/flexoptix-app.desktop \ 34 - --replace 'Exec=AppRun' "Exec=$out/bin/${pname}" 35 mkdir -p $out/lib/udev/rules.d 36 ln -s ${udevRules} $out/lib/udev/rules.d/99-tprogrammer.rules 37 '';
··· 1 + { lib, appimageTools, fetchurl, nodePackages }: let 2 pname = "flexoptix-app"; 3 + version = "5.11.0"; 4 name = "${pname}-${version}"; 5 6 src = fetchurl { 7 name = "${name}.AppImage"; 8 url = "https://flexbox.reconfigure.me/download/electron/linux/x64/FLEXOPTIX%20App.${version}.AppImage"; 9 + sha256 = "sha256:1hzdb2fbkwpsf0d3ws4z32blk6549jwhf1lrlqmcxhzqfvkr4gin"; 10 }; 11 12 udevRules = fetchurl { ··· 14 sha256 = "0mr1bhgvavq1ax4206z1vr2y64s3r676w9jjl9ysziklbrsvk5rr"; 15 }; 16 17 + appimageContents = (appimageTools.extract { inherit name src; }).overrideAttrs (oA: { 18 + buildCommand = '' 19 + ${oA.buildCommand} 20 + 21 + # Get rid of the autoupdater 22 + ${nodePackages.asar}/bin/asar extract $out/resources/app.asar app 23 + sed -i 's/async isUpdateAvailable.*/async isUpdateAvailable(updateInfo) { return false;/g' app/node_modules/electron-updater/out/AppUpdater.js 24 + ${nodePackages.asar}/bin/asar pack app $out/resources/app.asar 25 + ''; 26 + }); 27 28 + in appimageTools.wrapAppImage { 29 + inherit name; 30 + src = appimageContents; 31 32 multiPkgs = null; # no 32bit needed 33 extraPkgs = { pkgs, ... }@args: [ ··· 35 ] ++ appimageTools.defaultFhsEnvArgs.multiPkgs args; 36 37 extraInstallCommands = '' 38 + # Add desktop convencience stuff 39 mv $out/bin/{${name},${pname}} 40 install -Dm444 ${appimageContents}/flexoptix-app.desktop -t $out/share/applications 41 install -Dm444 ${appimageContents}/flexoptix-app.png -t $out/share/pixmaps 42 substituteInPlace $out/share/applications/flexoptix-app.desktop \ 43 + --replace 'Exec=AppRun' "Exec=$out/bin/${pname} --" 44 + 45 + # Add udev rules 46 mkdir -p $out/lib/udev/rules.d 47 ln -s ${udevRules} $out/lib/udev/rules.d/99-tprogrammer.rules 48 '';