# Contributor: <xmingske@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
setvar pkgname = 'seafile'
setvar pkgver = '4.2.6'
setvar pkgrel = '3'
setvar pkgdesc = ""Cloud storage system with advanced support for file syncing, privacy protection and teamwork""
setvar url = ""https://github.com/haiwen/seafile/""
setvar arch = ""all""
setvar license = ""GPL3""
setvar makedepends = ""autoconf automake bash ccnet-dev curl-dev fuse-dev glib-dev
	intltool jansson-dev libarchive-dev libevent-dev libevhtp-dev
	libsearpc-dev libtool libzdb-dev openssl-dev sqlite-dev util-linux-dev
	vala bsd-compat-headers libevhtp-dev""
setvar depends = ""bash ${pkgname}-common""
setvar pkgusers = ""seafile""
setvar pkggroups = ""seafile""
setvar source = ""$pkgname-$pkgver.tar.gz::https://github.com/haiwen/seafile/archive/v${pkgver}.tar.gz
       seafile-controller.patch seafile-scripts.patch seafile.initd seafile.confd""
setvar subpackages = ""$pkgname-dev $pkgname-doc py-$pkgname:py $pkgname-server
	$pkgname-common""
setvar install = ""seafile-server.pre-install seafile-server.post-install""

setvar _builddir = ""${srcdir}/${pkgname}-${pkgver}""

proc prepare {
	local pf
	cd ${_builddir} || return 1
	for pf in $source {
		case (pf) {
		*.patch { msg $pf; patch -p1 -i "$srcdir"/${pf} || return 1}
		}
	}
}

proc build {
	cd ${_builddir}
	./autogen.sh
	./configure \
                --prefix=/usr \
                --sysconfdir=/etc \
                --mandir=/usr/share/man \
                --infodir=/usr/share/info \
		--enable-server \
		--enable-python \
		--enable-fuse \
		--enable-client \
		--enable-console
	make CFLAGS="$CFLAGS $(pkgconf --cflags evhtp)" || return 1
}

proc package {
	cd ${_builddir}
	make DESTDIR="${pkgdir}" install || return 1
	rm "${pkgdir}"/usr/lib/libseafile.la || return 1
}

proc py {
        setvar arch = ""noarch""
        cd $_builddir
        setvar pkgdesc = ""$pkgname python bindings""
        install -d "$subpkgdir"/usr/lib || return 1
        mv "$pkgdir"/usr/lib/python* "$subpkgdir"/usr/lib/ || return 1
}

proc common {
	mkdir -p "${subpkgdir}"/usr/bin || return 1
	mkdir -p "${subpkgdir}"/usr/lib || return 1
	mv "${pkgdir}"/usr/bin/seafile "${subpkgdir}"/usr/bin
	mv "${pkgdir}"/usr/lib/libseafile.so.0* "${subpkgdir}"/usr/lib
}

proc server {
	mkdir -p "${subpkgdir}"/usr/bin
	for b in "${pkgdir}"/usr/bin/* {
		if [[ "$b" != "${pkgdir}/usr/bin/seaf-cli" ]] && \
		[[ "$b" != "${pkgdir}/usr/bin/seaf-daemon" ]] && \
		[[ "$b" != "${pkgdir}/usr/bin/seafile" ]] {
			mv $b "${subpkgdir}/usr/bin" || return 1
		}
	}
	mkdir -m 755 -p "${subpkgdir}"/usr/share/seafile || return 1
	cp -ar "${_builddir}"/scripts "${subpkgdir}"/usr/share/seafile || return 1
	install -D -m0644 "${srcdir}"/seafile.confd "${subpkgdir}"/etc/conf.d/seafile \
	    || return 1
	install -D -m0755 "${srcdir}"/seafile.initd "${subpkgdir}"/etc/init.d/seafile \
	    || return 1

	#make dirs for default instance
	setvar SEAFILE_HOME = ""${subpkgdir}"/var/lib/seafile"
	setvar SEAFILE_DEFAULT = "$SEAFILE_HOME/default"
	mkdir -m 755 -p $SEAFILE_DEFAULT 2>/dev/null
	chown seafile:seafile $SEAFILE_DEFAULT

}
setvar md5sums = ""d05600bf1187e0354ee8e85f3074a786  seafile-4.2.6.tar.gz
3f2b5457441871a4922d873e2b386711  seafile-controller.patch
5d5217a4616ba9d57b56f0b61797b419  seafile-scripts.patch
d2319373c376bff87a3005057d887193  seafile.initd
cc33cc3ef3b04415a7b1d160e6b64e2b  seafile.confd""
setvar sha256sums = ""a4a51dbdd5b2c49a8b1cb16ffacea92a0f52b5a0050c0de20057893f183d9e40  seafile-4.2.6.tar.gz
03fa3d43bcaed4bf720e7cbec5ea0fe9e1d8d90987bc8b69a045dafe10e1c27a  seafile-controller.patch
42fc1ed64c0a3cac0c5f74f2c269d96eba80e8b7a9dbff6332726342b576edf6  seafile-scripts.patch
aaf173e5df205fc4b152f6d75c5b3b7ec738bb1acbbe413ea6fce268b1d830c1  seafile.initd
a78183173ce054a245878d309dda9bff7981193d2b0594d299030e403e857952  seafile.confd""
setvar sha512sums = ""83d55c0cd6ac6fdca5b6dde50c0d3f402894621271bf9b2c5e24106672ac091c23c7ba8e124d88f5142d2eed4373f078f45793699402bf7732804762f1928cfa  seafile-4.2.6.tar.gz
6b70df847d2d3f1fbd856f220dd5686d04c1ee4810c60d3bb28c80e85f508d3b448a0e6cfb9a83a43876285968ec917867838ef31c00cfb431a8e1e953241246  seafile-controller.patch
9af26dbbc62c2e135d1ecb29243de658524d3cdbcfdfbaafcb30e137d0230792a7466b7b01a449a113ddf87f89acdceaf8c06192dd2ee28b3bbd18e9973a7b0d  seafile-scripts.patch
66b84519ab66e7435da13a2ed1869bac3ead1f7b46ed4b0a5ecda6dfcea056c5e0af8abcf1eba00fc2e68b8df7e07e3951968c385850f01ecf46f08dfdbe7083  seafile.initd
051ccc065a3b7abc7c802e00e364da1c3f689e133c4ba37385dbff97cfe8ad4b490cf53778344d129213fb0238258690a47f5e737387bce1368db59d22ee8504  seafile.confd""