diff options
author | Shea Levy <shea@shealevy.com> | 2011-08-31 18:12:33 +0000 |
---|---|---|
committer | Shea Levy <shea@shealevy.com> | 2011-08-31 18:12:33 +0000 |
commit | 191a4c404ab57be4466e9b2d6ef25c6c77152602 (patch) | |
tree | 23000acd1260299138cdb9cf355ab0054ecfc783 /pkgs/development/libraries/tcp-wrappers | |
parent | f7f9b39450877382151dc0bdd10281404780f19f (diff) | |
parent | 04b1ac31da9885e3b1893a98e5280b8f9a039652 (diff) |
Merge from trunk backups/darwin-updates@34176
svn path=/nixpkgs/branches/darwin-updates/; revision=28944
Diffstat (limited to 'pkgs/development/libraries/tcp-wrappers')
3 files changed, 121 insertions, 0 deletions
diff --git a/pkgs/development/libraries/tcp-wrappers/default.nix b/pkgs/development/libraries/tcp-wrappers/default.nix new file mode 100644 index 0000000000000..1cb6472971c47 --- /dev/null +++ b/pkgs/development/libraries/tcp-wrappers/default.nix @@ -0,0 +1,74 @@ +x@{builderDefsPackage + , flex, bison + , ...}: +builderDefsPackage +(a : +let + helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ + []; + + buildInputs = map (n: builtins.getAttr n x) + (builtins.attrNames (builtins.removeAttrs x helperArgNames)); + sourceInfo = rec { + baseName="tcp-wrappers"; + version="7.6"; + name="${baseName}-${version}"; + url="http://ftp.porcupine.org/pub/security/tcp_wrappers_${version}.tar.gz"; + hash="0p9ilj4v96q32klavx0phw9va21fjp8vpk11nbh6v2ppxnnxfhwm"; + }; +in +rec { + src = a.fetchurl { + url = sourceInfo.url; + sha256 = sourceInfo.hash; + }; + + inherit (sourceInfo) name version; + inherit buildInputs; + + /* doConfigure should be removed if not needed */ + phaseNames = ["setVars" "doUnpack" "fixMakefile" "doPatch" + "doMake" "doDeploy"]; + + patches = [./have-strerror.patch ./trivial-fixes.patch]; + + makeFlags = [ + "REAL_DAEMON_DIR=$out/bin" + "STYLE='\"-DHAVE_STRERROR -DSYS_ERRLIST_DEFINED\"'" + "generic" + ]; + + setVars = a.noDepEntry '' + export NIX_LDFLAGS="$NIX_LDFLAGS -lnsl" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC" + ''; + + fixMakefile = a.fullDepEntry '' + chmod u+w Makefile + echo 'libwrap.so: $(LIB_OBJ)' >> Makefile + echo ' ld $(LIB_OBJ) --shared -o libwrap.so' >> Makefile + '' ["minInit"]; + + doDeploy = a.fullDepEntry '' + ensureDir "$out"/{sbin,lib} + make libwrap.so + cp libwrap.{a,so} "$out/lib" + find . -perm +111 -a ! -name '*.*' -exec cp '{}' "$out/sbin" ';' + '' ["defEnsureDir" "minInit"]; + + meta = { + description = "Network logging TCP wrappers"; + maintainers = with a.lib.maintainers; + [ + raskin + ]; + platforms = with a.lib.platforms; + linux; + license = "free-noncopyleft"; + }; + passthru = { + updateInfo = { + downloadPage = "http://ftp.porcupine.org/pub/security/index.html"; + }; + }; +}) x diff --git a/pkgs/development/libraries/tcp-wrappers/have-strerror.patch b/pkgs/development/libraries/tcp-wrappers/have-strerror.patch new file mode 100644 index 0000000000000..626fce1a88aba --- /dev/null +++ b/pkgs/development/libraries/tcp-wrappers/have-strerror.patch @@ -0,0 +1,20 @@ +Debian patch +diff -ruN tcp_wrappers_7.6.orig/percent_m.c tcp_wrappers_7.6/percent_m.c +--- tcp_wrappers_7.6.orig/percent_m.c 1994-12-28 17:42:37.000000000 +0100 ++++ tcp_wrappers_7.6/percent_m.c 2003-08-21 02:45:31.000000000 +0200 +@@ -29,11 +29,15 @@ + + while (*bp = *cp) + if (*cp == '%' && cp[1] == 'm') { ++#ifdef HAVE_STRERROR ++ strcpy(bp, strerror(errno)); ++#else + if (errno < sys_nerr && errno > 0) { + strcpy(bp, sys_errlist[errno]); + } else { + sprintf(bp, "Unknown error %d", errno); + } ++#endif + bp += strlen(bp); + cp += 2; + } else { diff --git a/pkgs/development/libraries/tcp-wrappers/trivial-fixes.patch b/pkgs/development/libraries/tcp-wrappers/trivial-fixes.patch new file mode 100644 index 0000000000000..1e55819f8decc --- /dev/null +++ b/pkgs/development/libraries/tcp-wrappers/trivial-fixes.patch @@ -0,0 +1,27 @@ +Debian patch +diff -ruNp tcp_wrappers_7.6.orig/options.c tcp_wrappers_7.6/options.c +--- tcp_wrappers_7.6.orig/options.c 2006-03-01 23:45:28.000000000 +0100 ++++ tcp_wrappers_7.6/options.c 2006-03-01 22:55:44.000000000 +0100 +@@ -41,6 +41,7 @@ static char sccsid[] = "@(#) options.c 1 + #include <netinet/in.h> + #include <netdb.h> + #include <stdio.h> ++#include <unistd.h> + #include <syslog.h> + #include <pwd.h> + #include <grp.h> +diff -ruNp tcp_wrappers_7.6.orig/scaffold.c tcp_wrappers_7.6/scaffold.c +--- tcp_wrappers_7.6.orig/scaffold.c 2006-03-01 23:45:28.000000000 +0100 ++++ tcp_wrappers_7.6/scaffold.c 2006-03-01 22:56:13.000000000 +0100 +@@ -17,6 +17,7 @@ static char sccs_id[] = "@(#) scaffold.c + #include <arpa/inet.h> + #include <netdb.h> + #include <stdio.h> ++#include <stdlib.h> + #include <syslog.h> + #include <setjmp.h> + #include <string.h> +@@ -28,3 +28,2 @@ + +-extern char *malloc(); + |