aboutsummaryrefslogtreecommitdiffstats
path: root/community
diff options
context:
space:
mode:
authorJakub Jirutka <jakub@jirutka.cz>2017-03-28 13:54:43 +0200
committerJakub Jirutka <jakub@jirutka.cz>2017-03-28 18:38:20 +0200
commit4272e802a1be191657becb739e6a248c1d0411a7 (patch)
treea07a25b7c99d7da326957a88173ba49583cf6b2a /community
parent3e272105092cd9804a5a022a188db929ebf440da (diff)
downloadaports-4272e802a1be191657becb739e6a248c1d0411a7.tar.bz2
aports-4272e802a1be191657becb739e6a248c1d0411a7.tar.xz
community/*: move php5 and dependent pkgs from main
There two main reasons for this change: * Active support of PHP 5.x ended on January 2017, security support will end on December 2018. Packages in the main repository should be supported for at least 2 years, this means until first quarter of 2019 for the upcoming v3.6. * php7 and its extensions are currently in the community repository, so we can't use single abuild for both php5-* and php7-* packages (as we do for Python and Lua packages). This change was suggested by @vakartel, approved by @ncopa, @kaniini, and @jirutka.
Diffstat (limited to 'community')
-rw-r--r--community/cacti/APKBUILD145
-rw-r--r--community/cacti/cacti-setup.post-install21
-rw-r--r--community/cacti/cacti.crontab1
-rw-r--r--community/cacti/cacti.nginx.conf36
-rw-r--r--community/cacti/cacti.php-fpm.conf15
-rw-r--r--community/cacti/cacti.pre-install8
-rw-r--r--community/nextcloud/APKBUILD161
-rw-r--r--community/nextcloud/nextcloud-config.php5
-rw-r--r--community/nextcloud/nextcloud10-dont-chmod-config.patch12
-rw-r--r--community/owncloud/APKBUILD275
-rw-r--r--community/owncloud/fpm-pool.conf183
-rw-r--r--community/owncloud/owncloud-initscript.post-install22
-rw-r--r--community/owncloud/owncloud-initscript.pre-install6
-rw-r--r--community/owncloud/owncloud.confd5
-rw-r--r--community/owncloud/owncloud.config.php.in25
-rw-r--r--community/php5-apcu/APKBUILD39
-rw-r--r--community/php5-mailparse/APKBUILD38
-rw-r--r--community/php5-memcache/APKBUILD53
-rw-r--r--community/php5-memcache/memcache-faulty-inline.patch141
-rw-r--r--community/php5-pear-auth_sasl/APKBUILD30
-rw-r--r--community/php5-pear-auth_sasl2/APKBUILD30
-rw-r--r--community/php5-pear-mail_mime/APKBUILD34
-rw-r--r--community/php5-pear-mdb2/APKBUILD66
-rw-r--r--community/php5-pear-net_idna2/APKBUILD34
-rw-r--r--community/php5-pear-net_smtp/APKBUILD29
-rw-r--r--community/php5-pear-net_socket/APKBUILD25
-rw-r--r--community/php5-phalcon/APKBUILD42
-rw-r--r--community/php5-phpmailer/APKBUILD31
-rw-r--r--community/php5-xcache/APKBUILD56
-rw-r--r--community/php5-xcache/xcache.ini3
-rw-r--r--community/php5/APKBUILD521
-rw-r--r--community/php5/gd-iconv.patch45
-rw-r--r--community/php5/php-fpm.initd93
-rw-r--r--community/php5/php-install-pear-xml.patch15
-rw-r--r--community/php5/php5-module.conf5
-rw-r--r--community/php5/php5.post-upgrade11
-rw-r--r--community/phpldapadmin/APKBUILD77
-rw-r--r--community/phpldapadmin/phpldapadmin-1.2.3-force-ssha512.patch11
-rw-r--r--community/phpldapadmin/phpldapadmin-1.2.3_changed-password_hash-to-pla_password_hash.patch49
-rw-r--r--community/phpldapadmin/phpldapadmin-1.2.3_changed-preg_replace-to-preg_replace-callback.patch38
-rw-r--r--community/phpldapadmin/phpldapadmin-1.2.3_fixed-call-to-renamed-function-pla_password_hash.patch23
-rw-r--r--community/phpldapadmin/phpldapadmin-1.2.3_use-preg_replace_callback.patch34
-rw-r--r--community/phpldapadmin/phpldapadmin.additional-template41
-rw-r--r--community/roundcubemail/APKBUILD80
-rw-r--r--community/roundcubemail/fix-dirs.patch22
-rw-r--r--community/roundcubemail/roundcubemail.post-upgrade47
-rw-r--r--community/roundcubemail/roundcubemail.pre-upgrade7
-rw-r--r--community/zabbix/APKBUILD201
-rw-r--r--community/zabbix/automake.patch11
-rw-r--r--community/zabbix/musl-fix-includes.patch13
-rw-r--r--community/zabbix/zabbix-agent.pre-install6
-rw-r--r--community/zabbix/zabbix-agentd.initd33
-rw-r--r--community/zabbix/zabbix-getloadavg.patch31
-rw-r--r--community/zabbix/zabbix-proxy.initd21
-rw-r--r--community/zabbix/zabbix-server.confd2
-rw-r--r--community/zabbix/zabbix-server.initd11
-rw-r--r--community/zabbix/zabbix.pre-install6
-rw-r--r--community/zabbix/zabbix_server.conf.patch11
58 files changed, 3036 insertions, 0 deletions
diff --git a/community/cacti/APKBUILD b/community/cacti/APKBUILD
new file mode 100644
index 0000000000..83a6d33559
--- /dev/null
+++ b/community/cacti/APKBUILD
@@ -0,0 +1,145 @@
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Jeff Bilyk <jbilyk@gmail.com>
+pkgname=cacti
+pkgver=1.0.0
+pkgrel=1
+pkgdesc="The complete rrdtool-based graphing solution"
+url="http://www.cacti.net"
+arch="noarch"
+license="GPL2+"
+pkgusers="cacti"
+pkggroups="www-data"
+depends="bash perl coreutils net-snmp-tools rrdtool ttf-dejavu"
+makedepends=""
+subpackages="$pkgname-doc $pkgname-lang $pkgname-setup \
+ $pkgname-php5:_php $pkgname-php7:_php
+ "
+install="$pkgname.pre-install $pkgname-setup.post-install"
+source="http://www.cacti.net/downloads/$pkgname-$pkgver.tar.gz
+ $pkgname.crontab
+ $pkgname.nginx.conf
+ $pkgname.php-fpm.conf
+ "
+builddir="$srcdir/$pkgname-$pkgver"
+
+package() {
+ cd "$builddir"
+
+ mkdir -p "$pkgdir"/usr/share/webapps/$pkgname \
+ "$pkgdir"/var/lib/$pkgname \
+ "$pkgdir"/etc/$pkgname \
+ "$pkgdir"/var/log
+
+ cp -r * "$pkgdir"/usr/share/webapps/$pkgname/ || return 1
+ install -Dm600 "$srcdir"/$pkgname.crontab "$pkgdir"/etc/crontabs/$pkgname
+
+ # remove development data
+ rm -fr "$pkgdir"/usr/share/webapps/$pkgname/locales/po \
+ "$pkgdir"/usr/share/webapps/$pkgname/locales/update-pot.sh
+
+ # switch to system fonts
+ rm -fr "$pkgdir"/usr/share/webapps/$pkgname/include/fonts
+ ln -s /usr/share/fonts/ttf-dejavu \
+ "$pkgdir"/var/lib/$pkgname/fonts
+ ln -s /var/lib/$pkgname/fonts \
+ "$pkgdir"/usr/share/webapps/$pkgname/include/fonts
+
+ # symlink to help webserver find relative path
+ ln -s . "$pkgdir"/usr/share/webapps/$pkgname/$pkgname
+
+ # move variable and writable data to cacti's home
+ local dir; for dir in cache plugins resource rra scripts; do
+ mv "$pkgdir"/usr/share/webapps/$pkgname/$dir \
+ "$pkgdir"/var/lib/$pkgname/$dir || return 1
+ chown -R $pkgusers:$pkggroups "$pkgdir"/var/lib/$pkgname/$dir
+ ln -s /var/lib/$pkgname/$dir "$pkgdir"/usr/share/webapps/$pkgname/$dir
+ done
+
+ # move log to /var/log
+ mv "$pkgdir"/usr/share/webapps/$pkgname/log \
+ "$pkgdir"/var/log/$pkgname || return 1
+ chown -R $pkgusers:$pkggroups "$pkgdir"/var/log/$pkgname
+ ln -s /var/log/$pkgname "$pkgdir"/usr/share/webapps/$pkgname/log
+
+ # move config to /etc
+ mv "$pkgdir"/usr/share/webapps/$pkgname/include/config.php \
+ "$pkgdir"/etc/$pkgname/config.php || return 1
+ ln -s /etc/$pkgname/config.php \
+ "$pkgdir"/usr/share/webapps/$pkgname/include/config.php
+}
+
+doc() {
+ default_doc || return 1
+
+ mkdir -p "$subpkgdir"/usr/share/webapps/$pkgname
+ cd "$pkgdir"/usr/share/webapps/$pkgname
+ mv docs "$subpkgdir"/usr/share/webapps/$pkgname/
+
+ local file;
+ for file in $(find ./ -name "LICENSE" -o -name "NEWS" \
+ -o -name "README*" -o -name "VERSION" \
+ -o -name "CHANGELOG" -o -name "*.rst")
+ do
+ mkdir -p "$subpkgdir"/usr/share/webapps/$pkgname/${file%/*}
+ mv $file "$subpkgdir"/usr/share/webapps/$pkgname/$file
+ done
+
+ install -Dm644 "$srcdir"/$pkgname.nginx.conf \
+ "$subpkgdir"/usr/share/webapps/$pkgname/docs/txt/nginx.conf
+}
+
+lang() {
+ pkgdesc="$pkgdesc (localisations)"
+ install_if="lang $pkgname=$pkgver-r$pkgrel"
+
+ mkdir -p "$subpkgdir"/usr/share/webapps/$pkgname/locales/LC_MESSAGES \
+ "$subpkgdir"/usr/share/webapps/$pkgname/include/js/LC_MESSAGES \
+ "$subpkgdir"/usr/share/webapps/$pkgname/include/phpmailer/language
+
+ # cacti l10n
+ mv "$pkgdir"/usr/share/webapps/$pkgname/locales/LC_MESSAGES/* \
+ "$subpkgdir"/usr/share/webapps/$pkgname/locales/LC_MESSAGES
+
+ # jquery l10n
+ mv "$pkgdir"/usr/share/webapps/$pkgname/include/js/LC_MESSAGES/* \
+ "$subpkgdir"/usr/share/webapps/$pkgname/include/js/LC_MESSAGES
+
+ # phpmailer l10n
+ mv "$pkgdir"/usr/share/webapps/$pkgname/include/phpmailer/language/*lang*.php \
+ "$subpkgdir"/usr/share/webapps/$pkgname/include/phpmailer/language
+}
+
+setup() {
+ pkgdesc="$pkgdesc (initial setup)"
+ depends="$pkgname $pkgname-doc"
+
+ mkdir -p "$subpkgdir"/usr/share/webapps/$pkgname
+ mv "$pkgdir"/usr/share/webapps/$pkgname/install \
+ "$pkgdir"/usr/share/webapps/$pkgname/*.sql \
+ "$subpkgdir"/usr/share/webapps/$pkgname/
+}
+
+_php() {
+ local php=${subpkgname#$pkgname-}
+ pkgdesc="$pkgdesc ($php dependencies)"
+ install_if="$php-config $pkgname=$pkgver-r$pkgrel"
+ depends="$php $php-gd $php-gmp $php-json $php-ldap $php-pdo_mysql
+ $php-openssl $php-posix $php-snmp $php-sockets $php-xml $php-zlib"
+
+ # cacti's php-fpm pool config
+ install -Dm644 "$srcdir"/$pkgname.php-fpm.conf \
+ "$subpkgdir"/etc/$php/php-fpm.d/$pkgname.conf
+}
+
+md5sums="e711a305a12484623669e3c873126348 cacti-1.0.0.tar.gz
+213c3aff8cf08438703ae5e544046eae cacti.crontab
+8f28596ea23b68b0041680112ebab685 cacti.nginx.conf
+b06ea26524a5fb30cfd083cfa0f235a8 cacti.php-fpm.conf"
+sha256sums="180a23102af0415b961ef4d4181f93f49d40ebed36c5392ac988650d3753e693 cacti-1.0.0.tar.gz
+9cfa7edec4b28722230b7b509cc420958b7864703752bb70c8376282bfc1c5a9 cacti.crontab
+35bb157b53a11edcb923b91decac7e6468ede9376a109d73037d747165cc38e3 cacti.nginx.conf
+f8a5697a4fd8c279d29d383c90b51f0c73311d3ac96d14953ec11f2f7d5bbdb2 cacti.php-fpm.conf"
+sha512sums="9133bb3d34ee6a4fe94e8258ce76df1ceac5cc76ccc8a492ae9a1263cbfb765f88f169c2780f2b36c14d8df4607e8effaf448bcb632cd4171533d0f9842550b1 cacti-1.0.0.tar.gz
+70f47dbbca76489fc3a84452ee8065f9571ee627b3e346cd3c866501d723a609372c4fbd7e53c4bdcdb22439d876d78847f8902dfa43f3f66b2329639e795ab9 cacti.crontab
+9b3fe765c6196c0e4988efaa7236d8a8b945725548371b4a0e2a371de374c9577a908d58dcef5a4e59e089ca923cfeb7c5ddea9ee983a5115239052cf9b8ab59 cacti.nginx.conf
+695a5e8439ef0ed29068c87b1d711f66c5a24cf31c3c213784f83d6aef8608a07e99bfa2343a6487762572b6022926c3846f704494c7806e9a1aa2c49e18513b cacti.php-fpm.conf"
diff --git a/community/cacti/cacti-setup.post-install b/community/cacti/cacti-setup.post-install
new file mode 100644
index 0000000000..e13bcc1f20
--- /dev/null
+++ b/community/cacti/cacti-setup.post-install
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+cat <<EOF
+* Inital setup:
+* 1. create mysql user and database (read manual)
+* 2. change settings in /etc/cacti/config.php
+* 3. configure webserver's site root to /usr/share/webapps/cacti
+* 4. go online (http://$(hostname -f)/cacti/install) to continue setup
+* 5. enjoy :)
+*
+* After setup complete, you can safely remove cacti-setup
+*
+* Partial config for nginx:
+* /usr/share/webapps/cacti/docs/txt/nginx.conf
+*
+* Installation instructions and manual:
+* /usr/share/webapps/cacti/docs/txt/manual.txt
+*
+EOF
+
+exit 0
diff --git a/community/cacti/cacti.crontab b/community/cacti/cacti.crontab
new file mode 100644
index 0000000000..40e2c1ab01
--- /dev/null
+++ b/community/cacti/cacti.crontab
@@ -0,0 +1 @@
+*/5 * * * * php /usr/share/webapps/cacti/poller.php >/dev/null 2>&1
diff --git a/community/cacti/cacti.nginx.conf b/community/cacti/cacti.nginx.conf
new file mode 100644
index 0000000000..3ce5c30f6f
--- /dev/null
+++ b/community/cacti/cacti.nginx.conf
@@ -0,0 +1,36 @@
+#
+# copy this file to /etc/nginx/cacti.conf
+# and include it somewhere to 'server' section
+#
+# server {
+# ...
+# location /cacti {
+# include cacti.conf;
+# }
+# ...
+# }
+#
+root /usr/share/webapps/cacti;
+index index.php;
+
+location ~ \.php$ {
+ fastcgi_pass unix:/var/lib/cacti/socket;
+ include fastcgi.conf;
+}
+
+location ~ /(cli|log|rra|cache/*)/ {
+ deny all;
+}
+
+location ~ /\.ht {
+ deny all;
+}
+
+location ~* \.(ini|sql)$ {
+ deny all;
+}
+
+location ~* \.(ico|png|jpg|jpeg|gif)$ {
+ access_log off;
+ expires 30d;
+}
diff --git a/community/cacti/cacti.php-fpm.conf b/community/cacti/cacti.php-fpm.conf
new file mode 100644
index 0000000000..ff090101f4
--- /dev/null
+++ b/community/cacti/cacti.php-fpm.conf
@@ -0,0 +1,15 @@
+[cacti]
+prefix = /usr/share/webapps/cacti
+
+user = cacti
+group = cacti
+
+listen = /var/lib/cacti/socket
+listen.user = cacti
+listen.group = www-data
+
+pm = dynamic
+pm.max_children = 5
+pm.start_servers = 2
+pm.min_spare_servers = 1
+pm.max_spare_servers = 3
diff --git a/community/cacti/cacti.pre-install b/community/cacti/cacti.pre-install
new file mode 100644
index 0000000000..02e9ad7ad0
--- /dev/null
+++ b/community/cacti/cacti.pre-install
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+addgroup -Sg 82 www-data 2>/dev/null
+
+addgroup -S cacti 2>/dev/null
+adduser -S -D -H -h /var/lib/cacti -s /sbin/nologin -G cacti -g cacti cacti 2>/dev/null
+
+exit 0
diff --git a/community/nextcloud/APKBUILD b/community/nextcloud/APKBUILD
new file mode 100644
index 0000000000..f974d65e68
--- /dev/null
+++ b/community/nextcloud/APKBUILD
@@ -0,0 +1,161 @@
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
+pkgname=nextcloud
+pkgver=11.0.2
+pkgrel=2
+pkgdesc="A safe home for all your data"
+url="http://nextcloud.com"
+arch="noarch"
+license="AGPL"
+_php=php5
+depends="$_php ${_php}-ctype ${_php}-curl ${_php}-dom ${_php}-gd ${_php}-iconv
+ ${_php}-json ${_php}-openssl ${_php}-xml ${_php}-xmlreader
+ ${_php}-zlib ${_php}-zip
+ "
+depends_dev=
+makedepends="$depends_dev"
+install=
+options="!check"
+subpackages="$pkgname-doc $pkgname-activity $pkgname-firstrunwizard $pkgname-gallery
+ $pkgname-mysql $pkgname-notifications $pkgname-pdfviewer $pkgname-pgsql
+ $pkgname-sqlite $pkgname-templateeditor $pkgname-texteditor
+ $pkgname-videoplayer"
+
+source="https://download.nextcloud.com/server/releases/$pkgname-$pkgver.zip
+ nextcloud10-dont-chmod-config.patch
+ "
+pkggroups="www-data"
+
+builddir="$srcdir"/$pkgname
+
+_ncbasedir="/var/lib/$pkgname"
+_ncdatadir="$_ncbasedir/data"
+_ncwwwdir="/usr/share/webapps/$pkgname"
+_ncappsdir="$_ncbasedir/apps"
+_ncconfdir="/etc/$pkgname"
+
+
+prepare() {
+ cd "$builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg "Applying patch $i"; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$builddir"
+ return 0
+}
+
+package() {
+ cd "$builddir"
+ for dir in ${_ncconfdir} ${_ncdatadir} ${_ncwwwdir}; do
+ mkdir -p "$pkgdir"$dir || return 1
+ done
+ rm -rf config data
+ mv * "$pkgdir"${_ncwwwdir} || return 1
+ chmod +x "$pkgdir"${_ncwwwdir}/occ || return 1
+ ln -s $_ncconfdir "$pkgdir"${_ncwwwdir}/config || return 1
+ install -m664 .htaccess "$pkgdir"${_ncwwwdir}/.htaccess || return 1
+ install -m664 .user.ini "$pkgdir"${_ncwwwdir}/.user.ini || return 1
+ install -m664 ../../${pkgname}-config.php "$pkgdir"/etc/$pkgname/config.php || return 1
+ mv "$pkgdir"$_ncwwwdir/apps "$pkgdir"$_ncbasedir || return 1
+ ln -s $_ncappsdir "$pkgdir"$_ncwwwdir/apps || return 1
+ install -m775 -g www-data -d "$pkgdir"/var/log/nextcloud
+ for dir in ${_ncconfdir} ${_ncdatadir} ${_ncappsdir}; do
+ chown -R :www-data "$pkgdir"$dir || return 1
+ chmod -R 770 "$pkgdir"$dir || return 1
+ done
+}
+
+doc() {
+ pkgdesc="Nextcloud documentation"
+ depends="nextcloud"
+ mkdir -p "$subpkgdir"/usr/share/doc/nextcloud/core
+ mv "$pkgdir"/usr/share/webapps/nextcloud/core/doc \
+ "$subpkgdir"/usr/share/doc/nextcloud/core
+}
+
+pgsql() {
+ pkgdesc="Nextcloud PostgreSQL support"
+ depends="nextcloud ${_php}-pgsql ${_php}-pdo_pgsql ${_php}-pear-mdb2-driver-pgsql"
+ mkdir -p "$subpkgdir"${_ncwwwdir}
+}
+
+sqlite() {
+ pkgdesc="Nextcloud SQLite support"
+ depends="nextcloud ${_php}-sqlite3 ${_php}-pdo_sqlite"
+ mkdir -p "$subpkgdir"${_ncwwwdir}
+}
+
+mysql() {
+ pkgdesc="Nextcloud MySQL support"
+ depends="nextcloud ${_php}-mysql ${_php}-pdo_mysql ${_php}-pear-mdb2-driver-mysql"
+ mkdir -p "$subpkgdir"${_ncwwwdir}
+}
+
+_mv_app() {
+ mkdir -p "$subpkgdir"${_ncappsdir} || return 1
+ if [ "$1" = "pkg" ]; then
+ mv "$pkgdir"${_ncappsdir}/$2 "$subpkgdir"${_ncappsdir} || return 1
+ elif [ "$1" = "src" ]; then
+ local appname="${subpkgname#$pkgname-}"
+ mv "$srcdir"/$2 "$subpkgdir"${_ncappsdir}/$appname || return 1
+ fi
+ chown -R :www-data "$subpkgdir"${_ncappsdir} || return 1
+ chmod 770 "$subpkgdir"${_ncappsdir} || return 1
+}
+
+activity() {
+ pkgdesc="Nextcloud Activity app"
+ depends="$pkgname"
+ _mv_app pkg activity
+}
+
+firstrunwizard() {
+ pkgdesc="Nextcloud Firstrunwizard app"
+ depends="$pkgname"
+ _mv_app pkg firstrunwizard
+}
+
+gallery() {
+ pkgdesc="Nextcloud integrated gallery application"
+ depends="nextcloud"
+ _mv_app pkg gallery
+}
+
+notifications() {
+ pkgdesc="Nextcloud Email notification support"
+ depends="$pkgname"
+ _mv_app pkg notifications
+}
+
+
+templateeditor() {
+ pkgdesc="Nextcloud Email template editor app"
+ depends="$pkgname"
+ _mv_app pkg templateeditor
+}
+
+pdfviewer() {
+ pkgdesc="Nextcloud integrated PDF viewer"
+ depends="nextcloud"
+ _mv_app pkg files_pdfviewer
+}
+
+texteditor() {
+ pkgdesc="Nextcloud integrated text editor"
+ depends="nextcloud"
+ _mv_app pkg files_texteditor
+}
+
+videoplayer() {
+ pkgdesc="Nextcloud integrated video viewer"
+ depends="nextcloud"
+ provides="$pkgname-videoviewer"
+ _mv_app pkg files_videoplayer
+}
+
+sha512sums="1e36dc0f67d3d7eb4d5dd4759a2537b6e999984c0bb67e05aeb0091ad72ffe07e970125956346a91e7229154524ebbcd508cf7cd0fb52fd4a8c2f71cf35eebf3 nextcloud-11.0.2.zip
+a12a73a38bc009d3307ce97bb32fc62ac93e125a77a3d36b31c9d2212953fa17bd5c31f819e0759a0645b1c285817b067143b0b9c3673ce4ab3043fae426a67c nextcloud10-dont-chmod-config.patch"
diff --git a/community/nextcloud/nextcloud-config.php b/community/nextcloud/nextcloud-config.php
new file mode 100644
index 0000000000..957df795f3
--- /dev/null
+++ b/community/nextcloud/nextcloud-config.php
@@ -0,0 +1,5 @@
+<?php
+$CONFIG = array (
+ 'datadirectory' => '/var/lib/nextcloud/data',
+ 'logfile' => '/var/log/nextcloud/nextcloud.log'
+);
diff --git a/community/nextcloud/nextcloud10-dont-chmod-config.patch b/community/nextcloud/nextcloud10-dont-chmod-config.patch
new file mode 100644
index 0000000000..fac1313848
--- /dev/null
+++ b/community/nextcloud/nextcloud10-dont-chmod-config.patch
@@ -0,0 +1,12 @@
+--- a/lib/private/Config.php
++++ b/lib/private/Config.php
+@@ -229,9 +229,6 @@
+ touch ($this->configFilePath);
+ $filePointer = fopen($this->configFilePath, 'r+');
+
+- // Prevent others not to read the config
+- chmod($this->configFilePath, 0640);
+-
+ // File does not exist, this can happen when doing a fresh install
+ if(!is_resource ($filePointer)) {
+ // TODO fix this via DI once it is very clear that this doesn't cause side effects due to initialization order
diff --git a/community/owncloud/APKBUILD b/community/owncloud/APKBUILD
new file mode 100644
index 0000000000..fe58310a68
--- /dev/null
+++ b/community/owncloud/APKBUILD
@@ -0,0 +1,275 @@
+# Contributor: Łukasz Jendrysik <scadu@yandex.com>
+# Maintainer:
+pkgname=owncloud
+pkgver=9.1.3
+pkgrel=0
+_contactsver="0.0.0.183"
+_calendarver="1.3.3"
+_tasksver="0.9.3"
+_documentsver="$pkgver"
+_pdfviewerver="$pkgver"
+_texteditorver="$pkgver"
+_musicver="0.3.11"
+_php=php5
+pkgdesc="Your own WebDAV-based cloud service"
+url="http://owncloud.org"
+arch="noarch"
+license="AGPL"
+depends="$_php ${_php}-ctype ${_php}-curl ${_php}-dom ${_php}-gd ${_php}-iconv
+ ${_php}-json ${_php}-xml ${_php}-xmlreader ${_php}-zlib ${_php}-zip"
+makedepends=""
+subpackages="$pkgname-initscript $pkgname-doc $pkgname-pgsql $pkgname-sqlite
+ $pkgname-mysql $pkgname-encryption $pkgname-calendar $pkgname-contacts
+ $pkgname-documents $pkgname-external $pkgname-gallery $pkgname-music
+ $pkgname-ldap $pkgname-tasks $pkgname-texteditor $pkgname-pdfviewer
+ $pkgname-videoplayer"
+replaces="$pkgname-plugins"
+source="https://download.owncloud.org/community/$pkgname-$pkgver.tar.bz2
+ $pkgname-contacts-$_contactsver.tar.gz::https://github.com/owncloud/contacts/releases/download/v$_contactsver/contacts.tar.gz
+ $pkgname-calendar-$_calendarver.tar.gz::https://github.com/owncloud/calendar/releases/download/v$_calendarver/calendar.tar.gz
+ $pkgname-documents-$_documentsver.tar.gz::https://github.com/owncloud/documents/archive/v$_documentsver.tar.gz
+ $pkgname-texteditor-$_texteditorver.tar.gz::https://github.com/owncloud/files_texteditor/archive/v$_texteditorver.tar.gz
+ $pkgname-music-$_musicver.zip::https://github.com/owncloud/music/releases/download/v$_musicver/music.zip
+ $pkgname-pdfviewer-$_pdfviewerver.tar.gz::https://github.com/owncloud/files_pdfviewer/archive/v$_pdfviewerver.tar.gz
+ $pkgname-tasks-$_tasksver.tar.gz::https://github.com/owncloud/tasks/archive/v$_tasksver.tar.gz
+ $pkgname.confd
+ fpm-pool.conf
+ owncloud.config.php.in
+ "
+pkgusers="owncloud"
+pkggroups="www-data"
+builddir="$srcdir/$pkgname"
+
+_ocbasedir="/var/lib/owncloud"
+_ocdatadir="$_ocbasedir/data"
+_ocwwwdir="/usr/share/webapps/owncloud"
+_ocappsdir="$_ocwwwdir/apps"
+_occonfdir="/etc/owncloud"
+
+prepare() {
+ default_prepare || return 1
+
+ sed "s/__VERSION__/$pkgver/" "$srcdir"/owncloud.config.php.in \
+ > "$srcdir"/owncloud.config.php
+}
+
+package() {
+ cd "$builddir"
+
+ mkdir -p "$pkgdir"$_occonfdir "$pkgdir"$_ocdatadir "$pkgdir"$_ocwwwdir
+
+ rm -rf config data
+ mv * "$pkgdir"${_ocwwwdir}/ || return 1
+ chmod +x "$pkgdir"${_ocwwwdir}/occ || return 1
+
+ ln -s $_occonfdir "$pkgdir"${_ocwwwdir}/config || return 1
+ install -m660 ../owncloud.config.php \
+ "$pkgdir"${_occonfdir}/config.php || return 1
+ install -m664 .htaccess "$pkgdir"${_ocwwwdir}/.htaccess || return 1
+
+ local dir; for dir in $_occonfdir $_ocdatadir $_ocappsdir; do
+ chown -R :www-data "$pkgdir"$dir || return 1
+ chmod 770 "$pkgdir"$dir || return 1
+ done
+}
+
+initscript() {
+ pkgdesc="Init script that runs ownCloud with php-fpm"
+ depends="$pkgname $_php-fpm"
+ install="$subpkgname.pre-install $subpkgname.post-install"
+
+ local confdir="$subpkgdir/etc/$_php/php-fpm.d"
+ local fpm_name="php-fpm${_php:3}"
+
+ if [ "$_php" = "php5" ]; then
+ confdir="${confdir/php-/}"
+ fpm_name="php-fpm"
+ fi
+
+ install -m 755 -o owncloud -d "$subpkgdir"/var/log/$pkgname || return 1
+ install -m 700 -o owncloud -d "$subpkgdir"/var/tmp/$pkgname || return 1
+
+ install -m 644 -D "$srcdir"/fpm-pool.conf \
+ "$confdir"/$pkgname.conf || return 1
+
+ install -m 644 -D "$srcdir"/$pkgname.confd \
+ "$subpkgdir"/etc/conf.d/$pkgname || return 1
+
+ mkdir -p "$subpkgdir"/etc/init.d
+ ln -s $fpm_name "$subpkgdir"/etc/init.d/$pkgname
+}
+
+doc() {
+ pkgdesc="$pkgdesc (documentation)"
+ depends="$pkgname"
+
+ mkdir -p "$subpkgdir"/usr/share/doc/$pkgname/core
+ mv "$pkgdir"/usr/share/webapps/$pkgname/core/doc \
+ "$subpkgdir"/usr/share/doc/$pkgname/core
+}
+
+pgsql() {
+ pkgdesc="ownCloud PostgreSQL support"
+ depends="$pkgname ${_php}-pgsql ${_php}-pdo_pgsql ${_php}-pear-mdb2-driver-pgsql"
+
+ mkdir -p "$subpkgdir"
+}
+
+sqlite() {
+ pkgdesc="ownCloud SQLite support"
+ depends="$pkgname ${_php}-sqlite3 ${_php}-pdo_sqlite"
+
+ mkdir -p "$subpkgdir"
+}
+
+mysql() {
+ pkgdesc="ownCloud MySQL support"
+ depends="$pkgname ${_php}-mysql ${_php}-pdo_mysql ${_php}-pear-mdb2-driver-mysql"
+
+ mkdir -p "$subpkgdir"
+}
+
+plugins() {
+ pkgdesc="ownCloud 3rdparty plugins"
+ depends="$pkgname"
+
+ mkdir -p "$subpkgdir"${_ocwwwdir}
+ mv "$pkgdir"${_ocwwwdir}/3rdparty "$subpkgdir"${_ocwwwdir}/
+}
+
+_mv_app() {
+ local from="$1"
+ local dir="$2"
+
+ mkdir -p "$subpkgdir"${_ocappsdir}
+
+ if [ "$from" = "pkg" ]; then
+ mv "$pkgdir"${_ocappsdir}/$dir "$subpkgdir"${_ocappsdir}/ || return 1
+ elif [ "$from" = "src" ]; then
+ local appname="${subpkgname#$pkgname-}"
+ mv "$srcdir"/$dir "$subpkgdir"${_ocappsdir}/$appname/ || return 1
+ fi
+ chown -R :www-data "$subpkgdir"${_ocappsdir} || return 1
+ chmod 770 "$subpkgdir"${_ocappsdir} || return 1
+}
+
+contacts() {
+ pkgdesc="ownCloud contacts"
+ depends="$pkgname"
+
+ _mv_app src contacts
+}
+
+calendar() {
+ pkgdesc="ownCloud calendar"
+ depends="$pkgname"
+
+ _mv_app src calendar
+}
+
+documents() {
+ pkgdesc="ownCloud integrated documents editor"
+ depends="$pkgname"
+
+ _mv_app src documents-$_documentsver
+}
+
+encryption() {
+ pkgdesc="ownCloud integrated encryption support"
+ depends="$pkgname ${_php}-openssl"
+
+ _mv_app pkg encryption
+}
+
+external() {
+ pkgdesc="ownCloud integrated external storage support"
+ depends="$pkgname ${_php}-curl ${_php}-ftp"
+
+ _mv_app pkg files_external
+}
+
+gallery() {
+ pkgdesc="ownCloud integrated gallery application"
+ depends="$pkgname"
+
+ _mv_app pkg gallery
+}
+
+ldap() {
+ pkgdesc="ownCloud integrated LDAP authentication"
+ depends="$pkgname ${_php}-ldap"
+
+ _mv_app pkg user_ldap
+}
+
+music() {
+ pkgdesc="ownCloud music app"
+ depends="$pkgname"
+
+ _mv_app src music
+ # Correct world-writable directories.
+ find "${subpkgdir}${_ocappsdir}" -type d -exec chmod 775 {} \;
+}
+
+pdfviewer() {
+ pkgdesc="ownCloud integrated PDF viewer"
+ depends="$pkgname"
+
+ _mv_app pkg files_pdfviewer
+}
+
+tasks() {
+ pkgdesc="ownCloud tasks"
+ depends="$pkgname"
+
+ _mv_app src tasks-$_tasksver
+}
+
+texteditor() {
+ pkgdesc="ownCloud integrated text editor"
+ depends="$pkgname"
+
+ _mv_app pkg files_texteditor
+}
+
+videoplayer() {
+ pkgdesc="ownCloud integrated video viewer"
+ depends="$pkgname"
+ provides="$pkgname-videoviewer"
+
+ _mv_app pkg files_videoplayer
+}
+
+md5sums="095df252495e246a053fee7c048db255 owncloud-9.1.3.tar.bz2
+a2623501e3e524b973759a9628a4749d owncloud-contacts-0.0.0.183.tar.gz
+1183d4bb6a1ef40b10473757e4694c52 owncloud-calendar-1.3.3.tar.gz
+4f7058773d488c022cdc3735d6e293d0 owncloud-documents-9.1.3.tar.gz
+cc694da1f081181a9e36194803e50b3d owncloud-texteditor-9.1.3.tar.gz
+8452cdd43587469e680597a2c10c830e owncloud-music-0.3.11.zip
+3420df7f6c05ca20be239ea5cebfd7a4 owncloud-pdfviewer-9.1.3.tar.gz
+84e7e522faa5f4a6bd3c75a29e259bcb owncloud-tasks-0.9.3.tar.gz
+ea483e710da2fa9995543d9b5b8ee11e owncloud.confd
+779c544fd1900557f4e69504aa28eeed fpm-pool.conf
+e1081190b2916a7f61fe403a03d8fa06 owncloud.config.php.in"
+sha256sums="e0a1eb35fffb61dab5ca41f6d3fdb4ddcc3ec09683cd620b8094846785d4f6e9 owncloud-9.1.3.tar.bz2
+d6ea14796f27f4cfb6db63b8e3612a71d3e3e6e2d8edffce85df45fcb71c7106 owncloud-contacts-0.0.0.183.tar.gz
+e3cd0de34e7de1d9f08d5c7dce5e9f45826cc9e59292b847fa900ca3cdf6b3fc owncloud-calendar-1.3.3.tar.gz
+7028152d65d463791353f256f39f85d131b6b7481d266ec16354ab55d7d8444f owncloud-documents-9.1.3.tar.gz
+888b6c803240415d04de064c3768740b650709a971854222e8638644ea2e138e owncloud-texteditor-9.1.3.tar.gz
+e480e639e48419977f06822aa92f1245c21a43d9aafc156edb6fd097873a73ca owncloud-music-0.3.11.zip
+db3f803990612b1e6c6500a0b77ef7383da318b5b6e61bd4a1a4e586dc9b192f owncloud-pdfviewer-9.1.3.tar.gz
+0a5ef52ba915e7ec8f124ab7bd2c01f22db27f77343ddfa8d799927711133c55 owncloud-tasks-0.9.3.tar.gz
+96d61ee75e8c948f78d31bdb770636819b8d678892a4003168c140fab69861cd owncloud.confd
+41dd626e34ea0b0ea3eac13b43a655586097fe746d5a713c0c765dbc2b8c2fa0 fpm-pool.conf
+d00bdbf610d6994cdb61269620dc0fdb892a43a10895c00060d72731f7acd854 owncloud.config.php.in"
+sha512sums="e661d3a69d1bce51aa6336fddd2ba205970d0d14e306a6ea0befa9fad6bb3563ff26118cd0471d4728cd9387fe67b58ba55058109bbf84f6c5c71fd87be38cea owncloud-9.1.3.tar.bz2
+7d0b3808a8734cd6895847ea1986345df71cd7e0633dcf2b8b9989bc9d38c3182bf6d93d75c32378270d124e885d7d730fd1ead5198bd9276de8425a5ff725d3 owncloud-contacts-0.0.0.183.tar.gz
+8f2b260a63644a5fb529211dd160aa3169ffde56ceeacf25f7c7748b2d7dfa9b1115663955eae3b9e35283545e57ff1b6f48ea75713f50db6bab51ebdb5e598e owncloud-calendar-1.3.3.tar.gz
+9494672aeb6a4cf193c2b5f258a781713c009c47060f17ed951aa7cd9d3d00d912983156aa30d2d2b27667d30f746e496053e63a495e1e36f9072fa153745e96 owncloud-documents-9.1.3.tar.gz
+df0425e2769f32f7b8919e67e7eece3a9fd2d7a86a1fe1875a31ab1e3d0829a7b178ee2c6bc9a4ca13777f27c1f880792d6f8638fb72c0fd6c53312af0cc8f7d owncloud-texteditor-9.1.3.tar.gz
+fde1758a512a960985cbbfde9294f77458fad2cb4801daceedac76a58dbb2862f2586cb17376915cdcb47a768c75be46f863834a96f1148eae98285217491d59 owncloud-music-0.3.11.zip
+9b3642ba9a1b01dbcc96c4e46735a546c6e0bdb77f87b166aadf9dc1c0c27a276bf4464009d9ef494107786c1ab38f59d218e0f9a2aa2a9a3db2e1e002fbebbe owncloud-pdfviewer-9.1.3.tar.gz
+05903caadaab8c7982cb91b1442d617c777a9d97fcd5406d1b404006fa91ef73251852a53a03cb7fcbed097c1120fc920983c1a24a0e8f1f2e95b230153fd26a owncloud-tasks-0.9.3.tar.gz
+7d1fa12f08f74b88d1ba7858a8295f6e5b200f16ed7366af48cc891b8c0074da85df008ed6f920df8b61bdfd5a27ac2a9623309b6334f82051a04067e746023e owncloud.confd
+e5afd329faf06acec747cb2af8dea409b6991dcc7aa15e894444899ccaf17502fdfab437cfb91170d1e1aee39385b72f277922dccdd8c6e08cc928b146ccaeda fpm-pool.conf
+c7aa08cf9b8fb8f61454af3ccc5b743e33b4cc294e6c42ed2eb16894f0a411b22bdc4d8f691964860a7c88ea7255424c1e369063ae37041850a9624b4139d478 owncloud.config.php.in"
diff --git a/community/owncloud/fpm-pool.conf b/community/owncloud/fpm-pool.conf
new file mode 100644
index 0000000000..57db4968c2
--- /dev/null
+++ b/community/owncloud/fpm-pool.conf
@@ -0,0 +1,183 @@
+[global]
+; Error log file
+; Default Value: log/php-fpm.log
+error_log = /var/log/owncloud/php-fpm.log
+
+; Log level
+; Possible Values: alert, error, warning, notice, debug
+; Default Value: notice
+log_level = warning
+
+; If this number of child processes exit with SIGSEGV or SIGBUS within the time
+; interval set by emergency_restart_interval then FPM will restart. A value
+; of '0' means 'Off'.
+; Default Value: 0
+emergency_restart_threshold = 10
+
+; Interval of time used by emergency_restart_interval to determine when
+; a graceful restart will be initiated. This can be useful to work around
+; accidental corruptions in an accelerator's shared memory.
+; Available Units: s(econds), m(inutes), h(ours), or d(ays)
+; Default Unit: seconds
+; Default Value: 0
+emergency_restart_interval = 1m
+
+; Time limit for child processes to wait for a reaction on signals from master.
+; Available units: s(econds), m(inutes), h(ours), or d(ays)
+; Default Unit: seconds
+; Default Value: 0
+process_control_timeout = 10s
+
+
+[owncloud]
+; The address on which to accept FastCGI requests.
+; Valid syntaxes are:
+; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific address on
+; a specific port;
+; 'port' - to listen on a TCP socket to all addresses on a
+; specific port;
+; '/path/to/unix/socket' - to listen on a unix socket (the path is *not*
+; relative to chroot!)
+; Note: This value is mandatory.
+listen = /run/owncloud/fastcgi.sock
+
+; Set permissions for unix socket, if one is used. In Linux, read/write
+; permissions must be set in order to allow connections from a web server. Many
+; BSD-derived systems allow connections regardless of permissions.
+; Default Values: user and group are set as the running user
+; mode is set to 0666
+listen.mode = 0660
+
+; Choose how the process manager will control the number of child processes.
+; Possible Values:
+; static ... a fixed number of child processes.
+; dynamic ... the number of child processes are set dynamically.
+; ondemand ... no children are created at startup; children will be forked
+; when new requests will connect.
+; Note: This value is mandatory.
+pm = ondemand
+
+; The number of child processes to be created when pm is set to 'static' and the
+; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'.
+; This value sets the limit on the number of simultaneous requests that will be
+; served.
+; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand'
+; Note: This value is mandatory.
+pm.max_children = 15
+
+; The number of seconds after which an idle process will be killed.
+; Note: Used only when pm is set to 'ondemand'
+; Default Value: 10s
+pm.process_idle_timeout = 120s
+
+; The number of requests each child process should execute before respawning.
+; This can be useful to work around memory leaks in 3rd party libraries. For
+; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
+; Default Value: 0
+pm.max_requests = 500
+
+; The URI to view the FPM status page. If this value is not set, no URI will be
+; recognized as a status page.
+; Note: The value must start with a leading slash (/). The value can be
+; anything, but it may not be a good idea to use the .php extension or it
+; may conflict with a real PHP file.
+; Default Value: not set
+pm.status_path =
+
+; The ping URI to call the monitoring page of FPM. If this value is not set, no
+; URI will be recognized as a ping page. This could be used to test from outside
+; that FPM is alive and responding, or to
+; - create a graph of FPM availability (rrd or such);
+; - remove a server from a group if it is not responding (load balancing);
+; - trigger alerts for the operating team (24/7).
+; Note: The value must start with a leading slash (/). The value can be
+; anything, but it may not be a good idea to use the .php extension or it
+; may conflict with a real PHP file.
+; Default Value: not set
+ping.path = /ping
+
+; The timeout for serving a single request after which the worker process will
+; be killed. This option should be used when the 'max_execution_time' ini option
+; does not stop script execution for some reason. A value of '0' means 'off'.
+; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
+; Default Value: 0
+;request_terminate_timeout = 0
+
+; The timeout for serving a single request after which a PHP backtrace will be
+; dumped to the 'slowlog' file. A value of '0s' means 'off'.
+; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
+; Default Value: 0
+;request_slowlog_timeout = 0
+
+; The log file for slow requests
+; Default Value: not set
+; Note: slowlog is mandatory if request_slowlog_timeout is set
+; Note: the path is *not* relative to chroot.
+;slowlog = /var/log/owncloud/php-fpm.slow.log
+
+; Redirect worker stdout and stderr into main error log. If not set, stdout and
+; stderr will be redirected to /dev/null according to FastCGI specs.
+; Note: on highloaded environement, this can cause some delay in the page
+; process time (several ms).
+; Default Value: no
+;catch_workers_output = yes
+
+; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from
+; the current environment.
+; Default Value: clean env
+env[PATH] = /usr/bin:/bin
+
+; Additional php.ini defines, specific to this pool of workers. These settings
+; overwrite the values previously defined in the php.ini. The directives are the
+; same as the PHP SAPI:
+; php_value/php_flag - you can set classic ini defines which can
+; be overwritten from PHP call 'ini_set'.
+; php_admin_value/php_admin_flag - these directives won't be overwritten by
+; PHP call 'ini_set'
+; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no.
+;
+; Defining 'extension' will load the corresponding shared extension from
+; extension_dir. Defining 'disable_functions' or 'disable_classes' will not
+; overwrite previously defined php.ini values, but will append the new value
+; instead.
+;
+; Note: path INI options can be relative and will be expanded with the prefix
+; (pool, global or /usr/lib/php5.3)
+
+; Allow HTTP file uploads.
+php_admin_flag[file_uploads] = true
+
+; Maximal size of a file that can be uploaded via web interface.
+php_admin_value[memory_limit] = 512M
+php_admin_value[post_max_size] = 513M
+php_admin_value[upload_max_filesize] = 513M
+
+; Where to store temporary files.
+php_admin_value[session.save_path] = /var/tmp/owncloud
+php_admin_value[sys_temp_dir] = /var/tmp/owncloud
+php_admin_value[upload_tmp_dir] = /var/tmp/owncloud
+
+; Log errors to specified file.
+php_admin_value[error_log] = /var/log/owncloud/php.error.log
+
+; OPcache error_log file name. Empty string assumes "stderr"
+php_admin_value[opcache.error_log] = /var/log/owncloud/php.error.log
+
+; Output buffering is a mechanism for controlling how much output data
+; (excluding headers and cookies) PHP should keep internally before pushing that
+; data to the client. If your application's output exceeds this setting, PHP
+; will send that data in chunks of roughly the size you specify.
+; This must be disabled for ownCloud.
+php_admin_flag[output_buffering] = false
+
+; Overload(replace) single byte functions by mbstring functions.
+; This must be disabled for ownCloud.
+php_admin_flag[mbstring.func_overload] = false
+
+; Never populate the $HTTP_RAW_POST_DATA variable.
+; http://php.net/always-populate-raw-post-data
+php_admin_value[always_populate_raw_post_data] = -1
+
+; Disable certain functions for security reasons.
+; http://php.net/disable-functions
+php_admin_value[disable_functions] = exec,passthru,shell_exec,system,proc_open,curl_multi_exec,show_source
diff --git a/community/owncloud/owncloud-initscript.post-install b/community/owncloud/owncloud-initscript.post-install
new file mode 100644
index 0000000000..92db889626
--- /dev/null
+++ b/community/owncloud/owncloud-initscript.post-install
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+# It's not needed to be writable for www-data group when running with php-fpm.
+for dir in /etc/owncloud \
+ /etc/owncloud/config.php \
+ /var/lib/owncloud/data \
+ /usr/share/webapps/owncloud/apps
+do
+ chmod g-w $dir
+ chown owncloud $dir
+done
+chgrp root /etc/owncloud/config.php
+
+cat <<EOF
+*
+* Point your web server to /run/owncloud/fastcgi.sock and start ownCloud with
+* /etc/init.d/owncloud start. You can modify php-fpm settings in
+* /etc/php5/fpm.d/owncloud.conf.
+*
+EOF
+
+exit 0
diff --git a/community/owncloud/owncloud-initscript.pre-install b/community/owncloud/owncloud-initscript.pre-install
new file mode 100644
index 0000000000..e162bbac1d
--- /dev/null
+++ b/community/owncloud/owncloud-initscript.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S -g 82 www-data 2>/dev/null
+adduser -S -D -H -h /var/lib/owncloud -s /sbin/nologin -G www-data -g ownCloud owncloud 2>/dev/null
+
+exit 0
diff --git a/community/owncloud/owncloud.confd b/community/owncloud/owncloud.confd
new file mode 100644
index 0000000000..c4bd6b162f
--- /dev/null
+++ b/community/owncloud/owncloud.confd
@@ -0,0 +1,5 @@
+# Config file for /etc/init.d/owncloud
+
+name="ownCloud"
+user="owncloud"
+group="www-data"
diff --git a/community/owncloud/owncloud.config.php.in b/community/owncloud/owncloud.config.php.in
new file mode 100644
index 0000000000..5fd814268c
--- /dev/null
+++ b/community/owncloud/owncloud.config.php.in
@@ -0,0 +1,25 @@
+<?php
+$CONFIG = array(
+ 'datadirectory' => '/var/lib/owncloud/data',
+ 'apps_path' => array (
+ 0 => array (
+ "path" => OC::$SERVERROOT."/apps",
+ "url" => "/apps",
+ "writable" => false,
+ ),
+ /* Uncomment this and install your apps here
+ 1 => array (
+ "path" => "/var/www/localhost/htdocs/myoc_apps",
+ "url" => "/myoc_apps",
+ "writable" = true,
+ ),
+ */
+ ),
+ 'version' => '__VERSION__',
+ 'dbname' => 'owncloud',
+ 'dbhost' => 'localhost',
+ 'dbuser' => 'owncloud',
+ 'installed' => false,
+ 'loglevel' => '0',
+);
+?>
diff --git a/community/php5-apcu/APKBUILD b/community/php5-apcu/APKBUILD
new file mode 100644
index 0000000000..4059d7cc49
--- /dev/null
+++ b/community/php5-apcu/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Carlo Landmeter <clandmeter@gmail.com>
+_php=php5
+pkgname=${_php}-apcu
+_pkgreal=apcu
+# release 5 is php7+
+pkgver=4.0.11
+_pkgver=${pkgver/_rc/RC}
+pkgrel=1
+pkgdesc="PHP extension APC User Cache"
+url="http://pecl.php.net/package/$_pkgreal"
+arch="all"
+license="PHP"
+depends=
+pecldepends="${_php}-dev autoconf"
+makedepends="$pecldepends pcre-dev"
+install=""
+subpackages=""
+source="http://pecl.php.net/get/$_pkgreal-$_pkgver.tgz"
+
+_builddir="$srcdir"/$_pkgreal-$_pkgver
+
+build() {
+ cd "$_builddir"
+ phpize || return 1
+ ./configure --prefix=/usr || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make INSTALL_ROOT="$pkgdir"/ install || return 1
+ install -d "$pkgdir"/etc/$_php/conf.d || return 1
+ echo "extension=$_pkgreal.so" > "$pkgdir"/etc/$_php/conf.d/$_pkgreal.ini
+}
+
+md5sums="13c0c0dd676e5a7905d54fa985d0ee62 apcu-4.0.11.tgz"
+sha256sums="454f302ec13a6047ca4c39e081217ce5a61bbea815aec9c1091fb849e70b4d00 apcu-4.0.11.tgz"
+sha512sums="e3b97066240e33850419e96f0fd9df0e66ee3b0fa238c418e07ac639d07439e9edfa1696e56a620e33f1ffc0993c57bde585b0c170b22995e7d5c0ae550b7899 apcu-4.0.11.tgz"
diff --git a/community/php5-mailparse/APKBUILD b/community/php5-mailparse/APKBUILD
new file mode 100644
index 0000000000..b2e3483d8f
--- /dev/null
+++ b/community/php5-mailparse/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+_php=php5
+pkgname=${_php}-mailparse
+_pkgreal=mailparse
+pkgver=2.1.6
+_pkgver=${pkgver/_rc/RC}
+pkgrel=2
+pkgdesc="PHP extension for email message manipulation"
+url="http://pecl.php.net/package/$_pkgreal"
+arch="all"
+license="PHP"
+depends=
+pecldepends="${_php}-dev autoconf"
+makedepends="$pecldepends"
+install=""
+subpackages=""
+source="http://pecl.php.net/get/$_pkgreal-$_pkgver.tgz"
+
+_builddir="$srcdir"/$_pkgreal-$_pkgver
+
+build() {
+ cd "$_builddir"
+ phpize || return 1
+ ./configure --prefix=/usr || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make INSTALL_ROOT="$pkgdir"/ install || return 1
+ install -d "$pkgdir"/etc/php/conf.d || return 1
+ echo "extension=$_pkgreal.so" > "$pkgdir"/etc/php/conf.d/$_pkgreal.ini
+}
+
+md5sums="0f84e1da1d074a4915a9bcfe2319ce84 mailparse-2.1.6.tgz"
+sha256sums="73705197d2b2ee782efa5477eb2a21432f592c2cb05a72c3a037bbe39e02b5cc mailparse-2.1.6.tgz"
+sha512sums="a7337dd2e99a953a55b38c236da95a6bd2950c2bca16fc0ddfec39be8b0ffe01007353fc7b562d0509e0bb1623c3d2b03935d1c98a07dcd9f0b14bb508bce374 mailparse-2.1.6.tgz"
diff --git a/community/php5-memcache/APKBUILD b/community/php5-memcache/APKBUILD
new file mode 100644
index 0000000000..1a8bc874ea
--- /dev/null
+++ b/community/php5-memcache/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+_php=php5
+pkgname=${_php}-memcache
+_pkgreal=memcache
+pkgver=3.0.8
+_pkgver=${pkgver/_rc/RC}
+pkgrel=5
+pkgdesc="PHP extension memcache"
+url="http://pecl.php.net/package/$_pkgreal"
+arch="all"
+license="PHP"
+depends=
+pecldepends="${_php}-dev autoconf"
+makedepends="$pecldepends zlib-dev"
+install=""
+subpackages=""
+source="http://pecl.php.net/get/$_pkgreal-$_pkgver.tgz
+ memcache-faulty-inline.patch
+ "
+
+_builddir="$srcdir"/$_pkgreal-$_pkgver
+
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ phpize || return 1
+ ./configure --prefix=/usr || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make INSTALL_ROOT="$pkgdir"/ install || return 1
+ install -d "$pkgdir"/etc/$_php/conf.d || return 1
+ echo "extension=$_pkgreal.so" > "$pkgdir"/etc/$_php/conf.d/$_pkgreal.ini
+}
+
+md5sums="24505e9b263d2c77f8ae5e9b4725e7d1 memcache-3.0.8.tgz
+15c48766f52bb560bbf02b5015800ef4 memcache-faulty-inline.patch"
+sha256sums="2cae5b423ffbfd33a259829849f6000d4db018debe3e29ecf3056f06642e8311 memcache-3.0.8.tgz
+f0eaec9c3f9715ea1cf7e75f2ae4a7e3558751058a1dc16ebe206e18682faf67 memcache-faulty-inline.patch"
+sha512sums="916c6b21ab7c1021128626c0df35ef0b83cb76b6115fe7c45b003ca4f78ad9484bf3c998bc7ebdee19f84349ff1e56759f74e75aee5bc70b1de9a03c45a99bc3 memcache-3.0.8.tgz
+236e0ae64e64d6874d0f3aa9951b14e6125c88250f5ffa876fa5906473a94fa9d70e95df2e6b9cc52fadcc90b1a3655cbac9dea5300b828ca4f70ca0e6b69ce5 memcache-faulty-inline.patch"
diff --git a/community/php5-memcache/memcache-faulty-inline.patch b/community/php5-memcache/memcache-faulty-inline.patch
new file mode 100644
index 0000000000..b260d02186
--- /dev/null
+++ b/community/php5-memcache/memcache-faulty-inline.patch
@@ -0,0 +1,141 @@
+diff -ru a/memcache_pool.c b/memcache_pool.c
+--- a/memcache_pool.c
++++ b/memcache_pool.c
+@@ -40,7 +40,7 @@
+
+ ZEND_DECLARE_MODULE_GLOBALS(memcache)
+
+-inline void mmc_buffer_alloc(mmc_buffer_t *buffer, unsigned int size) /*
++void mmc_buffer_alloc(mmc_buffer_t *buffer, unsigned int size) /*
+ ensures space for an additional size bytes {{{ */
+ {
+ register size_t newlen;
+@@ -48,7 +48,7 @@
+ }
+ /* }}} */
+
+-inline void mmc_buffer_free(mmc_buffer_t *buffer) /* {{{ */
++void mmc_buffer_free(mmc_buffer_t *buffer) /* {{{ */
+ {
+ if (buffer->value.c != NULL) {
+ smart_str_free(&(buffer->value));
+@@ -1677,7 +1677,7 @@
+ }
+ /* }}} */
+
+-inline int mmc_prepare_key_ex(const char *key, unsigned int key_len, char *result, unsigned int *result_len) /* {{{ */
++int mmc_prepare_key_ex(const char *key, unsigned int key_len, char *result, unsigned int *result_len) /* {{{ */
+ {
+ unsigned int i;
+ if (key_len == 0) {
+@@ -1695,7 +1695,7 @@
+ }
+ /* }}} */
+
+-inline int mmc_prepare_key(zval *key, char *result, unsigned int *result_len) /* {{{ */
++int mmc_prepare_key(zval *key, char *result, unsigned int *result_len) /* {{{ */
+ {
+ if (Z_TYPE_P(key) == IS_STRING) {
+ return mmc_prepare_key_ex(Z_STRVAL_P(key), Z_STRLEN_P(key), result, result_len);
+diff -ru a/memcache_pool.h b/memcache_pool.h
+--- a/memcache_pool.h
++++ b/memcache_pool.h
+@@ -129,8 +129,8 @@
+ #define mmc_buffer_release(b) memset((b), 0, sizeof(*(b)))
+ #define mmc_buffer_reset(b) (b)->value.len = (b)->idx = 0
+
+-inline void mmc_buffer_alloc(mmc_buffer_t *, unsigned int);
+-inline void mmc_buffer_free(mmc_buffer_t *);
++void mmc_buffer_alloc(mmc_buffer_t *, unsigned int);
++void mmc_buffer_free(mmc_buffer_t *);
+
+ /* stream handlers */
+ typedef struct mmc_stream mmc_stream_t;
+@@ -385,8 +385,8 @@
+ double timeval_to_double(struct timeval tv);
+ struct timeval double_to_timeval(double sec);
+
+-inline int mmc_prepare_key_ex(const char *, unsigned int, char *, unsigned int *);
+-inline int mmc_prepare_key(zval *, char *, unsigned int *);
++int mmc_prepare_key_ex(const char *, unsigned int, char *, unsigned int *);
++int mmc_prepare_key(zval *, char *, unsigned int *);
+
+ #define mmc_str_left(h, n, hlen, nlen) ((hlen) >= (nlen) ? memcmp((h), (n), (nlen)) == 0 : 0)
+
+diff -ru a/memcache_queue.c b/memcache_queue.c
+--- a/memcache_queue.c
++++ b/memcache_queue.c
+@@ -26,7 +26,7 @@
+ #include "php.h"
+ #include "memcache_queue.h"
+
+-MMC_QUEUE_INLINE void mmc_queue_push(mmc_queue_t *queue, void *ptr) {
++void mmc_queue_push(mmc_queue_t *queue, void *ptr) {
+ if (mmc_queue_contains(queue, ptr)) return;
+
+ if (queue->len >= queue->alloc) {
+@@ -53,7 +53,7 @@
+ queue->len++;
+ }
+
+-MMC_QUEUE_INLINE void *mmc_queue_pop(mmc_queue_t *queue) {
++void *mmc_queue_pop(mmc_queue_t *queue) {
+ if (queue->len) {
+ void *ptr;
+
+@@ -73,7 +73,7 @@
+ return NULL;
+ }
+
+-MMC_QUEUE_INLINE int mmc_queue_contains(mmc_queue_t *queue, void *ptr) {
++int mmc_queue_contains(mmc_queue_t *queue, void *ptr) {
+ if (queue != NULL) {
+ int i;
+
+@@ -87,14 +87,14 @@
+ return 0;
+ }
+
+-MMC_QUEUE_INLINE void mmc_queue_free(mmc_queue_t *queue) {
++void mmc_queue_free(mmc_queue_t *queue) {
+ if (queue->items != NULL) {
+ efree(queue->items);
+ }
+ memset(queue, 0, sizeof(*queue));
+ }
+
+-MMC_QUEUE_INLINE void mmc_queue_copy(mmc_queue_t *target, mmc_queue_t *source) {
++void mmc_queue_copy(mmc_queue_t *target, mmc_queue_t *source) {
+ if (target->alloc != source->alloc) {
+ target->alloc = source->alloc;
+ target->items = erealloc(target->items, sizeof(*target->items) * target->alloc);
+@@ -106,7 +106,7 @@
+ target->len = source->len;
+ }
+
+-MMC_QUEUE_INLINE void mmc_queue_remove(mmc_queue_t *queue, void *ptr) {
++void mmc_queue_remove(mmc_queue_t *queue, void *ptr) {
+ void *item;
+ mmc_queue_t original = *queue;
+ mmc_queue_release(queue);
+diff -ru a/memcache_queue.h b/memcache_queue.h
+--- a/memcache_queue.h
++++ b/memcache_queue.h
+@@ -43,12 +43,12 @@
+ #define MMC_QUEUE_INLINE inline
+ #endif
+
+-MMC_QUEUE_INLINE void mmc_queue_push(mmc_queue_t *, void *);
+-MMC_QUEUE_INLINE void *mmc_queue_pop(mmc_queue_t *);
+-MMC_QUEUE_INLINE int mmc_queue_contains(mmc_queue_t *, void *);
+-MMC_QUEUE_INLINE void mmc_queue_free(mmc_queue_t *);
+-MMC_QUEUE_INLINE void mmc_queue_copy(mmc_queue_t *, mmc_queue_t *);
+-MMC_QUEUE_INLINE void mmc_queue_remove(mmc_queue_t *, void *);
++extern void mmc_queue_push(mmc_queue_t *, void *);
++extern void *mmc_queue_pop(mmc_queue_t *);
++extern int mmc_queue_contains(mmc_queue_t *, void *);
++extern void mmc_queue_free(mmc_queue_t *);
++extern void mmc_queue_copy(mmc_queue_t *, mmc_queue_t *);
++extern void mmc_queue_remove(mmc_queue_t *, void *);
+
+ #endif /*MEMCACHE_QUEUE_H_*/
diff --git a/community/php5-pear-auth_sasl/APKBUILD b/community/php5-pear-auth_sasl/APKBUILD
new file mode 100644
index 0000000000..6034bd40e9
--- /dev/null
+++ b/community/php5-pear-auth_sasl/APKBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
+_php=php5
+pkgname=${_php}-pear-auth_sasl
+_realname=Auth_SASL
+pkgver=1.0.6
+pkgrel=0
+pkgdesc="Abstraction of various SASL mechanism responses"
+url="http://pear.php.net/package/Auth_SASL"
+arch="noarch"
+license="BSD"
+depends="${_php}-pear"
+makedepends="$depends_dev ${_php}-pear"
+source="http://download.pear.php.net/package/$_realname-$pkgver.tgz"
+builddir="$srcdir"/$_realname-$pkgver
+
+build() {
+ return 0
+}
+
+package() {
+ cd "$builddir"
+
+ mkdir -p "$pkgdir"/usr/share/pear && \
+ cp -R Auth "$pkgdir"/usr/share/pear || return 1
+}
+
+
+md5sums="8ac4a0b7be08998ef1e10741cb5114f9 Auth_SASL-1.0.6.tgz"
+sha256sums="9bea8864466170de6cb2e397b938a585f3d18342dbe052d9f839460df8155ccc Auth_SASL-1.0.6.tgz"
+sha512sums="e2ff9511bf0aadbd1ce054e67b222f2430e31bc81639d18292a22000ca3f88323d14d6110bdf0fb1ae3101b751881550165bda7b896852248d719b1d111347f3 Auth_SASL-1.0.6.tgz"
diff --git a/community/php5-pear-auth_sasl2/APKBUILD b/community/php5-pear-auth_sasl2/APKBUILD
new file mode 100644
index 0000000000..67f5515c10
--- /dev/null
+++ b/community/php5-pear-auth_sasl2/APKBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
+_php=php5
+pkgname=${_php}-pear-auth_sasl2
+_realname=Auth_SASL2
+pkgver=0.1.0
+pkgrel=0
+pkgdesc="Abstraction of various SASL mechanism responses"
+url="http://pear.php.net/package/Auth_SASL2"
+arch="noarch"
+license="BSD"
+depends="${_php}-pear"
+makedepends="$depends_dev ${_php}-pear"
+source="$pkgname-$pkgver.tgz::http://download.pear.php.net/package/$_realname-$pkgver.tgz"
+builddir="$srcdir"/$_realname-$pkgver
+
+build() {
+ return 0
+}
+
+package() {
+ cd "$builddir"
+
+ mkdir -p "$pkgdir"/usr/share/pear && \
+ cp -R Auth "$pkgdir"/usr/share/pear || return 1
+}
+
+
+md5sums="1f070b91ec5528bf686284f923c3ac5c php5-pear-auth_sasl2-0.1.0.tgz"
+sha256sums="709f67cd8963b34bc647803aff3be6e935fa212df2944ddea2184f03693d92cc php5-pear-auth_sasl2-0.1.0.tgz"
+sha512sums="a90186155c7ade8c59d9009dfc18a5e19a9a7aa0b0acec45e6cca807162327937e829ebe2537725b316e7fae5352ed7f2be9753f16f962d7581cbc3cf400fb6b php5-pear-auth_sasl2-0.1.0.tgz"
diff --git a/community/php5-pear-mail_mime/APKBUILD b/community/php5-pear-mail_mime/APKBUILD
new file mode 100644
index 0000000000..aac0ed838c
--- /dev/null
+++ b/community/php5-pear-mail_mime/APKBUILD
@@ -0,0 +1,34 @@
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
+_php=php5
+pkgname=${_php}-pear-mail_mime
+_realname=Mail_Mime
+pkgver=1.8.9
+pkgrel=1
+pkgdesc="Mail_Mime provides classes to create MIME messages"
+url="http://pear.php.net/package/Mail_Mime/"
+arch="noarch"
+license="BSD"
+depends="${_php}-pear"
+makedepends="$depends_dev ${_php}-pear"
+source="http://download.pear.php.net/package/$_realname-$pkgver.tgz"
+builddir="$srcdir"/$_realname-$pkgver
+
+build() {
+ return 0
+}
+
+package() {
+ cd "$builddir"
+
+ mkdir -p "$pkgdir"/usr/share/pear && \
+ cp -R Mail "$pkgdir"/usr/share/pear || return 1
+ mkdir -p "$pkgdir"/usr/share/pear/doc/$_realname && \
+ cp -R scripts "$pkgdir"/usr/share/pear/doc/$_realname || return 1
+ mkdir -p "$pkgdir"/usr/share/pear/test/$_realname && \
+ cp -R tests "$pkgdir"/usr/share/pear/test/$_realname
+}
+
+
+md5sums="ecab1203820997b30b863985175c500e Mail_Mime-1.8.9.tgz"
+sha256sums="afc0c619c6ee1debca595bb8f3677c7158fd65c767fa7e2c98627f1e579928ee Mail_Mime-1.8.9.tgz"
+sha512sums="cb4936c93efedc047d3481b4c8fd8f130d8023271a09c269af7813b37e1d1cfdc9221554b616171ce39359edf5bb6522041f1c53744c4a3c2c9d9882c669b452 Mail_Mime-1.8.9.tgz"
diff --git a/community/php5-pear-mdb2/APKBUILD b/community/php5-pear-mdb2/APKBUILD
new file mode 100644
index 0000000000..895eebe05a
--- /dev/null
+++ b/community/php5-pear-mdb2/APKBUILD
@@ -0,0 +1,66 @@
+# Contributor: Matt Smith <mcs@darkregion.net>
+# Maintainer: Leonardo Arena <rnalrd@gmail.com>
+_php=php5
+pkgname=${_php}-pear-mdb2
+_pkgname=MDB2
+pkgver=2.5.0b5
+_driver_ver=1.5.0b4
+pkgrel=0
+pkgdesc="PEAR MDB2 Database Abstraction Layer"
+url="http://pear.php.net/package/MDB2/"
+arch="noarch"
+license="BSD"
+depends="${_php}-pear"
+depends_dev=
+makedepends="$depends_dev ${_php}-pear"
+install=""
+subpackages="
+ $pkgname-driver-mysql:driver_mysql
+ $pkgname-driver-mysqli:driver_mysqli
+ $pkgname-driver-pgsql:driver_pgsql
+ $pkgname-driver-sqlite:driver_sqlite
+ "
+source=""
+
+build() { return 0; }
+package() { _pear_install $_pkgname-$pkgver "$pkgdir" || return 1; }
+driver_mysql() { _do_driver mysql "mysql ${_php}-mysql" ; }
+driver_mysqli() { _do_driver mysqli "mysql ${_php}-mysqli" ; }
+driver_pgsql() { _do_driver pgsql "postgresql ${_php}-pgsql" ; }
+driver_sqlite() { _do_driver sqlite "${_php}-sqlite3" ; }
+
+
+_pear_install() {
+ local _pear_pkg=$1
+ local _pear_pkg_dir=$2
+
+ pear install --nodeps --packagingroot="$_pear_pkg_dir" $_pear_pkg \
+ || return 1
+
+ _cleanpaths="
+ usr/share/pear/.channels/
+ usr/share/pear/.depdb
+ usr/share/pear/.depdblock
+ usr/share/pear/.filemap
+ usr/share/pear/.lock
+ usr/share/pear/.registry/.channel.__uri/
+ usr/share/pear/.registry/.channel.doc.php.net/
+ usr/share/pear/.registry/.channel.pecl.php.net/
+ "
+ for _cleanpath in $_cleanpaths; do
+ rm -rf "$_pear_pkg_dir"/$_cleanpath || return 1
+ done
+}
+
+_do_driver() {
+ local _driver_name=$1
+
+ # driver dependencies
+ if [ -n "${2-}" ]; then
+ depends="${2-}"
+ fi
+ depends="${pkgname} ${depends}"
+
+ _pear_install ${_pkgname}_Driver_${_driver_name}-${_driver_ver} \
+ "$subpkgdir" || return 1
+}
diff --git a/community/php5-pear-net_idna2/APKBUILD b/community/php5-pear-net_idna2/APKBUILD
new file mode 100644
index 0000000000..ff63f9193b
--- /dev/null
+++ b/community/php5-pear-net_idna2/APKBUILD
@@ -0,0 +1,34 @@
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
+_php=php5
+pkgname=${_php}-pear-net_idna2
+_realname=Net_IDNA2
+pkgver=0.1.1
+pkgrel=1
+pkgdesc="Punycode encoding and decoding"
+url="http://pear.php.net/package/Net_IDNA2/"
+arch="noarch"
+license="LGPL"
+depends="${_php}-pear"
+makedepends=""
+source="http://download.pear.php.net/package/$_realname-$pkgver.tgz"
+builddir="$srcdir"/$_realname-$pkgver
+
+build() {
+ return 0
+}
+
+package() {
+ cd "$builddir"
+
+ mkdir -p "$pkgdir"/usr/share/pear && \
+ cp -R Net "$pkgdir"/usr/share/pear || return 1
+ mkdir -p "$pkgdir"/usr/share/pear/doc/$_realname && \
+ cp -R docs "$pkgdir"/usr/share/pear/doc/$_realname || return 1
+ mkdir -p "$pkgdir"/usr/share/pear/test/$_realname && \
+ cp -R tests "$pkgdir"/usr/share/pear/test/$_realname
+}
+
+
+md5sums="22279b54719a95091f6d23a7fbb03321 Net_IDNA2-0.1.1.tgz"
+sha256sums="6ea0f7f75a9094481f305ac579d7b32f1831e86c8a2fc7d3dc48bd1ebeb0f725 Net_IDNA2-0.1.1.tgz"
+sha512sums="9d4683b59a9b195f882dceb1d97b90f755ffe7a03457dc42c25aee5c242ad1e4a4dfdea9bf04935c63b88e60addde8686abae1b042249ca2d0e12abc1ec58c1f Net_IDNA2-0.1.1.tgz"
diff --git a/community/php5-pear-net_smtp/APKBUILD b/community/php5-pear-net_smtp/APKBUILD
new file mode 100644
index 0000000000..bef9135d53
--- /dev/null
+++ b/community/php5-pear-net_smtp/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
+_php=php5
+pkgname=${_php}-pear-net_smtp
+_pkgreal=Net_SMTP
+pkgver=1.7.2
+pkgrel=0
+pkgdesc="An implementation of the SMTP protocol"
+url="http://pear.php.net/package/Net_SMTP"
+arch="noarch"
+license="PHP"
+depends="${_php}-pear ${_php}-pear-net_socket"
+depends_dev=""
+makedepends="$depends_dev ${_php}-pear"
+install=""
+subpackages=""
+source="http://download.pear.php.net/package/$_pkgreal-$pkgver.tgz"
+
+_builddir="$srcdir"/$_pkgreal-$pkgver
+
+package() {
+ cd "$_builddir"
+ install -d "$pkgdir"/usr/share/pear
+ mv Net "$pkgdir"/usr/share/pear
+}
+
+md5sums="503ab6cdf9ce7dc30b63d43c1a5b2173 Net_SMTP-1.7.2.tgz"
+sha256sums="4ee7ba52d75e26fe033a4241754246db6c0bbc76768be3aac168058a24d3dfbf Net_SMTP-1.7.2.tgz"
+sha512sums="06ab00a033709c5f4adc01fabe100ee0033b07e1c5633f995a672bf463484622a5bd976ada9932ee741ff593d739bd1172566f0a8446060bbccde71ea5b0160d Net_SMTP-1.7.2.tgz"
diff --git a/community/php5-pear-net_socket/APKBUILD b/community/php5-pear-net_socket/APKBUILD
new file mode 100644
index 0000000000..3c34ea8f53
--- /dev/null
+++ b/community/php5-pear-net_socket/APKBUILD
@@ -0,0 +1,25 @@
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Valery Kartel <valery.kartel@gmail.com>
+_php=php5
+pkgname=${_php}-pear-net_socket
+_pkgreal=Net_Socket
+pkgver=1.0.14
+pkgrel=1
+pkgdesc="Network Socket Interface"
+url="http://pear.php.net/package/$_pkgreal"
+arch="noarch"
+license="PHP"
+depends="${_php}-pear"
+makedepends=""
+source="http://download.pear.php.net/package/$_pkgreal-$pkgver.tgz"
+builddir="$srcdir"/$_pkgreal-$pkgver
+
+package() {
+ cd "$builddir"
+ install -d "$pkgdir"/usr/share/pear || return 1
+ mv Net "$pkgdir"/usr/share/pear
+}
+
+md5sums="1ebef37e7bd89b8eab66e9908f9e32e3 Net_Socket-1.0.14.tgz"
+sha256sums="85dd3a1b5e472a7478c9fbe2ebf2f4b7ad042ed5b7c0e000e0f348dc50cd8e5f Net_Socket-1.0.14.tgz"
+sha512sums="2e77580722a5497144ef4f4509574c5720da595ab42e071cd6c87ff5e4c774a9797374d3c3b46c6d1c1d8e42fd9de31b4279f649b9b96045dd8f7d371f38dcb4 Net_Socket-1.0.14.tgz"
diff --git a/community/php5-phalcon/APKBUILD b/community/php5-phalcon/APKBUILD
new file mode 100644
index 0000000000..4d5f843dec
--- /dev/null
+++ b/community/php5-phalcon/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+_php=php5
+pkgname=${_php}-phalcon
+_pkgreal=phalcon
+pkgver=2.0.13
+_pkgver=v$pkgver
+pkgrel=0
+pkgdesc="PHP extension that provides web framework delivered as a C-extension"
+url="https://github.com/$_pkgreal/c$_pkgreal"
+arch="all"
+license="PHP"
+depends="${_php}-pdo ${_php}-json"
+makedepends="${_php}-dev autoconf re2c pcre-dev"
+source="https://github.com/$_pkgreal/c$_pkgreal/archive/$_pkgreal-$_pkgver.tar.gz"
+builddir="$srcdir/c$_pkgreal-$_pkgreal-$_pkgver/build"
+
+prepare() {
+ cd "$builddir"
+ local bits=$(echo '#include <limits.h>' | ${CC:-gcc} -dM -E - | awk '$2 == "LONG_BIT" {print $3}')
+ ln -s ${bits}bits arch
+}
+
+build() {
+ cd "$builddir"/arch
+ phpize || return 1
+ ./configure --prefix=/usr || return 1
+ make || return 1
+}
+
+package() {
+ cd "$builddir"/arch
+ make INSTALL_ROOT="$pkgdir"/ install || return 1
+ install -d "$pkgdir"/etc/php/conf.d || return 1
+ echo "extension=$_pkgreal.so" > "$pkgdir"/etc/php/conf.d/$_pkgreal.ini
+ [ -d "$pkgdir"/usr/include ] && rm -fr "$pkgdir"/usr/include
+ return 0
+}
+
+md5sums="4afa8dacd3badc0e770cde79636d1522 phalcon-v2.0.13.tar.gz"
+sha256sums="0a1bd6afe902c6f2f68cf5e2f2785503f5ad95d1d2cf1b66c77154c483a08a35 phalcon-v2.0.13.tar.gz"
+sha512sums="1e0ebe955e9522d780ada874cce87a7c12ac26dd7ade3847592d63f3b81cb64d7e2a3c9745ecdc50dfb5ea238f470ce2ae2408396c32ecdf915fe6d690c742ff phalcon-v2.0.13.tar.gz"
diff --git a/community/php5-phpmailer/APKBUILD b/community/php5-phpmailer/APKBUILD
new file mode 100644
index 0000000000..731eeb6042
--- /dev/null
+++ b/community/php5-phpmailer/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Timo Teräs <timo.teras@iki.fi>
+# Maintainer: Timo Teräs <timo.teras@iki.fi>
+_php=php5
+pkgname=${_php}-phpmailer
+pkgver=5.2.20
+pkgrel=0
+pkgdesc="PHP class for SMTP mailing"
+url="https://github.com/PHPMailer/PHPMailer"
+arch="noarch"
+license="LGPL"
+depends="$_php"
+depends_dev=
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="$pkgname-$pkgver.tar.gz::https://github.com/PHPMailer/PHPMailer/archive/v$pkgver.tar.gz"
+
+builddir="$srcdir/PHPMailer-$pkgver"
+build() {
+ cd "$builddir"
+}
+
+package() {
+ cd "$builddir"
+ install -d -m755 "$pkgdir"/usr/share/pear
+ install -D -m644 "$builddir"/class.*.php "$pkgdir"/usr/share/pear || return 1
+}
+
+md5sums="9b23523ce070855abfdd79ff06d85afd php5-phpmailer-5.2.20.tar.gz"
+sha256sums="4716acef60503f345323849842f3138a8453c178d3829477553bf1e347664976 php5-phpmailer-5.2.20.tar.gz"
+sha512sums="c8dab5decd5012687b2e1d7a4ce2a3a605a6c3589b1f747960faa6080fb1c65580c1dd0f0cba52fc3735e4cf357c31237b51a6ade00c5dbffc57c27328d15018 php5-phpmailer-5.2.20.tar.gz"
diff --git a/community/php5-xcache/APKBUILD b/community/php5-xcache/APKBUILD
new file mode 100644
index 0000000000..dad01e1d81
--- /dev/null
+++ b/community/php5-xcache/APKBUILD
@@ -0,0 +1,56 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+_php=php5
+pkgname=${_php}-xcache
+pkgver=3.2.0
+pkgrel=1
+pkgdesc="php opcode cacher"
+url="http://xcache.lighttpd.net/"
+arch="all"
+license="BSD"
+depends_dev=""
+makedepends="$depends_dev ${_php}-dev autoconf automake flex bison gawk"
+install=""
+subpackages=""
+source="http://xcache.lighttpd.net/pub/Releases/$pkgver/xcache-$pkgver.tar.gz
+ xcache.ini"
+
+_builddir="$srcdir"/xcache-$pkgver
+
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ phpize --clean && phpize || return 1
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --enable-xcache \
+ --enable-xcache-constant \
+ --enable-xcache-optimizer \
+ --enable-xcache-coverager \
+ || return 1
+ make -j1 || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make -j1 install INSTALL_ROOT="$pkgdir" || return 1
+ install -Dm644 "$srcdir"/xcache.ini \
+ "$pkgdir"/etc/$_php/conf.d/xcache.ini || return 1
+}
+
+md5sums="8b0a6f27de630c4714ca261480f34cda xcache-3.2.0.tar.gz
+8fd9ce537ada9463c4b0c042243158c0 xcache.ini"
+sha256sums="9d7bea91dabb3e0c859195a85562f24c77a5967722753018966beb7a421c6bc0 xcache-3.2.0.tar.gz
+c8c843335028b1da1965ff71b73b42fc4bc45be08bf9ec3f71aff5744a428176 xcache.ini"
+sha512sums="6ba2d857d5fa40deac7ab1dffc3e7aed6e04eff8b2397fdf73f7251c47804958fc44ab5e3cbdf02c02d55b4139dd9747d78e231e4652ba19d093d80a64242b1d xcache-3.2.0.tar.gz
+dc693745177ab1dfcd4e0ae1193ebcedf7d97f4ea222525fa52955be5dd68a50db27cce0c6ef069f9972e79d2cb0f88d6fa27e6e433781312c370e791a64c1cc xcache.ini"
diff --git a/community/php5-xcache/xcache.ini b/community/php5-xcache/xcache.ini
new file mode 100644
index 0000000000..b814dbce11
--- /dev/null
+++ b/community/php5-xcache/xcache.ini
@@ -0,0 +1,3 @@
+;extension=xcache.so
+xcache.size=64M
+xcache.var_size=64M
diff --git a/community/php5/APKBUILD b/community/php5/APKBUILD
new file mode 100644
index 0000000000..c8a9289fe8
--- /dev/null
+++ b/community/php5/APKBUILD
@@ -0,0 +1,521 @@
+# Contributor: Andy Blyler <andy@blyler.cc>
+# Contributor: Łukasz Jendrysik <scadu@yandex.com>
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer: Matt Smith <mcs@darkregion.net>
+pkgname=php5
+pkgver=5.6.30
+pkgrel=0
+pkgdesc="The PHP language runtime engine"
+url="http://www.php.net/"
+arch="all"
+license="PHP-3"
+depends="$pkgname-cli"
+depends_dev="$pkgname-cli pcre-dev"
+install="$pkgname.post-upgrade"
+provides="php"
+makedepends="
+ $depends_dev
+ apache2-dev
+ apr-dev
+ apr-util-dev
+ aspell-dev
+ bzip2-dev
+ curl-dev
+ db-dev
+ enchant-dev
+ expat-dev
+ freetds-dev
+ freetype-dev
+ gdbm-dev
+ gettext-dev
+ gmp-dev
+ icu-dev
+ imap-dev
+ libevent-dev
+ libgcrypt-dev
+ libjpeg-turbo-dev
+ libmcrypt-dev
+ libpng-dev
+ libtool
+ libxml2-dev
+ libxslt-dev
+ mariadb-dev
+ net-snmp-dev
+ openldap-dev
+ libressl-dev
+ postgresql-dev
+ readline-dev
+ sqlite-dev
+ unixodbc-dev
+ zlib-dev
+ autoconf
+ bison
+ "
+subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-common::noarch $pkgname-cgi
+ $pkgname-cli $pkgname-fpm $pkgname-apache2 $pkgname-embed
+ $pkgname-phpdbg
+
+ $pkgname-pear::noarch
+ $pkgname-bcmath
+ $pkgname-bz2
+ $pkgname-calendar
+ $pkgname-ctype
+ $pkgname-curl:_curl
+ $pkgname-dba
+ $pkgname-dom
+ $pkgname-enchant
+ $pkgname-exif
+ $pkgname-ftp
+ $pkgname-gd
+ $pkgname-gettext
+ $pkgname-gmp
+ $pkgname-iconv
+ $pkgname-imap
+ $pkgname-intl
+ $pkgname-json
+ $pkgname-ldap
+ $pkgname-mcrypt
+ $pkgname-mysql
+ $pkgname-mysqli
+ $pkgname-odbc
+ $pkgname-openssl
+ $pkgname-pcntl
+ $pkgname-pdo
+ $pkgname-pdo_mysql
+ $pkgname-pdo_odbc
+ $pkgname-pdo_pgsql
+ $pkgname-pdo_sqlite
+ $pkgname-pgsql
+ $pkgname-phar
+ $pkgname-posix
+ $pkgname-pspell
+ $pkgname-shmop
+ $pkgname-snmp
+ $pkgname-soap
+ $pkgname-sockets
+ $pkgname-sqlite3
+ $pkgname-sysvmsg
+ $pkgname-sysvsem
+ $pkgname-sysvshm
+ $pkgname-xml
+ $pkgname-xmlreader
+ $pkgname-xmlrpc
+ $pkgname-xsl
+ $pkgname-zip
+ $pkgname-zlib
+ $pkgname-mssql
+ $pkgname-pdo_dblib
+ $pkgname-wddx
+ $pkgname-opcache
+ "
+
+source="http://php.net/distributions/php-$pkgver.tar.bz2
+ php-fpm.initd
+ php5-module.conf
+ php-install-pear-xml.patch
+ gd-iconv.patch
+ "
+
+_apiver="20131106"
+_extdir="/usr/lib/$pkgname/modules"
+_srcdir="$srcdir"/php-$pkgver
+_confdir=/etc/$pkgname
+
+# seems like pear hardcode /usr/share/pear directory
+_peardir=/usr/share/pear
+
+prepare() {
+ cd "$_srcdir"
+ update_config_sub
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+
+ # safty check for api changes
+ local vapi=$(sed -n '/#define PHP_API_VERSION/{s/.* //;p}' main/php.h)
+ if [ "$vapi" != "$_apiver" ]; then
+ error "Upstreram API version is now $vapi. Expecting $_vapi"
+ return 1
+ fi
+ autoconf
+}
+
+_do_build() {
+ local _flavor="$1"
+ shift
+ local _builddir="$srcdir"/build-$_flavor
+ mkdir -p "$_builddir"
+ cd "$_builddir"
+ export EXTENSION_DIR=$_extdir
+ export PEAR_INSTALLDIR="$_peardir"
+ "$_srcdir"/configure $@ || return 1
+ sed -ri "s/^(EXTRA_LDFLAGS[ ]*\=.*)/\1 -lpthread/" Makefile # see #183
+ make || return 1
+}
+
+build() {
+ _phpconfig="\
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=$_confdir \
+ --localstatedir=/var \
+ --with-layout=GNU \
+ --with-config-file-path=$_confdir \
+ --with-config-file-scan-dir=$_confdir/conf.d \
+ --enable-inline-optimization \
+ --disable-debug \
+ --disable-rpath \
+ --disable-static \
+ --enable-shared \
+ --mandir=/usr/share/man \
+ --with-pic \
+ "
+
+ _phpextensions=" \
+ --enable-bcmath=shared \
+ --with-bz2=shared \
+ --enable-calendar=shared \
+ --with-cdb \
+ --enable-ctype=shared \
+ --with-curl=shared \
+ --enable-dba=shared \
+ --with-db4=shared \
+ --enable-dom=shared \
+ --with-enchant=shared \
+ --enable-exif=shared \
+ --with-freetype-dir=shared,/usr \
+ --enable-ftp=shared \
+ --with-gd=shared \
+ --enable-gd-native-ttf \
+ --with-gdbm=shared \
+ --with-gettext=shared \
+ --with-gmp=shared \
+ --with-iconv=shared \
+ --with-icu-dir=/usr \
+ --with-imap=shared \
+ --with-imap-ssl=shared \
+ --enable-intl=shared \
+ --with-jpeg-dir=shared,/usr \
+ --enable-json=shared \
+ --with-ldap=shared \
+ --enable-libxml=shared \
+ --enable-mbregex \
+ --enable-mbstring=all \
+ --with-mcrypt=shared \
+ --with-mysql=shared,mysqlnd \
+ --with-mysql-sock=/var/run/mysqld/mysqld.sock \
+ --with-mysqli=shared,mysqlnd \
+ --with-openssl=shared \
+ --with-pcre-regex=/usr \
+ --enable-pcntl=shared \
+ --enable-pdo=shared \
+ --with-pdo-mysql=shared,mysqlnd \
+ --with-pdo-odbc=shared,unixODBC,/usr \
+ --with-pdo-pgsql=shared \
+ --with-pdo-sqlite=shared,/usr \
+ --with-pgsql=shared \
+ --enable-phar=shared \
+ --with-png-dir=shared,/usr \
+ --enable-posix=shared \
+ --with-pspell=shared \
+ --with-regex=php \
+ --enable-session \
+ --enable-shmop=shared \
+ --with-snmp=shared \
+ --enable-soap=shared \
+ --enable-sockets=shared \
+ --with-sqlite3=shared,/usr \
+ --enable-sysvmsg=shared \
+ --enable-sysvsem=shared \
+ --enable-sysvshm=shared \
+ --with-unixODBC=shared,/usr \
+ --enable-xml=shared \
+ --enable-xmlreader=shared \
+ --with-xmlrpc=shared \
+ --with-xsl=shared \
+ --enable-wddx=shared \
+ --enable-zip=shared \
+ --with-zlib=shared \
+ --without-db1 \
+ --without-db2 \
+ --without-db3 \
+ --without-qdbm \
+ --with-mssql=shared \
+ --with-pdo-dblib=shared \
+ --enable-opcache \
+ "
+
+ # cgi, fcgi, cli, pear and extensions
+ _do_build cgi \
+ ${_phpconfig} \
+ --disable-cli \
+ --enable-cgi \
+ --enable-cli \
+ --with-pear \
+ --with-readline \
+ --enable-phpdbg \
+ ${_phpextensions} \
+ || return 1
+
+ # fpm
+ cp -a "$srcdir"/build-cgi "$srcdir"/build-fpm
+ _do_build fpm \
+ ${_phpconfig} \
+ --disable-cli \
+ --enable-fpm \
+ ${_phpextensions} \
+ || return 1
+
+ # apache2
+ cp -a "$srcdir"/build-cgi "$srcdir"/build-apache2
+ _do_build apache2 \
+ ${_phpconfig} \
+ --disable-cli \
+ --with-apxs2 \
+ ${_phpextensions} \
+ || return 1
+
+ # embed
+ cp -a "$srcdir"/build-cgi "$srcdir"/build-embed
+ _do_build embed \
+ ${_phpconfig} \
+ --disable-cli \
+ --enable-embed=shared \
+ ${_phpextensions} \
+ || return 1
+}
+
+package() {
+ cd "$srcdir"/build-cgi
+ # install php-cgi, cli, pear and modules
+ make -j1 install install-pear INSTALL_ROOT="$pkgdir" || return 1
+
+ # cleanup after pear
+ find "$pkgdir" -name '.*' | xargs rm -rf || return 1
+
+ # install embed
+ install -D -m755 "$srcdir"/build-embed/libs/libphp5.so \
+ "$pkgdir"/usr/lib/libphp5.so || return 1
+ install -D -m644 "$_srcdir"/sapi/embed/php_embed.h \
+ "$pkgdir"/usr/include/php/sapi/embed/php_embed.h || return 1
+
+ # Create symlink with version suffix, parallel to php7 package,
+ # to simplify multiversion aports and prepare us for future.
+ local f; for f in php php-cgi php-config phpdbg phpize; do
+ ln -s $f "$pkgdir"/usr/bin/${f}5 || return 1
+ done
+}
+
+dev() {
+ default_dev || return 1
+
+ mkdir -p "$subpkgdir"/usr/lib/php
+ mv "$pkgdir"/usr/lib/php/build \
+ "$subpkgdir"/usr/lib/php/ || return 1
+ mv "$pkgdir"/usr/bin/php-config5 "$subpkgdir"/usr/bin/
+}
+
+doc() {
+ # man pages
+ default_doc || return 1
+ cd "$srcdir"/php-$pkgver
+
+ # doc files
+ _docs="CODING_STANDARDS CREDITS EXTENSIONS INSTALL LICENSE NEWS \
+ UPGRADING UPGRADING.INTERNALS"
+ for _doc in $_docs README.*; do
+ install -Dm644 "$srcdir"/php-$pkgver/$_doc \
+ "$subpkgdir"/usr/share/doc/$pkgname/$_doc || return 1
+ done
+}
+
+common() {
+ pkgdesc="PHP Common Files"
+ depends=""
+
+ cd "$srcdir"/php-$pkgver
+
+ install -D -m644 php.ini-production "$subpkgdir"$_confdir/php.ini
+ sed -ri -e "s:^; extension_dir = \"./\":extension_dir = \"$_extdir\":" \
+ -e 's/;(date.timezone =)/\1 UTC/' \
+ -e "s~^([;]*cgi\.rfc2616_headers.*)$~\1\n\n\; If this is enabled, the PHP CGI binary can safely be placed outside of the\n; web tree and people will not be able to circumvent .htaccess security.\ncgi\.discard_path = 1~" \
+ "$subpkgdir"$_confdir/php.ini
+}
+
+cgi() {
+ pkgdesc="PHP Common Gateway Interface (CGI)"
+ depends="$pkgname-common"
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/php-cgi* "$subpkgdir"/usr/bin/
+}
+
+cli() {
+ pkgdesc="PHP Command Line Interface (CLI)"
+ depends="$pkgname-common"
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/php "$subpkgdir"/usr/bin/ || return 1
+ mv "$pkgdir"/usr/bin/php5 "$subpkgdir"/usr/bin/ || return 1
+ # provide phpize here instead of -dev due to pecl command
+ mv "$pkgdir"/usr/bin/phpize* "$subpkgdir"/usr/bin/ || return 1
+}
+
+fpm() {
+ pkgdesc="PHP FastCGI Process Manager (FPM)"
+ depends="$pkgname-common"
+ mkdir -p "$subpkgdir"$_confdir/fpm.d
+ install -D -m755 "$srcdir"/build-fpm/sapi/fpm/php-fpm \
+ "$subpkgdir"/usr/bin/php-fpm || return 1
+ install -D -m644 "$srcdir"/build-fpm/sapi/fpm/php-fpm.conf \
+ "$subpkgdir"$_confdir/php-fpm.conf || return 1
+ install -D -m755 "$srcdir"/php-fpm.initd "$subpkgdir"/etc/init.d/php-fpm
+ # enable some default options
+ sed -ri -e "s~^;(error_log)(.*)~\1 = /var/log/php-fpm.log~" \
+ -e "s~^;(include)(.*)~\1 = $_confdir/fpm.d/*.conf~" \
+ -e "s/^;(pm.start_servers)/\1/" \
+ -e "s/^;(pm.min_spare_servers)/\1/" \
+ -e "s/^;(pm.max_spare_servers)/\1/" \
+ "$subpkgdir"$_confdir/php-fpm.conf || return 1
+ ln -s php-fpm "$subpkgdir"/usr/bin/php-fpm5
+}
+
+apache2() {
+ pkgdesc="PHP Module for Apache2"
+ depends="$pkgname-common apache2"
+ install -D -m755 "$srcdir"/build-apache2/libs/libphp5.so \
+ "$subpkgdir"/usr/lib/apache2/libphp5.so || return 1
+ install -D -m644 "$srcdir"/php5-module.conf \
+ "$subpkgdir"/etc/apache2/conf.d/php5-module.conf || return 1
+}
+
+embed() {
+ pkgdesc="PHP Embed Library"
+ depends="$pkgname-common"
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/libphp5.so "$subpkgdir"/usr/lib/
+}
+
+pear() {
+ pkgdesc="PHP Extension and Application Repository (PEAR)"
+ depends="$pkgname-cli $pkgname-xml"
+ mkdir -p "$subpkgdir"/usr/share "$subpkgdir"$_confdir \
+ "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/pecl \
+ "$pkgdir"/usr/bin/pear \
+ "$pkgdir"/usr/bin/peardev \
+ "$subpkgdir"/usr/bin/ || return 1
+ mv "$pkgdir"$_confdir/pear.conf \
+ "$subpkgdir"$_confdir/ || return 1
+ mv "$pkgdir"${_peardir} \
+ "$subpkgdir"/usr/share/ || return 1
+}
+
+phpdbg() {
+ pkgdesc="Interactive PHP debugger"
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/phpdbg* "$subpkgdir"/usr/bin/
+}
+
+_mv_ext() {
+ local ext=$1
+ local ini=$ext.ini
+ pkgdesc="${ext} extension for PHP"
+
+ # extension dependencies
+ if [ -n "${2-}" ]; then
+ depends="${2-}"
+ fi
+ depends="${pkgname} ${depends}"
+
+ # work around dependency issue
+ # https://bugs.alpinelinux.org/issues/1848
+ if [ "$ext" = "wddx" ]; then
+ ini=xml_$ext.ini
+ fi
+
+ mkdir -p "$subpkgdir"/$_extdir
+ mv "$pkgdir"/$_extdir/${ext}.so "$subpkgdir"/$_extdir/ || return 1
+ mkdir -p "$subpkgdir"$_confdir/conf.d
+ case "$1" in
+ opcache)
+ echo "zend_extension=${ext}.so" > "$subpkgdir"$_confdir/conf.d/$ini
+ ;;
+ *)
+ echo "extension=${ext}.so" > "$subpkgdir"$_confdir/conf.d/$ini
+ ;;
+ esac
+}
+
+bcmath() { _mv_ext bcmath; }
+bz2() { _mv_ext bz2; }
+calendar() { _mv_ext calendar; }
+ctype() { _mv_ext ctype; }
+_curl() { _mv_ext curl; }
+dba() { _mv_ext dba; }
+dom() { _mv_ext dom; }
+enchant() { _mv_ext enchant; }
+exif() { _mv_ext exif; }
+ftp() { _mv_ext ftp; }
+gd() { _mv_ext gd; }
+gettext() { _mv_ext gettext; }
+gmp() { _mv_ext gmp; }
+iconv() { _mv_ext iconv; }
+imap() { _mv_ext imap; }
+intl() { _mv_ext intl; }
+json() { _mv_ext json; }
+ldap() { _mv_ext ldap; }
+mcrypt() { _mv_ext mcrypt; }
+mysql() { _mv_ext mysql; }
+mysqli() { _mv_ext mysqli; }
+odbc() { _mv_ext odbc unixodbc; }
+openssl() { _mv_ext openssl; }
+pcntl() { _mv_ext pcntl; }
+pdo() { _mv_ext pdo; }
+pdo_mysql() { _mv_ext pdo_mysql $pkgname-pdo; }
+pdo_odbc() { _mv_ext pdo_odbc $pkgname-pdo; }
+pdo_pgsql() { _mv_ext pdo_pgsql $pkgname-pdo; }
+pdo_sqlite() { _mv_ext pdo_sqlite $pkgname-pdo; }
+pgsql() { _mv_ext pgsql; }
+phar() {
+ _mv_ext phar
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/phar* "$subpkgdir"/usr/bin/
+ }
+posix() { _mv_ext posix; }
+pspell() { _mv_ext pspell; }
+shmop() { _mv_ext shmop; }
+snmp() { _mv_ext snmp; }
+soap() { _mv_ext soap; }
+sockets() { _mv_ext sockets; }
+sqlite3() { _mv_ext sqlite3; }
+sysvmsg() { _mv_ext sysvmsg; }
+sysvsem() { _mv_ext sysvsem; }
+sysvshm() { _mv_ext sysvshm; }
+xml() { _mv_ext xml; }
+xmlreader() { _mv_ext xmlreader $pkgname-dom; }
+xmlrpc() { _mv_ext xmlrpc $pkgname-xml; }
+xsl() { _mv_ext xsl $pkgname-dom; }
+zip() { _mv_ext zip; }
+zlib() { _mv_ext zlib; }
+mssql() { _mv_ext mssql; }
+pdo_dblib() { _mv_ext pdo_dblib "$pkgname-pdo freetds"; }
+wddx() { _mv_ext wddx; }
+opcache() { _mv_ext opcache; }
+
+md5sums="67566191957b5fcac8567a5a9bbdced7 php-5.6.30.tar.bz2
+63b16caff0d7aa881a31a1e02f3080c3 php-fpm.initd
+67719f428f44ec004da18705cbabe2ee php5-module.conf
+483bc0a85c50a9a9aedbe14a19ed4526 php-install-pear-xml.patch
+7200972a23adae799921c4ca20ff0074 gd-iconv.patch"
+sha256sums="a105c293fa1dbff118b5b0ca74029e6c461f8c78f49b337a2a98be9e32c27906 php-5.6.30.tar.bz2
+be9bfdab10a994fe553119b181be7015325a7618de454a58bdee06bcfb711454 php-fpm.initd
+ceec4d5b2a128c6a97e49830af604f0bb555bca1a86a9cd0366b828ba392257f php5-module.conf
+f739ca427a1dd53a388bad0823565299c5d4a5796b1171b892884e4d7d099bab php-install-pear-xml.patch
+98de37c650a36870a543225f6a6b81813ccd447a484f0881511be4eb6e901844 gd-iconv.patch"
+sha512sums="12734d786cca5767b8b8838affbe1c3d578dd179c8d5339653d905658562c5fdf39a88349213b1340f320320700a5378aed617447b6e15909019788a49ad2da0 php-5.6.30.tar.bz2
+1f5cb18f85a2e279e24344d993f5c51c7bfbcbecc0e9bfcf075bebd1b0b893e2ffb793d95a632c9333033597d4b4f74840bfd00520a6dc700444d1a054225da1 php-fpm.initd
+895e94c791bd82060ad820fef049d366a09c932097faa6b7b9a2c2e9e00a18cb7c0f9b128679c7659b404379266fd0f95dba5c0333f626194cf60f7bf6044102 php5-module.conf
+f1177cbf6b1f44402f421c3d317aab1a2a40d0b1209c11519c1158df337c8945f3a313d689c939768584f3e4edbe52e8bd6103fb6777462326a9d94e8ab1f505 php-install-pear-xml.patch
+6ecd0be2da1dc5b1d7512e46a2a5cd107a8b2a8c364efc9c624a7d6b2ab081685a329c94c22c970dc14c5c1115f702c512e97ae858da1bc69c6423323dbeeba2 gd-iconv.patch"
diff --git a/community/php5/gd-iconv.patch b/community/php5/gd-iconv.patch
new file mode 100644
index 0000000000..7f7bd0e196
--- /dev/null
+++ b/community/php5/gd-iconv.patch
@@ -0,0 +1,45 @@
+diff --git a/ext/gd/config.m4 b/ext/gd/config.m4
+index e643e52..fc41ab9 100644
+--- a/ext/gd/config.m4
++++ b/ext/gd/config.m4
+@@ -6,6 +6,9 @@ dnl
+ dnl Configure options
+ dnl
+
++PHP_ARG_WITH(iconv-dir, iconv dir for GD and XMLRPC-EPI,
++[ --with-iconv-dir=DIR GD/XMLRPC-EPI: iconv dir for GD/XMLRPC-EPI],no,no)
++
+ PHP_ARG_WITH(gd, for GD support,
+ [ --with-gd[=DIR] Include GD support. DIR is the GD library base
+ install directory [BUNDLED]])
+@@ -329,6 +332,18 @@ dnl enable the support in bundled GD library
+ GDLIB_CFLAGS="$GDLIB_CFLAGS -DJISX0208"
+ fi
+
++ dnl link to iconv if needed
++ if test "$PHP_ICONV_DIR" != "no"; then
++ PHP_ICONV=$PHP_ICONV_DIR
++ fi
++
++ if test -z "$PHP_ICONV" || test "$PHP_ICONV" = "no"; then
++ PHP_ICONV=yes
++ fi
++
++ PHP_SETUP_ICONV(GD_SHARED_LIBADD, [], [
++ AC_MSG_ERROR([iconv not found, in order to build gd you need the iconv library])
++ ])
+ else
+
+ if test "$PHP_GD" != "no"; then
+--- a/ext/xmlrpc/config.m4
++++ b/ext/xmlrpc/config.m4
+@@ -18,9 +18,6 @@
+ PHP_ARG_WITH(libexpat-dir, libexpat dir for XMLRPC-EPI,
+ [ --with-libexpat-dir=DIR XMLRPC-EPI: libexpat dir for XMLRPC-EPI (deprecated)],no,no)
+
+-PHP_ARG_WITH(iconv-dir, iconv dir for XMLRPC-EPI,
+-[ --with-iconv-dir=DIR XMLRPC-EPI: iconv dir for XMLRPC-EPI],no,no)
+-
+ if test "$PHP_XMLRPC" != "no"; then
+
+ PHP_ADD_EXTENSION_DEP(xmlrpc, libxml)
diff --git a/community/php5/php-fpm.initd b/community/php5/php-fpm.initd
new file mode 100644
index 0000000000..9f091e7645
--- /dev/null
+++ b/community/php5/php-fpm.initd
@@ -0,0 +1,93 @@
+#!/sbin/openrc-run
+
+# If you want to run separate master process per pool, then create a symlink
+# to this runscript for each pool. In that mode, the php-fpm daemon is started
+# as nobody by default. You can override the user (and group) by declaring
+# variable "user" and optionally "group" in conf.d file, or in the $fpm_config
+# file (the former has precedence).
+
+: ${name:="PHP FastCGI Process Manager"}
+
+command="/usr/bin/php-fpm"
+command_background="yes"
+start_stop_daemon_args="--quiet"
+pidfile="/run/$RC_SVCNAME/php-fpm.pid"
+retry="SIGTERM/20"
+
+# configtest is here only for backward compatibility
+extra_commands="checkconfig configtest"
+extra_started_commands="reload reopen"
+description_checkconfig="Run php-fpm config check"
+description_reload="Gracefully reload workers and config"
+description_reopen="Reopen log files"
+
+required_files="$fpm_config"
+
+depend() {
+ need net
+ use apache2 lighttpd nginx
+}
+
+init_vars() {
+ # Defaults for single master process with multiple pools
+ if [ "$RC_SVCNAME" = "php-fpm" ]; then
+ : ${fpm_config:="/etc/php5/php-fpm.conf"}
+ : ${user:="root"}
+ # Defaults for master process per pool
+ else
+ : ${fpm_config="/etc/php5/fpm.d/${RC_SVCNAME#php-fpm.}.conf"}
+ : ${user:="$(conf_get user)"}
+ : ${user:="nobody"}
+ : ${group:="$(conf_get group)"}
+ fi
+ command_args="--nodaemonize --fpm-config $fpm_config"
+ start_stop_daemon_args="$start_stop_daemon_args
+ --user $user ${group:+"--group $group"}"
+}
+
+start_pre() {
+ checkconfig || return 1
+
+ # If unix socket is used (instead of TCP/IP), then ensure that the
+ # directory exists and has correct privileges.
+ local listen="$(conf_get listen)"
+ if [ "${listen:0:1}" = "/" ]; then
+ checkpath -d -o $user:$group "$(dirname "$listen")"
+ fi
+
+ checkpath -d "$(dirname "$pidfile")"
+}
+
+reload() {
+ ebegin "Reloading $name"
+ start-stop-daemon --signal USR2 --pidfile "$pidfile"
+ eend $?
+}
+
+reopen() {
+ ebegin "Reopening $name log files"
+ start-stop-daemon --signal USR1 --pidfile "$pidfile"
+ eend $?
+}
+
+checkconfig() {
+ init_vars
+ ebegin "Checking $fpm_config"
+
+ local out
+ out="$(su -s /bin/sh -c "$command --test --fpm-config $fpm_config" $user 2>&1)" || {
+ printf "%s\n" "$out"
+ eend 1 "failed, please correct errors above"
+ return 1
+ }
+}
+
+configtest() {
+ ewarn "configtest is deprecated, use checkconfig instead"
+ checkconfig
+}
+
+conf_get() {
+ local key="$1"
+ sed -nE "s/^${key}\s*=\s*\"?([^\";]+).*/\1/p" "$fpm_config" | head -n 1
+}
diff --git a/community/php5/php-install-pear-xml.patch b/community/php5/php-install-pear-xml.patch
new file mode 100644
index 0000000000..18747be94b
--- /dev/null
+++ b/community/php5/php-install-pear-xml.patch
@@ -0,0 +1,15 @@
+--- ./pear/Makefile.frag.orig 2013-04-12 07:02:27.041602514 +0000
++++ ./pear/Makefile.frag 2013-04-12 07:04:09.065836822 +0000
+@@ -2,8 +2,11 @@
+
+ peardir=$(PEAR_INSTALLDIR)
+
++# help the built php to find xml extension so we can install pear
++PEAR_INSTALL_XML_FLAGS = -d extension_dir="$(top_builddir)/modules" -d extension=xml.so
++
+ # Skip all php.ini files altogether
+-PEAR_INSTALL_FLAGS = -n -dshort_open_tag=0 -dopen_basedir= -derror_reporting=1803 -dmemory_limit=-1 -ddetect_unicode=0
++PEAR_INSTALL_FLAGS = -n -dshort_open_tag=0 -dopen_basedir= -derror_reporting=1803 -dmemory_limit=-1 -ddetect_unicode=0 $(PEAR_INSTALL_XML_FLAGS)
+
+ WGET = `which wget 2>/dev/null`
+ FETCH = `which fetch 2>/dev/null`
diff --git a/community/php5/php5-module.conf b/community/php5/php5-module.conf
new file mode 100644
index 0000000000..9dae61fa81
--- /dev/null
+++ b/community/php5/php5-module.conf
@@ -0,0 +1,5 @@
+LoadModule php5_module modules/libphp5.so
+
+DirectoryIndex index.php index.html
+AddHandler application/x-httpd-php .php
+AddHandler application/x-httpd-php-source .phps
diff --git a/community/php5/php5.post-upgrade b/community/php5/php5.post-upgrade
new file mode 100644
index 0000000000..98c959958c
--- /dev/null
+++ b/community/php5/php5.post-upgrade
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+new=$1
+old=$2
+
+if [ "$(apk version -t $old 5.3)" = "<" ]; then
+ echo "*"
+ echo "* Please see migration notes here: http://php.net/migration53"
+ echo "*"
+fi
+
diff --git a/community/phpldapadmin/APKBUILD b/community/phpldapadmin/APKBUILD
new file mode 100644
index 0000000000..2e01e165f3
--- /dev/null
+++ b/community/phpldapadmin/APKBUILD
@@ -0,0 +1,77 @@
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
+_php=php5
+pkgname=phpldapadmin
+pkgver=1.2.3
+pkgrel=3
+pkgdesc="Web front-end for managing OpenLDAP"
+url="http://phpldapadmin.sourceforge.net"
+arch="noarch"
+license="GPL2"
+depends="${_php} ${_php}-ldap ${_php}-gettext ${_php}-xml"
+depends_dev=
+makedepends="$depends_dev"
+install=
+subpackages=
+source="http://downloads.sourceforge.net/project/$pkgname/$pkgname-php5/$pkgver/$pkgname-$pkgver.tgz
+ $pkgname.additional-template
+ phpldapadmin-1.2.3-force-ssha512.patch
+ phpldapadmin-1.2.3_changed-password_hash-to-pla_password_hash.patch
+ phpldapadmin-1.2.3_fixed-call-to-renamed-function-pla_password_hash.patch
+ phpldapadmin-1.2.3_changed-preg_replace-to-preg_replace-callback.patch
+ phpldapadmin-1.2.3_use-preg_replace_callback.patch
+ "
+
+_builddir="$srcdir"/$pkgname-$pkgver
+
+prepare() {
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch)
+ msg "Applying $i..."
+ if ! patch -s -p1 -N -i "$srcdir"/$i; then
+ echo $i >>failed
+ _patch_failed=1
+ fi
+ ;;
+ esac
+ done
+
+}
+
+build() {
+ cd "$_builddir"
+}
+
+package() {
+ cd "$_builddir"
+ mkdir -p "$pkgdir"/usr/share/webapps/phpldapadmin
+ mkdir -p "$pkgdir"/etc
+ mv * "$pkgdir"/usr/share/webapps/phpldapadmin
+ mv "$pkgdir"/usr/share/webapps/phpldapadmin/config "$pkgdir"/etc/phpldapadmin
+ ln -s /etc/phpldapadmin "$pkgdir"/usr/share/webapps/phpldapadmin/config || return 1
+ install -Dm644 ../$pkgname.additional-template \
+ "$pkgdir"/usr/share/webapps/phpldapadmin/templates/creation/groupOfNames.xml || return 1
+}
+
+md5sums="59a49054039ceb852c2da377d8742360 phpldapadmin-1.2.3.tgz
+3ca4fbf9e16f192b441b51b2d25ecf14 phpldapadmin.additional-template
+34e36e414f59c6ed4946efa1f277f962 phpldapadmin-1.2.3-force-ssha512.patch
+ac802d139e867ecae7e64923ced54741 phpldapadmin-1.2.3_changed-password_hash-to-pla_password_hash.patch
+4037d598cec4261a840e90beda478e35 phpldapadmin-1.2.3_fixed-call-to-renamed-function-pla_password_hash.patch
+231b82f76e2d2359fa3f98079571830b phpldapadmin-1.2.3_changed-preg_replace-to-preg_replace-callback.patch
+445cf7143613f48918972bc9a5fab06f phpldapadmin-1.2.3_use-preg_replace_callback.patch"
+sha256sums="aecaf8c3ce77ba3899dd31ee5ee183555b2f9349eb8e196dcd33d8a3c485ed58 phpldapadmin-1.2.3.tgz
+85e931a84f3fd5e398da24403425b58711c48196ed9692f7a312883a0ed9fae0 phpldapadmin.additional-template
+0cd1d8195ecdc53cde9667bf256d2243d67675ac92547d163a707659df5a3d9a phpldapadmin-1.2.3-force-ssha512.patch
+a5befd05b3332ba37b8778df1505b370c3c84c1494ce9184f3f2ea4cbe99235b phpldapadmin-1.2.3_changed-password_hash-to-pla_password_hash.patch
+d4a8d75f76c8f865caddfe6ded6d9a9a8ee9b9828da021520ffa516a713ac941 phpldapadmin-1.2.3_fixed-call-to-renamed-function-pla_password_hash.patch
+375571b4471cd39173d16bf54417f8ba2b8c66103d652b4a2ab1eaa9e36b8046 phpldapadmin-1.2.3_changed-preg_replace-to-preg_replace-callback.patch
+a9ad83216edde85f5c44514cf152b3532766f6981e17da6b00c7c267b28dd89b phpldapadmin-1.2.3_use-preg_replace_callback.patch"
+sha512sums="58a57ca577586685ebd0d7fde7e299b8945d1693018c7803e19239b79f4b9d72a4d207d53c9f284268e32398108038efafcdb434e634619bfe87db3524d267b6 phpldapadmin-1.2.3.tgz
+913cc89bfba3a24064865f091a3bcc6ec88db0824d750e8b3b1f6497b5ac1a1e158ced895f1f85f93607402e9353798b3dd4ccdbb1454713f96937c884456eb7 phpldapadmin.additional-template
+aecbf3699af4ae39426c6c81edd45a738cdd91f9cfc1e8062ade4b6fa11e7530a8d8b4c2730cd648749b87381dbcca1bbe8681b8e45ec7af50b6b74137f89331 phpldapadmin-1.2.3-force-ssha512.patch
+71a0bc987e526401c72b77b36843868099040654c3435e9c2f5b266a49a27b75b007fd949e9981bcd4b9a678f0edd74e988e66647984c882c57fe8dc99a26849 phpldapadmin-1.2.3_changed-password_hash-to-pla_password_hash.patch
+d238e27ed89e400f467ab8282a67920cd1e72e5f52709d086f6b31708960dc65acafc0fe683887ceff0b78b3aa9631e91e2c57f722d9f7e0f057e0f872ae73a2 phpldapadmin-1.2.3_fixed-call-to-renamed-function-pla_password_hash.patch
+0524112c7a3c591eaf4b3e64de26282a786a2c0fa73f1047084f14c4f9093cf31e1b9a36b7b1736d6c6ae89f9940916d42cbbab7081249abf1a963de588aac63 phpldapadmin-1.2.3_changed-preg_replace-to-preg_replace-callback.patch
+57e1d8d861f84f0934a2275d7ba37621c2c19c71bf2c04db918ccbc6df36eaca60986db2ba6b543356ad55eab8d7850267db1d30677d77c96238821c29b99ac9 phpldapadmin-1.2.3_use-preg_replace_callback.patch"
diff --git a/community/phpldapadmin/phpldapadmin-1.2.3-force-ssha512.patch b/community/phpldapadmin/phpldapadmin-1.2.3-force-ssha512.patch
new file mode 100644
index 0000000000..c69096e7fc
--- /dev/null
+++ b/community/phpldapadmin/phpldapadmin-1.2.3-force-ssha512.patch
@@ -0,0 +1,11 @@
+--- a/lib/functions.php
++++ b/lib/functions.php
+@@ -2147,7 +2147,7 @@
+ if ($_SESSION[APPCONFIG]->getValue('password', 'no_random_crypt_salt'))
+ $new_value = sprintf('{CRYPT}%s',crypt($password_clear,substr($password_clear,0,2)));
+ else
+- $new_value = sprintf('{CRYPT}%s',crypt($password_clear,random_salt(2)));
++ $new_value = sprintf('{CRYPT}%s',crypt($password_clear,'$6$'.random_salt(2)));
+
+ break;
+
diff --git a/community/phpldapadmin/phpldapadmin-1.2.3_changed-password_hash-to-pla_password_hash.patch b/community/phpldapadmin/phpldapadmin-1.2.3_changed-password_hash-to-pla_password_hash.patch
new file mode 100644
index 0000000000..1408c13184
--- /dev/null
+++ b/community/phpldapadmin/phpldapadmin-1.2.3_changed-password_hash-to-pla_password_hash.patch
@@ -0,0 +1,49 @@
+From e673df3ba8d690afbbba28f9ec368e475933efe8 Mon Sep 17 00:00:00 2001
+From: Mohamad Elrashidin Bin Sajeli <archayl@gmail.com>
+Date: Thu, 8 May 2014 20:22:30 +0800
+Subject: [PATCH] Changed password_hash to pla_password_hash
+
+---
+ lib/functions.php | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/lib/functions.php b/lib/functions.php
+index 56d8bf3..ad9ee9f 100644
+--- a/lib/functions.php
++++ b/lib/functions.php
+@@ -2127,7 +2127,7 @@ function password_types() {
+ * crypt, ext_des, md5crypt, blowfish, md5, sha, smd5, ssha, sha512, or clear.
+ * @return string The hashed password.
+ */
+-function password_hash($password_clear,$enc_type) {
++function pla_password_hash($password_clear,$enc_type) {
+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
+ debug_log('Entered (%%)',1,0,__FILE__,__LINE__,__METHOD__,$fargs);
+
+@@ -2318,7 +2318,7 @@ function password_check($cryptedpassword,$plainpassword,$attribute='userpassword
+
+ # SHA crypted passwords
+ case 'sha':
+- if (strcasecmp(password_hash($plainpassword,'sha'),'{SHA}'.$cryptedpassword) == 0)
++ if (strcasecmp(pla_password_hash($plainpassword,'sha'),'{SHA}'.$cryptedpassword) == 0)
+ return true;
+ else
+ return false;
+@@ -2327,7 +2327,7 @@ function password_check($cryptedpassword,$plainpassword,$attribute='userpassword
+
+ # MD5 crypted passwords
+ case 'md5':
+- if( strcasecmp(password_hash($plainpassword,'md5'),'{MD5}'.$cryptedpassword) == 0)
++ if( strcasecmp(pla_password_hash($plainpassword,'md5'),'{MD5}'.$cryptedpassword) == 0)
+ return true;
+ else
+ return false;
+@@ -2392,7 +2392,7 @@ function password_check($cryptedpassword,$plainpassword,$attribute='userpassword
+
+ # SHA512 crypted passwords
+ case 'sha512':
+- if (strcasecmp(password_hash($plainpassword,'sha512'),'{SHA512}'.$cryptedpassword) == 0)
++ if (strcasecmp(pla_password_hash($plainpassword,'sha512'),'{SHA512}'.$cryptedpassword) == 0)
+ return true;
+ else
+ return false;
diff --git a/community/phpldapadmin/phpldapadmin-1.2.3_changed-preg_replace-to-preg_replace-callback.patch b/community/phpldapadmin/phpldapadmin-1.2.3_changed-preg_replace-to-preg_replace-callback.patch
new file mode 100644
index 0000000000..d2fa12a477
--- /dev/null
+++ b/community/phpldapadmin/phpldapadmin-1.2.3_changed-preg_replace-to-preg_replace-callback.patch
@@ -0,0 +1,38 @@
+From b082cf1742b2310d69b2f278f33f6025e2544acb Mon Sep 17 00:00:00 2001
+From: Mohamad Elrashidin Bin Sajeli <archayl@gmail.com>
+Date: Thu, 8 May 2014 20:40:57 +0800
+Subject: [PATCH] Changed preg_replace to preg_replace callback
+
+---
+ lib/functions.php | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/lib/functions.php b/lib/functions.php
+index ad9ee9f..d31e0c1 100644
+--- a/lib/functions.php
++++ b/lib/functions.php
+@@ -2565,12 +2565,22 @@ function dn_unescape($dn) {
+ $a = array();
+
+ foreach ($dn as $key => $rdn)
+- $a[$key] = preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$rdn);
++ $a[$key] = preg_replace_callback('/\\\([0-9A-Fa-f]{2})/',
++ function ($r) {
++ return "''.chr(hexdec('$r[1]')).''";
++ },
++ $rdn
++ );
+
+ return $a;
+
+ } else {
+- return preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$dn);
++ return preg_replace_callback('/\\\([0-9A-Fa-f]{2})/',
++ function ($r) {
++ return "''.chr(hexdec('$r[1]')).''";
++ },
++ $dn
++ );
+ }
+ }
+
diff --git a/community/phpldapadmin/phpldapadmin-1.2.3_fixed-call-to-renamed-function-pla_password_hash.patch b/community/phpldapadmin/phpldapadmin-1.2.3_fixed-call-to-renamed-function-pla_password_hash.patch
new file mode 100644
index 0000000000..af9e73b481
--- /dev/null
+++ b/community/phpldapadmin/phpldapadmin-1.2.3_fixed-call-to-renamed-function-pla_password_hash.patch
@@ -0,0 +1,23 @@
+From c736ecd8c26b360e4764fbd3a472e2fa4b1b3db6 Mon Sep 17 00:00:00 2001
+From: Ivo van der Meer <ivo@crewtty.ath.cx>
+Date: Wed, 4 Jun 2014 10:48:06 +0200
+Subject: [PATCH] Bugfix: fixed call to renamed function pla_password_hash.
+
+---
+ lib/PageRender.php | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/PageRender.php b/lib/PageRender.php
+index 7d86a54..6cc571e 100644
+--- a/lib/PageRender.php
++++ b/lib/PageRender.php
+@@ -287,7 +287,7 @@ protected function getPostAttribute($attribute,$i) {
+ break;
+
+ default:
+- $vals[$i] = password_hash($passwordvalue,$enc);
++ $vals[$i] = pla_password_hash($passwordvalue,$enc);
+ }
+
+ $vals = array_unique($vals);
+
diff --git a/community/phpldapadmin/phpldapadmin-1.2.3_use-preg_replace_callback.patch b/community/phpldapadmin/phpldapadmin-1.2.3_use-preg_replace_callback.patch
new file mode 100644
index 0000000000..60c086d197
--- /dev/null
+++ b/community/phpldapadmin/phpldapadmin-1.2.3_use-preg_replace_callback.patch
@@ -0,0 +1,34 @@
+From 5a7edc892f1b3cccab74ed150f9d6843912a39ee Mon Sep 17 00:00:00 2001
+From: Ben Chavet <ben@chavet.net>
+Date: Thu, 29 May 2014 18:57:44 +0000
+Subject: [PATCH] Use preg_replace_callback instead of /e in preg_replace to
+ fix E_DEPRECATED warnings
+
+---
+ lib/ds_ldap.php | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/lib/ds_ldap.php b/lib/ds_ldap.php
+index c346660..8bc1ef8 100644
+--- a/lib/ds_ldap.php
++++ b/lib/ds_ldap.php
+@@ -1116,13 +1116,14 @@ private function unescapeDN($dn) {
+
+ if (is_array($dn)) {
+ $a = array();
+- foreach ($dn as $key => $rdn)
+- $a[$key] = preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$rdn);
+-
++ foreach ($dn as $key => $rdn) {
++ $a[$key] = preg_replace_callback('/\\\([0-9A-Fa-f]{2})/', function($m) { return "''.chr(hexdec('${m[1]}')).''"; }, $rdn);
++ }
+ return $a;
+
+- } else
+- return preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$dn);
++ } else {
++ return preg_replace_callback('/\\\([0-9A-Fa-f]{2})/', function($m) { return "''.chr(hexdec('${m[1]}')).''"; }, $dn);
++ }
+ }
+
+ public function getRootDSE($method=null) {
diff --git a/community/phpldapadmin/phpldapadmin.additional-template b/community/phpldapadmin/phpldapadmin.additional-template
new file mode 100644
index 0000000000..1a1b3a8f50
--- /dev/null
+++ b/community/phpldapadmin/phpldapadmin.additional-template
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE template SYSTEM "template.dtd">
+<template>
+<title>User Group</title>
+<!-- <regexp>^ou=.*,</regexp> -->
+<icon>images/ou.png</icon>
+<description>New groupOfNames</description>
+<askcontainer>1</askcontainer>
+<rdn>cn</rdn>
+<visible>1</visible>
+
+<objectClasses>
+<objectClass id="groupOfNames"></objectClass>
+</objectClasses>
+
+<attributes>
+<attribute id="cn">
+ <display>Group</display>
+ <order>1</order>
+ <page>1</page>
+</attribute>
+<attribute id="member">
+ <display>member</display>
+ <hint></hint>
+ <order>2</order>
+ <page>1</page>
+ <spacer>1</spacer>
+</attribute>
+<attribute id="memberUid">
+ <array>10</array>
+ <display>Users</display>
+ <helper>
+ <location>side</location>
+<!-- <value>=php.DrawChooserLink(memberUid,0)</value> -->
+ </helper>
+ <hidden>0</hidden>
+ <order>3</order>
+ <page>1</page>
+</attribute>
+</attributes>
+</template>
diff --git a/community/roundcubemail/APKBUILD b/community/roundcubemail/APKBUILD
new file mode 100644
index 0000000000..2021ef36fe
--- /dev/null
+++ b/community/roundcubemail/APKBUILD
@@ -0,0 +1,80 @@
+# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+_php=php5
+pkgname=roundcubemail
+pkgver=1.2.4
+pkgrel=0
+pkgdesc="A PHP web-based mail client"
+url="http://www.roundcube.net"
+arch="noarch"
+license="GPL3+"
+install="$pkgname.post-upgrade"
+depends="${_php} ${_php}-imap ${_php}-xml ${_php}-json ${_php}-dom
+ ${_php}-exif ${_php}-pear-net_idna2 ${_php}-pear-mail_mime
+ ${_php}-pear-net_smtp ${_php}-pear-auth_sasl ${_php}-openssl"
+makedepends=""
+subpackages="$pkgname-installer $pkgname-doc"
+source="https://github.com/roundcube/$pkgname/releases/download/$pkgver/${pkgname}-$pkgver.tar.gz
+ fix-dirs.patch"
+
+_src="$srcdir"/roundcubemail-$pkgver
+
+prepare() {
+ cd "$_src"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+
+ # fix permissions
+ find . -type f -print | xargs chmod a-x
+ # remove .htaccess
+ find . -name \.htaccess -print | xargs rm -f
+
+ # fixup paths to use the right paths
+ sed -i -e 's|temp/|/tmp/|' \
+ -e 's|config/|/etc/roundcube/|' \
+ -e 's|logs/|/var/log/roundcube/|' \
+ config/defaults.inc.php || return 1
+
+ # cleanup
+ sed -i 's/\r//' SQL/mssql.initial.sql
+ rm -rf logs temp
+}
+
+build() {
+ return 0
+}
+
+package() {
+ _instdir="$pkgdir"/usr/share/webapps/roundcube
+ mkdir -p "${_instdir}"
+ cd "${_instdir}"
+ cp -rp "$srcdir"/roundcubemail-$pkgver/* .
+ # install config in /etc/roundcube so config files are not overwritten
+ # on upgrades
+ mkdir -p "$pkgdir"/etc/
+ mv config "$pkgdir"/etc/roundcube
+
+ install -d "$pkgdir"/var/log/roundcube
+ mkdir -p "$pkgdir"/usr/share/doc/roundcube
+ mkdir -p "$pkgdir"/usr/share/licenses/roundcube
+ for file in CHANGELOG INSTALL README.md UPGRADING
+ do
+ mv "$pkgdir"/usr/share/webapps/roundcube/$file \
+ "$pkgdir"/usr/share/doc/roundcube || return 1
+ done
+ mv "$pkgdir"/usr/share/webapps/roundcube/LICENSE \
+ "$pkgdir"/usr/share/licenses/roundcube || return 1
+}
+
+installer() {
+ pkgdesc="Roundcubemail installer script"
+ mkdir -p "$subpkgdir"/usr/share/webapps/roundcube
+ mv "$pkgdir"/usr/share/webapps/roundcube/installer \
+ "$subpkgdir"/usr/share/webapps/roundcube
+}
+
+sha512sums="299ab90d6dba9325efdea2e0498e4345e13c78fd8b85e0848827e5127e4cf210e66327ad264f5609373d9de2237cf396907dcb9cc2901c13e18899e4233a3c77 roundcubemail-1.2.4.tar.gz
+5c645ab7f130f8f3b17b7821e2cd0be88b6d7999da38876bde36c9b116bf7d34bcf52e2d8939d9359649e3fc5ddfb1cab7798ffb9e649be11bebd1d2c4ee006b fix-dirs.patch"
diff --git a/community/roundcubemail/fix-dirs.patch b/community/roundcubemail/fix-dirs.patch
new file mode 100644
index 0000000000..e4a537700d
--- /dev/null
+++ b/community/roundcubemail/fix-dirs.patch
@@ -0,0 +1,22 @@
+--- a/installer/index.php
++++ b/installer/index.php
+@@ -41,7 +41,7 @@
+
+ define('INSTALL_PATH', realpath(dirname(__FILE__) . '/../').'/');
+ define('RCUBE_INSTALL_PATH', INSTALL_PATH);
+-define('RCUBE_CONFIG_DIR', INSTALL_PATH . 'config/');
++define('RCUBE_CONFIG_DIR', '/etc/roundcube');
+
+ $include_path = INSTALL_PATH . 'program/lib' . PATH_SEPARATOR;
+ $include_path .= INSTALL_PATH . 'program/include' . PATH_SEPARATOR;
+--- a/program/include/iniset.php
++++ b/program/include/iniset.php
+@@ -44,7 +44,7 @@
+ }
+
+ if (!defined('RCMAIL_CONFIG_DIR')) {
+- define('RCMAIL_CONFIG_DIR', INSTALL_PATH . 'config');
++ define('RCMAIL_CONFIG_DIR', '/etc/roundcube');
+ }
+
+ if (!defined('RCUBE_LOCALIZATION_DIR')) {
diff --git a/community/roundcubemail/roundcubemail.post-upgrade b/community/roundcubemail/roundcubemail.post-upgrade
new file mode 100644
index 0000000000..a6282906a0
--- /dev/null
+++ b/community/roundcubemail/roundcubemail.post-upgrade
@@ -0,0 +1,47 @@
+#!/bin/sh
+
+# move existing config in /usr/share/webapps/roundcube/config to
+# /etc/roundcube and create a symlink in /usr/share/webapps/roundcube that
+# points to /etc/roundcube dir.
+
+# if we did this in pre-upgrade, apk would delete
+# /usr/share/webapps/roundcube/config/* which would actually point to
+# /etc/roundcube due to symlink. oups!
+
+if [ -L /usr/share/webapps/roundcube/config.apk-new ] && \
+ [ -d /usr/share/webapps/roundcube/config ]; then
+ mkdir -p /etc/roundcube
+ # if configs were unmodified they are deleted by apk
+ # so we check if they exist before trying to move anything
+ for i in /usr/share/webapps/roundcube/config/* \
+ /usr/share/webapps/roundcube/config/.[A-z]*; do
+ if [ -f "$i" ]; then
+ mv "$i" /etc/roundcube
+ fi
+ done
+ rmdir /usr/share/webapps/roundcube/config
+ mv /usr/share/webapps/roundcube/config.apk-new \
+ /usr/share/webapps/roundcube/config
+fi
+
+# logs and temp moved
+if [ -d /usr/share/webapps/roundcube/logs ]; then
+ mv /usr/share/webapps/roundcube/logs/* \
+ /var/log/roundcube/
+
+ # clone permissions
+ chown $(stat -c %U:%G /usr/share/webapps/roundcube/logs) \
+ /var/log/roundcube
+fi
+
+if [ -d /usr/share/webapps/roundcube/temp ]; then
+ mv /usr/share/webapps/roundcube/temp/* \
+ /tmp/
+fi
+
+# display info about upgrade
+echo "*" >&2
+echo -e "* Please read /usr/share/doc/roundcube/UPGRADE\n\
+* in roundcubemail-doc package for schema or config update" >&2
+echo "*" >&2
+exit 0
diff --git a/community/roundcubemail/roundcubemail.pre-upgrade b/community/roundcubemail/roundcubemail.pre-upgrade
new file mode 100644
index 0000000000..1d44a87034
--- /dev/null
+++ b/community/roundcubemail/roundcubemail.pre-upgrade
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+if [ -d /usr/share/webapps/roundcube/config ]; then
+ mkdir -p /etc
+ mv /usr/share/webapps/roundcube/config /etc/roundcube
+fi
+
diff --git a/community/zabbix/APKBUILD b/community/zabbix/APKBUILD
new file mode 100644
index 0000000000..e0f148d734
--- /dev/null
+++ b/community/zabbix/APKBUILD
@@ -0,0 +1,201 @@
+# Contributor: Łukasz Jendrysik <scadu@yandex.com>
+# Contributor: Jeff Bilyk <jbilyk at gmail>
+# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=zabbix
+pkgver=3.2.4
+pkgrel=1
+pkgdesc="Enterprise-class open source distributed monitoring"
+url="http://www.zabbix.com"
+arch="all"
+license="GPL"
+depends="fping"
+_php=php5
+_php_depends="$_php ${_php}-gd ${_php}-curl ${_php}-bcmath ${_php}-sockets
+ ${_php}-iconv ${_php}-xmlreader ${_php}-ctype ${_php}-gettext"
+makedepends="postgresql-dev curl-dev net-snmp-dev
+ sqlite-dev mariadb-dev curl-dev openipmi-dev unixodbc-dev
+ libxml2-dev autoconf automake libssh2-dev gnutls-dev
+ $_php_depends"
+install="$pkgname.pre-install"
+pkgusers="zabbix"
+pkggroups="zabbix"
+subpackages="$pkgname-doc $pkgname-agent $pkgname-pgsql $pkgname-mysql
+ $pkgname-webif::noarch $pkgname-sqlite $pkgname-utils $pkgname-setup::noarch"
+source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz
+ zabbix-getloadavg.patch
+ automake.patch
+ musl-fix-includes.patch
+ zabbix-server.initd
+ zabbix-server.confd
+ zabbix-agentd.initd
+ zabbix-proxy.initd
+ zabbix_server.conf.patch
+ "
+
+_builddir="$srcdir"/$pkgname-$pkgver
+
+# security fixes:
+# 3.0.4-r0:
+# - CVE N/A ZBX-11023
+
+prepare() {
+ cd "$_builddir"
+ # update_config_sub || return 1
+ for i in $source; do
+ case $i in
+ *eglibc*.patch)
+ if [ "$CLIBC" == "eglibc" ]; then
+ msg "Applying $i"
+ patch -p1 -i "$srcdir"/$i || return 1
+ fi
+ ;;
+ *.patch)
+ msg "Applying $i"
+ patch -p1 -i "$srcdir"/$i || return 1
+ ;;
+ esac
+ done
+ aclocal -I m4 && autoconf && autoheader \
+ && automake --add-missing || return 1
+ # update_config_sub
+ # Fix config file locations
+ for file in server agentd proxy; do
+ sed -i "$_builddir"/conf/zabbix_${file}.conf \
+ -e 's|SNMPTrapperFile=/tmp|SNMPTrapperFile=/var/log/zabbix|' \
+ -e 's|PidFile=/tmp|PidFile=/var/run/zabbix|' \
+ -e 's|LogFile=/tmp|LogFile=/var/log/zabbix|' || return 1
+ done
+}
+
+build() {
+ # set default configure flags
+ _configure="--prefix=/usr \
+ --sysconfdir=/etc/zabbix \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --enable-server \
+ --enable-agent \
+ --enable-proxy \
+ --enable-ipv6 \
+ --with-net-snmp \
+ --with-libcurl \
+ --with-libxml2 \
+ --with-openipmi \
+ --with-unixodbc \
+ --with-ssh2 \
+ --with-gnutls
+ "
+ # we run build for each db type
+ # make sure prepare is same for each db
+ for db in postgresql mysql sqlite3; do
+ cd "$srcdir"
+ msg "Building for $db"
+ cp -r "$pkgname-$pkgver" "$pkgname-$pkgver-$db"
+ cd "$_builddir-$db"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --with-$db \
+ $_configure \
+ || return 1
+ make || return 1
+ done
+}
+
+package() {
+ # doing manual install
+ for i in agentd proxy server; do
+ install -D -m755 "$_builddir"/man/zabbix_$i.man \
+ "$pkgdir"/usr/share/man/man8/zabbix_$i.8
+ done
+ for i in get sender; do
+ install -D -m755 "$_builddir"/man/zabbix_$i.man \
+ "$pkgdir"/usr/share/man/man1/zabbix_$i.1
+ done
+ install -d -m0750 -o zabbix -g zabbix \
+ "$pkgdir"/var/run/zabbix "$pkgdir"/var/log/zabbix
+ install -D -m0644 "$_builddir"/conf/zabbix_server.conf \
+ "$pkgdir"/etc/zabbix/zabbix_server.conf
+ for i in server proxy; do
+ install -D -m0755 "$srcdir"/zabbix-$i.initd \
+ "$pkgdir"/etc/init.d/zabbix-$i || return 1
+ done
+ install -D -m0644 "$srcdir"/zabbix-server.confd \
+ "$pkgdir"/etc/conf.d/zabbix-server || return 1
+}
+
+setup() {
+ pkgdesc="Zabbix images and sql files"
+ depends=
+ mkdir -p "$subpkgdir"/usr/share/zabbix/ || return 1
+ mv "$_builddir"/database "$subpkgdir"/usr/share/zabbix/
+}
+
+_do_db() {
+ pkgdesc="Zabbix server with $1 database support"
+ depends="$pkgname $2"
+ local i=
+ mkdir -p "$subpkgdir"/usr/sbin
+ mv "$_builddir-$1"/src/zabbix_server/zabbix_server \
+ "$subpkgdir"/usr/sbin/ || return 1
+ mv "$_builddir-$1"/src/zabbix_proxy/zabbix_proxy \
+ "$subpkgdir"/usr/sbin/ || return 1
+ install -D -m0644 "$_builddir"/conf/zabbix_proxy.conf \
+ "$pkgdir"/etc/zabbix/zabbix_proxy.conf || return 1
+ cd "$_builddir"
+ for i in upgrades/dbpatches/*/$1; do
+ [ -e $i ] || continue
+ mkdir -p "$subpkgdir"/usr/share/zabbix/${i%/*}
+ mv "$i" "$subpkgdir"/usr/share/zabbix/$i
+ done
+ return 0
+}
+
+pgsql() { _do_db postgresql "!$pkgname-mysql !$pkgname-sqlite";}
+mysql() { _do_db mysql "!$pkgname-pgsql !$pkgname-sqlite";}
+sqlite(){ _do_db sqlite3 "!$pkgname-pgsql !$pkgname-mysql";}
+
+utils() {
+ pkgdesc="Zabbix client utilities"
+ depends=
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$_builddir-postgresql"/src/zabbix_get/zabbix_get \
+ "$subpkgdir"/usr/bin
+ mv "$_builddir-postgresql"/src/zabbix_sender/zabbix_sender \
+ "$subpkgdir"/usr/bin
+}
+
+webif() {
+ pkgdesc="Zabbix web-interface"
+ depends="$_php_depends"
+ _wwwdir="$subpkgdir"/usr/share/webapps/zabbix
+ mkdir -p $_wwwdir
+ mv "$_builddir"/frontends/php/* "$_wwwdir"
+}
+
+agent() {
+ pkgdesc="Zabbix Network Monitoring Agent"
+ depends=
+ install="$subpkgname.pre-install"
+ install -d -m0750 -o zabbix -g zabbix \
+ "$subpkgdir"/var/run/zabbix "$subpkgdir"/var/log/zabbix
+ install -D -m0644 "$_builddir"/conf/zabbix_agentd.conf \
+ "$subpkgdir"/etc/zabbix/zabbix_agentd.conf
+ install -D -m0755 "$srcdir"/zabbix-agentd.initd \
+ "$subpkgdir"/etc/init.d/zabbix-agentd
+ mkdir -p "$subpkgdir"/usr/sbin
+ mv "$_builddir-postgresql"/src/zabbix_agent/zabbix_agentd \
+ "$subpkgdir"/usr/sbin/
+
+}
+
+sha512sums="62e532bcf6a5ab82b1f943e28d46d1e64782758a405680d2c1a54e9c1092a340a50987045acbbad2b57439e3c2640d8a11fe1a29a234764859befa6a7fd779d1 zabbix-3.2.4.tar.gz
+b65c6ba7701d98ae7f6fe2124c1d2b8b8fea3c3cc7ee080bf99f5afff0aaa6a025c2a1f5136b4700b53d1b7609e6185642650d7edd013c554b2af37fddae771c zabbix-getloadavg.patch
+9bff8966cb8b3f1767bfb1b3f3529bca5c9957f2c8179a40ded3b4e43615ba9fb408aef43092fd119b7df80b042555d05c9780fac3760176b95524aa48252fee automake.patch
+9b87ec1ea4a9cbb501c16012d498cdae82a696f4cd495e1e8cb201d9e31c6e135da5bb264c6273f2de87297bd3e4bd16f66703610686f5d610e3316ee24aac91 musl-fix-includes.patch
+3a25bf9f428f55545dd735aea2855e0e4927e006ca01a2f918ec161ffe9b2ec66e46598bf34208e24535e1d04e33087f42eb8226b17eb4118abd6507bbb10ff5 zabbix-server.initd
+a91821c6086a1fc0197750cc68073419defcb7d775b11b14a993409a8f61c7a1a0a0af95de27eed9f3b8357f8362640cb1b26b91b56f4f1d714ca6f222d02b80 zabbix-server.confd
+7cc2672b717f1b47b12342fe225e9dc3838c61a0bf81d359d0a71efb0adc9b354fb8bc8b5bb64c9defa5700bcaf651b35778194a50b6b03b0a723dce76460092 zabbix-agentd.initd
+e19490e724c6e4ecdadf7ee3898567b82f18ea2a894ef709bfc181c3076d50435b45429207dd4d537aacbec0242d83393240e48b434d9681ebb0d67a45643ed1 zabbix-proxy.initd
+e0c9f937d39e15fa34e70e8ae9e6578b221b51c13dc0515e807675d153a85ab6370ed20ce2d06aa4457baaf3963edce525cd00e85fb105b36b58741798d13836 zabbix_server.conf.patch"
diff --git a/community/zabbix/automake.patch b/community/zabbix/automake.patch
new file mode 100644
index 0000000000..d92e10b077
--- /dev/null
+++ b/community/zabbix/automake.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -27,7 +27,7 @@
+
+ AC_PROG_MAKE_SET
+
+-AM_CONFIG_HEADER(include/config.h)
++AC_CONFIG_HEADER(include/config.h)
+
+ AC_CANONICAL_HOST
+
diff --git a/community/zabbix/musl-fix-includes.patch b/community/zabbix/musl-fix-includes.patch
new file mode 100644
index 0000000000..c36759dcde
--- /dev/null
+++ b/community/zabbix/musl-fix-includes.patch
@@ -0,0 +1,13 @@
+--- zabbix-2.2.1.orig/include/sysinc.h
++++ zabbix-2.2.1/include/sysinc.h
+@@ -126,10 +126,6 @@
+ # include <sys/times.h>
+ #endif
+
+-#ifdef HAVE_LINUX_KERNEL_H
+-# include <linux/kernel.h>
+-#endif
+-
+ #ifdef HAVE_ARPA_NAMESER_H
+ #ifdef MAC_OS_X
+ # define BIND_8_COMPAT 1
diff --git a/community/zabbix/zabbix-agent.pre-install b/community/zabbix/zabbix-agent.pre-install
new file mode 100644
index 0000000000..9cc2bfb908
--- /dev/null
+++ b/community/zabbix/zabbix-agent.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S zabbix 2>/dev/null
+adduser -S -D -H -h /dev/null -s /sbin/nologin -G zabbix -g zabbix zabbix 2>/dev/null
+
+exit 0
diff --git a/community/zabbix/zabbix-agentd.initd b/community/zabbix/zabbix-agentd.initd
new file mode 100644
index 0000000000..5b49535a59
--- /dev/null
+++ b/community/zabbix/zabbix-agentd.initd
@@ -0,0 +1,33 @@
+#!/sbin/openrc-run
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/zabbix/files/1.6.6/init.d/zabbix-agentd,v 1.1 2009/10/05 15:55:23 patrick Exp $
+
+# ensure the same file is specified as PidFile in /etc/zabbix/zabbix_agentd.conf
+pidfile=/var/run/zabbix/zabbix_agentd.pid
+user=zabbix
+group=zabbix
+
+start_pre() {
+ checkpath --owner ${user}:${group} --directory ${pidfile%/*}
+}
+
+
+depend() {
+ need net
+ provide zabbix-agent
+ use zabbix-server
+}
+
+start() {
+ ebegin "Starting Zabbix agent"
+ start-stop-daemon --pidfile ${pidfile} --start --user ${user}:${group} --exec /usr/sbin/zabbix_agentd
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Zabbix agent"
+ start-stop-daemon --stop --user ${user} --pidfile ${pidfile}
+ eend $?
+}
+
diff --git a/community/zabbix/zabbix-getloadavg.patch b/community/zabbix/zabbix-getloadavg.patch
new file mode 100644
index 0000000000..c6a458e1b4
--- /dev/null
+++ b/community/zabbix/zabbix-getloadavg.patch
@@ -0,0 +1,31 @@
+--- a/src/libs/zbxsysinfo/linux/cpu.c
++++ b/src/libs/zbxsysinfo/linux/cpu.c
+@@ -21,6 +21,28 @@
+ #include "sysinfo.h"
+ #include "stats.h"
+
++#ifndef HAVE_GETLOADAVG
++/*! \brief Alternative method of getting load avg on Linux only */
++int getloadavg(double *list, int nelem)
++{
++ FILE *LOADAVG;
++ double avg[3] = { 0.0, 0.0, 0.0 };
++ int i, res = -1;
++
++ if ((LOADAVG = fopen("/proc/loadavg", "r"))) {
++ fscanf(LOADAVG, "%lf %lf %lf", &avg[0], &avg[1], &avg[2]);
++ res = 0;
++ fclose(LOADAVG);
++ }
++
++ for (i = 0; (i < nelem) && (i < 3); i++) {
++ list[i] = avg[i];
++ }
++
++ return res;
++}
++#endif
++
+ int SYSTEM_CPU_NUM(AGENT_REQUEST *request, AGENT_RESULT *result)
+ {
+ char *type;
diff --git a/community/zabbix/zabbix-proxy.initd b/community/zabbix/zabbix-proxy.initd
new file mode 100644
index 0000000000..619596415e
--- /dev/null
+++ b/community/zabbix/zabbix-proxy.initd
@@ -0,0 +1,21 @@
+#!/sbin/openrc-run
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/zabbix/files/1.6.6/init.d/zabbix-proxy,v 1.1 2009/10/06 16:24:35 patrick Exp $
+
+depend() {
+ need net
+ #use mysql postgresql
+}
+
+start() {
+ ebegin "Starting Zabbix proxy"
+ start-stop-daemon --start --user zabbix:zabbix --exec /usr/sbin/zabbix_proxy
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Zabbix proxy"
+ start-stop-daemon --stop --user zabbix --pidfile /var/run/zabbix/zabbix_proxy.pid
+ eend $?
+}
diff --git a/community/zabbix/zabbix-server.confd b/community/zabbix/zabbix-server.confd
new file mode 100644
index 0000000000..3cc9996400
--- /dev/null
+++ b/community/zabbix/zabbix-server.confd
@@ -0,0 +1,2 @@
+pidfile="/var/run/zabbix/zabbix_server.pid"
+command="/usr/sbin/zabbix_server"
diff --git a/community/zabbix/zabbix-server.initd b/community/zabbix/zabbix-server.initd
new file mode 100644
index 0000000000..c2697cba4d
--- /dev/null
+++ b/community/zabbix/zabbix-server.initd
@@ -0,0 +1,11 @@
+#!/sbin/openrc-run
+
+depend() {
+ need net
+ use mysql postgresql
+ after firewall
+}
+
+start_pre() {
+ checkpath -d -m 0775 -o zabbix:zabbix /var/run/zabbix
+}
diff --git a/community/zabbix/zabbix.pre-install b/community/zabbix/zabbix.pre-install
new file mode 100644
index 0000000000..9cc2bfb908
--- /dev/null
+++ b/community/zabbix/zabbix.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S zabbix 2>/dev/null
+adduser -S -D -H -h /dev/null -s /sbin/nologin -G zabbix -g zabbix zabbix 2>/dev/null
+
+exit 0
diff --git a/community/zabbix/zabbix_server.conf.patch b/community/zabbix/zabbix_server.conf.patch
new file mode 100644
index 0000000000..44c22f114f
--- /dev/null
+++ b/community/zabbix/zabbix_server.conf.patch
@@ -0,0 +1,11 @@
+--- a/conf/zabbix_server.conf
++++ b/conf/zabbix_server.conf
+@@ -56,7 +56,7 @@
+ #
+ # Mandatory: no
+ # Default:
+-# PidFile=/tmp/zabbix_server.pid
++PidFile=/tmp/zabbix_server.pid
+
+ ### Option: DBHost
+ # Database host name.