Actually, it just built for me with clang, so maybe this isn't even needed in mysql55
On Mar 25, 2012, at 13:37, Jeremy Huddleston wrote: > I notice that this port forces llvm-gcc as the compiler with no comment as to > why. Can this be done conditionally with an explanation in a comment in the > Portfile? mysql5 uses llvm-gcc as a fallback from clang due to a bug in > mysql's build system. I'm assuming that bug is still there in 5.5, so the > comment (and check) should probably be copied from mysql5. > > --Jeremy > > On Mar 17, 2012, at 10:13, [email protected] wrote: > >> Revision: 90896 >> https://trac.macports.org/changeset/90896 >> Author: [email protected] >> Date: 2012-03-17 10:13:21 -0700 (Sat, 17 Mar 2012) >> Log Message: >> ----------- >> databases/mysql55: >> - New port for mysql 5.5. >> >> Modified Paths: >> -------------- >> trunk/dports/databases/mysql55/Portfile >> >> Added Paths: >> ----------- >> trunk/dports/databases/mysql55/ >> trunk/dports/databases/mysql55/files/ >> trunk/dports/databases/mysql55/files/mysql55 >> trunk/dports/databases/mysql55/files/patch-cmake-install_layout.cmake.diff >> >> Modified: trunk/dports/databases/mysql55/Portfile >> =================================================================== >> --- trunk/dports/databases/percona/Portfile 2012-03-15 01:18:25 UTC (rev >> 90814) >> +++ trunk/dports/databases/mysql55/Portfile 2012-03-17 17:13:21 UTC (rev >> 90896) >> @@ -1,138 +1,182 @@ >> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; >> c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 >> # $Id$ >> >> -PortSystem 1.0 >> -PortGroup archcheck 1.0 >> -PortGroup cmake 1.0 >> +PortSystem 1.0 >> >> -name percona >> -conflicts mysql4 mysql5 mysql5-devel mariadb >> -set version_mysql 5.5.20 >> -set major [join [lrange [split ${version_mysql} .] 0 0] .] >> -set branch [join [lrange [split ${version_mysql} .] 0 1] .] >> -set release 24.1 >> -version ${version_mysql}-${release} >> -homepage http://www.percona.com/ >> -categories databases >> -platforms darwin >> -maintainers mac.com:quest openmaintainer >> -license GPL-2 >> -distname Percona-Server-${version_mysql}-rel${release} >> -dist_subdir mysql5 >> -use_parallel_build yes >> +name mysql55 >> +version 5.5.21 >> +categories databases >> +platforms darwin >> +maintainers pixilla openmaintainer >> >> -description \ >> - Multithreaded SQL database server >> +subport mysql55 { >> >> -long_description \ >> - Percona is an open-source, multi-threaded SQL database \ >> - with a command syntax very similar to mSQL. >> + PortGroup archcheck 1.0 >> + PortGroup cmake 1.0 >> + PortGroup select 1.0 >> + >> + set branch [join [lrange [split ${version} .] 0 1] .] >> >> -master_sites \ >> - >> http://www.percona.com/redir/downloads/Percona-Server-${branch}/Percona-Server-${version}/source/ >> - >> -checksums md5 0f61fde172ed1168a3ca9b7b003a6698 \ >> - sha1 19dde017b1c257c9f0aecd2247906f224d6fe147 \ >> - rmd160 5fd374a019b38a44b89514aa5c3c6931a863e972 >> - >> -depends_lib-append port:zlib \ >> - port:openssl \ >> + license GPL-2 >> + 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-${branch}/ \ >> + http://mysql.he.net/Downloads/MySQL-${branch}/ \ >> + http://mirrors.sunsite.dk/mysql/Downloads/MySQL-${branch}/ \ >> + >> http://sunsite.informatik.rwth-aachen.de/mysql/Downloads/MySQL-${branch}/ \ >> + http://mirror.facebook.net/mysql/Downloads/MySQL-${branch}/ \ >> + http://ftp.plusline.de/mysql/Downloads/MySQL-${branch}/ >> + >> + >> + distname mysql-${version} >> + dist_subdir mysql5 >> + use_parallel_build yes >> + >> + patch.pre_args -p1 >> + patchfiles patch-cmake-install_layout.cmake.diff >> + >> + checksums rmd160 d31c1be22ac80f1c95e8f28c41ec1c82cba995cd \ >> + sha256 >> 2471fedc42bafb8210f7ff132172f6f57933f9727cc61d98197a91cfbfdf78cd >> + >> + depends_lib-append port:zlib \ >> port:readline \ >> port:cmake >> - >> -archcheck.files lib/libz.dylib \ >> + depends_run port:mysql_select >> + >> + select.group mysql >> + select.file ${filespath}/${name} >> + >> + archcheck.files lib/libz.dylib \ >> lib/libssl.dylib \ >> lib/libreadline.dylib >> - >> -set major_version [strsed ${version} {s/\..*$//}] >> -set mysql mysql${major_version} >> -set libdir ${prefix}/lib/${mysql} >> -set bindir ${libdir}/bin >> -set dbdir ${prefix}/var/db/${mysql} >> -set sysconfdir ${prefix}/etc/${mysql} >> -set sockfile ${prefix}/var/run/mysql5/mysqld.sock >> - >> -if {"darwin" == ${os.platform} && ${os.major} > 8} { >> - set mysqluser _mysql >> -} else { >> - set mysqluser mysql >> -} >> - >> -configure.args-append -DINSTALL_MANDIR:STRING=share/man \ >> - -DINSTALL_INFODIR:STRING=share/info \ >> - -DMYSQL_DATADIR:PATH=${dbdir} \ >> - -DFEATURE_SET:STRING=community \ >> - -DINSTALL_BINDIR:STRING=lib/${mysql}/bin \ >> - -DINSTALL_SCRIPTDIR:STRING=lib/${mysql}/bin \ >> - -DINSTALL_SBINDIR:STRING=lib/${mysql}/libexec \ >> - >> -DINSTALL_INCLUDEDIR:STRING=include/${mysql}/mysql \ >> - -DINSTALL_LIBDIR:STRING=lib/${mysql}/mysql \ >> - >> -DINSTALL_PLUGINDIR:STRING=lib/${mysql}/mysql/plugin \ >> - -DINSTALL_DOCDIR:STRING=share/doc/${mysql} \ >> - >> -DINSTALL_DOCREADMEDIR:STRING=share/doc/${mysql} \ >> - -DINSTALL_MYSQLDATADIR:STRING=share/${mysql} \ >> - >> -DINSTALL_MYSQLSHAREDIR:STRING=share/${mysql}/mysql \ >> - -DINSTALL_SHAREDIR:STRING=share/${mysql} \ >> - >> -DINSTALL_SUPPORTFILESDIR:STRING=share/${mysql}/mysql \ >> - -DDEFAULT_CHARSET:STRING=utf8 \ >> - -DDEFAULT_COLLATION:STRING=utf8_general_ci \ >> - -DMYSQL_UNIX_ADDR:PATH=${sockfile} \ >> - -DSYSCONFDIR:PATH=${sysconfdir} \ >> - -DWITH_EMBEDDED_SERVER:BOOL=OFF \ >> - -DWITH_READLINE:BOOL=ON \ >> - -DWITH_SSL:STRING=yes \ >> - -DWITH_ZLIB:STRING=system \ >> - -DWITH_UNIT_TESTS:BOOL=OFF \ >> - -DENABLE_GCOV:BOOL=OFF \ >> - -DENABLE_DTRACE:BOOL=OFF >> - >> -# Set compiler >> -configure.compiler llvm-gcc-4.2 >> - >> -post-build { >> - set dirs ${worksrcpath} >> - foreach dir ${dirs} { >> - reinplace -E {s|-arch [a-z0-9_]+||g} \ >> - ${dir}/scripts/mysql_config \ >> - ${dir}/scripts/mysqlbug >> + >> + set mysql ${name} >> + set libdir ${prefix}/lib/${mysql} >> + set bindir ${prefix}/bin >> + set dbdir ${prefix}/var/db/${mysql} >> + set sysconfdir ${prefix}/etc/${mysql} >> + set sockfile ${prefix}/var/run/${mysql}/mysqld.sock >> + >> + post-patch { >> + reinplace "s|@NAME@|${name}|g" >> ${worksrcpath}/cmake/install_layout.cmake >> + reinplace "s|@PREFIX@|${prefix}|g" >> ${worksrcpath}/cmake/install_layout.cmake >> } >> -} >> - >> -pre-destroot { >> - xinstall -m 755 -d ${destroot}${sysconfdir} >> - destroot.keepdirs-append ${destroot}${sysconfdir} >> -} >> - >> -post-destroot { >> - # Delete directories we don't want >> - delete ${destroot}${prefix}/data ${destroot}${prefix}/mysql-test >> ${destroot}${prefix}/sql-bench >> - # Fix link lib paths >> - foreach libname [glob -type f -tails -directory >> ${destroot}${libdir}/mysql *.dylib] { >> - if {[file type ${destroot}${libdir}/mysql/${libname}] == "file"} { >> - system "install_name_tool -id ${libdir}/mysql/${libname} >> ${destroot}${libdir}/mysql/${libname}" >> + >> + configure.args-delete \ >> + -DCMAKE_INSTALL_NAME_DIR=${prefix}/lib >> + configure.args-append \ >> + >> -DCMAKE_INSTALL_NAME_DIR:STRING=${prefix}/lib/${name} \ >> + -DINSTALL_LAYOUT=MACPORTS \ >> + -DSYSCONFDIR:PATH=${prefix}/etc/${name} \ >> + >> -DMYSQL_UNIX_ADDR:PATH=${prefix}/var/run/${name}/mysqld.sock \ >> + -DMYSQL_DATADIR:PATH=${prefix}/var/db/${name} \ >> + -DFEATURE_SET:STRING=community \ >> + -DDEFAULT_CHARSET:STRING=utf8 \ >> + -DDEFAULT_COLLATION:STRING=utf8_general_ci \ >> + -DWITH_EMBEDDED_SERVER:BOOL=OFF \ >> + -DWITH_READLINE:BOOL=ON \ >> + -DWITH_ZLIB:STRING=system \ >> + -DWITH_UNIT_TESTS:BOOL=OFF \ >> + -DENABLE_GCOV:BOOL=OFF \ >> + -DENABLE_DTRACE:BOOL=OFF >> + >> + # Set compiler >> + configure.compiler llvm-gcc-4.2 >> + >> + post-build { >> + set dirs ${worksrcpath} >> + foreach dir ${dirs} { >> + reinplace -E {s|-arch [a-z0-9_]+||g} \ >> + ${dir}/scripts/mysql_config \ >> + ${dir}/scripts/mysqlbug >> } >> } >> - # 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} >> + >> + pre-destroot { >> + xinstall -m 755 -d ${destroot}${sysconfdir} >> + destroot.keepdirs-append ${destroot}${sysconfdir} >> } >> - foreach samp_conffile [glob -type f >> ${destroot}${prefix}/share/${mysql}/mysql/my-*.cnf] { >> - reinplace "s|/etc/my.cnf|${sysconfdir}/my.cnf|g" ${samp_conffile} >> + >> + post-destroot { >> + # Fix paths in manpages and sample configuration files >> + foreach manpage [glob -type f >> ${destroot}${prefix}/share/man/${mysql}/man\[1-9\]/*] { >> + reinplace "s|/etc/|${sysconfdir}/|g" ${manpage} >> + } >> + foreach samp_conffile [glob -type f >> ${destroot}${prefix}/share/${mysql}/support-files/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}${bindir} my*] { >> - ln -sf ${bindir}/${f} ${destroot}${prefix}/bin/${f}${major_version} >> + >> + post-install { >> + if {![file exists >> ${prefix}/etc/LaunchDaemons/org.macports.${mysql}/org.macports.${mysql}.plist]} >> { >> + ui_msg "The MySQL client has been installed." >> + ui_msg "If you also want a MySQL server, install the >> mysql5-server port." >> + } >> } >> + >> + variant openssl description {Enable OpenSSL support} { >> + >> + license-append OpenSSL SSLeay >> + depends_lib-append port:openssl >> + configure.args-append -DWITH_SSL:STRING=ON >> + } >> + >> + livecheck.type regex >> + livecheck.version [lindex [split ${version} -] 0] >> + livecheck.url http://dev.mysql.com/ >> + livecheck.regex "<a >> href=\"http://dev.mysql.com/downloads/mysql/\[^\"\]+\">(${branch}(\.\[0-9.\]+)?)\[^<\]*</a>" >> } >> +subport mysql55-server { >> >> -post-install { >> - if {![file exists >> ${prefix}/etc/LaunchDaemons/org.macports.${mysql}/org.macports.${mysql}.plist]} >> { >> - ui_msg "The Percona client has been installed." >> - ui_msg "If you also want a Percona server, install the >> percona-server port." >> + license BSD >> + 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/ >> + supported_archs noarch >> + distfiles >> + >> + depends_run port:${name} >> + >> + if {"darwin" == ${os.platform} && ${os.major} > 8} { >> + set mysqluser _mysql >> + } else { >> + set mysqluser mysql >> } >> -} >> - >> -livecheck.type regex >> -livecheck.url >> http://www.percona.com/downloads/Percona-Server-${branch}/ >> -livecheck.version ${version_mysql}-${release} >> -livecheck.regex >> "/downloads/Percona-Server-${branch}/Percona-Server-(\[^/\]+)/" >> + add_users ${mysqluser} group=${mysqluser} realname=MySQL\ Server >> + >> + startupitem.create yes >> + startupitem.name ${name} >> + startupitem.start >> "${prefix}/share/${name}/support-files/mysql.server start" >> + startupitem.stop >> "${prefix}/share/${name}/support-files/mysql.server stop" >> + >> + use_configure no >> + >> + build {} >> + >> + destroot { >> + xinstall -m 755 -o root -d ${destroot}${prefix}/var/run >> + xinstall -m 755 -o ${mysqluser} -g ${mysqluser} -d \ >> + ${destroot}${prefix}/var/db/${name} \ >> + ${destroot}${prefix}/var/log/${name} \ >> + ${destroot}${prefix}/var/run/${name} >> + destroot.keepdirs-append \ >> + ${destroot}${prefix}/var/db/${name} \ >> + ${destroot}${prefix}/var/log/${name} \ >> + ${destroot}${prefix}/var/run/${name} >> + } >> + >> + notes " >> + >> + If this is a new install you might want to run: >> + \$ sudo -u ${mysqluser} mysql_install_db5 >> + >> + " >> + >> + livecheck.type none >> +} >> \ No newline at end of file >> >> Added: trunk/dports/databases/mysql55/files/mysql55 >> =================================================================== >> --- trunk/dports/databases/mysql55/files/mysql55 >> (rev 0) >> +++ trunk/dports/databases/mysql55/files/mysql55 2012-03-17 17:13:21 UTC >> (rev 90896) >> @@ -0,0 +1,48 @@ >> +- >> +- >> +- >> +- >> +- >> +bin/innochecksum >> +bin/msql2mysql >> +bin/my_print_defaults >> +bin/myisam_ftdump >> +bin/myisamchk >> +bin/myisamlog >> +bin/myisampack >> +bin/mysql >> +bin/mysql_client_test >> +- >> +bin/mysql_config >> +bin/mysql_convert_table_format >> +bin/mysql_find_rows >> +bin/mysql_fix_extensions >> +- >> +bin/mysql_plugin >> +bin/mysql_secure_installation >> +bin/mysql_setpermission >> +bin/mysql_tzinfo_to_sql >> +bin/mysql_upgrade >> +bin/mysql_waitpid >> +bin/mysql_zap >> +bin/mysqlaccess >> +bin/mysqlaccess.conf >> +bin/mysqladmin >> +bin/mysqlbinlog >> +bin/mysqlbug >> +bin/mysqlcheck >> +bin/mysqld_multi >> +bin/mysqld_safe >> +bin/mysqldump >> +bin/mysqldumpslow >> +bin/mysqlhotcopy >> +bin/mysqlimport >> +bin/mysqlshow >> +bin/mysqlslap >> +bin/mysqltest >> +- >> +bin/perror >> +bin/replace >> +bin/resolve_stack_dump >> +bin/resolveip >> +- >> >> Added: >> trunk/dports/databases/mysql55/files/patch-cmake-install_layout.cmake.diff >> =================================================================== >> --- >> trunk/dports/databases/mysql55/files/patch-cmake-install_layout.cmake.diff >> (rev 0) >> +++ >> trunk/dports/databases/mysql55/files/patch-cmake-install_layout.cmake.diff >> 2012-03-17 17:13:21 UTC (rev 90896) >> @@ -0,0 +1,52 @@ >> +--- a/cmake/install_layout.cmake 2012-03-15 07:14:58.000000000 -0700 >> ++++ b/cmake/install_layout.cmake 2012-03-17 08:44:13.000000000 -0700 >> +@@ -68,7 +68,7 @@ >> + ENDIF() >> + >> + SET(INSTALL_LAYOUT "${DEFAULT_INSTALL_LAYOUT}" >> +-CACHE STRING "Installation directory layout. Options are: STANDALONE (as >> in zip or tar.gz installer), RPM, DEB, SVR4") >> ++CACHE STRING "Installation directory layout. Options are: STANDALONE (as >> in zip or tar.gz installer), RPM, DEB, SVR4, MACPORTS") >> + >> + IF(UNIX) >> + IF(INSTALL_LAYOUT MATCHES "RPM") >> +@@ -86,7 +86,7 @@ >> + SET(CMAKE_INSTALL_PREFIX ${default_prefix} >> + CACHE PATH "install prefix" FORCE) >> + ENDIF() >> +- SET(VALID_INSTALL_LAYOUTS "RPM" "STANDALONE" "DEB" "SVR4") >> ++ SET(VALID_INSTALL_LAYOUTS "RPM" "STANDALONE" "DEB" "SVR4" "MACPORTS") >> + LIST(FIND VALID_INSTALL_LAYOUTS "${INSTALL_LAYOUT}" ind) >> + IF(ind EQUAL -1) >> + MESSAGE(FATAL_ERROR "Invalid INSTALL_LAYOUT >> parameter:${INSTALL_LAYOUT}." >> +@@ -214,6 +214,31 @@ >> + SET(INSTALL_MYSQLDATADIR_SVR4 "/var/lib/mysql") >> + SET(INSTALL_PLUGINTESTDIR_SVR4 ${plugin_tests}) >> + >> ++# >> ++# MACPORTS layout >> ++# >> ++SET(INSTALL_BINDIR_MACPORTS "lib/@NAME@/bin") >> ++SET(INSTALL_SBINDIR_MACPORTS "lib/@NAME@/bin") >> ++SET(INSTALL_SCRIPTDIR_MACPORTS "lib/@NAME@/scripts") >> ++# >> ++SET(INSTALL_LIBDIR_MACPORTS "lib/@NAME@/mysql") >> ++SET(INSTALL_PLUGINDIR_MACPORTS "lib/@NAME@/plugin") >> ++# >> ++SET(INSTALL_INCLUDEDIR_MACPORTS "include/@NAME@") >> ++# >> ++SET(INSTALL_DOCDIR_MACPORTS "share/docs/@NAME@") >> ++SET(INSTALL_DOCREADMEDIR_MACPORTS "share/docs/@NAME@") >> ++SET(INSTALL_MANDIR_MACPORTS "share/man/@NAME@") >> ++SET(INSTALL_INFODIR_MACPORTS "share/docs/@NAME@") >> ++# >> ++SET(INSTALL_SHAREDIR_MACPORTS "share/@NAME@") >> ++SET(INSTALL_MYSQLSHAREDIR_MACPORTS "share/@NAME@") >> ++SET(INSTALL_MYSQLTESTDIR_MACPORTS "share/@NAME@/mysql-test") >> ++SET(INSTALL_SQLBENCHDIR_MACPORTS "share/@NAME@") >> ++SET(INSTALL_SUPPORTFILESDIR_MACPORTS "share/@NAME@/support-files") >> ++# >> ++SET(INSTALL_MYSQLDATADIR_MACPORTS "var/db/@NAME@") >> ++SET(INSTALL_PLUGINTESTDIR_MACPORTS ${plugin_tests}) >> + >> + # Clear cached variables if install layout was changed >> + IF(OLD_INSTALL_LAYOUT) >> _______________________________________________ >> macports-changes mailing list >> [email protected] >> http://lists.macosforge.org/mailman/listinfo.cgi/macports-changes > _______________________________________________ macports-dev mailing list [email protected] http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev
