Skip to content

Commit

Permalink
stretchly: init at 0.19.1
Browse files Browse the repository at this point in the history
This commit adds the program `stretchly`:

https://github.com/hovancik/stretchly

`stretchly` is an Electron app, so this commit just packages the binary
version for Linux.
  • Loading branch information
cdepillabout committed Apr 13, 2019
1 parent 917a7fa commit e48cfb5
Show file tree
Hide file tree
Showing 2 changed files with 143 additions and 0 deletions.
139 changes: 139 additions & 0 deletions pkgs/applications/misc/stretchly/default.nix
@@ -0,0 +1,139 @@
{ GConf
, alsaLib
, at-spi2-atk
, atk
, cairo
, 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
, libxcb
, nspr
, nss
, pango
, pciutils
, pulseaudio
, stdenv
, udev
, wrapGAppsHook
}:

let
libs = [
GConf
alsaLib
at-spi2-atk
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
libxcb
nspr
nss
pango
pciutils
pulseaudio
stdenv.cc.cc.lib
udev
];

libPath = lib.makeLibraryPath libs;
in

stdenv.mkDerivation rec {
pname = "stretchly";
version = "0.19.1";

src = fetchurl {
url = "https://github.com/hovancik/stretchly/releases/download/v${version}/stretchly-${version}.tar.xz";
sha256 = "1q2wxfqs8qv9b1rfh5lhmyp3rrgdl05m6ihsgkxlgp0yzi07afz8";
};

nativeBuildInputs = [
wrapGAppsHook
];

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/libffmpeg.so $out/lib/
ln -s $out/lib/stretchly/libnode.so $out/lib/
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/libnode.so
patchelf \
--set-rpath "$out/lib/stretchly:${libPath}" \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
$out/lib/stretchly/stretchly
'';

meta = with stdenv.lib; {
description = "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;
};
}
4 changes: 4 additions & 0 deletions pkgs/top-level/all-packages.nix
Expand Up @@ -19795,6 +19795,10 @@ in
bison = bison2;
};

stretchly = callPackage ../applications/misc/stretchly {
inherit (gnome2) GConf;
};

stumpish = callPackage ../applications/window-managers/stumpish {};

stumpwm = callPackage ../applications/window-managers/stumpwm {
Expand Down

0 comments on commit e48cfb5

Please sign in to comment.