Package Details: mpd-sacd 0.23.13-1

Git Clone URL: https://aur.archlinux.org/mpd-sacd.git (read-only, click to copy)
Package Base: mpd-sacd
Description: MPD with patches for SACD and DVDA ISO playback. (DVDA ISO playback temporary disabled)
Upstream URL: https://sourceforge.net/p/sacddecoder/mpd/MPD.git/ci/master/tree/
Keywords: dsd dvda mpd sacd
Licenses: GPL-2.0-or-later
Conflicts: mpd
Provides: mpd
Submitter: melvinvermeeren
Maintainer: Archttila
Last Packager: Archttila
Votes: 8
Popularity: 0.63
First Submitted: 2016-02-08 18:52 (UTC)
Last Updated: 2024-04-28 17:29 (UTC)

Required by (54)

Sources (4)

Pinned Comments

Archttila commented on 2024-04-28 17:34 (UTC) (edited on 2024-05-01 14:10 (UTC) by Archttila)

Please do not mark the package as out of date, because mpd-sacd is a fork of regular MPD

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 Next › Last »

emilot commented on 2020-11-13 20:44 (UTC)

I have success only with CLANG:

env CC=clang CXX=clang++ arch-meson .. ${_opts[@]}
ninja

from your PKGBUILD!

mo3r commented on 2020-11-13 20:35 (UTC)

@emilot Yes, with GCC without any additional definition in config or env. My current PKGBUILD:

# Maintainer: Melvin Vermeeren <mail@mel.vin>

pkgname=mpd-sacd
pkgver=0.22.0
pkgrel=4
pkgdesc='MPD with patches for SACD and DVDA ISO playback.'
url='https://sourceforge.net/p/sacddecoder/mpd/MPD.git/ci/master/tree/'
license=('GPL')
arch=('i686' 'x86_64' 'aarch64' 'armv7h')
depends=('libao' 'ffmpeg' 'libmodplug' 'audiofile' 'libshout' 'libmad' 'curl' 'faad2'
        'sqlite' 'jack' 'libmms' 'wavpack' 'avahi' 'libid3tag' 'yajl' 'libmpdclient'
        'icu' 'libupnp' 'libnfs' 'libsamplerate' 'libsoxr' 'smbclient' 'libcdio-paranoia'
        'libgme' 'zziplib' 'fluidsynth' 'libmikmod' 'wildmidi')
makedepends=('boost' 'meson' 'python-sphinx' 'clang' 'ninja')
conflicts=('mpd')
provides=("mpd=${pkgver}")
#latest commit
#source=('mpd::git+https://git.code.sf.net/p/sacddecoder/mpd/MPD.git#commit=0ecc3394c396c2f3e9776160d4fba4bd5712ff0b'
#       'sysusers.d'
#       'tmpfiles.d'
#       'conf')
#archive
#source=('mpd.zip::https://sourceforge.net/projects/mpd.sacddecoder.p/files/mpd.zip/download'
#       'sysusers.d'
#       'tmpfiles.d'
#       'conf')
#from aur
source=('mpd::git+https://git.code.sf.net/p/sacddecoder/mpd/MPD.git#commit=ed387398fa3287d840da791005ec8dad9a81cc7d'
        'sysusers.d'
        'tmpfiles.d'
        'conf')
sha1sums=('SKIP'
          '7c7de7b30c6c8e1c705dd415692f6a08a3f62c82'
          'd82864959d1a1a07bf75d87c7586dbb713892f3a'
          '291fd5cda9f0845834a553017327c4586bd853f6')
backup=('etc/mpd.conf')

prepare() {
        cd "${srcdir}/mpd"
        rm -rf build
        install -d build
}

