summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD125
1 files changed, 124 insertions, 1 deletions
diff --git a/PKGBUILD b/PKGBUILD
index eba5b7e4abaa..c31d9c7314f7 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,9 +3,132 @@
# Contributor: Aaron Lindsay <aaron@aclindsay.com>
pkgbase=seafile
-pkgver=5.1.4
+pkgname=('seafile-server' 'seafile-client-cli' 'seafile-shared')
+pkgver=6.0.0
pkgrel=1
pkgdesc="Seafile is an online file storage and collaboration tool"
arch=('i686' 'x86_64' 'armv7h' 'armv6h')
url="https://github.com/haiwen/seafile/"
license=('GPL3')
+makedepends=("vala" "intltool"
+ "python2" "sqlite" "fuse"
+ "ccnet>=${pkgver}" "libevhtp-seafile=1.2.9")
+source=("seafile-server-${pkgver}.tar.gz::https://github.com/haiwen/seafile/archive/v${pkgver}-server.tar.gz"
+ "seafile-admin_virtualenv.patch"
+ "seafile-server@.service"
+ "seahub-preupgrade"
+ "create-default-conf-dir.patch"
+ "0001-Revert-server-put-pids-folder-out-of-seafile-data.patch"
+ "libseafile.in.patch")
+sha256sums=('778b4248c6596f25d337ea18b9422eeb6950c9b86456ac535c0f7c2fd5e8148f'
+ '52fb29858f6424052cf01630ad72b5687a4fb259f23f9efc97f08be04a883218'
+ 'ae1ed38f94304d27e4ef1ca66e15d544f99681c1e743c510c54d4a112f050421'
+ '333b78e2ac2ce03b243a70223975bfb0f8e1998edc074b4307c9a96df1b5883f'
+ '6bd632f8741b039bad961af3d6850b651e25b7e7a3018d6e2789f350ff93bb78'
+ 'b1748e826d8e7cccdd825b99864b74dfb5795312f8878d63e9a87105f4382e29'
+ 'a2d7f7cf0c59aba97650af62b3cefd0ceb71a1007c34d9369a88e5769c7f6076')
+
+prepare () {
+ cd "${srcdir}/seafile-${pkgver}-server"
+
+ patch -p1 -i "${srcdir}/seafile-admin_virtualenv.patch"
+ patch -p1 -i "${srcdir}/0001-Revert-server-put-pids-folder-out-of-seafile-data.patch"
+ patch -p1 -i "${srcdir}/create-default-conf-dir.patch"
+ patch -p1 -i "${srcdir}/libseafile.in.patch"
+
+ # Fix all script's python 2 requirement
+ grep -s -l -r '#!/usr/bin/env python' "${srcdir}/seafile-${pkgver}-server" \
+ | xargs sed -i -e 's|#!/usr/bin/env python|#!/usr/bin/env python2|g'
+}
+
+build() {
+ cd "$srcdir/seafile-${pkgver}-server"
+
+ ./autogen.sh
+
+ ./configure \
+ --enable-client \
+ --enable-fuse \
+ --enable-python \
+ --enable-server \
+ --prefix=/usr \
+ PYTHON=/usr/bin/python2
+
+ make
+}
+
+package_seafile-client-cli() {
+ depends=("seafile-shared" "libevent")
+ conflicts=("seafile-shared<${pkgver}")
+ pkgdesc="Seafile cli client"
+
+ cd "${srcdir}/seafile-${pkgver}-server"
+
+ # Install cli client
+ install -D -m755 app/seaf-cli "${pkgdir}/usr/bin/seaf-cli"
+}
+
+package_seafile-shared() {
+ depends=("ccnet" "fuse")
+ conflicts=("ccnet<${pkgver}")
+ pkgdesc="Shared components of Seafile (seafile-daemon, libseafile, python bindings, manuals)"
+
+ cd "${srcdir}/seafile-${pkgver}-server"
+
+ make DESTDIR="${pkgdir}" install
+
+ # Remove server components
+ rm -rf "${pkgdir}/usr/bin/seafserv-gc"
+ rm -rf "${pkgdir}/usr/bin/seafile-admin"
+ rm -rf "${pkgdir}/usr/bin/seaf-fuse"
+ rm -rf "${pkgdir}/usr/bin/seaf-server"
+ rm -rf "${pkgdir}/usr/bin/seaf-server-init"
+ rm -rf "${pkgdir}/usr/bin/seaf-migrate"
+ rm -rf "${pkgdir}/usr/bin/seaf-fsck"
+ # Remove cli client binary
+ rm -rf "${pkgdir}/usr/bin/seaf-cli"
+}
+
+package_seafile-server() {
+ depends=("seafile-shared" "wget"
+ "python2-mako" "python2-dateutil" "python2-webpy" "python2-pip"
+ "python2-virtualenv" "python2-flup" "python2-six" "python2-chardet"
+ "python2-simplejson" "libevhtp-seafile" "git")
+ optdepends=('libmariadbclient: mysql server support' )
+ conflicts=("seafile-shared<${pkgver}")
+ options=('!libtool' '!emptydirs')
+ install=seafile-server.install
+ pkgdesc="Seafile server components, without seahub"
+
+ # Install library and header files
+ cd "${srcdir}/seafile-${pkgver}-server"
+ make DESTDIR="${pkgdir}" install
+
+ # Remove files already installed by seafile-shared
+ # to maintain compatibility
+ rm -rf "${pkgdir}/usr/lib"
+ rm -rf "${pkgdir}/usr/include"
+ rm -rf "${pkgdir}/usr/share/man"
+ rm -rf "${pkgdir}/usr/bin/seaf-daemon"
+ rm -rf "${pkgdir}/usr/bin/seafile-controller"
+
+ # Remove seafile-client-cli
+ rm -rf "${pkgdir}/usr/bin/seaf-cli"
+
+ # Install all scripts
+ mkdir -p "${pkgdir}/usr/share/${pkgname}"
+ cp -r -p "${srcdir}/seafile-${pkgver}-server/scripts" \
+ "${pkgdir}/usr/share/$pkgname/scripts"
+
+ # Remove win32 and other distributions specific scripts
+ rm -rf "${pkgdir}/usr/share/$pkgname/scripts/build"
+ rm -rf "${pkgdir}/usr/share/$pkgname/scripts/upgrade/win32"
+
+ # Install systemd service
+ install -D -m644 "${srcdir}/seafile-server@.service" \
+ "${pkgdir}/usr/lib/systemd/system/seafile-server@.service"
+
+ # Install seahub preupgrade script
+ install -D -m755 "${srcdir}/seahub-preupgrade" \
+ "${pkgdir}/usr/bin/seahub-preupgrade"
+}