1*4882a593SmuzhiyunSUMMARY = "Music Player Daemon"
2*4882a593SmuzhiyunLICENSE = "GPL-2.0-only"
3*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
4*4882a593Smuzhiyun
5*4882a593SmuzhiyunHOMEPAGE ="http://www.musicpd.org"
6*4882a593Smuzhiyun
7*4882a593Smuzhiyuninherit meson useradd systemd pkgconfig
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunDEPENDS += " \
10*4882a593Smuzhiyun    curl \
11*4882a593Smuzhiyun    sqlite3 \
12*4882a593Smuzhiyun    ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \
13*4882a593Smuzhiyun    yajl \
14*4882a593Smuzhiyun    boost \
15*4882a593Smuzhiyun    icu \
16*4882a593Smuzhiyun    dbus \
17*4882a593Smuzhiyun    expat \
18*4882a593Smuzhiyun    fmt \
19*4882a593Smuzhiyun"
20*4882a593Smuzhiyun
21*4882a593SmuzhiyunSRC_URI = "git://github.com/MusicPlayerDaemon/MPD;branch=v0.23.x;protocol=https \
22*4882a593Smuzhiyun           file://mpd.conf.in \
23*4882a593Smuzhiyun           "
24*4882a593SmuzhiyunSRCREV = "d91da9679801224847c30147f5914785b6f8f240"
25*4882a593SmuzhiyunS = "${WORKDIR}/git"
26*4882a593Smuzhiyun
27*4882a593SmuzhiyunEXTRA_OEMESON += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-Dsystemd=enabled -Dsystemd_system_unit_dir=${systemd_system_unitdir} -Dsystemd_user_unit_dir=${systemd_system_unitdir}', '-Dsystemd=disabled', d)}"
28*4882a593Smuzhiyun
29*4882a593SmuzhiyunPACKAGECONFIG ??= "${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "aac", "", d)} \
30*4882a593Smuzhiyun                   alsa ao bzip2 daemon \
31*4882a593Smuzhiyun                   ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "ffmpeg aac", "", d)} \
32*4882a593Smuzhiyun                   fifo flac fluidsynth iso9660 \
33*4882a593Smuzhiyun                   jack libsamplerate httpd \
34*4882a593Smuzhiyun                   mms mpg123 modplug sndfile \
35*4882a593Smuzhiyun                   upnp openal opus oss recorder \
36*4882a593Smuzhiyun                   vorbis wavpack zlib"
37*4882a593Smuzhiyun
38*4882a593SmuzhiyunPACKAGECONFIG[aac] = "-Dfaad=enabled,-Dfaad=disabled,faad2"
39*4882a593SmuzhiyunPACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib"
40*4882a593SmuzhiyunPACKAGECONFIG[ao] = "-Dao=enabled,-Dao=disabled,libao"
41*4882a593SmuzhiyunPACKAGECONFIG[audiofile] = "-Daudiofile=enabled,-Daudiofile=disabled,audiofile"
42*4882a593SmuzhiyunPACKAGECONFIG[bzip2] = "-Dbzip2=enabled,-Dbzip2=disabled,bzip2"
43*4882a593SmuzhiyunPACKAGECONFIG[cdioparanoia] = "-Dcdio_paranoia=enabled,-Dcdio_paranoia=disabled,libcdio-paranoia"
44*4882a593SmuzhiyunPACKAGECONFIG[daemon] = "-Ddaemon=true,-Ddaemon=false"
45*4882a593SmuzhiyunPACKAGECONFIG[ffmpeg] = "-Dffmpeg=enabled,-Dffmpeg=disabled,ffmpeg"
46*4882a593SmuzhiyunPACKAGECONFIG[fifo] = "-Dfifo=true,-Dfifo=false"
47*4882a593SmuzhiyunPACKAGECONFIG[flac] = "-Dflac=enabled,-Dflac=disabled,flac"
48*4882a593SmuzhiyunPACKAGECONFIG[fluidsynth] = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth"
49*4882a593SmuzhiyunPACKAGECONFIG[httpd] = "-Dhttpd=true,-Dhttpd=false"
50*4882a593SmuzhiyunPACKAGECONFIG[id3tag] = "-Did3tag=enabled,-Did3tag=disabled,libid3tag"
51*4882a593SmuzhiyunPACKAGECONFIG[iso9660] = "-Diso9660=enabled,-Diso9660=disabled,libcdio"
52*4882a593SmuzhiyunPACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack"
53*4882a593SmuzhiyunPACKAGECONFIG[lame] = "-Dlame=enabled,-Dlame=disabled,lame"
54*4882a593SmuzhiyunPACKAGECONFIG[libsamplerate] = "-Dlibsamplerate=enabled,-Dlibsamplerate=disabled,libsamplerate0"
55*4882a593SmuzhiyunPACKAGECONFIG[mad] = "-Dmad=enabled,-Dmad=disabled,libmad"
56*4882a593SmuzhiyunPACKAGECONFIG[mms] = "-Dmms=enabled,-Dmms=disabled,libmms"
57*4882a593SmuzhiyunPACKAGECONFIG[modplug] = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug"
58*4882a593SmuzhiyunPACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
59*4882a593SmuzhiyunPACKAGECONFIG[openal] = "-Dopenal=enabled,-Dopenal=disabled,openal-soft"
60*4882a593SmuzhiyunPACKAGECONFIG[opus] = "-Dopus=enabled,-Dopus=disabled,libopus libogg"
61*4882a593SmuzhiyunPACKAGECONFIG[oss] = "-Doss=enabled,-Doss=disabled,"
62*4882a593SmuzhiyunPACKAGECONFIG[recorder] = "-Drecorder=true,-Drecorder=false"
63*4882a593SmuzhiyunPACKAGECONFIG[smb] = "-Dsmbclient=enabled,-Dsmbclient=disabled,samba"
64*4882a593SmuzhiyunPACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
65*4882a593SmuzhiyunPACKAGECONFIG[upnp] = "-Dupnp=pupnp,-Dupnp=disabled,libupnp"
66*4882a593SmuzhiyunPACKAGECONFIG[vorbis] = "-Dvorbis=enabled,-Dvorbis=disabled,libvorbis libogg"
67*4882a593SmuzhiyunPACKAGECONFIG[wavpack] = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack"
68*4882a593SmuzhiyunPACKAGECONFIG[zlib] = "-Dzlib=enabled,-Dzlib=disabled,zlib"
69*4882a593Smuzhiyun
70*4882a593Smuzhiyundo_install:append() {
71*4882a593Smuzhiyun    install -o mpd -d \
72*4882a593Smuzhiyun        ${D}/${localstatedir}/lib/mpd \
73*4882a593Smuzhiyun        ${D}/${localstatedir}/lib/mpd/playlists
74*4882a593Smuzhiyun    install -m775 -o mpd -g mpd -d \
75*4882a593Smuzhiyun        ${D}/${localstatedir}/lib/mpd/music
76*4882a593Smuzhiyun
77*4882a593Smuzhiyun    install -d ${D}/${sysconfdir}
78*4882a593Smuzhiyun    install -m 644 ${WORKDIR}/mpd.conf.in ${D}/${sysconfdir}/mpd.conf
79*4882a593Smuzhiyun    sed -i \
80*4882a593Smuzhiyun        -e 's|%music_directory%|${localstatedir}/lib/mpd/music|' \
81*4882a593Smuzhiyun        -e 's|%playlist_directory%|${localstatedir}/lib/mpd/playlists|' \
82*4882a593Smuzhiyun        -e 's|%db_file%|${localstatedir}/lib/mpd/mpd.db|' \
83*4882a593Smuzhiyun        -e 's|%log_file%|${localstatedir}/log/mpd.log|' \
84*4882a593Smuzhiyun        -e 's|%state_file%|${localstatedir}/lib/mpd/state|' \
85*4882a593Smuzhiyun        ${D}/${sysconfdir}/mpd.conf
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun    # we don't need the icon
88*4882a593Smuzhiyun    rm -rf ${D}${datadir}/icons
89*4882a593Smuzhiyun}
90*4882a593Smuzhiyun
91*4882a593SmuzhiyunRPROVIDES:${PN} += "${PN}-systemd"
92*4882a593SmuzhiyunRREPLACES:${PN} += "${PN}-systemd"
93*4882a593SmuzhiyunRCONFLICTS:${PN} += "${PN}-systemd"
94*4882a593SmuzhiyunSYSTEMD_SERVICE:${PN} = "mpd.socket"
95*4882a593Smuzhiyun
96*4882a593SmuzhiyunUSERADD_PACKAGES = "${PN}"
97*4882a593SmuzhiyunUSERADD_PARAM:${PN} = " \
98*4882a593Smuzhiyun    --system --no-create-home \
99*4882a593Smuzhiyun    --home ${localstatedir}/lib/mpd \
100*4882a593Smuzhiyun    --groups audio \
101*4882a593Smuzhiyun    --user-group mpd"
102