source: trunk/dports/databases/percona/Portfile @ 89787

Last change on this file since 89787 was 89787, checked in by pixilla@…, 8 years ago

databases/percona:

  • Update to version 5.5.20-rel24.1
  • Closes #33209
  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 5.8 KB
Line 
1# -*- 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
2# $Id: Portfile 89787 2012-02-10 18:45:55Z pixilla@macports.org $
3
4PortSystem              1.0
5PortGroup               archcheck 1.0
6PortGroup               cmake 1.0
7
8name                    percona
9conflicts               mysql4 mysql5 mysql5-devel mariadb
10set version_mysql       5.5.20
11set major               [join [lrange [split ${version_mysql} .] 0 0] .]
12set branch              [join [lrange [split ${version_mysql} .] 0 1] .]
13set release             24.1
14version                 ${version_mysql}-${release}
15homepage                http://www.percona.com/
16categories              databases
17platforms               darwin
18maintainers             mac.com:quest openmaintainer
19license                 GPL-2
20distname                Percona-Server-${version_mysql}-rel${release}
21dist_subdir             mysql5
22use_parallel_build      yes
23
24description \
25    Multithreaded SQL database server
26
27long_description \
28    Percona is an open-source, multi-threaded SQL database \
29    with a command syntax very similar to mSQL.
30
31master_sites \
32    http://www.percona.com/redir/downloads/Percona-Server-${branch}/Percona-Server-${version}/source/
33
34checksums md5     0f61fde172ed1168a3ca9b7b003a6698 \
35          sha1    19dde017b1c257c9f0aecd2247906f224d6fe147 \
36          rmd160  5fd374a019b38a44b89514aa5c3c6931a863e972
37
38depends_lib-append      port:zlib \
39                        port:openssl \
40                        port:readline \
41                        port:cmake
42
43archcheck.files         lib/libz.dylib \
44                        lib/libssl.dylib \
45                        lib/libreadline.dylib
46
47set major_version       [strsed ${version} {s/\..*$//}]
48set mysql               mysql${major_version}
49set libdir              ${prefix}/lib/${mysql}
50set bindir              ${libdir}/bin
51set dbdir               ${prefix}/var/db/${mysql}
52set sysconfdir          ${prefix}/etc/${mysql}
53set sockfile            ${prefix}/var/run/mysql5/mysqld.sock
54
55if {"darwin" == ${os.platform} && ${os.major} > 8} {
56    set mysqluser       _mysql
57} else {
58    set mysqluser       mysql
59}
60
61configure.args-append       -DINSTALL_MANDIR:STRING=share/man \
62                            -DINSTALL_INFODIR:STRING=share/info \
63                            -DMYSQL_DATADIR:PATH=${dbdir} \
64                            -DFEATURE_SET:STRING=community \
65                            -DINSTALL_BINDIR:STRING=lib/${mysql}/bin \
66                            -DINSTALL_SCRIPTDIR:STRING=lib/${mysql}/bin \
67                            -DINSTALL_SBINDIR:STRING=lib/${mysql}/libexec \
68                            -DINSTALL_INCLUDEDIR:STRING=include/${mysql}/mysql \
69                            -DINSTALL_LIBDIR:STRING=lib/${mysql}/mysql \
70                            -DINSTALL_PLUGINDIR:STRING=lib/${mysql}/mysql/plugin \
71                            -DINSTALL_DOCDIR:STRING=share/doc/${mysql} \
72                            -DINSTALL_DOCREADMEDIR:STRING=share/doc/${mysql} \
73                            -DINSTALL_MYSQLDATADIR:STRING=share/${mysql} \
74                            -DINSTALL_MYSQLSHAREDIR:STRING=share/${mysql}/mysql \
75                            -DINSTALL_SHAREDIR:STRING=share/${mysql} \
76                            -DINSTALL_SUPPORTFILESDIR:STRING=share/${mysql}/mysql \
77                            -DDEFAULT_CHARSET:STRING=utf8 \
78                            -DDEFAULT_COLLATION:STRING=utf8_general_ci \
79                            -DMYSQL_UNIX_ADDR:PATH=${sockfile} \
80                            -DSYSCONFDIR:PATH=${sysconfdir} \
81                            -DWITH_EMBEDDED_SERVER:BOOL=OFF \
82                            -DWITH_READLINE:BOOL=ON \
83                            -DWITH_SSL:STRING=yes \
84                            -DWITH_ZLIB:STRING=system \
85                            -DWITH_UNIT_TESTS:BOOL=OFF \
86                            -DENABLE_GCOV:BOOL=OFF \
87                            -DENABLE_DTRACE:BOOL=OFF
88
89# Set compiler
90configure.compiler llvm-gcc-4.2
91
92post-build {
93    set dirs ${worksrcpath}
94    foreach dir ${dirs} {
95        reinplace -E {s|-arch [a-z0-9_]+||g} \
96            ${dir}/scripts/mysql_config \
97            ${dir}/scripts/mysqlbug
98    }
99}
100
101pre-destroot {
102    xinstall -m 755 -d ${destroot}${sysconfdir}
103    destroot.keepdirs-append ${destroot}${sysconfdir}
104}
105
106post-destroot {
107    # Delete directories we don't want
108    delete ${destroot}${prefix}/data ${destroot}${prefix}/mysql-test ${destroot}${prefix}/sql-bench
109    # Fix link lib paths
110    foreach libname [glob -type f -tails -directory ${destroot}${libdir}/mysql *.dylib] {
111        if {[file type ${destroot}${libdir}/mysql/${libname}] == "file"} {
112            system "install_name_tool -id ${libdir}/mysql/${libname} ${destroot}${libdir}/mysql/${libname}"
113        }
114    }
115    # Fix paths in manpages and sample configuration files
116    foreach manpage [glob -type f ${destroot}${prefix}/share/man/man\[1-9\]/*] {
117        reinplace "s|/etc/my.cnf|${sysconfdir}/my.cnf|g" ${manpage}
118    }
119    foreach samp_conffile [glob -type f ${destroot}${prefix}/share/${mysql}/mysql/my-*.cnf] {
120        reinplace "s|/etc/my.cnf|${sysconfdir}/my.cnf|g" ${samp_conffile}
121    }
122    # Symlink mysql binaries into bin directory, with ${major_version} appended to the name
123    foreach f [glob -tails -directory ${destroot}${bindir} my*] {
124        ln -sf ${bindir}/${f} ${destroot}${prefix}/bin/${f}${major_version}
125    }
126}
127
128post-install {
129    if {![file exists ${prefix}/etc/LaunchDaemons/org.macports.${mysql}/org.macports.${mysql}.plist]} {
130        ui_msg "The Percona client has been installed."
131        ui_msg "If you also want a Percona server, install the percona-server port."
132    }
133}
134
135livecheck.type          regex
136livecheck.url           http://www.percona.com/downloads/Percona-Server-${branch}/
137livecheck.version       ${version_mysql}-${release}
138livecheck.regex         "/downloads/Percona-Server-${branch}/Percona-Server-(\[^/\]+)/"
Note: See TracBrowser for help on using the repository browser.