# $Id: Portfile 59973 2009-10-28 07:05:26Z pguyot@kallisys.net $

PortSystem			1.0
name				slocate
version				3.1
revision			1
categories			sysutils
homepage			http://slocate.trakker.ca/
description			Secure Locate is a replacement for locate.
long_description	Secure locate provides a secure way to index and quickly search \
					for files on your system. It uses incremental encoding just like \
					GNU locate to compress its database to make searching faster, \
					but it will also check file permissions and ownership so that \
					users will not see files they do not have access to. \
					The big advantage is that slocate will find files in your ~, even \
					if you made it unreadable by "nobody" (who traditionally performs \
					the locate database update), without letting another user find \
					files there.
platforms			darwin
maintainers			nomaintainer
master_sites		http://slocate.trakker.ca/files/ \
	http://fresh.t-systems-sfr.com/unix/src/misc/ \
	http://slackware.mirrors.tds.net/pub/slackware/slackware_source/a/slocate/ \
	http://mirror.nohup.it/slackware/slackware_source/a/slocate/ \
	http://slackware.mirrors.pair.com/slackware_source/a/slocate/

checksums      		md5 908e6949d959ae7b686c10bb76b35bf3 \
					sha1 e427552664385b86931b7626c26bd95ae5f9f085 \
					rmd160 d3b1e818cc35ce8e87ec1b0764f6b2145a319e13
patchfiles			patch-Makefile \
					patch-src-Makefile \
					patch-src-conf.c \
					patch-src-slocate.h \
					patch-src-utils.c \
					patch-doc-slocate.1

use_configure		no

post-patch {
	reinplace "s|__PREFIX__|${prefix}|g" ${worksrcpath}/src/slocate.h
	reinplace "s|__PREFIX__|${prefix}|g" ${worksrcpath}/doc/slocate.1
	reinplace "s|__PREFIX__|${prefix}|g" ${worksrcpath}/src/Makefile
	reinplace "s|__DESTROOT__|${destroot}|g" ${worksrcpath}/src/Makefile
	reinplace "s|__PREFIX__|${prefix}|g" ${worksrcpath}/Makefile
	reinplace "s|__DESTROOT__|${destroot}|g" ${worksrcpath}/Makefile
	reinplace "s|__USER__|${install.user}|g" ${worksrcpath}/Makefile
	reinplace "s|__GROUP__|${install.group}|g" ${worksrcpath}/Makefile
}

pre-destroot {
	addgroup slocate
}

post-destroot {
	xinstall -d -g slocate -o root ${destroot}${prefix}/var/db/slocate
	system "touch ${destroot}${prefix}/var/db/slocate/.turd"
	xinstall ${portpath}/files/daily.slocate ${destroot}${prefix}/etc/
	reinplace "s|__PREFIX__|${prefix}|g" ${destroot}${prefix}/etc/daily.slocate
}

post-install {
	ui_msg "\nslocate's database should be updated on a regular basis. In"
	ui_msg "${prefix}/etc/daily.slocate, you'll find some lines to put in"
	ui_msg "/etc/daily.local to update the database on a daily basis (for example)."
	ui_msg "If you want to disable the weekly update of the system's built-in locate,"
	ui_msg "edit the file /etc/weekly.\n"
}

variant universal {
    build.args-append   LDFLAGS="${configure.universal_ldflags}"

    post-configure {
        reinplace -E "/^CFLAGS=/s|\$| ${configure.universal_cflags}|" \
            ${worksrcpath}/src/Makefile
    }
}