build() {
        cd "${srcdir}/mpd/build"
        _opts=('-Ddocumentation=enabled'
                '-Dchromaprint=disabled' # appears not to be used for anything
                '-Dsidplay=disabled' # unclear why but disabled in the past
                '-Dadplug=disabled' # not in an official repo
                '-Dsndio=disabled' # interferes with detection of alsa devices
                '-Dshine=disabled' # not in an official repo
                '-Dtremor=disabled' # not in official repo
                '-Dcdio_paranoia=enabled'
                '-Diso9660=enabled'
                '-Djack=enabled'
                '-Dlibmpdclient=enabled'
                '-Dpipe=true'
                '-Dpulse=enabled'
                '-Dsoundcloud=enabled'
                '-Dzzip=enabled'
                '-Dsacdiso=true'
                '-Ddvdaiso=true'
#               '-Dc_std=c99'
#               '-Dcpp_std=c++17'
        )
#       env CC=clang CXX=clang++ arch-meson .. ${_opts[@]}
#       env CC=clang CXX=clang++ arch-meson .. --reconfigure ${_opts[@]}
        arch-meson .. ${_opts[@]}
#       meson
        ninja
}

package() {
        cd "${srcdir}/mpd/build"
        DESTDIR="${pkgdir}" ninja install
        install -Dm644 ../doc/mpdconf.example "${pkgdir}"/usr/share/doc/mpd/mpdconf.example
        install -Dm644 doc/mpd.conf.5 "${pkgdir}"/usr/share/man/man5/mpd.conf.5
        install -Dm644 doc/mpd.1 "${pkgdir}"/usr/share/man/man1/mpd.1

        install -Dm644 ../../sysusers.d "${pkgdir}"/usr/lib/sysusers.d/mpd.conf
        install -Dm644 ../../conf "${pkgdir}"/etc/mpd.conf
        install -Dm644 ../../tmpfiles.d "${pkgdir}"/usr/lib/tmpfiles.d/mpd.conf

        sed \
                -e '/\[Service\]/a User=mpd' \
                -e '/WantedBy=/c WantedBy=default.target' \
                -i "${pkgdir}"/usr/lib/systemd/system/mpd.service
}

Gcc version:

gcc --version                                                                                                                                                                 Fri 23:35
gcc (GCC) 10.2.0

emilot commented on 2020-11-13 20:30 (UTC)

Did you run it with GCC?

mo3r commented on 2020-11-13 17:16 (UTC)

@emilot I get error on linking:

