# $Id: Portfile 50980 2009-05-14 19:41:55Z and.damore@macports.org $

PortSystem 1.0

name			geneweb
version			5.01
revision		0
categories		genealogy
maintainers		bfulgham
description		Sophisticated Genealogy System 
long_description	GeneWeb is sophisticated genealogy software with a \
			web interface.  It provides efficient relationship and consanguinity \
			computing, support for very large database (i.e., hundreds of thousands \
			of entries), and more.

homepage		http://cristal.inria.fr/~ddr/GeneWeb
master_sites		ftp://ftp.inria.fr/INRIA/Projects/cristal/${name}/Src \
			http://www.sartorelli.gen.nz/GeneWeb/Src
distfiles		${name}-${version}.tgz
checksums		md5 a1a763213d08bc0e0f547dff9b6f2ee4
platforms		darwin

depends_build		port:ocaml \
			port:camlp5

destroot.target		distrib

set gwuser		${name}
set gwgroup		${name}
set logdir		${prefix}/var/log
set langdir		${prefix}/share/${name}/gw
set dbdir		${prefix}/var/db/${name}

startupitem.create	yes
startupitem.start	"su ${gwuser} -c \"cd ~${gwuser} && ./gw/gwd -bd${dbdir} -hd${langdir} -dd${langdir} -langen -log${logdir}/${name}.log -daemon\""

pre-destroot		{
	addgroup ${gwgroup}
	set gid [existsgroup ${gwgroup}]
	adduser ${gwuser} shell=/bin/sh gid=${gid} \
		home=${prefix}/share/${name} \
		realname=Geneweb\ Server
}

destroot		{
	system "cd ${worksrcpath} && make distrib"
}

destroot.keepdirs	${destroot}${dbdir}

set distrib		${worksrcpath}/distribution

post-destroot		{
	xinstall -d -m 0755 ${destroot}${logdir}
	xinstall -d -m 0755 ${destroot}${dbdir}

	system "touch ${destroot}${logdir}/${name}.log"
	system "chown ${gwuser}:${gwgroup} ${destroot}${logdir}/${name}.log"
	system "chown -R ${gwuser}:${gwgroup} ${destroot}${dbdir}"

	xinstall -d -m 0755 ${destroot}${prefix}/share/${name}
	xinstall -d -m 0755 ${destroot}${prefix}/share/doc/${name}

	foreach x {LICENSE.txt README.txt START.htm gw gwd gwsetup} { file copy -force ${distrib}/${x} ${destroot}${prefix}/share/${name}/${x} }
	
	system "chmod a+rx ${destroot}${prefix}/share/${name}/gwsetup"
	system "chmod a+rx ${destroot}${prefix}/share/${name}/gwd"

	# Make the directory structure generally writeable so the gwsetup and other stuff will work easily.
	system "chown -R ${gwuser}:${gwgroup} ${destroot}${prefix}/share/${name}"
	system "chmod -R a+r ${destroot}${prefix}/share/${name}/gw"

	# Move a few utilities where the user can get to them easily
	xinstall -d -m 0755 ${destroot}${prefix}/bin
	file copy -force ${destroot}${prefix}/share/${name}/gw/consang ${destroot}${prefix}/bin
	file copy -force ${destroot}${prefix}/share/${name}/gw/ged2gwb ${destroot}${prefix}/bin
	file copy -force ${destroot}${prefix}/share/${name}/gw/gwb2ged ${destroot}${prefix}/bin
	file copy -force ${filespath}/gwsetup.macports ${destroot}${prefix}/bin/gwsetup

	# Set correct path in gwsetup
	reinplace "s|%PREFIX%|${prefix}|" ${destroot}${prefix}/bin/gwsetup
	system "chmod a+rx ${destroot}${prefix}/bin/gwsetup"

}

pre-install		{
	addgroup ${gwgroup}
	set gid [existsgroup ${gwgroup}]
	adduser ${gwuser} shell=/bin/sh gid=${gid} \
		home=${prefix}/share/${name} \
		realname=Geneweb\ Server
}

post-install	{
	# Create a location to store the databases
	# Create the bases directory:
	xinstall -d -m 0755 ${prefix}/var/db/${name}
	system "chown -R ${gwuser}:${gwgroup} ${prefix}/var/db/${name}"
	system "chmod -R a+rw ${prefix}/var/db/${name}"

	ui_msg "\nGeneweb will be listening on localhost, port 2317.\n"

	ui_msg "To get started, you will need to load an initial database."
	ui_msg "Run the program 'gwsetup' to get started.  After that point,"
	ui_msg "simply point your browser to http://localhost:2317 to review"
	ui_msg "the data."
}

