# $Id: Portfile 37556 2008-06-13 09:37:31Z ryandesign@macports.org $ PortSystem 1.0 name mysql5-devel set vers 5.1.25 version ${vers}-rc set branch [join [lrange [split ${version} .] 0 1] .] homepage http://www.mysql.com/ categories databases platforms darwin maintainers jwa ryandesign openmaintainer distname mysql-${version} dist_subdir mysql5 use_parallel_build yes description \ Multithreaded SQL database server long_description \ MySQL is an open-source, multi-threaded SQL database \ with a command syntax very similar to mSQL. master_sites \ http://dev.mysql.com/get/Downloads/MySQL-${branch}/ \ http://mysql.mirrors.pair.com/Downloads/MySQL-${branch}/ \ http://mysql.he.net/Downloads/MySQL-${branch}/ \ http://mysql.orst.edu/Downloads/MySQL-${branch} \ http://mysql.oss.eznetsols.org/Downloads/MySQL-${branch}/ \ http://mirrors.sunsite.dk/mysql/Downloads/MySQL-${branch}/ \ http://sunsite.informatik.rwth-aachen.de/mysql/Downloads/MySQL-${branch}/ \ http://ftp.plusline.de/mysql/Downloads/MySQL-${branch}/ \ http://www.innodb.com/download/innodb_plugin/:plugin checksums \ ${distname}${extract.suffix} \ md5 3d9e8bf4f02b983d13be4ba3d33ae6ed \ sha1 3df9fca9a02d3bf18196e26b60a5570acf53f369 \ rmd160 f8f30599f572cf50eedf0b871006ebc6744a9210 depends_lib \ port:zlib \ port:openssl #set major_version [strsed ${version} {s/\..*$//}] set major_version [strsed ${vers} {s/\..*$//}] set mysql mysql${major_version} set dbdir ${prefix}/var/db/${mysql} set sysconfdir ${prefix}/etc/${mysql} set mysqluser mysql configure.args \ --mandir=${prefix}/share/man \ --infodir=${prefix}/share/info \ --localstatedir=${dbdir} \ --libdir=${prefix}/lib/${mysql} \ --bindir=${prefix}/lib/${mysql}/bin \ --includedir=${prefix}/include/${mysql} \ --datadir=${prefix}/share/${mysql} \ --sysconfdir=${sysconfdir} \ --with-zlib-dir=${prefix} \ --with-ssl=${prefix} \ --with-extra-charsets=complex \ --with-unix-socket-path=${prefix}/var/run/${mysql}/mysqld.sock \ --with-mysqld-user=${mysqluser} \ --without-docs \ --without-bench \ --with-plugins=all \ --without-server \ --enable-thread-safe-client # the following is in store for future # --program-suffix=5 post-configure { reinplace "s;openssl_includes = -I;openssl_includes_includes = -I${prefix}/include/openssl;" ${worksrcpath}/tests/Makefile } platform darwin 6 { pre-fetch { return -code error "no support for systems prior to 10.3" } } platform darwin 8 { configure.cppflags-append -I${worksrcpath}/include } variant server description {add a startup item} { configure.args-delete --without-server # Create a startupitem to start/stop the server startupitem.create yes startupitem.start "${prefix}/share/${mysql}/mysql/mysql.server start" startupitem.stop "${prefix}/share/${mysql}/mysql/mysql.server stop" } set plugin_distname innodb_plugin-1.0.1 set plugin_distfile ${plugin_distname}${extract.suffix} set plugin_worksrcdir ${plugin_distname} set plugin_worksrcpath ${workpath}/${plugin_worksrcdir} set innobase_dir storage/innobase variant innodb_plugin description {Install the InnoDB plugin Early Adopter release 1.0.1} { distfiles-append ${plugin_distfile}:plugin checksums-append \ ${plugin_distfile} \ md5 eb9b1c077687444318aa46296548b419 \ sha1 60a357419d8759c869160bd94b2535bd1ebfd2e5 \ rmd160 9208d5a929f3860031fdf8624739db9c08fb74a0 post-extract { delete ${worksrcpath}/${innobase_dir} move ${plugin_worksrcpath} ${worksrcpath}/${innobase_dir} } } # the directories ${prefix}/sql-bench ${prefix}/mysql-test destroot.violate_mtree yes pre-destroot { # Some directories we must have in all cases xinstall -m 755 -d ${destroot}${sysconfdir} destroot.keepdirs-append ${destroot}${sysconfdir} # It has trouble installing in parallel if this doesn't already exist # See http://bugs.mysql.com/36560 xinstall -d ${destroot}${prefix}/mysql-test xinstall -d ${destroot}${prefix}/mysql-test/ndb # 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/${mysql} destroot.keepdirs-append \ ${destroot}${dbdir} \ ${destroot}${prefix}/var/run/${mysql} } } post-destroot { delete ${destroot}${prefix}/mysql-test # Fix paths in manpages and sample configuration files foreach manpage [glob -type f ${destroot}${prefix}/share/man/man\[1-9\]/*] { reinplace "s|/etc/my.cnf|${sysconfdir}/my.cnf|g" ${manpage} } foreach samp_conffile [glob -type f ${destroot}${prefix}/share/${mysql}/mysql/my-*.cnf] { reinplace "s|/etc/my.cnf|${sysconfdir}/my.cnf|g" ${samp_conffile} } # Symlink mysql binaries into bin directory, with ${major_version} appended to the name foreach f [glob -tails -directory ${destroot}${prefix}/lib/${mysql}/bin my*] { ln -sf ../lib/${mysql}/bin/${f} ${destroot}${prefix}/bin/${f}${major_version} } } 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 "******************************************************" } } livecheck.check regex livecheck.url http://dev.mysql.com/ livecheck.version ${vers} livecheck.regex "(5\\.1\\.\[0-9\.\]+)"