diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-11-16 12:53:32 +0100 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-11-16 12:53:32 +0100 |
commit | 67419f0e56f99b0ebbe14574d3492110ac84c8d6 (patch) | |
tree | 3abc8e1606a2c80b6f5d14fef175e50800202163 /nixpkgs/pkgs/applications/misc/todoist-electron/default.nix | |
parent | a2c1eff83c3118a9aee8076c7f84f58137416b6e (diff) | |
parent | 9008bc4eb62c878d0812105ea1b34255d651df88 (diff) | |
download | nixlib-67419f0e56f99b0ebbe14574d3492110ac84c8d6.tar nixlib-67419f0e56f99b0ebbe14574d3492110ac84c8d6.tar.gz nixlib-67419f0e56f99b0ebbe14574d3492110ac84c8d6.tar.bz2 nixlib-67419f0e56f99b0ebbe14574d3492110ac84c8d6.tar.lz nixlib-67419f0e56f99b0ebbe14574d3492110ac84c8d6.tar.xz nixlib-67419f0e56f99b0ebbe14574d3492110ac84c8d6.tar.zst nixlib-67419f0e56f99b0ebbe14574d3492110ac84c8d6.zip |
Merge branch 'nixos-unstable-small' of https://github.com/NixOS/nixpkgs into HEAD
Diffstat (limited to 'nixpkgs/pkgs/applications/misc/todoist-electron/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/misc/todoist-electron/default.nix | 67 |
1 files changed, 30 insertions, 37 deletions
diff --git a/nixpkgs/pkgs/applications/misc/todoist-electron/default.nix b/nixpkgs/pkgs/applications/misc/todoist-electron/default.nix index ac188fcbc5f7..c8a2be9b3bc9 100644 --- a/nixpkgs/pkgs/applications/misc/todoist-electron/default.nix +++ b/nixpkgs/pkgs/applications/misc/todoist-electron/default.nix @@ -1,45 +1,38 @@ -{ lib, stdenv, fetchurl, appimageTools, makeWrapper, electron_25, libsecret }: - -stdenv.mkDerivation rec { +{ lib, appimageTools, fetchurl, asar }: let pname = "todoist-electron"; - version = "8.6.0"; + version = "8.9.3"; src = fetchurl { url = "https://electron-dl.todoist.com/linux/Todoist-linux-x86_64-${version}.AppImage"; - hash = "sha256-LjztKgpPm4RN1Pn5gIiPg8UCO095kzTQ9BTEG5Rlv10="; - }; - - appimageContents = appimageTools.extractType2 { - name = "${pname}-${version}"; - inherit src; + hash = "sha256-L1uH5bnJ66QxAXs7yywG4H/FaunwTX1l+tVtRe2nxdc="; }; - dontUnpack = true; - dontConfigure = true; - dontBuild = true; - - nativeBuildInputs = [ makeWrapper ]; - - installPhase = '' - runHook preInstall - - mkdir -p $out/bin $out/share/${pname} $out/share/applications $out/share/icons/hicolor/512x512 - - cp -a ${appimageContents}/{locales,resources} $out/share/${pname} - cp -a ${appimageContents}/todoist.desktop $out/share/applications/${pname}.desktop - cp -a ${appimageContents}/usr/share/icons/hicolor/512x512/apps $out/share/icons/hicolor/512x512 - - substituteInPlace $out/share/applications/${pname}.desktop \ - --replace 'Exec=AppRun' 'Exec=${pname}' - - runHook postInstall - ''; - - postFixup = '' - makeWrapper ${electron_25}/bin/electron $out/bin/todoist-electron \ - --add-flags $out/share/${pname}/resources/app.asar \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc libsecret ]}" \ - --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" + appimageContents = (appimageTools.extract { inherit pname version src; }).overrideAttrs (oA: { + buildCommand = '' + ${oA.buildCommand} + + # Get rid of the autoupdater + ${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 + ${asar}/bin/asar pack app $out/resources/app.asar + ''; + }); + +in appimageTools.wrapAppImage { + inherit pname version; + src = appimageContents; + + extraPkgs = { pkgs, ... }@args: [ + pkgs.hidapi + ] ++ appimageTools.defaultFhsEnvArgs.multiPkgs args; + + extraInstallCommands = '' + # Add desktop convencience stuff + mv $out/bin/{${pname}-*,${pname}} + install -Dm444 ${appimageContents}/todoist.desktop -t $out/share/applications + install -Dm444 ${appimageContents}/todoist.png -t $out/share/pixmaps + substituteInPlace $out/share/applications/todoist.desktop \ + --replace 'Exec=AppRun' "Exec=$out/bin/${pname} --" ''; meta = with lib; { @@ -47,6 +40,6 @@ stdenv.mkDerivation rec { description = "The official Todoist electron app"; platforms = [ "x86_64-linux" ]; license = licenses.unfree; - maintainers = with maintainers; [ i077 kylesferrazza ]; + maintainers = with maintainers; [ kylesferrazza pokon548 ]; }; } |