about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/libmilter
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libmilter')
-rw-r--r--nixpkgs/pkgs/development/libraries/libmilter/darwin.patch28
-rw-r--r--nixpkgs/pkgs/development/libraries/libmilter/default.nix49
-rw-r--r--nixpkgs/pkgs/development/libraries/libmilter/install.patch42
-rw-r--r--nixpkgs/pkgs/development/libraries/libmilter/sharedlib.patch56
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')