aboutsummaryrefslogtreecommitdiffstats
path: root/databases/phpmyadmin/Makefile
blob: 24e5d3dc9624f9fede3b745b08b3e57944f26135 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# Created by: nbm
# $FreeBSD$

PORTNAME=   phpMyAdmin
DISTVERSION=    4.0.10
CATEGORIES= databases www
MASTER_SITES=   SF/${PORTNAME:L}/${PORTNAME}/${DISTVERSION}
DISTNAME=   ${PORTNAME}-${DISTVERSION}-all-languages

MAINTAINER= matthew@FreeBSD.org
COMMENT=    A set of PHP-scripts to manage MySQL over the web

LICENSE=    GPLv2

USE_XZ=     yes
USES=       shebangfix
NO_BUILD=   yes
.if !defined(WITHOUT_PHP_DEPENDS)
USE_PHP=    ctype session filter mbstring json spl
.endif

# Note: default settings will pull in X11 client support.  If you don't
# want this, either turn off GD in the config dialog, or else turn off
# FONTCONFIG in the graphics/gd port options.

PHP_MODULE_OPTIONS= APC BZ2 GD MCRYPT OPENSSL PDF XML ZIP ZLIB
OPTIONS_DEFINE=     SUPHP ${PHP_MODULE_OPTIONS}
OPTIONS_DEFAULT=    APC BZ2 GD MCRYPT MYSQLI OPENSSL PDF XML ZIP ZLIB

OPTIONS_MULTI=      DB_connect
OPTIONS_MULTI_DB_connect=   MYSQL MYSQLI

APC_DESC=   PHP APC (animated progress bar) support
BZ2_DESC=   PHP bzip2 library support
GD_DESC=    PHP GD library support (requires X11)
MCRYPT_DESC=    PHP MCrypt library support
MYSQLI_DESC=    PHP Improved MySQL client support
MYSQL_DESC= PHP MySQL support via mysql client
OPENSSL_DESC=   PHP OpenSSL support
PDF_DESC=   PHP PDFlib support
SUPHP_DESC= suPHP support
XML_DESC=   PHP XML support (Export to OpenDoc)
ZIP_DESC=   PHP Zip compression support
ZLIB_DESC=  PHP ZLIB support

.include <bsd.port.options.mk>

.if ${PORT_OPTIONS:MSUPHP}

PKGNAMESUFFIX=  -suphp
RUN_DEPENDS+=   ${LOCALBASE}/sbin/suphp:${PORTSDIR}/www/suphp
WANT_PHP_CGI=   yes

.else

WANT_PHP_WEB=   yes

.endif

# USERS is only used with the SUPHP option
GROUPS?=    ${WWWGRP}
CFG_FILE=   config.inc.php

PLIST=      ${WRKDIR}/plist
PLIST_SUB+= PMA_GRP=${GROUPS}

.if ${PORT_OPTIONS:MSUPHP}

USERS?=     _pma
SUPHP_ENABLED=  yes

.endif

SUB_LIST+=  PKGNAME=${PKGNAME}         \
        PMA_USR=${USERS}           \
        PMA_GRP=${GROUPS}          \
        CFG_FILE=${WWWDIR}/${CFG_FILE} \
        SUPHP_ENABLED=${SUPHP_ENABLED}
SUB_FILES+= pkg-install pkg-deinstall pkg-message

SHEBANG_FILES=  libraries/plugins/transformations/generator_main_class.sh \
        libraries/plugins/transformations/generator_plugin.sh

.if !defined(WITHOUT_PHP_DEPENDS)

.for opt in ${PHP_MODULE_OPTIONS} ${OPTIONS_MULTI_DB_connect}
.    if ${PORT_OPTIONS:M${opt}}
USE_PHP+=   ${opt:L}
.    endif
.endfor

.endif

.SILENT:

# When creating a package, empty directories will not be generated
# from the pkg tarball.  Therefore make sure no directories are empty.

post-patch:
    cd ${WRKSRC} ; \
    for emptydir in $$( ${FIND} . -type d -empty -print ) ; do \
        ${TOUCH} $${emptydir}/.keep-me ; \
    done ; \
    ${CP} ${FILESDIR}/${CFG_FILE}.sample ${WRKSRC}/${CFG_FILE}.sample ; \
    ${FIND} . ! -type d ! -name ${CFG_FILE}.sample ! -name '*.bak' | \
        ${SORT} | ${SED} -e "s,^\.,%%WWWDIR%%,"   >${PLIST} ; \
    ${CAT} ${PKGDIR}/pkg-plist-chunk         >>${PLIST} ; \
    ${FIND} . -type d | ${SORT} -r | ${SED} \
        -e "s,^\.$$,@dirrmtry %%WWWDIR%%," \
        -e "s,^\.,@dirrm %%WWWDIR%%,"        >>${PLIST}

do-install: install-app install-conf

install-app:
    cd ${WRKSRC} ; \
    for src in $$( ${FIND} . ! -name .cvsignore ! -name '*.bak' ) ; do \
        dst=${STAGEDIR}${WWWDIR}$${src#.} ; \
        if ${TEST} -d "$$src" ; then \
        ${MKDIR} "$$dst" ; \
        else \
        ${INSTALL_DATA} "$$src" "$$dst" ; \
        fi \
    done

install-conf: install-app
    ${CHMOD} 0640 ${STAGEDIR}${WWWDIR}/${CFG_FILE}.sample ; \
    ${CHGRP} ${WWWGRP} ${STAGEDIR}${WWWDIR}/${CFG_FILE}.sample ;

.include <bsd.port.mk>