diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 149 |
1 files changed, 85 insertions, 64 deletions
@@ -1,60 +1,74 @@ # Maintainer: getzze <getzze at gmail dot com> pkgname=funkwhale -pkgver=0.19.0 -pkgrel=1 -pkgdesc="A self-hosted, modern free and open-source music server, heavily inspired by Grooveshark." +pkgver=1.2.1 +pkgrel=3 +pkgdesc="A community-driven project that lets you listen and share music and audio within a decentralized, open network." arch=(any) url="https://funkwhale.audio/" license=(GPL3) +provides=('funkwhale') +conflicts=('funkwhale-venv') optdepends=('apache: to use the Apache web server' 'certbot-apache: for the server to be accessible from outside' + 'mod_xsendfile: needed if Apache server is used' 'nginx: to use nginx web server') -depends=('ffmpeg' 'libjpeg' 'postgresql' 'python' - 'ipython' - 'mod_xsendfile' - 'python-django>=2' - 'python-django-environ' - 'python-pillow' - 'python-django-allauth' - 'python-psycopg2' - 'python-pytz' - 'python-django-redis' - 'python-redis' - 'python-kombu' - 'python-celery' - 'python-django-cors-headers' - 'python-musicbrainzngs' - 'python-django-rest-framework>=3.9' - 'python-django-rest-framework-jwt' - 'python-pendulum' - 'python-persisting-theory' - 'python-django-versatile-imagefield' - 'python-django-filter' - 'python-django-rest-auth' - 'python-mutagen' - 'python-django-taggit' - 'python-pymemoize' - 'python-django-dynamic-preferences' - 'python-raven' - 'python-magic-git' - 'python-django-channels' - 'python-django-channels-redis' - 'python-daphne' - 'python-cryptography' - 'python-requests-http-signature' - 'python-django-cleanup' - 'python-ldap' - 'python-django-auth-ldap' - 'python-service-identity' - 'python-pydub' - 'python-pyld>=1.0.4' - 'python-aiohttp' - 'python-autobahn' - 'python-django-oauth-toolkit' - 'python-django-storages' - 'python-boto3' - 'python-unicode-slugify-git' +depends=('ffmpeg' + 'libjpeg' + 'postgresql' + 'python' + 'python-setuptools' # >=57.4 + 'python-django' # ~= 3.2.3 + 'python-django-environ' # ~= 0.4.0 + 'python-pillow' # ~= 8.3.0 + 'python-django-allauth' # ~= 0.42.0 + 'python-psycopg2' # ~= 2.9.1 + 'python-pytz' # ~= 2021.1 + 'python-django-redis' # ~= 5.0.0 + 'python-redis' # ~= 3.5.0 + 'python-kombu' # ~= 5.1.0 + 'python-celery>=5.2' # ~= 5.1.2 + 'python-django-cors-headers' # ~= 3.8.0 + 'python-musicbrainzngs' # ~= 0.7.1 + 'python-django-rest-framework' # ~= 3.12.2 +# 'python-django-rest-framework-jwt' # ~= 1.11.0 + 'python-arrow' # ~= 1.1.0 + 'python-persisting-theory' # ~= 0.2.0 + 'python-django-versatile-imagefield' # ~= 2.2.0 + 'python-django-filter' # ~= 2.4.0 + 'python-django-rest-auth' # ~= 0.9.0 + 'ipython' # ~= 7.27.0 + 'python-mutagen' # ~= 1.45.0 + 'python-pymemoize' # ~= 1.0.0 + 'python-django-dynamic-preferences' # ~= 1.10 +# 'python-raven' # ~= 6.10.0 + 'python-magic-git' # ~= 0.4.0 + 'python-django-channels' # ~= 3.0.3 + 'python-django-channels-redis>=3' # ~= 3.3.0 + 'uvicorn' # ~= 0.14.0 + 'gunicorn' # ~= 20.1.0 + 'python-cryptography' # ~= 3.3.2 + 'python-requests-http-signature' # == 0.0.3 + 'python-django-cleanup' # ~= 5.2.0 + 'python-requests' # ~= 2.26.0 + 'python-pyopenssl' # ~= 20.0.1 + 'python-ldap' # ~= 3.3.0 + 'python-django-auth-ldap' # ~= 3.0.0 + 'python-pydub' # ~= 0.25.1 + 'python-pyld' # ~= 2.0.3 + 'python-aiohttp' # ~= 3.7.4 + 'python-django-oauth-toolkit' # ~= 1.5.0 + 'python-django-storages' # ~= 1.11.1 + 'python-boto3' # ~= 1.17.59 + 'python-unicode-slugify-git' # ~= 0.1.0 + 'python-django-cacheops' # ~= 6.0.0 + 'python-service-identity' # ~= 21.1.0 + 'python-click' # ~= 7.1.0 + 'python-markdown' # ~= 3.3.4 + 'python-bleach' # ~= 3.3.0 + 'python-feedparser>=6' # ~= 6.0.0 + 'python-watchdog' # ~= 2.1.2 + 'python-asgiref_patch' # ~= 3.4.1 patched ) makedepends=(git) _source_api="https://dev.funkwhale.audio/funkwhale/funkwhale/-/jobs/artifacts/${pkgver}/download?job=" @@ -63,25 +77,32 @@ source=("${pkgname}-${pkgver}-api.zip::${_source_api}build_api" "${pkgname}-${pkgver}-front.zip::${_source_api}build_front" "${_source_env}funkwhale_proxy.conf" "${_source_env}nginx.template" + "funkwhale.service" "funkwhale-beat.service" - "funkwhale-worker.service" "funkwhale-server.service" + "funkwhale-worker.service" "apache-funkwhale.conf" "env-template" - "funkwhale.service" ) -sha256sums=('8838f83c1c658a758ef283d22f682820b4866f33d83d7832eb52fa04b4f729c8' - '2a664eb81f46c1f7c9d52d472a2a9958356eb409fed36bb2acba7bde87c7d7c6' +sha256sums=('d370dd548102be5477a8d6632ea58e6de42d18bce58078e007c471cb8bb4753f' + '3725d2aa8563dd8989042a1ee4a57cac2d396b5ad20820815775ae724aa8ff0c' '2906a075b41dcd2375c601482cb5a00e42cb87c613012b176c570d77918afbf2' - 'ee571b8a30b968849fcf5c7b2588f298a3046609fe9792dd0b59024899dfea3a' - 'a964a7802252d20a3319e2131c27ec307ad4f454921c2db31971c080150d7c9b' - '0e6d7c96b7c1ec63794214decb1f2e7dd112a22b02e55555cf98c2a573014af6' - '4a28ddf6a6ba8ec28c10a164f82e3d5e5904d6dfe68ae8852428a589cee210c5' - 'ee895ecaf5faaa794f161e9df038177497cb5c49510acd3aef088f75eb8b02f1' - 'c2ee8160e2f4f87a2d4fe46136ffb8ea14422dc599db3eca4341e48db26d72ad' - '01104122e3df765735b1062aa15e7a73c7949f2d9b7332c0e02e02db66345349') + '37fa894055ce94b2d0752c48a89c04d67a2610a3572a788ba7a3cf65e1641c90' + '01104122e3df765735b1062aa15e7a73c7949f2d9b7332c0e02e02db66345349' + '812c9a49436725e18768c5eb772c7207c184cdcf3a057432dc998387c481bd8d' + '9d5a6f2cae6f18e22c5423247570519e8c772a9447ec2d92bd2fe5d69e519470' + '57c17dbd033fff76b344c90114d3b1f9eae3aaaa49128b61fcd1b5e808561dc3' + 'f37b1b6257c5b92272f36773041c83fc72276ff4040100fba92db8136cc9177d' + 'cea307055e9f8001a1507c507e1be91352d896cab17260a221f4ab8c298506d8') install=${pkgname}.install +prepare() { + cd "$srcdir" + ## change path of proxy parameters + sed 's#/etc/nginx/funkwhale_proxy.conf#/etc/webapps/funkwhale/funkwhale_proxy.conf#' nginx.template > nginx.template.patched + ## remove http2, as it is not always working + sed -id 's#443 ssl http2;#443 ssl;#' nginx.template.patched +} build() { cd "$srcdir" @@ -96,17 +117,17 @@ package() { cp -R api "$pkgdir"/usr/share/webapps/${pkgname}/. cp -R front "$pkgdir"/usr/share/webapps/${pkgname}/. chmod 755 -R "$pkgdir"/usr/share/webapps/${pkgname}/api/ + chown root:http -R "$pkgdir"/usr/share/webapps/${pkgname}/api/ + mkdir "$pkgdir"/usr/bin + ln -s /usr/share/webapps/${pkgname}/api/manage.py "$pkgdir"/usr/bin/funkwhale_manage install -d "$pkgdir"/etc/webapps/${pkgname}/config install -Dm644 funkwhale_proxy.conf "$pkgdir"/etc/webapps/${pkgname}/. - install -Dm644 nginx.template "$pkgdir"/etc/webapps/${pkgname}/. + install -Dm644 nginx.template.patched "$pkgdir"/etc/webapps/${pkgname}/nginx.template install -Dm644 apache-funkwhale.conf "$pkgdir"/etc/webapps/${pkgname}/. install -Dm644 env-template "$pkgdir"/etc/webapps/${pkgname}/env.template - install -Dm644 funkwhale.service "$pkgdir/usr/lib/systemd/system/funkwhale.service" - install -Dm644 funkwhale-beat.service "$pkgdir/usr/lib/systemd/system/funkwhale-beat.service" - install -Dm644 funkwhale-worker.service "$pkgdir/usr/lib/systemd/system/funkwhale-worker.service" - install -Dm644 funkwhale-server.service "$pkgdir/usr/lib/systemd/system/funkwhale-server.service" + install -Dm644 funkwhale{,-beat,-worker,-server}.service -t "$pkgdir/usr/lib/systemd/system/" echo -e 'u funkwhale - "Funkwhale music server" /srv/funkwhale\nm funkwhale http' | install -Dm644 /dev/stdin "$pkgdir/usr/lib/sysusers.d/$pkgname.conf" |