1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 autoreconfHook,
6 libtool,
7 openssl,
8 expat,
9 pkg-config,
10 check,
11}:
12
13stdenv.mkDerivation rec {
14 pname = "libmesode";
15 version = "0.10.1";
16
17 src = fetchFromGitHub {
18 owner = "profanity-im";
19 repo = "libmesode";
20 rev = version;
21 sha256 = "1bxnkhrypgv41qyy1n545kcggmlw1hvxnhwihijhhcf2pxd2s654";
22 };
23
24 nativeBuildInputs = [
25 autoreconfHook
26 pkg-config
27 ];
28 buildInputs = [
29 openssl
30 expat
31 libtool
32 check
33 ];
34
35 dontDisableStatic = true;
36
37 doCheck = true;
38
39 meta = with lib; {
40 description = "Fork of libstrophe (https://github.com/strophe/libstrophe) for use with Profanity XMPP Client";
41 longDescription = ''
42 Reasons for forking:
43
44 - Remove Windows support
45 - Support only one XML Parser implementation (expat)
46 - Support only one SSL implementation (OpenSSL)
47
48 This simplifies maintenance of the library when used in Profanity.
49 Whilst Profanity will run against libstrophe, libmesode provides extra
50 TLS functionality such as manual SSL certificate verification.
51 '';
52 homepage = "https://github.com/profanity-im/libmesode/";
53 license = with licenses; [
54 gpl3Only
55 mit
56 ];
57 platforms = platforms.unix;
58 broken = stdenv.hostPlatform.isDarwin;
59 maintainers = with maintainers; [ devhell ];
60 };
61}