Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib, stdenv, fetchurl, apr, scons, openssl, aprutil, zlib, libkrb5
2, pkg-config, libiconv
3, fetchpatch }:
4
5stdenv.mkDerivation rec {
6 pname = "serf";
7 version = "1.3.9";
8
9 src = fetchurl {
10 url = "mirror://apache/serf/${pname}-${version}.tar.bz2";
11 sha256 = "1k47gbgpp52049andr28y28nbwh9m36bbb0g8p0aka3pqlhjv72l";
12 };
13
14 nativeBuildInputs = [ pkg-config scons ];
15 buildInputs = [ apr openssl aprutil zlib libiconv ]
16 ++ lib.optional (!stdenv.isCygwin) libkrb5;
17
18 patches = [
19 ./scons.patch
20 # https://issues.apache.org/jira/projects/SERF/issues/SERF-198
21 (fetchpatch {
22 url = "https://issues.apache.org/jira/secure/attachment/13019945/serf.patch";
23 hash = "sha256-3djDGG30R/gq74KJL8OJ/upMh1zDpqtwGylRzN0lXpY=";
24 })
25 (fetchpatch {
26 url = "https://src.fedoraproject.org/rpms/libserf/raw/rawhide/f/libserf-1.3.9-errgetfunc.patch";
27 hash = "sha256-FQJvXOIZ0iItvbbcu4kR88j74M7fOi7C/0NN3o1/ub4=";
28 })
29 ];
30
31 prefixKey = "PREFIX=";
32
33 preConfigure = ''
34 sconsFlags+=" APR=$(echo ${apr.dev}/bin/*-config)"
35 sconsFlags+=" APU=$(echo ${aprutil.dev}/bin/*-config)"
36 sconsFlags+=" CC=$CC"
37 sconsFlags+=" OPENSSL=${openssl}"
38 sconsFlags+=" ZLIB=${zlib}"
39 '' + lib.optionalString (!stdenv.isCygwin) ''
40 sconsFlags+=" GSSAPI=${libkrb5.dev}"
41 '';
42
43 enableParallelBuilding = true;
44
45 meta = with lib; {
46 description = "HTTP client library based on APR";
47 license = licenses.asl20;
48 maintainers = with maintainers; [ orivej raskin ];
49 platforms = platforms.linux ++ platforms.darwin;
50 };
51}