diff options
Diffstat (limited to 'pcr/statusnet/PKGBUILD')
-rw-r--r-- | pcr/statusnet/PKGBUILD | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/pcr/statusnet/PKGBUILD b/pcr/statusnet/PKGBUILD new file mode 100644 index 000000000..998751df5 --- /dev/null +++ b/pcr/statusnet/PKGBUILD @@ -0,0 +1,131 @@ +# Contributor: fauno <fauno@kiwwwi.com.ar> +pkgbase=statusnet +pkgname=statusnet-base +pkgver=0.9.9 + +# find available plugins and locales +srcfile=${SRCDEST}/${pkgbase}-${pkgver}.tar.gz +if [ -e ${srcfile} ]; then +plugins=($(bsdtar -tf ${srcfile} \ + ${pkgbase}-${pkgver}/plugins | \ + cut -d'/' -f3 | sort -u)) +locales=($(bsdtar -tf ${srcfile} \ + ${pkgbase}-${pkgver}/locale | \ + cut -d'/' -f3 | sort -u)) +fi + +# looping avoids having "statusnet-plugin-" package +pkgname=(${pkgname} + $(for plugin in ${plugins[@]}; do + echo ${plugin} | tr [A-Z] [a-z] | \ + sed "s/^/statusnet-plugin-/" + done) + $(for locale in ${locales[@]}; do + echo ${locale} | tr [A-Z] [a-z] | \ + sed "s/^/statusnet-i18n-/" + done)) +pkgrel=1 +arch=('any') +pkgdesc="StatusNet is a Free and Open Source microblogging platform." +url="http://status.net" +license=('AGPL') +depends=('php>=5.2.3' 'mysql>=5' 'php-gd' 'php-curl' 'php-gmp') +source=("http://status.net/${pkgbase}-${pkgver}.tar.gz" + statusnet.install) +install=statusnet.install +md5sums=('766c9d42825fc99d8ad6c554a959568b' + 'c638cb36b7da7eb67a67e031f59e6068') +options=(!strip !zipman emptydirs) + +build() { + /bin/true +} + +package_statusnet-base() { + provides=('statusnet') + optdepends=('memcache: for caching database queries' + 'php-xcache: for accelerating PHP code execution' + 'php-apc: for accelerating PHP code execution' + 'php-ldap: for the LDAP plugin' + 'statusnet-plugin-ostatus: for federation') + + cd "$srcdir/$pkgbase-${pkgver}" + + etc_dir="${pkgdir}/etc/webapps/${pkgbase}" + usr_dir="${pkgdir}/usr/share/webapps/${pkgbase}" + + install -d ${usr_dir} + install -d ${etc_dir} + install -d ${pkgdir}/usr/share/doc/${pkgbase}/ + install -d ${pkgdir}/usr/share/licenses/${pkgbase} + + install -m644 ./{config.php,htaccess}.sample \ + ${pkgdir}/usr/share/doc/${pkgbase}/ + + install -m644 ./{README,EVENTS.txt,lighttpd.conf.example} \ + ${pkgdir}/usr/share/doc/${pkgbase}/ + + install -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgbase}/ + + rm -f *.sample README COPYING README EVENTS.txt *.example + + cp -ra * ${usr_dir}/ + chmod a+w ${usr_dir}/{avatar,background,file} + + msg2 "Install bogus config.php" + touch ${etc_dir}/config.php + chmod a+w ${etc_dir}/config.php + ln -s /etc/webapps/statusnet/config.php ${usr_dir}/config.php + + msg2 "Remove locale and plugins in favor of split packages" + rm -rf ${usr_dir}/{locale,plugins} + + install -d ${usr_dir}/plugins + install -d ${usr_dir}/locale + + install -d ${pkgdir}/srv/http + ln -s /usr/share/webapps/${pkgbase} ${pkgdir}/srv/http/ +} + +# Helper for creating i18n packages +statusnet-i18n-helper() { + cd "${srcdir}/${pkgbase}-${pkgver}" + + install -d "${pkgdir}/usr/share/webapps/statusnet/locale/${1}" + cp -ra "./locale/${1}" "${pkgdir}/usr/share/webapps/statusnet/locale/${1}/" +} + +# Helper for creating plugin packages +statusnet-plugin-helper() { + cd "${srcdir}/${pkgbase}-${pkgver}" + + install -d "${pkgdir}/usr/share/webapps/statusnet/plugins/${1}" + cp -ra "./plugins/${1}" "${pkgdir}/usr/share/webapps/statusnet/plugins/${1}/" +} + + +for plugin in ${plugins[@]}; do + plugin_lower=$(echo ${plugin} | tr [A-Z] [a-z]) + + eval " +package_statusnet-plugin-${plugin_lower}() { + pkgdesc='${plugin} plugin for StatusNet' + depends=('statusnet-base') + groups=('statusnet-plugins') + + statusnet-plugin-helper ${plugin} +}" +done + +for locale in ${locales[@]}; do + locale_lower=$(echo ${locale} | tr [A-Z] [a-z]) + + eval " +package_statusnet-i18n-${locale_lower}() { + pkgdesc='${locale} locale for StatusNet' + depends=('statusnet-base') + groups=('statusnet-locales') + + statusnet-i18n-helper ${locale} +}" +done |