summary refs log tree commit diff
path: root/pkgs/development/libraries/serf/default.nix
blob: b511a841d1900991c3dfd55a5039d5b1858e59ce (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
{stdenv, fetchurl, apr, scons, openssl, aprutil, zlib, krb5, pkgconfig}:
let
  s = # Generated upstream information
  rec {
    baseName="serf";
    version="1.3.3";
    name="${baseName}-${version}";
    hash="0axdz1bbdrgvrsqmy1j0kx54y1hhhs6xmc1j7jz4fqr9fr0y1sh2";
    url="https://serf.googlecode.com/files/serf-1.3.3.tar.bz2";
    sha256="0axdz1bbdrgvrsqmy1j0kx54y1hhhs6xmc1j7jz4fqr9fr0y1sh2";
  };
  buildInputs = [
    apr scons openssl aprutil zlib krb5 pkgconfig
  ];
in
stdenv.mkDerivation {
  inherit (s) name version;
  inherit buildInputs;
  src = fetchurl {
    inherit (s) url sha256;
  };

  configurePhase = ''
    sed -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"PATH":os.environ["PATH"]})' -i SConstruct
    sed -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"NIX_CFLAGS_COMPILE":os.environ["NIX_CFLAGS_COMPILE"]})' -i SConstruct
    sed -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"NIX_LDFLAGS":os.environ["NIX_LDFLAGS"]})' -i SConstruct
  '';

  buildPhase = ''
    scons PREFIX="$out" OPENSSL="${openssl}" ZLIB="${zlib}" APR="$(echo "${apr}"/bin/*-config)" \
        APU="$(echo "${aprutil}"/bin/*-config)" GSSAPI="${krb5}" CC="${stdenv.gcc}/bin/gcc"
  '';

  installPhase = ''
    scons install
  '';

  meta = {
    inherit (s) version;
    description = "HTTP client library based on APR";
    license = stdenv.lib.licenses.asl20 ;
    maintainers = [stdenv.lib.maintainers.raskin];
    hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
  };
}