arch-packages/PKGBUILD
Manuel c24d2425eb Move to virtualenv environment
Refactored and reformatted entire PKGBUILD
Added support for ARM
Fix several build errors with patches to the Makefile
Fix package using wrong license (The project is using MPL 2.0)
2020-06-02 04:33:31 +02:00

87 lines
3 KiB
Bash

# Maintainer: Manuel Hüsers <aur@huesers.de>
# Contributor: Jonas Heinrich <onny@project-insanity.org>
# Contributor: Timothée Ravier <tim@siosm.fr>
pkgname=mozilla-firefox-sync-server
pkgver=1.8.0
pkgrel=2
pkgdesc='Mozilla Sync Server for built-in Firefox Sync'
arch=('i686' 'x86_64' 'arm' 'armv6h' 'armv7h' 'aarch64')
url='http://docs.services.mozilla.com/howtos/run-sync-1.5.html'
license=('MPL2')
depends=('python2' 'python2-virtualenv')
options=(!debug)
install="${pkgname}.install"
source=("https://github.com/mozilla-services/syncserver/archive/${pkgver}.tar.gz"
'ffsync.service'
'ffsync.tmpfiles')
sha256sums=('728206bcffec7a305e97e7cd4d465b3fa56f39f8e1fd55d98e49a866016d61e0'
'8664ad8361d6751aad47e86900270d2efd8b65d520248cd1c164432baba42212'
'462bfdccc672339a03622dbe0a76a2df1b4293de8b240e82fe127a6befaa1a89')
sha384sums=('077129ce69d86cfe683401cb04f2678cdb9eae861f77fb052e97fc4f55d9780b5199259911c7a0d0adaa386e3aad0996'
'a7384b5b55b2377ee4445e45bfd0545435c2a6a19730ff4219340e3c6e8a3b51fcb46e4215093df860f9fa99a0b471ab'
'236b285f7e390d31cd13a0ac78c524acfbc8a7325d7b0b114b39f69a5963535d5f1f73bdef575728b2f6e81860c4ea16')
backup=('opt/mozilla-firefox-sync-server/syncserver.ini')
optdepends=('uwsgi-plugin-python2: Serve the webapp using uwsgi'
'mozilla-firefox-account-server: Run your own firefox account server')
prepare() {
cd "syncserver-${pkgver}"
# Change default sqlite database location
sed -i "s|/tmp/syncserver.db|/var/lib/ffsync/sync_storage.db|g" syncserver.ini
sed -i "s|^\#sqluri|sqluri|" syncserver.ini
# Remove obsolete parameter
sed -i "s| --no-site-packages||g" Makefile
# Remove incompatible setuptools
sed -i "s| distribute||g" Makefile
# Fix wrong python version being used for virtualenv
sed -i "s|virtualenv|\$(SYSTEMPYTHON) -m virtualenv|g" Makefile
}
build() {
cd "syncserver-${pkgver}"
make build
# MySQL support (should already be included)
#local/bin/pip install PyMySQL
# PostgreSQL support
#local/bin/pip install psycopg2
# There is no install target in the Makefile, so let's do some cleaning
rm -rf .git .gitignore Dockerfile Makefile MANIFEST.in README.rst setup.py \
local/bin/pep8 local/bin/build* local/bin/easy_install* local/bin/pip* \
local/COMPLETE
# Remove compiled python files as they may cause issues
find . -name '*.pyc' -delete
# Manually fix install path
find . -type f -exec sed -i "s|${srcdir}/syncserver-${pkgver}|/opt/${pkgname}|g" {} \;
}
check() {
cd "syncserver-${pkgver}"
#make test
}
package() {
cd "syncserver-${pkgver}"
# There is no install target in the Makefile, installing manually
install -dm 755 "${pkgdir}"/opt/${pkgname} "${pkgdir}"/var/lib/ffsync
cp -a * "${pkgdir}"/opt/${pkgname}
# Manually fix permissions
cd "${pkgdir}"/opt/${pkgname}
find . -exec chmod go-w {} \;
find . -type f -exec chmod a+r {} \;
install -Dm 644 "${srcdir}"/ffsync.service "${pkgdir}"/usr/lib/systemd/system/ffsync.service
install -Dm 644 "${srcdir}"/ffsync.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/ffsync.conf
}