# Contributor: Łukasz Jendrysik # Contributor: Sebastian Wicki # Contributor: Sören Tempel # Maintainer: Carlo Landmeter global pkgname := 'mpd' global pkgver := '0.20.10' matchstr $pkgver { *.*.* { global _branch := $(pkgver%.*)} *.* { global _branch := $pkgver} } global pkgrel := '2' global pkgdesc := '"Music daemon that plays MP3, FLAC, and Ogg Vorbis files'" global url := '"https://musicpd.org'" global pkgusers := '"mpd'" global pkggroups := '"mpd audio'" global arch := '"all'" global license := '"GPL2'" global depends := ''"" global makedepends := '"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 autoconf automake libtool libmpdclient-dev'" global install := ""$pkgname.pre-install"" global subpackages := ""$pkgname-doc $pkgname-dbg"" global source := ""https://www.musicpd.org/download/mpd/$_branch/mpd-$pkgver.tar.xz underlinking.patch stacksize.patch mpd.initd mpd.confd"" global builddir := ""$srcdir/$pkgname-$pkgver"" proc prepare { default_prepare || return 1 libtoolize --force && aclocal && autoconf && automake --add-missing \ || return 1 } proc build { cd $builddir ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --enable-shout \ --enable-opus \ --enable-modplug \ --enable-nfs \ --enable-smbclient \ --enable-ffmpeg \ --enable-libmpdclient \ || return 1 make || return 1 } proc package { cd $builddir make DESTDIR="$pkgdir" install || return 1 # provide a config that works by default install -d "$pkgdir"/etc sed -e 's:\#pid_file.*:pid_file\t\t"/var/run/mpd/mpd.pid":' \ -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 || return 1 install -m644 -D "$srcdir"/$pkgname.confd \ "$pkgdir"/etc/conf.d/$pkgname || return 1 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 || return 1 } global sha512sums := '"bac6a71e5b85600c590eae6b785474574cf0d7b03d9add537161b968a2997a975a597639a9fece119a01a7e27b5207523e4ae30b2f4f35791eff8c3ff26d107c mpd-0.20.10.tar.xz d6a98c5f60a60ddd5fa94b25864f800a6a6fb6ffe114793293d0ccc71bb5d1cdb847ca39fde4128446b55a38be85634106d5d6f2c77ee450f33631b30140781a underlinking.patch f425c20e18207a406f84a6a664f02625fca9d42977b1289f4ba8595406b26f6aa73b4f1cb5a1115858cb75fa7844f42d7174adba3f6af1af216c44901a1ccaa0 stacksize.patch 3725a528a45edf60e6a9ebd75c880aa63d0e71ab40c20dbc538af2d7c83ca657833b6853d9b488d635883fb7871bb76fada129b3bf8acff4bb060f98a5ad8774 mpd.initd 41b2467f5b03f5c4dd7003cd5f56f6cfc1f67af7a9aa2538d70360f839625222bdd0c4b04c33e8cd52eeecfc354da3ca22f5aaab8aee357a5774aaf3503594e7 mpd.confd'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(mpd)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(0.20.10)} spids:[15])] spids: [15] ) (Case to_match: {($ VSub_Name "$pkgver")} arms: [ (case_arm pat_list: [{(Lit_Other "*") (.) (Lit_Other "*") (.) (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_branch) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(".*")}) spids: [32 36] ) } spids: [31] ) ] spids: [31] ) ] spids: [24 29 37 -1] ) (case_arm pat_list: [{(Lit_Other "*") (.) (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_branch) op: Equal rhs: {($ VSub_Name "$pkgver")} spids: [44] ) ] spids: [44] ) ] spids: [39 42 46 -1] ) ] spids: [18 22 48] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(2)} spids:[50])] spids: [50] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Music daemon that plays MP3, FLAC, and Ogg Vorbis files"))} spids: [53] ) ] spids: [53] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("https://musicpd.org"))} spids: [58] ) ] spids: [58] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgusers) op:Equal rhs:{(DQ (mpd))} spids:[63])] spids: [63] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkggroups) op:Equal rhs:{(DQ ("mpd audio"))} spids:[68])] spids: [68] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[73])] spids: [73] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (GPL2))} spids:[78])] spids: [78] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[83])] spids: [83] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: { (DQ ("lame-dev glib-dev curl-dev libao-dev libmad-dev flac-dev\n") ("\tlibogg-dev faad2-dev libid3tag-dev libvorbis-dev alsa-lib-dev\n") ("\tlibsamplerate-dev libshout-dev libmodplug-dev boost-dev icu-dev\n") ("\tlibnfs-dev samba-dev opus-dev ffmpeg-dev\n") ("\tautoconf automake libtool libmpdclient-dev") ) } spids: [87] ) ] spids: [87] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:install) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname") (.pre-install))} spids: [96] ) ] spids: [96] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname") ("-doc ") ($ VSub_Name "$pkgname") (-dbg))} spids: [102] ) ] spids: [102] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("https://www.musicpd.org/download/mpd/") ($ VSub_Name "$_branch") (/mpd-) ($ VSub_Name "$pkgver") (".tar.xz\n") ("\tunderlinking.patch\n") ("\tstacksize.patch\n") ("\tmpd.initd\n") ("\tmpd.confd") ) } spids: [110] ) ] spids: [110] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir") (/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver"))} spids: [123] ) ] spids: [123] ) (FuncDef name: prepare body: (BraceGroup children: [ (AndOr children: [ (C {(default_prepare)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(libtoolize)} {(--force)}) (AndOr children: [ (C {(aclocal)}) (AndOr children: [ (C {(autoconf)}) (AndOr children: [ (C {(automake)} {(--add-missing)}) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] spids: [137] ) spids: [133 136] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (AndOr children: [ (C {(./configure)} {(--build) (Lit_Other "=") ($ VSub_Name "$CBUILD")} {(--host) (Lit_Other "=") ($ VSub_Name "$CHOST")} {(--prefix) (Lit_Other "=") (/usr)} {(--sysconfdir) (Lit_Other "=") (/etc)} {(--mandir) (Lit_Other "=") (/usr/share/man)} {(--infodir) (Lit_Other "=") (/usr/share/info)} {(--enable-shout)} {(--enable-opus)} {(--enable-modplug)} {(--enable-nfs)} {(--enable-smbclient)} {(--enable-ffmpeg)} {(--enable-libmpdclient)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [(C {(make)}) (ControlFlow token: arg_word:{(1)})] op_id: Op_DPipe ) ] spids: [182] ) spids: [178 181] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (AndOr children: [ (C {(make)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} {(install)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (C {(install)} {(-d)} {(DQ ($ VSub_Name "$pkgdir")) (/etc)}) (SimpleCommand words: [ {(sed)} {(-e)} {(SQ <"s:\\#pid_file.*:pid_file\\t\\t\"/var/run/mpd/mpd.pid\":">)} {(-e)} {(SQ <"s:\\#user.*:user\\t\\t\"mpd\":">)} {(-e)} {(SQ <"s:\\#log_file.*:log_file\\t\\t\"syslog\":">)} {(doc/mpdconf.example)} ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name "$pkgdir")) (/etc/mpd.conf)} spids: [351] ) ] ) (AndOr children: [ (C {(install)} {(-m755)} {(-D)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (.initd)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/init.d/) ($ VSub_Name "$pkgname")} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(install)} {(-m644)} {(-D)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (.confd)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/conf.d/) ($ VSub_Name "$pkgname")} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(install)} {(-d)} {(-g)} {(audio)} {(-o)} {(mpd)} {(-m775)} {(DQ ($ VSub_Name "$pkgdir")) (/var/run/mpd)} {(DQ ($ VSub_Name "$pkgdir")) (/var/log/mpd)} {(DQ ($ VSub_Name "$pkgdir")) (/var/lib/mpd)} {(DQ ($ VSub_Name "$pkgdir")) (/var/lib/mpd/playlists)} {(DQ ($ VSub_Name "$pkgdir")) (/var/lib/mpd/music)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [282] ) spids: [278 281] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "bac6a71e5b85600c590eae6b785474574cf0d7b03d9add537161b968a2997a975a597639a9fece119a01a7e27b5207523e4ae30b2f4f35791eff8c3ff26d107c mpd-0.20.10.tar.xz\n" ) ( "d6a98c5f60a60ddd5fa94b25864f800a6a6fb6ffe114793293d0ccc71bb5d1cdb847ca39fde4128446b55a38be85634106d5d6f2c77ee450f33631b30140781a underlinking.patch\n" ) ( "f425c20e18207a406f84a6a664f02625fca9d42977b1289f4ba8595406b26f6aa73b4f1cb5a1115858cb75fa7844f42d7174adba3f6af1af216c44901a1ccaa0 stacksize.patch\n" ) ( "3725a528a45edf60e6a9ebd75c880aa63d0e71ab40c20dbc538af2d7c83ca657833b6853d9b488d635883fb7871bb76fada129b3bf8acff4bb060f98a5ad8774 mpd.initd\n" ) ( "41b2467f5b03f5c4dd7003cd5f56f6cfc1f67af7a9aa2538d70360f839625222bdd0c4b04c33e8cd52eeecfc354da3ca22f5aaab8aee357a5774aaf3503594e7 mpd.confd" ) ) } spids: [473] ) ] spids: [473] ) ] )