From d7131ce4ad5eed30f72df34b84a6f4e3a1c8944b Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Thu, 13 Feb 2020 11:37:38 -0600 Subject: [PATCH] stretchly: 0.21.0 -> 0.21.1, use system electron, simplify --- pkgs/applications/misc/stretchly/default.nix | 205 ++++--------------- pkgs/top-level/all-packages.nix | 3 +- 2 files changed, 42 insertions(+), 166 deletions(-) diff --git a/pkgs/applications/misc/stretchly/default.nix b/pkgs/applications/misc/stretchly/default.nix index 75f3be85dad..9769045b9ce 100644 --- a/pkgs/applications/misc/stretchly/default.nix +++ b/pkgs/applications/misc/stretchly/default.nix @@ -1,177 +1,38 @@ -{ GConf -, alsaLib -, at-spi2-atk -, at-spi2-core -, atk -, buildFHSUserEnv -, cairo +{ stdenv, lib, fetchurl, makeWrapper, wrapGAppsHook, electron , common-updater-scripts -, coreutils -, cups -, dbus -, expat -, fetchurl -, fontconfig -, gdk-pixbuf -, glib -, gtk2 -, gtk3 -, lib -, libX11 -, libXScrnSaver -, libXcomposite -, libXcursor -, libXdamage -, libXext -, libXfixes -, libXi -, libXrandr -, libXrender -, libXtst -, libappindicator -, libdrm -, libnotify -, libpciaccess -, libpng12 -, libuuid -, libxcb -, nspr -, nss -, pango -, pciutils -, pulseaudio -, runtimeShell -, stdenv -, udev -, wrapGAppsHook -, writeScript -, file +, writeShellScript }: -let - libs = [ - GConf - alsaLib - at-spi2-atk - at-spi2-core - atk - cairo - cups - dbus - expat - fontconfig - gdk-pixbuf - glib - gtk2 - gtk3 - libX11 - libXScrnSaver - libXcomposite - libXcursor - libXdamage - libXext - libXfixes - libXi - libXrandr - libXrender - libXtst - libappindicator - libdrm - libnotify - libpciaccess - libpng12 - libuuid - libxcb - nspr - nss - pango - pciutils - pulseaudio - stdenv.cc.cc.lib - udev +stdenv.mkDerivation rec { + pname = "stretchly"; + version = "0.21.1"; + + src = fetchurl { + url = "https://github.com/hovancik/stretchly/releases/download/v${version}/stretchly-${version}.tar.xz"; + sha256 = "0776pywyqylwd33m85l4wdr89x0q9xkrjgliag10fp1bswz844lf"; + }; + + nativeBuildInputs = [ + wrapGAppsHook ]; - libPath = lib.makeLibraryPath libs; + installPhase = '' + runHook preInstall - stretchly = - stdenv.mkDerivation rec { - pname = "stretchly"; - version = "0.21.0"; + mkdir -p $out/bin $out/share/${pname}/ + mv resources/app.asar $out/share/${pname}/ - src = fetchurl { - url = "https://github.com/hovancik/stretchly/releases/download/v${version}/stretchly-${version}.tar.xz"; - sha256 = "1gyyr22xq8s4miiacs8wqhp7lxnwvkvlwhngnq8671l62s6iyjzl"; - }; + makeWrapper ${electron}/bin/electron $out/bin/${pname} \ + --add-flags $out/share/${pname}/app.asar \ + "''${gappsWrapperArgs[@]}" \ + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc.lib ]}" - nativeBuildInputs = [ - wrapGAppsHook - coreutils - ]; + runHook postInstall + ''; - buildInputs = libs; - - dontPatchELF = true; - dontBuild = true; - dontConfigure = true; - - installPhase = '' - mkdir -p $out/bin $out/lib/stretchly - cp -r ./* $out/lib/stretchly/ - ln -s $out/lib/stretchly/stretchly $out/bin/ - ''; - - preFixup = '' - patchelf --set-rpath "${libPath}" $out/lib/stretchly/libffmpeg.so - patchelf --set-rpath "${libPath}" $out/lib/stretchly/libEGL.so - patchelf --set-rpath "${libPath}" $out/lib/stretchly/libGLESv2.so - patchelf --set-rpath "${libPath}" $out/lib/stretchly/swiftshader/libEGL.so - patchelf --set-rpath "${libPath}" $out/lib/stretchly/swiftshader/libGLESv2.so - - patchelf \ - --set-rpath "$out/lib/stretchly:${libPath}" \ - --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - $out/lib/stretchly/stretchly - - patchelf \ - --set-rpath "$out/lib/stretchly:${libPath}" \ - --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - $out/lib/stretchly/chrome-sandbox - ''; - - meta = with stdenv.lib; { - description = "A break time reminder app"; - longDescription = '' - stretchly is a cross-platform electron app that reminds you to take - breaks when working on your computer. By default, it runs in your tray - and displays a reminder window containing an idea for a microbreak for 20 - seconds every 10 minutes. Every 30 minutes, it displays a window - containing an idea for a longer 5 minute break. - ''; - homepage = https://hovancik.net/stretchly; - downloadPage = https://hovancik.net/stretchly/downloads/; - license = licenses.bsd2; - maintainers = with maintainers; [ cdepillabout ]; - platforms = platforms.linux; - }; - }; - -in - -buildFHSUserEnv { - inherit (stretchly) meta; - - name = "stretchly"; - - targetPkgs = pkgs: [ - stretchly - ]; - - runScript = "stretchly"; passthru = { - updateScript = writeScript "update-stretchly" '' - #!${runtimeShell} - + updateScript = writeShellScript "update-stretchly" '' set -eu -o pipefail # get the latest release version @@ -179,9 +40,23 @@ buildFHSUserEnv { echo "updating to $latest_version..." - ${common-updater-scripts}/bin/update-source-version stretchly.passthru.stretchlyWrapped "$latest_version" + ${common-updater-scripts}/bin/update-source-version stretchly "$latest_version" ''; + }; - stretchlyWrapped = stretchly; + meta = with stdenv.lib; { + description = "A break time reminder app"; + longDescription = '' + stretchly is a cross-platform electron app that reminds you to take + breaks when working on your computer. By default, it runs in your tray + and displays a reminder window containing an idea for a microbreak for 20 + seconds every 10 minutes. Every 30 minutes, it displays a window + containing an idea for a longer 5 minute break. + ''; + homepage = https://hovancik.net/stretchly; + downloadPage = https://hovancik.net/stretchly/downloads/; + license = licenses.bsd2; + maintainers = with maintainers; [ cdepillabout ]; + platforms = platforms.linux; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 048fcae738d..52c7b57a557 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21529,7 +21529,8 @@ in stp = callPackage ../applications/science/logic/stp { }; stretchly = callPackage ../applications/misc/stretchly { - inherit (gnome2) GConf; + # Error on launch w/electron_8 + electron = electron_7; }; stumpish = callPackage ../applications/window-managers/stumpish {};