# $Id: Portfile,v 1.20 2006/06/11 14:36:55 jberry Exp $

PortSystem 1.0

name			mysql5
version			5.0.22
categories		databases
platforms		darwin
maintainers		jberry@opendarwin.org
description		Multithreaded SQL database server
long_description	MySQL is an open-source, multi-threaded SQL database \
				with a command syntax very similar to mSQL.

homepage		http://www.mysql.com/
master_sites	http://mysql.mirrors.pair.com/Downloads/MySQL-5.0/ \
				http://mysql.he.net/Downloads/MySQL-5.0/ \
				http://mysql.orst.edu/Downloads/MySQL-5.0 \
				http://mysql.oss.eznetsols.org/Downloads/MySQL-5.0/ \
				http://mirrors.sunsite.dk/mysql/Downloads/MySQL-5.0/ \
				http://sunsite.informatik.rwth-aachen.de/mysql/Downloads/MySQL-5.0/ \
				http://ftp.plusline.de/mysql/Downloads/MySQL-5.0/
distname		mysql-${version}
checksums		sha1 b4310bfa838771f0b01e01cf9c1f789a3bbb4b76 \
				md5 b0533dce52a3147234e588f51affbcab

depends_lib		port:zlib \
				port:openssl

set dbdir       ${prefix}/var/db/${name}
set mysqluser	mysql

configure.args	--mandir=${prefix}/share/man \
				--infodir=${prefix}/share/info \
				--localstatedir=${dbdir} \
				--libdir=${prefix}/lib/${name} \
				--bindir=${prefix}/lib/${name}/bin \
				--includedir=${prefix}/include/${name} \
				--datadir=${prefix}/share/${name} \
				--sysconfdir=${prefix}/etc/${name} \
				--with-zlib-dir=${prefix} \
				--with-openssl=${prefix} \
				--with-unix-socket-path=${prefix}/var/run/${name}/mysqld.sock \
				--with-mysqld-user=${mysqluser} \
				--without-docs \
				--without-bench \
				--enable-thread-safe-client

platform darwin 8 {
	configure.env	CC=/usr/bin/gcc-4.0 CPP=/usr/bin/cpp-4.0 CXX=/usr/bin/g++-4.0
}
				
variant server {
	# Create a startupitem to start/stop the server
	startupitem.create	yes
	startupitem.start	"${prefix}/share/mysql5/mysql/mysql.server start"
	startupitem.stop	"${prefix}/share/mysql5/mysql/mysql.server stop"
}

pre-destroot {
	# Some directories we must have in all cases
	xinstall -m 755 -d ${destroot}${prefix}/etc/${name}
	destroot.keepdirs-append ${destroot}${prefix}/etc/${name}
	
	# Setup only for server
	if { [variant_isset server] } {
		addgroup ${mysqluser}
		set gid [existsgroup ${mysqluser}]
		adduser ${mysqluser} gid=${gid} realname=MySQL\ Server

		# Some directories we must have only if we're running as a server
		xinstall -m 755 -o root -d ${destroot}${prefix}/var/run
		
		xinstall -m 755 -o ${mysqluser} -g ${mysqluser} -d \
			${destroot}${dbdir} \
			${destroot}${prefix}/var/run/${name}
		destroot.keepdirs-append  \
			${destroot}${dbdir} \
			${destroot}${prefix}/var/run/${name}
	}
}

post-destroot {
	system "rm -rf ${destroot}${prefix}/mysql-test/"
	
	# Symlink mysql binaries into bin directory, with a 5 appended to the name
	foreach f [glob -tails -directory ${destroot}${prefix}/lib/${name}/bin my*] {
		system "cd ${destroot}${prefix}/bin && ln -sf ../lib/${name}/bin/${f} ${f}5"
	}
}

post-install {
	if { [variant_isset server] } {
		ui_msg "******************************************************"
		ui_msg "* In order to setup the database, you might want to run"
		ui_msg "* sudo -u ${mysqluser} mysql_install_db5"
		ui_msg "* if this is a new install" 
		ui_msg "******************************************************"
	}
}
