You've also got some conflicts conflicts ;) It looks like mysql55 *shouldn't* conflict with mysql5
~/src/macports/dports/databases/mysql5 $ grep conflict * Portfile:conflicts mysql5-devel mysql4 mariadb ~/src/macports/dports/databases/mysql55 $ grep conflict * Portfile:conflicts mysql5 On Mar 25, 2012, at 13:39, Jeremy Huddleston wrote: > 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
