1PORTNAME=	phpMyAdmin
2DISTVERSION=	5.2.1
3CATEGORIES=	databases www
4MASTER_SITES=	https://files.phpmyadmin.net/${PORTNAME}/${DISTVERSION}/
5DISTNAME=	${PORTNAME}-${DISTVERSION}-all-languages
6PKGNAMESUFFIX=	5${PHP_PKGNAMESUFFIX}
7
8MAINTAINER=	ports@MidnightBSD.org
9COMMENT=	Set of PHP-scripts to manage MySQL over the web
10WWW=		https://www.phpmyadmin.net/
11
12LICENSE=	gpl2
13LICENSE_FILE=	${WRKSRC}/LICENSE
14
15CONFLICTS_INSTALL=	phpMyAdmin-php[0-9][0-9] phpMyAdmin[0-9]-php[0-9][0-9] # www/phpMyAdmin/CONTRIBUTING.md
16
17USES=		cpe php:web,flavors tar:xz
18CPE_PRODUCT=	${PORTNAME:tl}
19
20NO_ARCH=	yes
21NO_BUILD=	yes
22.if !defined(WITHOUT_PHP_DEPENDS)
23
24# Note: composer.json files in the source list pcre as a required
25# extension, but pcre is compiled into PHP as standard on BSD.
26# The same goes for the spl library.
27# libsodium are only required in the bundled vendor code. PMA
28# could, in principle, also use the PHP dbase extension, but it's not
29# available for PHP >= 7.0 and of only minority interest.
30
31USE_PHP=	ctype filter iconv mysqli session xml xmlwriter
32.endif
33
34# Note: default settings will pull in X11 client support.  If you don't
35# want this, either turn off GD in the config dialog, or else turn off
36# FONTCONFIG in the graphics/gd port options.
37
38OPTIONS_DEFINE=		BZ2 CURL GD GMP MBSTRING OPCACHE \
39			SODIUM ZIP ZLIB
40OPTIONS_DEFAULT=	BZ2 GD MBSTRING ZIP ZLIB
41
42BZ2_DESC=	PHP bzip2 library support
43CURL_DESC=	PHP curl support
44GD_DESC=	PHP GD library support (requires X11)
45GMP_DESC=	PHP GMP library support
46MBSTRING_DESC=	PHP Multi-byte String support
47OPCACHE_DESC=	PHP Opcache support
48PDF_DESC=	PHP PDFlib support
49SODIUM_DESC=	PHP libsodium support
50ZIP_DESC=	PHP Zip compression support
51ZLIB_DESC=	PHP ZLIB support
52
53.include <bsd.mport.options.mk>
54
55GROUPS?=	${WWWGRP}
56CFG_FILE=	config.inc.php
57
58PLIST=		${WRKDIR}/plist
59PLIST_SUB+=	PMA_GRP=${GROUPS}
60
61SUB_LIST+=	PKGNAME=${PKGNAME}	        \
62		CFG_FILE=${WWWDIR}/${CFG_FILE}
63SUB_FILES+=	pkg-message
64
65.if ${FLAVOR} != php80
66OPTIONS_DEFINE+=	PDF
67.endif
68
69.if !defined(WITHOUT_PHP_DEPENDS)
70
71.for opt in ${OPTIONS_DEFINE}
72.    if ${PORT_OPTIONS:M${opt}}
73USE_PHP+=	${opt:tl}
74.    endif
75.endfor
76
77.endif
78
79.SILENT:
80
81post-patch:
82	cd ${WRKSRC} ; \
83	${CP} ${FILESDIR}/${CFG_FILE}.sample ${WRKSRC}/${CFG_FILE}.sample ; \
84	${FIND} . ! -type d ! -name ${CFG_FILE}.sample ! -name '*.bak' | \
85	    ${SORT} | ${SED} -e "s,^\.,%%WWWDIR%%,"   >${PLIST} ; \
86	${CAT} ${PKGDIR}/pkg-plist-chunk	     >>${PLIST} ; \
87	for emptydir in $$( ${FIND} . -type d -empty -print | \
88		${SED} -e "s,^\.,%%WWWDIR%%," ) ; do \
89	    ${ECHO} "@dir $${emptydir}"		     >>${PLIST} ; \
90	done ; \
91
92do-install:
93	cd ${WRKSRC} ; \
94	for src in $$( ${FIND} . ! -name .cvsignore ! -name '*.bak' ) ; do \
95	    dst=${WWWDIR}$${src#.} ; \
96	    if ${TEST} -d "$$src" ; then \
97		${MKDIR} "$$dst" ; \
98	    else \
99		${INSTALL_DATA} "$$src" "$$dst" ; \
100	    fi \
101	done
102	@${MKDIR} ${WWWDIR}/tmp
103
104.include <bsd.port.mk>
105