# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 PortSystem 1.0 PortGroup cmake 1.1 PortGroup github 1.0 PortGroup openssl 1.0 github.setup clangen musikcube 3.0.2 github.tarball_from archive revision 1 checksums rmd160 455138d428e6e60a68191b820f8d4b84f8e4ce24 \ sha256 65f82db36d635bdbfd99f67d1d68c9e1aedf8e38efa627f303cf7971c306d063 \ size 4800648 categories multimedia license BSD maintainers {@barracuda156 gmail.com:vital.had} openmaintainer description A cross-platform, terminal-based music player, \ audio engine, metadata indexer and server in C++ long_description {*}${description} homepage https://musikcube.com compiler.c_standard 1999 compiler.cxx_standard \ 2017 # There is no dependency on Boost anymore, # instead a standalone Asio is used. depends_build-append \ port:asio \ port:pkgconfig # Care should be taken with regard to FFMpeg. # ffmpeg6 is broken presently: avoid it # unless it is fixed and works across the board. depends_lib-append port:curl \ port:flac \ port:lame \ path:lib/libavcodec.dylib:ffmpeg \ port:libev \ port:libmicrohttpd \ port:libogg \ port:libopenmpt \ port:libvorbis \ port:mpg123 \ port:ncurses \ port:portaudio \ port:pulseaudio \ port:taglib \ port:zlib patchfiles-append patch-CMakeLists.diff \ patch-fix-curses.diff # The following will be relevant only if a custom-located FFMpeg is used, # and CMakeLists patch has related lines uncommented. # post-patch { # reinplace "s,@PREFIX@,${prefix}," ${worksrcpath}/src/plugins/stockencoders/CMakeLists.txt # } # Please do not change default settings without a good reason to # and sufficient testing on all supported systems. In particular, # everything may build with no errors but fail to work. configure.args-append \ -DENABLE_BUNDLED_TAGLIB=false \ -DENABLE_PCH=false # The following are just here for convenience: # -DENABLE_MACOS_SYSTEM_NCURSES=true will link against dynamic libs. # -DDISABLE_WIDE_NCURSES_LIB_SUFFIXES=true should be used if ncurses does not install w-postfixed libs. # https://github.com/clangen/musikcube/issues/656 if {[string match *gcc* ${configure.compiler}]} { configure.cflags-append \ -std=c99 -fobjc-exceptions } # atomics check pretends to be there but does nothing: # https://github.com/clangen/musikcube/issues/657 if {[string match *gcc* ${configure.compiler}] && ${configure.build_arch} in [list arm i386 ppc]} { configure.ldflags-append \ -latomic } # PowerPC-dedicated issue: # https://github.com/clangen/musikcube/issues/658 platform darwin powerpc { # We do need custom optflags here, otherwise while the build succeeds, # the app does not work correctly. configure.optflags \ -O0 -g notes " Presently CoreAudio output may not work correctly on PowerPC systyems. Please use PortAudio or possibly PulseAudio instead. " } post-destroot { # Build system dumps everything into share. Fix installation: move ${destroot}${prefix}/share/musikcube/libmusikcore.dylib ${destroot}${prefix}/lib/libmusikcore.dylib # Same condition as in legacysupport: if {${os.platform} eq "darwin" && ${configure.cxx_stdlib} ne "libc++"} { # The port installs its wrappers, but they do not work correctly. # Replace with fixed ones. These are only wrappers, not actual binaries. foreach f {musikcube musikcubed} { delete ${destroot}${prefix}/bin/${f} reinplace "s,@PREFIX@,${prefix},g" ${filespath}/${f} xinstall -m 0755 ${filespath}/${f} ${destroot}${prefix}/bin } } }