# Maintainer: Edvinas Valatka # Contributor: Aaron Lindsay pkgbase=seafile pkgname=('seafile-server' 'seafile-client-cli' 'seafile-shared') pkgver=5.0.2 pkgrel=4 pkgdesc="Seafile is an online file storage and collaboration tool" arch=('any') url="https://github.com/haiwen/seafile/" license=('GPL3') makedepends=('vala' 'intltool' 'python2' 'sqlite' 'fuse' 'ccnet=5.0.2' 'libevhtp-seafile=1.2.10') source=("${pkgbase}-${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=('ce34339bdad50afb9bacb3cbf854e3c33a311dfb868b2ec32a812ca78845b43f' '876e67526fabf83bfeb5ff50f05b2f4725f3d9bf784025707b67022a1a311f20' 'ae1ed38f94304d27e4ef1ca66e15d544f99681c1e743c510c54d4a112f050421' '2a1e079cbea3543f356e6e9571f3d7d2a4b0ab75131ee417115d738ea191c4fb' '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=${pkgver}" 'libevent') 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=5.0.2" 'fuse') pkgdesc="Shared components of Seafile (seafile-daemon, libseafile, python bindings, manuals)" cd "${srcdir}/seafile-${pkgver}-server" make DESTDIR="${pkgdir}" install # Remove seafile binary rm -rf "${pkgdir}/usr/bin/seafile" # Remove cli client binary rm -rf "${pkgdir}/usr/bin/seaf-cli" } package_seafile-server() { depends=("seafile-shared=${pkgver}" 'python2-mako' 'python2-dateutil' 'python2-webpy' 'python2-pip' 'python2-virtualenv' 'python2-flup' 'python2-six' 'libevhtp-seafile=1.2.10' 'git') 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,fsck,migrate}" rm -rf "${pkgdir}/usr/bin/seafile-{admin,controller,}" rm -rf "${pkgdir}/usr/bin/seafserv-{gc}" # 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" }