summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD149
1 files changed, 85 insertions, 64 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 333f658ced64..219df32e97f0 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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"