summaryrefslogtreecommitdiff
path: root/mpd/APKBUILD
blob: da258808cb1ffde7e960a4b87a06682725d822a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# Contributor: Leo <thinkabit.ukim@gmail.com>
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Contributor: Sebastian Wicki <gandro@gmx.net>
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: Carlo Landmeter <clandmeter@alpinelinux.org>
pkgname=mpd
pkgver=0.21.21
case $pkgver in
*.*.*) _branch=${pkgver%.*};;
*.*) _branch=$pkgver;;
esac
pkgrel=42
pkgdesc="Music daemon that plays MP3, FLAC, Ogg Vorbis files and Audio CDs"
url="https://musicpd.org"
pkgusers="mpd"
pkggroups="mpd audio"
arch="all"
license="GPL-2.0-or-later"
makedepends="py3-sphinx lame-dev glib-dev curl-dev libao-dev libmad-dev flac-dev
	libogg-dev faad2-dev libid3tag-dev libvorbis-dev alsa-lib-dev
	libsamplerate-dev libshout-dev libmodplug-dev boost-dev icu-dev
	libnfs-dev samba-dev opus-dev ffmpeg-dev meson libmpdclient-dev
	libcdio-paranoia-dev avahi-dev py3-attrs libcap pulseaudio-dev"
checkdepends="gtest-dev gtest"
install="$pkgname.pre-install"
subpackages="$pkgname-doc $pkgname-dbg $pkgname-openrc"
source="https://www.musicpd.org/download/mpd/$_branch/mpd-$pkgver.tar.xz
	stacksize.patch
	mpd.initd
	mpd.confd
	disable-iso-test.patch
	libcdio-paranoia-version.patch
	remove-avahi-test.patch
	"

build() {
	meson \
		--prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--localstatedir=/var \
		--buildtype=plain \
		-Dshout=enabled \
		-Dopus=enabled \
		-Dmodplug=enabled \
		-Dnfs=enabled \
		-Dsmbclient=enabled \
		-Dffmpeg=enabled \
		-Dlibmpdclient=enabled \
		-Dcdio_paranoia=enabled \
		-Dzeroconf=avahi \
		-Dpulse=enabled \
		-Dtest=true \
		-Ddocumentation=true \
		. output
	ninja -C output
}

check() {
	ninja -C output -v test
}

package() {
	DESTDIR="$pkgdir" ninja -C output install

	# mpd attempts to configure real-time scheduling on linux
	# add the capability which allows doing that
	# see: https://www.musicpd.org/doc/html/user.html#real-time-scheduling
	setcap cap_sys_nice+ep "$pkgdir"/usr/bin/mpd

	# provide a config that works by default
	install -d "$pkgdir"/etc
	sed	-e 's:\#user.*:user\t\t"mpd":' \
		-e 's:\#log_file.*:log_file\t\t"syslog":' \
		doc/mpdconf.example > "$pkgdir"/etc/mpd.conf
	install -m755 -D "$srcdir"/$pkgname.initd \
		"$pkgdir"/etc/init.d/$pkgname
	install -m644 -D "$srcdir"/$pkgname.confd \
		"$pkgdir"/etc/conf.d/$pkgname
	install -d -g audio -o mpd -m775 \
		"$pkgdir"/var/run/mpd \
		"$pkgdir"/var/log/mpd \
		"$pkgdir"/var/lib/mpd \
		"$pkgdir"/var/lib/mpd/playlists \
		"$pkgdir"/var/lib/mpd/music
}

sha512sums="1780a24f341dec1cbc3d9170cc2fc8249081cac8f677ff17df15fc959787cf43d30696eefba9b8a44824da14eee3d58e2ee78b34db1335c0a182b4c2a89e6b3a  mpd-0.21.21.tar.xz
f60f6f3e921d20732c1a4c31a97f28660b43fd649e767d6c39661b6a90145231a79ad3f740ae0d706380b245ad040e98b661a513463c54cea161d1f64fc261e0  stacksize.patch
8547f685adf3cdc7b2aab7bedeed8c72242011c6f1e01750415ac21eba5ecf6b416239f527adbc904f72439c5d476249148cfb89965e33de1be69421e02c18e0  mpd.initd
41b2467f5b03f5c4dd7003cd5f56f6cfc1f67af7a9aa2538d70360f839625222bdd0c4b04c33e8cd52eeecfc354da3ca22f5aaab8aee357a5774aaf3503594e7  mpd.confd
94de2fb5e984e3246f79c2c7ab2f3123bba6c7d34e0f9b075ba3946d65912fd7f5e9d37bdb0bdee769fa6f6f8abb8ca5f2788b7976e2e5490b848800b31539fb  disable-iso-test.patch
1e0e59247a22944435ca6052767ea1359d46362083de40ce36276327e4974315862a9f995f0047811e122bf4ce871f0b3965d15580f6a752d95c3617aa83136c  libcdio-paranoia-version.patch
1c3da85437a9d89decd2ee692f9f9b64c6d990537a715e2e6d0f771e56593463e174ba22cfdeed6c3b49b9e490259cd693b746f0b33e8732795cf79f82a8d8c0  remove-avahi-test.patch"