# 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"
