PortSystem 1.0

name			libmilter
set major_version	8.17
version			${major_version}.1
categories		mail
maintainers		{geeklair.net:dluke @danielluke}
platforms		darwin
description		libmilter library from Sendmail
license			Permissive

long_description	Sendmail's Content Management API (milter) provides \
			third-party programs to access mail messages as they \
			are being processed by the Mail Transfer Agent (MTA), \
			allowing them to examine and modify message content \
			and meta-information. Filtering policies implemented \
			by Milter-conformant filters may then be centrally \
			configured and composed in an end-user's MTA \
			configuration file

homepage		http://www.sendmail.org/doc/sendmail-current/libmilter/docs/
master_sites		ftp://ftp.sendmail.org/pub/sendmail/ \
			https://www.mirrorservice.org/sites/ftp.sendmail.org/pub/sendmail/
distname		sendmail.${version}

checksums	sha256	04bc76b6c886e6d111be7fd8daa32b8ce00128a288b6b52e067bc29f3854a6e6 \
		rmd160	8c4b43bd2d6fd3f5e9062f6c4a6db4f60a065e67 \
		size	2284027

worksrcdir	sendmail-${version}

set arch_flags "${configure.cc_archflags}"
post-patch {
	if {[file exists ${worksrcpath}/devtools/OS/Darwin.${os.major}.x]} {
		file copy ${worksrcpath}/devtools/OS/Darwin.${os.major}.x \
			${worksrcpath}/devtools/Site/site.config.m4
	} else {
		file copy ${worksrcpath}/devtools/OS/Darwin.10.x \
			${worksrcpath}/devtools/Site/site.config.m4
		reinplace "s|-DDARWIN=100000|-DDARWIN=${os.major}0000|" \
			${worksrcpath}/devtools/Site/site.config.m4
	}
	if {[variant_exists universal] && [variant_isset universal]} {
		reinplace "s|\${Extra_CC_Flags}|${arch_flags}|" \
			${worksrcpath}/devtools/Site/site.config.m4
	}
}

use_configure	no

build	{
		system "cd ${worksrcpath}/${name} && \
			./Build -O ${worksrcpath}/macports"
	
		close [open ${worksrcpath}/include/sm_os.h a]

		system "cd ${worksrcpath}/macports/*/${name} && \
			${configure.cc} ${configure.cflags} ${arch_flags}\
			-fno-common -DNOT_SENDMAIL -Dsm_snprintf=snprintf \
			-D_THREAD_SAFE -DBIND_8_COMPAT -DXP_MT -DNETINET6 \
			-I${worksrcpath}/include \
			-I${worksrcpath}/sendmail -c *.c"
		
		set x {}
		fs-traverse object ${worksrcpath}/macports {
			if {[file isfile ${object}] && [regexp ".o$" ${object}]} {
				lappend x ${object}
			}
		}

		set objects [join ${x} " "]

		system "${configure.cc} ${configure.cflags} ${arch_flags} -dynamiclib \
			-install_name ${prefix}/lib/${name}.dylib \
			-compatibility_version ${major_version} \
			-current_version ${version} \
			-o ${worksrcpath}/macports/libmilter.dylib ${objects}"
	}

destroot	{
			file copy "${worksrcpath}/macports/libmilter.dylib" \
				"${destroot}${prefix}/lib/"
			file copy "${worksrcpath}/include/${name}" \
				"${destroot}${prefix}/include/"
			file delete "${destroot}${prefix}/include/${name}/milter.h"
		}

variant universal {
	set arch_flags "${configure.universal_cflags}"
}
