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.

(cherry picked from commit 9aa05d18b77b20ecea5046fac4987a5130d9dfef)
This commit is contained in:
Janne Heß 2021-08-26 00:19:25 +02:00 committed by github-actions[bot]
parent 2fcab17583
commit dacd1104f6
1 changed files with 20 additions and 9 deletions

View File

@ -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
'';