52 lines
1.5 KiB
Nix
52 lines
1.5 KiB
Nix
{ lib, stdenv, fetchurl, apr, scons, openssl, aprutil, zlib, libkrb5
|
|
, pkg-config, libiconv
|
|
, fetchpatch }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "serf";
|
|
version = "1.3.9";
|
|
|
|
src = fetchurl {
|
|
url = "mirror://apache/serf/${pname}-${version}.tar.bz2";
|
|
sha256 = "1k47gbgpp52049andr28y28nbwh9m36bbb0g8p0aka3pqlhjv72l";
|
|
};
|
|
|
|
nativeBuildInputs = [ pkg-config scons ];
|
|
buildInputs = [ apr openssl aprutil zlib libiconv ]
|
|
++ lib.optional (!stdenv.isCygwin) libkrb5;
|
|
|
|
patches = [
|
|
./scons.patch
|
|
# https://issues.apache.org/jira/projects/SERF/issues/SERF-198
|
|
(fetchpatch {
|
|
url = "https://issues.apache.org/jira/secure/attachment/13019945/serf.patch";
|
|
hash = "sha256-3djDGG30R/gq74KJL8OJ/upMh1zDpqtwGylRzN0lXpY=";
|
|
})
|
|
(fetchpatch {
|
|
url = "https://src.fedoraproject.org/rpms/libserf/raw/rawhide/f/libserf-1.3.9-errgetfunc.patch";
|
|
hash = "sha256-FQJvXOIZ0iItvbbcu4kR88j74M7fOi7C/0NN3o1/ub4=";
|
|
})
|
|
];
|
|
|
|
prefixKey = "PREFIX=";
|
|
|
|
preConfigure = ''
|
|
sconsFlags+=" APR=$(echo ${apr.dev}/bin/*-config)"
|
|
sconsFlags+=" APU=$(echo ${aprutil.dev}/bin/*-config)"
|
|
sconsFlags+=" CC=$CC"
|
|
sconsFlags+=" OPENSSL=${openssl}"
|
|
sconsFlags+=" ZLIB=${zlib}"
|
|
'' + lib.optionalString (!stdenv.isCygwin) ''
|
|
sconsFlags+=" GSSAPI=${libkrb5.dev}"
|
|
'';
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
meta = with lib; {
|
|
description = "HTTP client library based on APR";
|
|
license = licenses.asl20;
|
|
maintainers = with maintainers; [ orivej raskin ];
|
|
platforms = platforms.linux ++ platforms.darwin;
|
|
};
|
|
}
|