anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / applications / networking / znc / default.nix
blob60fdf00a2b3e74c3aaa4c9ce858e87b1964cb23a
1 { lib, stdenv, fetchurl, fetchpatch2, openssl, pkg-config
2 , withPerl ? false, perl
3 , withPython ? false, python3
4 , withTcl ? false, tcl
5 , withCyrus ? true, cyrus_sasl
6 , withUnicode ? true, icu
7 , withZlib ? true, zlib
8 , withIPv6 ? true
9 , withDebug ? false
12 stdenv.mkDerivation rec {
13   pname = "znc";
14   version = "1.8.2";
16   src = fetchurl {
17     url = "https://znc.in/releases/archive/${pname}-${version}.tar.gz";
18     sha256 = "03fyi0j44zcanj1rsdx93hkdskwfvhbywjiwd17f9q1a7yp8l8zz";
19   };
21   patches = [
22     (fetchpatch2 {
23       name = "CVE-2024-39844.patch";
24       url = "https://github.com/znc/znc/commit/8cbf8d628174ddf23da680f3f117dc54da0eb06e.patch";
25       hash = "sha256-JeKirXReiCiNDUS9XodI0oHASg2mPDvQYtV6P4L0mHM=";
26     })
27   ];
29   nativeBuildInputs = [ pkg-config ];
31   buildInputs = [ openssl ]
32     ++ lib.optional withPerl perl
33     ++ lib.optional withPython python3
34     ++ lib.optional withTcl tcl
35     ++ lib.optional withCyrus cyrus_sasl
36     ++ lib.optional withUnicode icu
37     ++ lib.optional withZlib zlib;
39   configureFlags = [
40     (lib.enableFeature withPerl "perl")
41     (lib.enableFeature withPython "python")
42     (lib.enableFeature withTcl "tcl")
43     (lib.withFeatureAs withTcl "tcl" "${tcl}/lib")
44     (lib.enableFeature withCyrus "cyrus")
45   ] ++ lib.optionals (!withIPv6) [ "--disable-ipv6" ]
46     ++ lib.optionals withDebug [ "--enable-debug" ];
48   enableParallelBuilding = true;
50   meta = with lib; {
51     description = "Advanced IRC bouncer";
52     homepage = "https://wiki.znc.in/ZNC";
53     maintainers = with maintainers; [ schneefux lnl7 ];
54     license = licenses.asl20;
55     platforms = platforms.unix;
56   };