PortSystem 1.0

name			sendfile
# upstream doesn't change the filename for revision changes
set up_version  2.1b
set up_revision 20110604
version			${up_version}-${up_revision}
categories		net
# Contains some code under the "Frontier Artistic License", which is based on
# Artistic-1, which FSF considers to be GPL-incompatible
license			GPL Artistic-1 Restrictive
platforms		darwin
maintainers		nomaintainer
homepage		https://fex.belwue.de/saft/sendfile.html
description		A saft suite for asynchronous transfers

long_description	Sendfile is a SAFT implementation for UNIX and serves as a tool for \
			asynchronous sending of files in the internet, conserving their file \
			attributes. It consists of the following parts: \
			sendfiled - the server daemon \
			sendfile - a client for sending files \
			sendmsg - a client for sending one-line text messages \
			receive - a client for receiving spooled files

distname        ${name}-${up_version}
dist_subdir		${name}/${version}
master_sites		https://fex.belwue.de/download/
checksums		rmd160 44f5cf03e02f1b620da12cccc62ece87f1a98873 \
			sha256 d0b4305c38e635d67bb2e316ccaf1d3afde63e67b748a104582d0ce9cf7f2a8c \
			size 343785

patchfiles		patch-makeconfig.diff patch-sendfiled.c.diff

use_configure		no
use_parallel_build	no

pre-build {		reinplace "s|/var/spool|${prefix}/var/spool|" ${worksrcpath}/makeconfig
			reinplace "s|/usr/local|${prefix}|g" ${worksrcpath}/makeconfig
			reinplace "s|/var/log|${prefix}/var/log|" ${worksrcpath}/makeconfig
			reinplace "s|/opt/bin|${prefix}/bin|" ${worksrcpath}/etc/sendfile.cf
			}

build.args		config CC=${configure.cc} CFLAGS="${configure.cflags} [get_canonical_archflags cc] -D_FORTIFY_SOURCE=0"

post-build {		reinplace "s|/var/spool|${prefix}/var/spool|" ${worksrcpath}/etc/sfconf
			reinplace "s|/var/spool|${prefix}/var/spool|g" ${worksrcpath}/etc/sfdconf
			reinplace "s|/usr/local|${prefix}|g" ${worksrcpath}/etc/sfdconf
			}

destroot.destdir	${destroot}${prefix}
destroot.target

destroot {		xinstall -m 755 -v -W ${worksrcpath}/src \
			sendfile sendmsg receive fetchfile utf7encode wlock \
			${destroot}${prefix}/bin
			xinstall -m 755 -v -W ${worksrcpath}/etc \
			sfconf sfdconf check_sendfile \
			${destroot}${prefix}/bin
			xinstall -m 644 -v -W ${worksrcpath}/etc \
			sendfile.cf sendfile.deny \
			${destroot}${prefix}/etc
			xinstall -m 644 -v -W ${worksrcpath}/doc \
			sendmsg.1 sendfile.1 receive.1 fetchfile.1 utf7encode.1 wlock.1 \
			${destroot}${prefix}/share/man/man1
			xinstall -m 755 ${worksrcpath}/src/sendfiled ${destroot}${prefix}/sbin
			file mkdir ${destroot}${prefix}/share/doc/${name}
			file copy ${worksrcpath}/doc/README ${destroot}${prefix}/share/doc/${name}
			file copy ${worksrcpath}/doc/fetchfile.7 ${destroot}${prefix}/share/man/man7
			file copy ${worksrcpath}/doc/sendfiled.8 ${destroot}${prefix}/share/man/man8
			}


post-destroot {		system "cd '${destroot}${prefix}/bin' && ln -s utf7encode utf7decode"
			xinstall -m 755 -d ${destroot}${prefix}/var/spool/sendfile
			xinstall -m 700 -d ${destroot}${prefix}/var/spool/sendfile/LOG
			xinstall -m 1777 -d ${destroot}${prefix}/var/spool/sendfile/OUTGOING
			destroot.keepdirs-append ${destroot}${prefix}/var/spool/sendfile
			destroot.keepdirs-append ${destroot}${prefix}/var/spool/sendfile/LOG
			destroot.keepdirs-append ${destroot}${prefix}/var/spool/sendfile/OUTGOING
			}

# Notify the user how to launch the sendfile daemon
notes "For being able to receive files, you'll have to use either
xinetd or inetd, depending on what you are using.\n
Use the following line if you'll go for inetd:
saft stream tcp nowait root /path/to/sendfiled sendfiled\n
For xinetd, just take a service file as an example."