source: trunk/dports/databases/mysql4/Portfile @ 30223

Last change on this file since 30223 was 30223, checked in by jmpp@…, 12 years ago

nomaintainer address abstraction in databases category.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 6.1 KB
Line 
1# $Id: Portfile 30223 2007-10-22 22:46:02Z jmpp@macports.org $
2
3PortSystem 1.0
4name              mysql4
5version           4.1.22
6categories        databases
7maintainers       nomaintainer
8description       Multithreaded SQL database server
9long_description  MySQL is an open-source, multi-threaded SQL database \
10                    with a command syntax very similar to mSQL.
11homepage          http://www.mysql.com/
12platforms         darwin
13
14set sitedir       Downloads/MySQL-4.1/
15master_sites      http://www.mirrorservice.org/sites/ftp.mysql.com/${sitedir} \
16                    http://www.softagency.co.jp/MySQL/${sitedir} \
17                    http://mirrors.tilian.co.uk/mysql.com/${sitedir} \
18                    ftp://planetmirror.com/pub/mysql/${sitedir} \
19                    ftp://sunsite.dk/mirrors/mysql/${sitedir} \
20                    http://mysql.mediatraffic.fi/${sitedir} \
21                    ftp://filepile.tiscali.de/mirror/mysql/${sitedir} \
22                    ftp://ftp.rtfm.no/pub/mysql/${sitedir} \
23                    http://www.mysql.cz/${sitedir} \
24                    ftp://ftp.u-paris10.fr/mysql.com/${sitedir} \
25                    http://mysql.oms-net.nl/${sitedir} \
26                    ftp://ftp.free.fr/pub/MySQL\${sitedir}
27
28distname         mysql-${version}
29checksums        md5 37b4479951fa0cf052269d27c41ca200
30
31depends_lib      port:openssl
32
33set dbdir        ${prefix}/var/db/mysql
34
35post-patch {
36        reinplace "s%/etc/my.cnf%${prefix}/etc/${name}/my.cnf%g" \
37                ${worksrcpath}/scripts/mysqlaccess.sh \
38                ${worksrcpath}/scripts/mysqld_multi.sh \
39                ${worksrcpath}/scripts/mysqldumpslow.sh \
40                ${worksrcpath}/scripts/mysqlhotcopy.sh \
41                ${worksrcpath}/sql-bench/bench-init.pl.sh \
42                ${worksrcpath}/support-files/my-huge.cnf.sh \
43                ${worksrcpath}/support-files/my-innodb-heavy-4G.cnf.sh \
44                ${worksrcpath}/support-files/my-large.cnf.sh \
45                ${worksrcpath}/support-files/my-medium.cnf.sh \
46                ${worksrcpath}/support-files/my-small.cnf.sh \
47                ${worksrcpath}/support-files/mysql.server.sh
48        reinplace "s%/etc/%${prefix}/etc/${name}/%g" \
49                ${worksrcpath}/mysys/default.c
50}
51
52platform darwin 6 {
53        depends_lib-append              lib:libdl:dlcompat
54       
55        configure.ldflags-append        "-lncurses"
56        configure.cflags        "-O3 -fno-omit-frame-pointer"
57        configure.cxx   gcc
58        configure.cxxflags      "-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti"
59
60}
61
62platform darwin 7 {
63        configure.ldflags       "-lncurses"
64        configure.cflags        "-O3 -fno-omit-frame-pointer"
65        configure.cxx   gcc
66        configure.cxxflags      "-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti"
67        configure.env-append    LIBS=-ldl
68
69}
70
71platform darwin 8 {
72        configure.compiler      gcc-4.0
73}
74
75configure.args  --sysconfdir=${prefix}/etc/${name} --without-debug  \
76                  --without-bench \
77                  --mandir=${prefix}/share/man --infodir=${prefix}/share/info \
78                  --enable-thread-safe-client --with-extra-charsets=complex \
79                  --with-openssl=${prefix} --with-innodb \
80                  --localstatedir=${dbdir} \
81                  --with-unix-socket-path=${prefix}/var/run/mysqld/mysqld.sock \
82                  --with-mysqld-user=mysql
83
84variant server  {
85        # Create a startupitem to start/stop the server
86    startupitem.create    yes
87    startupitem.start    "${prefix}/share/mysql/mysql.server start"
88    startupitem.stop    "${prefix}/share/mysql/mysql.server stop"
89}
90
91pre-destroot    {
92        xinstall -m 755 -d ${destroot}${prefix}/var/log/mysql
93        destroot.keepdirs ${destroot}${prefix}/var/log/mysql
94
95        if { [variant_isset server] } {
96                addgroup mysql
97                set gid [existsgroup mysql]
98                adduser mysql gid=${gid} realname=MySQL\ Server
99               
100                system "chown mysql:mysql ${destroot}${prefix}/var/log/mysql"
101        }
102}
103
104post-destroot {
105                system "rm -rf ${destroot}${prefix}/mysql-test"
106
107                xinstall -m 775 -d ${destroot}${dbdir}
108                xinstall -m 755 -d ${destroot}${prefix}/var/run/mysqld
109                destroot.keepdirs-append ${destroot}${dbdir}
110                destroot.keepdirs-append ${destroot}${prefix}/var/run/mysqld
111                if { [variant_isset server] } {
112                                        xinstall -o root -m 755 -d ${destroot}${prefix}/etc/${name}
113                        xinstall -o root -m 644 -c ${filespath}/my.cnf ${destroot}${prefix}/etc/${name}/my.cnf.sample
114                        reinplace "s|__PREFIX|${prefix}|g" ${destroot}${prefix}/etc/${name}/my.cnf.sample
115                        xinstall -o mysql -g mysql -m 775 -d ${destroot}${dbdir}
116                        destroot.keepdirs-append ${destroot}${dbdir}
117                        system "chown -R mysql:mysql ${destroot}${dbdir}"
118                       
119                        xinstall -o mysql -g mysql -m 755 -d ${destroot}${prefix}/var/run/mysqld
120                        destroot.keepdirs-append ${destroot}${prefix}/var/run/mysqld
121                        system "chown -R mysql:mysql ${destroot}${prefix}/var/run/mysqld"
122                }
123               
124}
125
126post-install {
127                ui_msg "******************************************************"
128                ui_msg "* You might want to run                              *"
129                ui_msg "* sudo -u mysql mysql_install_db                     *"
130                ui_msg "* if this is a new install                           *"
131                ui_msg "*                                                    *"
132                ui_msg "* If you did not choose the server variant you may   *"
133                ui_msg "* add a mysql user and you will need to change the   *"
134                ui_msg "* ownership to that user for the following:          *"
135                ui_msg "*    ${dbdir}                                        *"
136                ui_msg "*    ${prefix}/var/run/mysqld                        *"
137                ui_msg "*    ${prefix}/var/log/mysql                         *"
138                ui_msg "******************************************************"
139}
Note: See TracBrowser for help on using the repository browser.