[703/703] Linking target mpd
FAILED: mpd 
c++  -o mpd mpd.p/meson-generated_.._GitVersion.cxx.o mpd.p/src_Main.cxx.o mpd.p/src_protocol_Ack.cxx.o mpd.p/src_protocol_ArgParser.cxx.o mpd.p/src_protocol_Result.cxx.o mpd.p/src_command_CommandError.cxx.o mpd.p/src_command_AllCommands.cxx.o mpd.p/src_command_QueueCommands.cxx.o mpd.p/src_command_TagCommands.cxx.o mpd.p/src_command_PlayerCommands.cxx.o mpd.p/src_command_PlaylistCommands.cxx.o mpd.p/src_command_FileCommands.cxx.o mpd.p/src_command_OutputCommands.cxx.o mpd.p/src_command_MessageCommands.cxx.o mpd.p/src_command_ClientCommands.cxx.o mpd.p/src_command_PartitionCommands.cxx.o mpd.p/src_command_OtherCommands.cxx.o mpd.p/src_command_CommandListBuilder.cxx.o mpd.p/src_Idle.cxx.o mpd.p/src_IdleFlags.cxx.o mpd.p/src_decoder_Domain.cxx.o mpd.p/src_decoder_Thread.cxx.o mpd.p/src_decoder_Control.cxx.o mpd.p/src_decoder_Bridge.cxx.o mpd.p/src_decoder_DecoderPrint.cxx.o mpd.p/src_client_Listener.cxx.o mpd.p/src_client_Client.cxx.o mpd.p/src_client_Config.cxx.o mpd.p/src_client_Domain.cxx.o mpd.p/src_client_Event.cxx.o mpd.p/src_client_Expire.cxx.o mpd.p/src_client_Idle.cxx.o mpd.p/src_client_List.cxx.o mpd.p/src_client_New.cxx.o mpd.p/src_client_Process.cxx.o mpd.p/src_client_Read.cxx.o mpd.p/src_client_Write.cxx.o mpd.p/src_client_Message.cxx.o mpd.p/src_client_Subscribe.cxx.o mpd.p/src_client_File.cxx.o mpd.p/src_client_Response.cxx.o mpd.p/src_client_ThreadBackgroundCommand.cxx.o mpd.p/src_Listen.cxx.o mpd.p/src_LogInit.cxx.o mpd.p/src_ls.cxx.o mpd.p/src_Instance.cxx.o mpd.p/src_win32_Win32Main.cxx.o mpd.p/src_MusicBuffer.cxx.o mpd.p/src_MusicPipe.cxx.o mpd.p/src_MusicChunk.cxx.o mpd.p/src_MusicChunkPtr.cxx.o mpd.p/src_Mapper.cxx.o mpd.p/src_Partition.cxx.o mpd.p/src_Permission.cxx.o mpd.p/src_player_CrossFade.cxx.o mpd.p/src_player_Thread.cxx.o mpd.p/src_player_Control.cxx.o mpd.p/src_PlaylistError.cxx.o mpd.p/src_PlaylistPrint.cxx.o mpd.p/src_PlaylistSave.cxx.o mpd.p/src_playlist_PlaylistStream.cxx.o mpd.p/src_playlist_PlaylistMapper.cxx.o mpd.p/src_playlist_PlaylistAny.cxx.o mpd.p/src_playlist_PlaylistSong.cxx.o mpd.p/src_playlist_PlaylistQueue.cxx.o mpd.p/src_playlist_Print.cxx.o mpd.p/src_db_PlaylistVector.cxx.o mpd.p/src_queue_Queue.cxx.o mpd.p/src_queue_QueuePrint.cxx.o mpd.p/src_queue_QueueSave.cxx.o mpd.p/src_queue_Playlist.cxx.o mpd.p/src_queue_PlaylistControl.cxx.o mpd.p/src_queue_PlaylistEdit.cxx.o mpd.p/src_queue_PlaylistTag.cxx.o mpd.p/src_queue_PlaylistState.cxx.o mpd.p/src_ReplayGainGlobal.cxx.o mpd.p/src_LocateUri.cxx.o mpd.p/src_SongUpdate.cxx.o mpd.p/src_SongLoader.cxx.o mpd.p/src_SongPrint.cxx.o mpd.p/src_SongSave.cxx.o mpd.p/src_StateFile.cxx.o mpd.p/src_StateFileConfig.cxx.o mpd.p/src_Stats.cxx.o mpd.p/src_TagPrint.cxx.o mpd.p/src_TagSave.cxx.o mpd.p/src_TagFile.cxx.o mpd.p/src_TagStream.cxx.o mpd.p/src_TagAny.cxx.o mpd.p/src_TimePrint.cxx.o mpd.p/src_mixer_Volume.cxx.o mpd.p/src_PlaylistFile.cxx.o mpd.p/src_CommandLine.cxx.o mpd.p/src_unix_SignalHandlers.cxx.o mpd.p/src_unix_Daemon.cxx.o mpd.p/src_queue_PlaylistUpdate.cxx.o mpd.p/src_command_StorageCommands.cxx.o mpd.p/src_command_DatabaseCommands.cxx.o mpd.p/src_RemoteTagCache.cxx.o mpd.p/src_command_StickerCommands.cxx.o mpd.p/src_sticker_Database.cxx.o mpd.p/src_sticker_Print.cxx.o mpd.p/src_sticker_SongSticker.cxx.o mpd.p/src_command_NeighborCommands.cxx.o mpd.p/src_TagArchive.cxx.o mpd.p/src_db_update_Archive.cxx.o -flto -Wl,--as-needed -Wl,--no-undefined -pie -Wl,--gc-sections -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -Wl,--start-group libbasic.a src/config/libfs.a liblog.a src/fs/libfs.a src/lib/zlib/libzlib.a src/io/libio.a src/system/libsystem.a src/lib/icu/libicu.a src/util/libutil.a src/lib/dbus/libdbus.a src/event/libevent.a src/io/uring/liburing.a src/thread/libthread.a src/net/libnet.a src/neighbor/libneighbor_glue.a src/neighbor/plugins/libneighbor_plugins.a src/lib/smbclient/libsmbclient.a src/lib/upnp/libupnp.a src/lib/curl/libcurl.a src/lib/expat/libexpat.a src/input/libinput_glue.a src/input/plugins/libinput_plugins.a src/lib/alsa/libalsa.a src/lib/ffmpeg/libffmpeg.a src/lib/nfs/libnfs.a src/lib/yajl/libyajl.a src/lib/crypto/libcrypto_md5.a src/input/libinput_api.a src/pcm/libpcm.a src/pcm/libpcm_basic.a src/tag/libtag.a src/time/libtime.a src/archive/libarchive_glue.a src/archive/plugins/libarchive_plugins.a src/archive/libarchive_api.a src/output/liboutput_glue.a src/filter/libfilter_glue.a src/filter/plugins/libfilter_plugins.a src/filter/libfilter_api.a src/mixer/plugins/libmixer_plugins.a src/lib/pulse/libpulse.a src/output/plugins/liboutput_plugins.a src/output/liboutput_api.a src/mixer/libmixer_glue.a src/decoder/libdecoder_glue.a src/decoder/plugins/libdecoder_plugins.a src/lib/xiph/libflac.a src/lib/xiph/libxiph.a src/lib/xiph/libvorbis.a src/lib/xiph/libogg.a src/lib/crypto/libcrypto_base64.a src/decoder/libdecoder_api.a src/encoder/libencoder_glue.a src/encoder/plugins/libencoder_plugins.a src/playlist/libplaylist_glue.a src/playlist/plugins/libplaylist_plugins.a src/playlist/libplaylist_api.a src/db/libdb_glue.a src/db/plugins/libdb_plugins.a src/db/libdb_api.a src/storage/libstorage_api.a src/storage/libstorage_glue.a src/storage/plugins/libstorage_plugins.a src/song/libsong.a src/lib/pcre/libpcre.a src/lib/systemd/libsystemd.a src/lib/sqlite/libsqlite.a src/zeroconf/libzeroconf_bonjour.a src/lib/sacdiso/libsacdiso.a src/lib/dvdaiso/libdvdaiso.a /usr/lib/libdbus-1.so /usr/lib/liburing.so /usr/lib/libavformat.so /usr/lib/libavcodec.so /usr/lib/libavfilter.so /usr/lib/libavutil.so /usr/lib/libpcre.so /usr/lib/libz.so /usr/lib/libicui18n.so /usr/lib/libicuuc.so /usr/lib/libicudata.so -pthread /usr/lib/libsmbclient.so /usr/lib/libupnp.so /usr/lib/libixml.so /usr/lib/libcurl.so /usr/lib/libexpat.so /usr/lib/libcdio_paranoia.so /usr/lib/libcdio_cdda.so /usr/lib/libcdio.so -lm /usr/lib/libmms.so /usr/lib/libglib-2.0.so /usr/lib/libnfs.so /usr/lib/libyajl.so /usr/lib/libasound.so /usr/lib/libsamplerate.so /usr/lib/libsoxr.so /usr/lib/libid3tag.so -lbz2 /usr/lib/libiso9660.so /usr/lib/libzzip.so /usr/lib/libpulse.so /usr/lib/libao.so /usr/lib/libjack.so -lpthread /usr/lib/libshout.so /usr/lib/libopenal.so /usr/lib/libFLAC.so /usr/lib/libfluidsynth.so /usr/lib/libaudiofile.so -lfaad -lgme -lmad /usr/lib/libmikmod.so /usr/lib/libmodplug.so -lmpcdec /usr/lib/libmpg123.so /usr/lib/libopus.so /usr/lib/libsndfile.so /usr/lib/libogg.so /usr/lib/libvorbis.so /usr/lib/libwavpack.so /usr/lib/libWildMidi.so /usr/lib/libvorbisenc.so -lmp3lame /usr/lib/libtwolame.so /usr/lib/libmpdclient.so /usr/lib/libsystemd.so /usr/lib/libsqlite3.so /usr/lib/libavahi-common.so /usr/lib/libavahi-client.so -Wl,--end-group
/sbin/ld: SacdIsoDecoderPlugin.cxx.o (symbol from plugin): in function `sacdiso_decoder_plugin':
(.text+0x0): multiple definition of `dst::GET_NIBBLE'; DffDecoderPlugin.cxx.o (symbol from plugin):(.text+0x0): first defined here
/sbin/ld: SacdIsoDecoderPlugin.cxx.o (symbol from plugin): in function `sacdiso_decoder_plugin':
(.text+0x0): multiple definition of `dst::GET_BIT'; DffDecoderPlugin.cxx.o (symbol from plugin):(.text+0x0): first defined here
/sbin/ld: libdstdec_binding_dst_decoder_mt.cpp.o (symbol from plugin): in function `dst_decoder_t::get_slot_nr()':
(.text+0x0): multiple definition of `dst::GET_NIBBLE'; DffDecoderPlugin.cxx.o (symbol from plugin):(.text+0x0): first defined here
/sbin/ld: libdstdec_binding_dst_decoder_mt.cpp.o (symbol from plugin): in function `dst_decoder_t::get_slot_nr()':
(.text+0x0): multiple definition of `dst::GET_BIT'; DffDecoderPlugin.cxx.o (symbol from plugin):(.text+0x0): first defined here
/sbin/ld: libdstdec_decoder_decoder.cpp.o (symbol from plugin): in function `dst::decoder_t::close()':
(.text+0x0): multiple definition of `dst::GET_NIBBLE'; DffDecoderPlugin.cxx.o (symbol from plugin):(.text+0x0): first defined here
/sbin/ld: libdstdec_decoder_decoder.cpp.o (symbol from plugin): in function `dst::decoder_t::close()':
(.text+0x0): multiple definition of `dst::GET_BIT'; DffDecoderPlugin.cxx.o (symbol from plugin):(.text+0x0): first defined here
/sbin/ld: dvda_metabase.cpp.o (symbol from plugin): in function `dvda_metabase_t::~dvda_metabase_t()':
(.text+0x0): multiple definition of `xml2utf'; sacd_metabase.cpp.o (symbol from plugin):(.text+0x0): first defined here
/sbin/ld: dvda_metabase.cpp.o (symbol from plugin): in function `dvda_metabase_t::~dvda_metabase_t()':
(.text+0x0): multiple definition of `utf2xml'; sacd_metabase.cpp.o (symbol from plugin):(.text+0x0): first defined here
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

