diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/apr')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/apr/default.nix | 52 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/apr/is-this-a-compiler-bug.patch | 17 |
2 files changed, 69 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/apr/default.nix b/nixpkgs/pkgs/development/libraries/apr/default.nix new file mode 100644 index 000000000000..03b6c9777dfd --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/apr/default.nix @@ -0,0 +1,52 @@ +{ lib, stdenv, fetchurl, autoreconfHook }: + +stdenv.mkDerivation rec { + name = "apr-1.7.0"; + + src = fetchurl { + url = "mirror://apache/apr/${name}.tar.bz2"; + sha256 = "1spp6r2a3xcl5yajm9safhzyilsdzgagc2dadif8x6z9nbq4iqg2"; + }; + + patches = lib.optionals stdenv.isDarwin [ ./is-this-a-compiler-bug.patch ]; + + # This test needs the net + postPatch = '' + rm test/testsock.* + ''; + + outputs = [ "out" "dev" ]; + outputBin = "dev"; + + preConfigure = + '' + configureFlagsArray+=("--with-installbuilddir=$dev/share/build") + ''; + + configureFlags = lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) [ + "ac_cv_file__dev_zero=yes" + "ac_cv_func_setpgrp_void=0" + "apr_cv_process_shared_works=1" + "apr_cv_tcp_nodelay_with_cork=1" + ] ++ lib.optionals (stdenv.hostPlatform.system == "i686-cygwin") [ + # Including the Windows headers breaks unistd.h. + # Based on ftp://sourceware.org/pub/cygwin/release/libapr1/libapr1-1.3.8-2-src.tar.bz2 + "ac_cv_header_windows_h=no" + ]; + + CPPFLAGS=lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-DAPR_IOVEC_DEFINED"; + + nativeBuildInputs = + # Update libtool for macOS 11 support + lib.optional (stdenv.isDarwin && stdenv.isAarch64) [ autoreconfHook ]; + + enableParallelBuilding = true; + + meta = with lib; { + homepage = "http://apr.apache.org/"; + description = "The Apache Portable Runtime library"; + platforms = platforms.all; + license = licenses.asl20; + maintainers = [ maintainers.eelco ]; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/apr/is-this-a-compiler-bug.patch b/nixpkgs/pkgs/development/libraries/apr/is-this-a-compiler-bug.patch new file mode 100644 index 000000000000..bbc10fabb268 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/apr/is-this-a-compiler-bug.patch @@ -0,0 +1,17 @@ +--- apr-1.5.1/file_io/unix/filestat.c 2014-11-01 06:42:50.000000000 -0400 ++++ apr-1.5.1/file_io/unix/filestat.c.new 2014-11-01 07:07:32.000000000 -0400 +@@ -297,9 +297,11 @@ + finfo->pool = pool; + finfo->fname = fname; + fill_out_finfo(finfo, &info, wanted); +- if (wanted & APR_FINFO_LINK) +- wanted &= ~APR_FINFO_LINK; +- return (wanted & ~finfo->valid) ? APR_INCOMPLETE : APR_SUCCESS; ++ if (wanted & APR_FINFO_LINK) { ++ return ((wanted & ~APR_FINFO_LINK) & ~finfo->valid) ? APR_INCOMPLETE : APR_SUCCESS; ++ } else { ++ return (wanted & ~finfo->valid) ? APR_INCOMPLETE : APR_SUCCESS; ++ } + } + else { + #if !defined(ENOENT) || !defined(ENOTDIR) |