summary refs log tree commit diff
path: root/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
blob: 4ecc449fe85a027377ffd007c8e26a5512622886 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
{ lib, fetchurl, fetchpatch, stdenv, gnutls, glib, pkg-config, check, libotr, python2
, enableLibPurple ? false, pidgin ? null
, enablePam ? false, pam ? null
}:

with lib;
stdenv.mkDerivation rec {
  pname = "bitlbee";
  version = "3.6";

  src = fetchurl {
    url = "mirror://bitlbee/src/bitlbee-${version}.tar.gz";
    sha256 = "0zhhcbcr59sx9h4maf8zamzv2waya7sbsl7w74gbyilvy93dw5cz";
  };

  nativeBuildInputs = [ pkg-config ] ++ optional doCheck check;

  buildInputs = [ gnutls libotr python2 ]
    ++ optional enableLibPurple pidgin
    ++ optional enablePam pam;

  propagatedBuildInputs = [ glib ];

  configureFlags = [
    "--otr=1"
    "--ssl=gnutls"
    "--pidfile=/var/lib/bitlbee/bitlbee.pid"
  ] ++ optional enableLibPurple "--purple=1"
    ++ optional enablePam "--pam=1";

  patches = [
    # This should be dropped once the issue is fixed upstream.
    (fetchpatch {
      url = "https://github.com/bitlbee/bitlbee/commit/6ff651b3ec93e5fd74f80766d5e9714d963137bc.diff";
      sha256 = "144dpm4kq7c268fpww1q3n88ayg068n73fbabr5arh1zryw48qfv";
    })
  ];

  installTargets = [ "install" "install-dev" ];

  doCheck = !enableLibPurple; # Checks fail with libpurple for some reason
  checkPhase = ''
    # check flags set VERBOSE=y which breaks the build due overriding a command
    make check
  '';

  enableParallelBuilding = true;

  meta = {
    description = "IRC instant messaging gateway";

    longDescription = ''
      BitlBee brings IM (instant messaging) to IRC clients.  It's a
      great solution for people who have an IRC client running all the
      time and don't want to run an additional MSN/AIM/whatever
      client.

      BitlBee currently supports the following IM networks/protocols:
      XMPP/Jabber (including Google Talk), MSN Messenger, Yahoo!
      Messenger, AIM and ICQ.
    '';

    homepage = "https://www.bitlbee.org/";
    license = licenses.gpl2Plus;

    maintainers = with maintainers; [ pSub ];
    platforms = platforms.gnu ++ platforms.linux;  # arbitrary choice
  };
}