lol
1{ stdenv, fetchurl, ncurses, openssl, aspell, gnutls
2, zlib, curl , pkgconfig, libgcrypt
3, cmake, makeWrapper, libobjc, libresolv, libiconv
4, asciidoctor # manpages
5, guileSupport ? true, guile
6, luaSupport ? true, lua5
7, perlSupport ? true, perl
8, pythonPackages
9, rubySupport ? true, ruby
10, tclSupport ? true, tcl
11, extraBuildInputs ? [] }:
12
13assert guileSupport -> guile != null;
14assert luaSupport -> lua5 != null;
15assert perlSupport -> perl != null;
16assert rubySupport -> ruby != null;
17assert tclSupport -> tcl != null;
18
19let
20 inherit (pythonPackages) python pycrypto pync;
21in
22
23stdenv.mkDerivation rec {
24 version = "1.9";
25 name = "weechat-${version}";
26
27 src = fetchurl {
28 url = "http://weechat.org/files/src/weechat-${version}.tar.bz2";
29 sha256 = "0xfnhaxmvxdxs3ic0qs5lwq3yl4pi5ib99p0p5lv3v2vldqlm4lc";
30 };
31
32 outputs = [ "out" "man" ];
33
34 enableParallelBuilding = true;
35 cmakeFlags = with stdenv.lib; [
36 "-DENABLE_MAN=ON"
37 "-DENABLE_DOC=ON"
38 ]
39 ++ optionals stdenv.isDarwin ["-DICONV_LIBRARY=${libiconv}/lib/libiconv.dylib" "-DCMAKE_FIND_FRAMEWORK=LAST"]
40 ++ optional (!guileSupport) "-DENABLE_GUILE=OFF"
41 ++ optional (!luaSupport) "-DENABLE_LUA=OFF"
42 ++ optional (!perlSupport) "-DENABLE_PERL=OFF"
43 ++ optional (!rubySupport) "-DENABLE_RUBY=OFF"
44 ++ optional (!tclSupport) "-DENABLE_TCL=OFF"
45 ;
46
47 buildInputs = with stdenv.lib; [
48 ncurses python openssl aspell gnutls zlib curl pkgconfig
49 libgcrypt pycrypto makeWrapper
50 cmake
51 asciidoctor
52 ]
53 ++ optionals stdenv.isDarwin [ pync libobjc libresolv ]
54 ++ optional guileSupport guile
55 ++ optional luaSupport lua5
56 ++ optional perlSupport perl
57 ++ optional rubySupport ruby
58 ++ optional tclSupport tcl
59 ++ extraBuildInputs;
60
61 NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix}"
62 # Fix '_res_9_init: undefined symbol' error
63 + (stdenv.lib.optionalString stdenv.isDarwin "-DBIND_8_COMPAT=1 -lresolv");
64
65 postInstall = with stdenv.lib; ''
66 NIX_PYTHONPATH="$out/lib/${python.libPrefix}/site-packages"
67 wrapProgram "$out/bin/weechat" \
68 ${optionalString perlSupport "--prefix PATH : ${perl}/bin"} \
69 --prefix PATH : ${pythonPackages.python}/bin \
70 --prefix PYTHONPATH : "$PYTHONPATH" \
71 --prefix PYTHONPATH : "$NIX_PYTHONPATH"
72 '';
73
74 meta = {
75 homepage = http://www.weechat.org/;
76 description = "A fast, light and extensible chat client";
77 license = stdenv.lib.licenses.gpl3;
78 maintainers = with stdenv.lib.maintainers; [ lovek323 garbas the-kenny ];
79 platforms = stdenv.lib.platforms.unix;
80 };
81}