emilot commented on 2020-11-13 16:15 (UTC)

Try with this "source" commit in PKGBUILD

source=('mpd::git+https://git.code.sf.net/p/sacddecoder/mpd/MPD.git#commit=ed387398fa3287d840da791005ec8dad9a81cc7d'

I do not have any trouble with Update...

mo3r commented on 2020-11-09 13:23 (UTC)

@brucehsieh Yes, I have the same problem. That's why I did not update the PKGBUILD in the repository. Now I do not have a powerful PC for debugging and rebuilding mpd. One compilation takes about 40-50 minutes on my hardware. Sorry.

brucehsieh commented on 2020-11-09 13:10 (UTC)

@mo3r Your PKGBUILD can build the mpd-sacd package successfully but the mpd crashes on the update and rescan operations.

melvinvermeeren commented on 2020-10-27 03:19 (UTC)

@mo3r Added you as a co-maintainer if that's ok with you, don't have access to an arch system right now. Thanks!

mo3r commented on 2020-10-27 01:25 (UTC) (edited on 2020-10-27 02:02 (UTC) by mo3r)

@melvinvermeeren Hi, please update PKGBUILD

# Maintainer: Melvin Vermeeren <mail@mel.vin>

pkgname=mpd-sacd
pkgver=0.23~git
pkgrel=1
pkgdesc='MPD with patches for SACD and DVDA ISO playback.'
url='https://sourceforge.net/p/sacddecoder/mpd/MPD.git/ci/master/tree/'
license=('GPL')
arch=('i686' 'x86_64' 'aarch64' 'armv7h')
depends=('libao' 'ffmpeg' 'libmodplug' 'audiofile' 'libshout' 'libmad' 'curl' 'faad2'
    'sqlite' 'jack' 'libmms' 'wavpack' 'avahi' 'libid3tag' 'yajl' 'libmpdclient'
    'icu' 'libupnp' 'libnfs' 'libsamplerate' 'libsoxr' 'smbclient' 'libcdio-paranoia'
    'libgme' 'zziplib' 'fluidsynth' 'libmikmod' 'wildmidi')
makedepends=('boost' 'meson' 'python-sphinx' 'clang' 'ninja')
conflicts=('mpd')
provides=("mpd=${pkgver}")
source=('mpd::git+https://git.code.sf.net/p/sacddecoder/mpd/MPD.git#commit=ad585e179f900ce1038c8a026182a8201d19474c'
    'sysusers.d'
    'tmpfiles.d'
    'conf')
sha1sums=('SKIP'
          '7c7de7b30c6c8e1c705dd415692f6a08a3f62c82'
          'd82864959d1a1a07bf75d87c7586dbb713892f3a'
          '291fd5cda9f0845834a553017327c4586bd853f6')
backup=('etc/mpd.conf')

prepare() {
    cd "${srcdir}/mpd"
    rm -rf build
    install -d build
}

build() {
    cd "${srcdir}/mpd/build"
    _opts=('-Ddocumentation=enabled'
        '-Dstrip=true'
        '-Dchromaprint=disabled' # appears not to be used for anything
        '-Dsidplay=disabled' # unclear why but disabled in the past
        '-Dadplug=disabled' # not in an official repo
        '-Dsndio=disabled' # interferes with detection of alsa devices
        '-Dshine=disabled' # not in an official repo
        '-Dtremor=disabled' # not in official repo
        '-Dcdio_paranoia=enabled'
        '-Diso9660=enabled'
        '-Djack=enabled'
        '-Dlibmpdclient=enabled'
        '-Dpipe=true'
        '-Dpulse=enabled'
        '-Dsoundcloud=enabled'
        '-Dzzip=enabled'
        '-Dsacdiso=true'
        '-Ddvdaiso=true'
        '-Diconv=enabled'
        '-Dc_std=c99'
        '-Dcpp_std=c++17'
    )
    env CC=clang CXX=clang++ arch-meson .. ${_opts[@]}
    ninja
}

package() {
    cd "${srcdir}/mpd/build"
    DESTDIR="${pkgdir}" ninja install
    install -Dm644 ../doc/mpdconf.example "${pkgdir}"/usr/share/doc/mpd/mpdconf.example
    install -Dm644 doc/mpd.conf.5 "${pkgdir}"/usr/share/man/man5/mpd.conf.5
    install -Dm644 doc/mpd.1 "${pkgdir}"/usr/share/man/man1/mpd.1

    install -Dm644 ../../sysusers.d "${pkgdir}"/usr/lib/sysusers.d/mpd.conf
    install -Dm644 ../../conf "${pkgdir}"/etc/mpd.conf
    install -Dm644 ../../tmpfiles.d "${pkgdir}"/usr/lib/tmpfiles.d/mpd.conf

    sed \
        -e '/\[Service\]/a User=mpd' \
        -e '/WantedBy=/c WantedBy=default.target' \
        -i "${pkgdir}"/usr/lib/systemd/system/mpd.service
}

melvinvermeeren commented on 2020-10-06 14:14 (UTC)

Hi, I don't think I'll be able to check this out and fix it anytime soon. Would it work for you if I add you as a co-maintainer so you can push some fixes?