nixpkgs/pkgs/applications/window-managers/awesome/default.nix
Samuel Dionne-Riel 14520e7b4b awesome: Allows awesome to load svg images.
Awesome can load SVG images, just like it can do PNG, through gdk.

The support for SVG images through GDK needs librvsg.

This commits adds the plumbing necessary in the wrapper that makes
awesome be able to load SVG images.

Without this, awesome will not load SVG images. The related error message is:

 > Couldn't recognize the image file format for file

Which comes from gdk.
2017-05-14 17:10:16 -04:00

80 lines
2.9 KiB
Nix

{ stdenv, fetchurl, fetchFromGitHub, luaPackages, cairo, librsvg, cmake, imagemagick, pkgconfig, gdk_pixbuf
, xorg, libstartup_notification, libxdg_basedir, libpthreadstubs
, xcb-util-cursor, makeWrapper, pango, gobjectIntrospection, unclutter
, compton, procps, iproute, coreutils, curl, alsaUtils, findutils, xterm
, which, dbus, nettools, git, asciidoc, doxygen
, xmlto, docbook_xml_dtd_45, docbook_xsl, findXMLCatalogs
, libxkbcommon, xcbutilxrm, hicolor_icon_theme
}:
with luaPackages; stdenv.mkDerivation rec {
name = "awesome-${version}";
version = "4.1";
src = fetchFromGitHub {
owner = "awesomewm";
repo = "awesome";
rev = "v${version}";
sha256 = "1qik8h5nwjq4535lpdpal85vas1k7am3s6l5r763kpdzxhfcyyaj";
};
nativeBuildInputs = [
asciidoc
cmake
doxygen
imagemagick
makeWrapper
pkgconfig
xmlto docbook_xml_dtd_45
docbook_xsl findXMLCatalogs
];
propagatedUserEnvPkgs = [ hicolor_icon_theme ];
buildInputs = [ cairo librsvg dbus gdk_pixbuf gobjectIntrospection
git lgi libpthreadstubs libstartup_notification
libxdg_basedir lua nettools pango xcb-util-cursor
xorg.libXau xorg.libXdmcp xorg.libxcb xorg.libxshmfence
xorg.xcbutil xorg.xcbutilimage xorg.xcbutilkeysyms
xorg.xcbutilrenderutil xorg.xcbutilwm libxkbcommon
xcbutilxrm ];
patches = [
(fetchurl {
url = "https://patch-diff.githubusercontent.com/raw/awesomeWM/awesome/pull/1639.patch";
sha256 = "00piynmbxajd2xbg960gmf0zlqn7m489f4ww482y49ravfy1jhsj";
})
];
#cmakeFlags = "-DGENERATE_MANPAGES=ON";
LD_LIBRARY_PATH = "${stdenv.lib.makeLibraryPath [ cairo pango gobjectIntrospection ]}";
GI_TYPELIB_PATH = "${pango.out}/lib/girepository-1.0";
LUA_CPATH = "${lgi}/lib/lua/${lua.luaversion}/?.so";
LUA_PATH = "${lgi}/share/lua/${lua.luaversion}/?.lua;${lgi}/share/lua/${lua.luaversion}/lgi/?.lua";
postInstall = ''
wrapProgram $out/bin/awesome \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix LUA_CPATH ";" '"${lgi}/lib/lua/${lua.luaversion}/?.so"' \
--prefix LUA_PATH ";" '"${lgi}/share/lua/${lua.luaversion}/?.lua;${lgi}/share/lua/${lua.luaversion}/lgi/?.lua"' \
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
--prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH" \
--prefix PATH : "${stdenv.lib.makeBinPath [ compton unclutter procps iproute coreutils curl alsaUtils findutils xterm ]}"
wrapProgram $out/bin/awesome-client \
--prefix PATH : "${which}/bin"
'';
passthru = {
inherit lua;
};
meta = with stdenv.lib; {
description = "Highly configurable, dynamic window manager for X";
homepage = https://awesomewm.org/;
license = licenses.gpl2Plus;
maintainers = with maintainers; [ lovek323 rasendubi ndowens ];
platforms = platforms.linux;
};
}