lol
1{ stdenv, fetchurl, makeDesktopItem, perlSupport, libX11, libXt, libXft,
2 ncurses, perl, fontconfig, freetype, pkgconfig, libXrender,
3 gdkPixbufSupport, gdk_pixbuf, unicode3Support }:
4
5let
6 pname = "rxvt-unicode";
7 version = "9.22";
8 description = "A clone of the well-known terminal emulator rxvt";
9
10 desktopItem = makeDesktopItem {
11 name = "${pname}";
12 exec = "urxvt";
13 icon = "utilities-terminal";
14 comment = description;
15 desktopName = "URxvt";
16 genericName = "${pname}";
17 categories = "System;TerminalEmulator;";
18 };
19in
20
21stdenv.mkDerivation (rec {
22
23 name = "${pname}${if perlSupport then "-with-perl" else ""}${if unicode3Support then "-with-unicode3" else ""}-${version}";
24
25 src = fetchurl {
26 url = "http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-${version}.tar.bz2";
27 sha256 = "1pddjn5ynblwfrdmskylrsxb9vfnk3w4jdnq2l8xn2pspkljhip9";
28 };
29
30 buildInputs =
31 [ libX11 libXt libXft ncurses /* required to build the terminfo file */
32 fontconfig freetype pkgconfig libXrender ]
33 ++ stdenv.lib.optional perlSupport perl
34 ++ stdenv.lib.optional gdkPixbufSupport gdk_pixbuf;
35
36 outputs = [ "out" "terminfo" ];
37
38 patches = [
39 ./rxvt-unicode-9.06-font-width.patch
40 ./rxvt-unicode-256-color-resources.patch
41 ]
42 ++ stdenv.lib.optional stdenv.isDarwin ./rxvt-unicode-makefile-phony.patch;
43
44 preConfigure =
45 ''
46 mkdir -p $terminfo/share/terminfo
47 configureFlags="--with-terminfo=$terminfo/share/terminfo --enable-256-color ${if perlSupport then "--enable-perl" else "--disable-perl"} ${if unicode3Support then "--enable-unicode3" else "--disable-unicode3"}";
48 export TERMINFO=$terminfo/share/terminfo # without this the terminfo won't be compiled by tic, see man tic
49 NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${freetype.dev}/include/freetype2"
50 NIX_LDFLAGS="$NIX_LDFLAGS -lfontconfig -lXrender "
51 ''
52 # make urxvt find its perl file lib/perl5/site_perl is added to PERL5LIB automatically
53 + stdenv.lib.optionalString perlSupport ''
54 mkdir -p $out/lib/perl5
55 ln -s $out/{lib/urxvt,lib/perl5/site_perl}
56 '';
57
58 postInstall = ''
59 mkdir -p $out/nix-support
60 echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
61 cp -r ${desktopItem}/share/applications/ $out/share/
62 '';
63
64 meta = with stdenv.lib; {
65 inherit description;
66 homepage = http://software.schmorp.de/pkg/rxvt-unicode.html;
67 downloadPage = "http://dist.schmorp.de/rxvt-unicode/Attic/";
68 maintainers = [ ];
69 platforms = platforms.unix;
70 };
71})