about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/serf
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/serf')
-rw-r--r--nixpkgs/pkgs/development/libraries/serf/default.nix58
-rw-r--r--nixpkgs/pkgs/development/libraries/serf/scons.patch13
2 files changed, 71 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/serf/default.nix b/nixpkgs/pkgs/development/libraries/serf/default.nix
new file mode 100644
index 000000000000..1a2f407f9bc2
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/serf/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, stdenv
+, fetchurl
+, apr
+, scons
+, openssl
+, aprutil
+, zlib
+, libkrb5
+, pkg-config
+, libiconv
+, fetchpatch
+}:
+
+stdenv.mkDerivation rec {
+  pname = "serf";
+  version = "1.3.10";
+
+  src = fetchurl {
+    url = "mirror://apache/serf/${pname}-${version}.tar.bz2";
+    hash = "sha256-voHvCLqiUW7Np2p3rffe97wyJ+61eLmjO0X3tB3AZOY=";
+  };
+
+  nativeBuildInputs = [ pkg-config scons ];
+  buildInputs = [ apr openssl aprutil zlib libiconv ]
+    ++ lib.optional (!stdenv.isCygwin) libkrb5;
+
+  patches = [
+    ./scons.patch
+
+    (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";
+    homepage = "https://serf.apache.org/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ orivej raskin ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/serf/scons.patch b/nixpkgs/pkgs/development/libraries/serf/scons.patch
new file mode 100644
index 000000000000..7be5e4d5045d
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/serf/scons.patch
@@ -0,0 +1,13 @@
+diff --git a/SConstruct b/SConstruct
+index 4358a23..6ce7776 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -155,6 +155,8 @@ if sys.platform == 'win32':
+ env = Environment(variables=opts,
+                   tools=('default', 'textfile',),
+                   CPPPATH=['.', ],
++                  AR=os.environ['AR'],
++                  ENV=os.environ,
+                   )
+ 
+ env.Append(BUILDERS = {