blob: 6754f347e1e1d948c7fb9673daa3b8929074c2b4 [file] [log] [blame]
Brad Bishop316dfdd2018-06-25 12:45:53 -04001SUMMARY = "Music Player Daemon"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
4HOMEPAGE ="http://www.musicpd.org"
5
6inherit autotools useradd systemd pkgconfig
7
8DEPENDS += " \
9 alsa-lib \
10 libsamplerate0 \
11 libsndfile1 \
12 libvorbis \
13 libogg \
14 faad2 \
15 ffmpeg \
16 curl \
17 sqlite \
18 bzip2 \
19 ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \
20 tcp-wrappers \
21 openal-soft \
22 yajl \
23 jack \
24 faad2 \
25 flac \
26 libao \
27 fluidsynth \
28 libcdio \
29 wavpack \
30 libopus \
31 mpg123 \
32 libmms \
33 libmodplug \
34 boost \
35 icu \
36 dbus \
37 expat \
38 zlib \
39 libupnp \
40"
41
42# While this item does not require it, it depends on mpg123 which does
43LICENSE_FLAGS = "commercial"
44
45SRC_URI = " \
46 http://www.musicpd.org/download/${BPN}/0.20/${BP}.tar.xz \
47 file://mpd.conf.in \
48"
49SRC_URI[md5sum] = "8dc87ba95473fd738f2aff9bd69cc212"
50SRC_URI[sha256sum] = "6a582dc2ae90b94ff3853f9ffd7d80b2c2b5fe2e2c35cb1da0b36f3f3dfad434"
51
52EXTRA_OECONF = "enable_bzip2=yes"
53EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}"
54
55PACKAGECONFIG[audiofile] = "--enable-audiofile,--disable-audiofile,audiofile"
56PACKAGECONFIG[cdioparanoia] = "--enable-cdio-paranoia,--disable-cdio-paranoia,libcdio-paranoia"
57PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad"
58PACKAGECONFIG[id3tag] = "--enable-id3,--disable-id3,libid3tag"
59PACKAGECONFIG[lame] = "--enable-lame-encoder,--disable-lame-encoder,lame"
60PACKAGECONFIG[smb] = "--enable-smbclient,--disable-smbclient,samba"
61
62do_configure_prepend() {
63 sed -i -e 's|libsystemd-daemon|libsystemd|' ${S}/configure.ac
64}
65
66do_install_append() {
67 install -d ${D}/${localstatedir}/lib/mpd/music
68 chmod 775 ${D}/${localstatedir}/lib/mpd/music
69 install -d ${D}/${localstatedir}/lib/mpd/playlists
70 chown -R mpd ${D}/${localstatedir}/lib/mpd
71 chown mpd:mpd ${D}/${localstatedir}/lib/mpd/music
72
73 install -d ${D}/${sysconfdir}
74 install -m 644 ${WORKDIR}/mpd.conf.in ${D}/${sysconfdir}/mpd.conf
75 sed -i \
76 -e 's|%music_directory%|${localstatedir}/lib/mpd/music|' \
77 -e 's|%playlist_directory%|${localstatedir}/lib/mpd/playlists|' \
78 -e 's|%db_file%|${localstatedir}/lib/mpd/mpd.db|' \
79 -e 's|%log_file%|${localstatedir}/log/mpd.log|' \
80 -e 's|%state_file%|${localstatedir}/lib/mpd/state|' \
81 ${D}/${sysconfdir}/mpd.conf
82
83 if [ -e ${D}/${systemd_unitdir}/system/mpd.service ] ; then
84 sed -i \
85 's|^ExecStart=.*|ExecStart=${bindir}/mpd --no-daemon|' \
86 ${D}/${systemd_unitdir}/system/mpd.service
87 fi
88}
89
90RPROVIDES_${PN} += "${PN}-systemd"
91RREPLACES_${PN} += "${PN}-systemd"
92RCONFLICTS_${PN} += "${PN}-systemd"
93SYSTEMD_SERVICE_${PN} = "mpd.socket"
94
95USERADD_PACKAGES = "${PN}"
96USERADD_PARAM_${PN} = " \
97 --system --no-create-home \
98 --home ${localstatedir}/lib/mpd \
99 --groups audio \
100 --user-group mpd"