weechat: make language plugins optional, fixes #13092

They're still enabled by default, but now can be disabled.

Python has not been made optional due to the additional complexity of:
  - python2 vs python3
  - pync support on Darwin
Making Python support optional should be revisited at another time.
This commit is contained in:
Aneesh Agrawal 2016-02-18 01:07:23 -05:00 committed by Rok Garbas
parent 8b06e2fab1
commit 17aefb1460

View File

@ -1,8 +1,24 @@
{ stdenv, fetchurl, ncurses, openssl, perl, python, aspell, gnutls { stdenv, fetchurl, ncurses, openssl, aspell, gnutls
, zlib, curl , pkgconfig, libgcrypt, ruby, lua5, tcl, guile , zlib, curl , pkgconfig, libgcrypt
, pythonPackages, cmake, makeWrapper, libobjc, libiconv , cmake, makeWrapper, libobjc, libiconv
, guileSupport ? true, guile
, luaSupport ? true, lua5
, perlSupport ? true, perl
, pythonPackages
, rubySupport ? true, ruby
, tclSupport ? true, tcl
, extraBuildInputs ? [] }: , extraBuildInputs ? [] }:
assert guileSupport -> guile != null;
assert luaSupport -> lua5 != null;
assert perlSupport -> perl != null;
assert rubySupport -> ruby != null;
assert tclSupport -> tcl != null;
let
inherit (pythonPackages) python pycrypto pync;
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.4"; version = "1.4";
name = "weechat-${version}"; name = "weechat-${version}";
@ -12,14 +28,26 @@ stdenv.mkDerivation rec {
sha256 = "1m6xq6izcac5186xvvmm8znfjzrg9hq42p69jabdvv7cri4rjvg0"; sha256 = "1m6xq6izcac5186xvvmm8znfjzrg9hq42p69jabdvv7cri4rjvg0";
}; };
cmakeFlags = stdenv.lib.optional stdenv.isDarwin cmakeFlags = with stdenv.lib; []
"-DICONV_LIBRARY=${libiconv}/lib/libiconv.dylib"; ++ optional stdenv.isDarwin "-DICONV_LIBRARY=${libiconv}/lib/libiconv.dylib"
++ optional (!guileSupport) "-DENABLE_GUILE=OFF"
++ optional (!luaSupport) "-DENABLE_LUA=OFF"
++ optional (!perlSupport) "-DENABLE_PERL=OFF"
++ optional (!rubySupport) "-DENABLE_RUBY=OFF"
++ optional (!tclSupport) "-DENABLE_TCL=OFF"
;
buildInputs = buildInputs = with stdenv.lib; [
[ ncurses perl python openssl aspell gnutls zlib curl pkgconfig ncurses python openssl aspell gnutls zlib curl pkgconfig
libgcrypt ruby lua5 tcl guile pythonPackages.pycrypto makeWrapper libgcrypt pycrypto makeWrapper
cmake ] cmake
++ stdenv.lib.optionals stdenv.isDarwin [ pythonPackages.pync libobjc ] ]
++ optionals stdenv.isDarwin [ pync libobjc ]
++ optional guileSupport guile
++ optional luaSupport lua5
++ optional perlSupport perl
++ optional rubySupport ruby
++ optional tclSupport tcl
++ extraBuildInputs; ++ extraBuildInputs;
NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix} -DCA_FILE=/etc/ssl/certs/ca-certificates.crt"; NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix} -DCA_FILE=/etc/ssl/certs/ca-certificates.crt";