diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libmilter')
4 files changed, 175 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libmilter/darwin.patch b/nixpkgs/pkgs/development/libraries/libmilter/darwin.patch new file mode 100644 index 000000000000..9bad640450c6 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libmilter/darwin.patch @@ -0,0 +1,28 @@ +Fix build issues on Darwin. + +--- a/devtools/OS/Darwin 2014-03-05 01:59:45.000000000 +0100 ++++ b/devtools/OS/Darwin 2020-05-18 14:47:57.000000000 +0200 +@@ -8,6 +8,8 @@ + # We look a lot more like 4.4BSD than NeXTStep or OpenStep. + # + define(`confCC', `cc -traditional-cpp -pipe ${Extra_CC_Flags}') ++define(`confCCOPTS_SO', `-fPIC') ++define(`confSOEXT', `dylib') + define(`confMAPDEF', `-DNEWDB -DNIS -DMAP_REGEX -DNETINFO -DAUTO_NETINFO_ALIASES -DAUTO_NETINFO_HOSTS') + define(`confENVDEF', `-DDARWIN') + define(`confLDOPTS', `${Extra_LD_Flags}') +--- a/sendmail/sendmail.h 2020-05-18 14:51:17.000000000 +0200 ++++ b/sendmail/sendmail.h 2020-05-18 14:51:00.000000000 +0200 +@@ -122,7 +122,11 @@ + # endif + + #if NAMED_BIND +-# include <arpa/nameser.h> ++# ifdef __APPLE__ ++# include <arpa/nameser_compat.h> ++# else ++# include <arpa/nameser.h> ++# endif + # ifdef NOERROR + # undef NOERROR /* avoid <sys/streams.h> conflict */ + # endif diff --git a/nixpkgs/pkgs/development/libraries/libmilter/default.nix b/nixpkgs/pkgs/development/libraries/libmilter/default.nix new file mode 100644 index 000000000000..ee92235adacc --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libmilter/default.nix @@ -0,0 +1,49 @@ +{ lib, stdenv, fetchurl, m4, fixDarwinDylibNames }: + +stdenv.mkDerivation rec { + pname = "libmilter"; + version = "8.17.1"; + + src = fetchurl { + url = "ftp://ftp.sendmail.org/pub/sendmail/sendmail.${version}.tar.gz"; + sha256 = "sha256-BLx2tsiG5tERvn/Y2qMrjOABKKKItrUuBnvCnzhUpuY="; + }; + + buildPhase = '' + mkdir -p $out/lib + cd libmilter + cat > a.m4 <<EOF + define(\`confCC', \`$CC') + define(\`confAR', \`$AR') + define(\`confEBINDIR', \`$out/libexec') + define(\`confINCLUDEDIR', \`$out/include') + define(\`confLIBDIR', \`$out/lib') + define(\`confMANROOT', \`$out/man/cat') + define(\`confMANROOTMAN', \`$out/man/man') + define(\`confMBINDIR', \`$out/sbin') + define(\`confSBINDIR', \`$out/sbin') + define(\`confSHAREDLIBDIR', \`$out/lib') + define(\`confUBINDIR', \`$out/bin') + define(\`confINCGRP', \`root') + define(\`confLIBGRP', \`root') + APPENDDEF(\`confENVDEF', \`-DNETINET6') + EOF + export MILTER_SOVER=1 + sh Build -f ./a.m4 + ''; + + patches = [ ./install.patch ./sharedlib.patch ./darwin.patch ]; + + nativeBuildInputs = [ m4 ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames; + + postInstall = lib.optionalString stdenv.isDarwin '' + fixDarwinDylibNames $out/lib/libmilter.dylib.1 + ''; + + meta = with lib; { + description = "Sendmail Milter mail filtering API library"; + platforms = platforms.unix; + maintainers = with maintainers; [ fpletz ]; + license = licenses.sendmail; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/libmilter/install.patch b/nixpkgs/pkgs/development/libraries/libmilter/install.patch new file mode 100644 index 000000000000..f6d3574ca4c1 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libmilter/install.patch @@ -0,0 +1,42 @@ +diff -rc sendmail-8.14.4/devtools/M4/UNIX/library.m4 sendmail-8.14.4-new/devtools/M4/UNIX/library.m4 +*** sendmail-8.14.4/devtools/M4/UNIX/library.m4 Wed Sep 6 00:56:53 2006 +--- sendmail-8.14.4-new/devtools/M4/UNIX/library.m4 Tue Feb 9 11:25:13 2010 +*************** +*** 28,34 **** + + install-`'bldCURRENT_PRODUCT: bldCURRENT_PRODUCT.a + ifdef(`bldINSTALLABLE', ` ifdef(`confMKDIR', `if [ ! -d ${DESTDIR}${bldINSTALL_DIR`'LIBDIR} ]; then confMKDIR -p ${DESTDIR}${bldINSTALL_DIR`'LIBDIR}; else :; fi ') +! ${INSTALL} -c -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} bldCURRENT_PRODUCT.a ${DESTDIR}${LIBDIR}') + + bldCURRENT_PRODUCT-clean: + rm -f ${OBJS} bldCURRENT_PRODUCT.a ${MANPAGES} +--- 28,34 ---- + + install-`'bldCURRENT_PRODUCT: bldCURRENT_PRODUCT.a + ifdef(`bldINSTALLABLE', ` ifdef(`confMKDIR', `if [ ! -d ${DESTDIR}${bldINSTALL_DIR`'LIBDIR} ]; then confMKDIR -p ${DESTDIR}${bldINSTALL_DIR`'LIBDIR}; else :; fi ') +! ${INSTALL} -c bldCURRENT_PRODUCT.a ${DESTDIR}${LIBDIR}') + + bldCURRENT_PRODUCT-clean: + rm -f ${OBJS} bldCURRENT_PRODUCT.a ${MANPAGES} +diff -rc sendmail-8.14.4/libmilter/Makefile.m4 sendmail-8.14.4-new/libmilter/Makefile.m4 +*** sendmail-8.14.4/libmilter/Makefile.m4 Tue Nov 24 22:59:33 2009 +--- sendmail-8.14.4-new/libmilter/Makefile.m4 Tue Feb 9 10:47:19 2010 +*************** +*** 33,40 **** + MFDEF= ${SRCDIR}/inc`'lude/libmilter/mfdef.h + install-mfapi: ${MFAPI} + if [ ! -d ${DESTDIR}${INCLUDEDIR}/libmilter ]; then mkdir -p ${DESTDIR}${INCLUDEDIR}/libmilter; else :; fi +! ${INSTALL} -c -o ${INCOWN} -g ${INCGRP} -m ${INCMODE} ${MFAPI} ${DESTDIR}${INCLUDEDIR}/libmilter/mfapi.h +! ${INSTALL} -c -o ${INCOWN} -g ${INCGRP} -m ${INCMODE} ${MFDEF} ${DESTDIR}${INCLUDEDIR}/libmilter/mfdef.h + divert(0) + + bldFINISH +--- 33,40 ---- + MFDEF= ${SRCDIR}/inc`'lude/libmilter/mfdef.h + install-mfapi: ${MFAPI} + if [ ! -d ${DESTDIR}${INCLUDEDIR}/libmilter ]; then mkdir -p ${DESTDIR}${INCLUDEDIR}/libmilter; else :; fi +! ${INSTALL} -c ${MFAPI} ${DESTDIR}${INCLUDEDIR}/libmilter/mfapi.h +! ${INSTALL} -c ${MFDEF} ${DESTDIR}${INCLUDEDIR}/libmilter/mfdef.h + divert(0) + + bldFINISH diff --git a/nixpkgs/pkgs/development/libraries/libmilter/sharedlib.patch b/nixpkgs/pkgs/development/libraries/libmilter/sharedlib.patch new file mode 100644 index 000000000000..1e256c59ec3e --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libmilter/sharedlib.patch @@ -0,0 +1,56 @@ +diff -Nru sendmail-8.14.3.orig/devtools/M4/UNIX/milterlibrary.m4 sendmail-8.14.3/devtools/M4/UNIX/milterlibrary.m4 +--- sendmail-8.14.3.orig/devtools/M4/UNIX/milterlibrary.m4 1970-01-01 01:00:00.000000000 +0100 ++++ sendmail-8.14.3/devtools/M4/UNIX/milterlibrary.m4 2009-08-22 21:51:10.000000000 +0200 +@@ -0,0 +1,39 @@ ++divert(-1) ++# ++# Copyright (c) 1999-2001 Sendmail, Inc. and its suppliers. ++# All rights reserved. ++# ++# By using this file, you agree to the terms and conditions set ++# forth in the LICENSE file which can be found at the top level of ++# the sendmail distribution. ++# ++# ++# Definitions for Makefile construction for sendmail ++# ++divert(0)dnl ++include(confBUILDTOOLSDIR`/M4/'bldM4_TYPE_DIR`/links.m4')dnl ++define(`confSOEXT', ifdef(`confSOEXT', `confSOEXT', `so'))dnl ++bldLIST_PUSH_ITEM(`bldC_PRODUCTS', bldCURRENT_PRODUCT)dnl ++bldPUSH_TARGET(bldCURRENT_PRODUCT`.'confSOEXT bldCURRENT_PRODUCT`.a')dnl ++bldPUSH_INSTALL_TARGET(`install-'bldCURRENT_PRODUCT)dnl ++bldPUSH_CLEAN_TARGET(bldCURRENT_PRODUCT`-clean')dnl ++ ++include(confBUILDTOOLSDIR`/M4/'bldM4_TYPE_DIR`/defines.m4') ++divert(bldTARGETS_SECTION) ++bldCURRENT_PRODUCT`.'confSOEXT: ${BEFORE} ${bldCURRENT_PRODUCT`OBJS'} ++ ${CCLINK} ${LDOPTS_SO} -o bldCURRENT_PRODUCT.confSOEXT ifdef(`confSONAME',`-Wl,confSONAME,bldCURRENT_PRODUCT.confSOEXT.${MILTER_SOVER}') ${bldCURRENT_PRODUCT`OBJS'} -lc ${LIBS} ++bldCURRENT_PRODUCT.a: ${BEFORE} ${bldCURRENT_PRODUCT`OBJS'} ++ ${AR} ${AROPTS} bldCURRENT_PRODUCT.a ${bldCURRENT_PRODUCT`OBJS'} ++ ${RANLIB} ${RANLIBOPTS} bldCURRENT_PRODUCT.a ++ifdef(`bldLINK_SOURCES', `bldMAKE_SOURCE_LINKS(bldLINK_SOURCES)') ++ ++install-`'bldCURRENT_PRODUCT: bldCURRENT_PRODUCT.confSOEXT bldCURRENT_PRODUCT.a ++ifdef(`bldINSTALLABLE', ` ifdef(`confMKDIR', `if [ ! -d "${DESTDIR}${bldINSTALL_DIR`'LIBDIR}" ]; then confMKDIR -p "${DESTDIR}${bldINSTALL_DIR`'LIBDIR}"; else :; fi ') ++ ${INSTALL} -c bldCURRENT_PRODUCT.confSOEXT "${DESTDIR}${LIBDIR}/bldCURRENT_PRODUCT.confSOEXT.${MILTER_SOVER}" ++ ${LN} ${LNOPTS} bldCURRENT_PRODUCT.confSOEXT.${MILTER_SOVER} "${DESTDIR}${LIBDIR}/bldCURRENT_PRODUCT.confSOEXT" ++ ${INSTALL} -c -m 644 bldCURRENT_PRODUCT.a "${DESTDIR}${LIBDIR}"') ++ ++bldCURRENT_PRODUCT-clean: ++ rm -f ${OBJS} bldCURRENT_PRODUCT.confSOEXT bldCURRENT_PRODUCT.a ${MANPAGES} ++ ++divert(0) ++COPTS+= confCCOPTS_SO +diff -Nru sendmail-8.14.3.orig/libmilter/Makefile.m4 sendmail-8.14.3/libmilter/Makefile.m4 +--- sendmail-8.14.3.orig/libmilter/Makefile.m4 2008-04-08 07:23:44.000000000 +0200 ++++ sendmail-8.14.3/libmilter/Makefile.m4 2009-08-22 21:53:35.000000000 +0200 +@@ -9,7 +9,7 @@ + SMSRCDIR=ifdef(`confSMSRCDIR', `confSMSRCDIR', `${SRCDIR}/sendmail') + PREPENDDEF(`confINCDIRS', `-I${SMSRCDIR} ') + +-bldPRODUCT_START(`library', `libmilter') ++bldPRODUCT_START(`milterlibrary', `libmilter') + define(`bldINSTALLABLE', `true') + define(`LIBMILTER_EXTRAS', `errstring.c strl.c') + APPENDDEF(`confENVDEF', `-DNOT_SENDMAIL -Dsm_snprintf=snprintf') |