diff options
Diffstat (limited to 'pkgs/applications/graphics/vimiv/default.nix')
-rw-r--r-- | pkgs/applications/graphics/vimiv/default.nix | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/pkgs/applications/graphics/vimiv/default.nix b/pkgs/applications/graphics/vimiv/default.nix new file mode 100644 index 00000000000..bb8437153ca --- /dev/null +++ b/pkgs/applications/graphics/vimiv/default.nix @@ -0,0 +1,74 @@ +{ lib, python3Packages, fetchFromGitHub, imagemagick, librsvg, gtk3, jhead +, hicolor_icon_theme, defaultIconTheme + +# Test requirements +, dbus, xvfb_run, xdotool +}: + +python3Packages.buildPythonApplication rec { + name = "vimiv"; + version = "0.7.2"; + + src = fetchFromGitHub { + owner = "karlch"; + repo = "vimiv"; + rev = "v${version}"; + sha256 = "1g97ms84xk4ci4crq9wdc3744jnrqkq2qz9sg69lhm9sr5f68bw4"; + }; + + testimages = fetchFromGitHub { + owner = "karlch"; + repo = "vimiv"; + rev = "6f4d1372b27f2065c56eafdb521d230d9bb8f4e2"; + sha256 = "0a3aybzpms0381dz9japhm4c7j5klhmw91prcac6zaww6x34nmxb"; + }; + + patches = [ ./fixes.patch ]; + + postPatch = '' + patchShebangs scripts/install_icons.sh + sed -i -e 's,/usr,,g' -e '/setup\.py/d' Makefile scripts/install_icons.sh + + sed -i \ + -e 's,/etc/vimiv/\(vimivrc\|keys\.conf\),'"$out"'&,g' \ + man/* vimiv/parser.py + + sed -i \ + -e 's!"mogrify"!"${imagemagick}/bin/mogrify"!g' \ + -e '/cmd *=/s!"jhead"!"${jhead}/bin/jhead"!g' \ + vimiv/imageactions.py + ''; + + checkInputs = [ python3Packages.nose dbus.daemon xvfb_run xdotool ]; + buildInputs = [ hicolor_icon_theme defaultIconTheme librsvg ]; + propagatedBuildInputs = with python3Packages; [ pillow pygobject3 gtk3 ]; + + makeWrapperArgs = [ + "--prefix GI_TYPELIB_PATH : \"$GI_TYPELIB_PATH\"" + "--suffix XDG_DATA_DIRS : \"$XDG_ICON_DIRS:$out/share\"" + "--set GDK_PIXBUF_MODULE_FILE \"$GDK_PIXBUF_MODULE_FILE\"" + ]; + + postCheck = '' + # Some tests assume that the directory only contains one vimiv directory + rm -rf vimiv.egg-info vimiv.desktop + + # Re-use the wrapper args from the main program + makeWrapper "$SHELL" run-tests $makeWrapperArgs + + cp -Rd --no-preserve=mode "$testimages/testimages" vimiv/testimages + HOME="$(mktemp -d)" PATH="$out/bin:$PATH" \ + xvfb-run -s '-screen 0 800x600x24' dbus-run-session \ + --config-file=${dbus.daemon}/share/dbus-1/session.conf \ + ./run-tests -c 'python tests/main_test.py && nosetests -vx' + ''; + + postInstall = "make DESTDIR=\"$out\" install"; + + meta = { + homepage = "https://github.com/karlch/vimiv"; + description = "An image viewer with Vim-like keybindings"; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + }; +} |