[90896] trunk/dports/databases
Jeremy Huddleston
jeremyhu at apple.com
Sun Mar 25 13:39:29 PDT 2012
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, pixilla at macports.org wrote:
>
>> Revision: 90896
>> https://trac.macports.org/changeset/90896
>> Author: pixilla at macports.org
>> 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
>> macports-changes at lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/macports-changes
>
More information about the macports-dev
mailing list