diff --git a/audio/tagutil/Makefile b/audio/tagutil/Makefile --- a/audio/tagutil/Makefile +++ b/audio/tagutil/Makefile @@ -1,47 +1,48 @@ PORTNAME= tagutil -PORTVERSION= 3.1 DISTVERSIONPREFIX= v +DISTVERSION= 3.1 CATEGORIES= audio MAINTAINER= alex@kaworu.ch COMMENT= Command line interface tool to manage tags in music files LICENSE= BSD2CLAUSE - -BROKEN_riscv64= fails to link: cannot open /nxb-bin/usr/lib/clang/11.0.0/lib/freebsd/libclang_rt.ubsan_standalone-riscv64.a: No such file or directory +LICENSE_FILE= ${WRKSRC}/LICENSE LIB_DEPENDS= libyaml.so:textproc/libyaml +USES= cmake compiler:c++11-lang iconv pkgconfig + USE_GITHUB= yes GH_ACCOUNT= kAworu -USES= cmake compiler:c++11-lang iconv pkgconfig -PLIST_FILES= bin/tagutil \ - man/man1/tagutil.1.gz - CMAKE_ARGS= -DMAN_PATH=${PREFIX}/man CMAKE_SOURCE_PATH= ${WRKSRC}/src -OPTIONS_DEFINE= JSON -OPTIONS_MULTI= MEDIA +LDFLAGS_FreeBSD_11= -fuse-ld=lld +LDFLAGS+= ${LDFLAGS_${OPSYS}_${OSREL:R}} + +PLIST_FILES= bin/tagutil \ + man/man1/tagutil.1.gz + +OPTIONS_DEFINE= JSON +OPTIONS_MULTI= MEDIA OPTIONS_MULTI_MEDIA= FLAC OGG TAGLIB OPTIONS_DEFAULT= FLAC OGG TAGLIB -TAGLIB_DESC= Multiple file format but limited tags support -JSON_DESC= JSON output format support + +TAGLIB_DESC= Multiple file format but limited tags support JSON_LIB_DEPENDS= libjansson.so:devel/jansson -JSON_CMAKE_OFF= -DWITHOUT_JSON=yes +JSON_CMAKE_OFF= -DWITHOUT_JSON=yes + FLAC_LIB_DEPENDS= libFLAC.so:audio/flac -FLAC_CMAKE_OFF= -DWITHOUT_FLAC=yes -OGG_LIB_DEPENDS=\ - libvorbisfile.so:audio/libvorbis \ - libogg.so:audio/libogg -OGG_CMAKE_OFF= -DWITHOUT_OGGVORBIS=yes +FLAC_CMAKE_OFF= -DWITHOUT_FLAC=yes + +OGG_LIB_DEPENDS= libvorbisfile.so:audio/libvorbis \ + libogg.so:audio/libogg +OGG_CMAKE_OFF= -DWITHOUT_OGGVORBIS=yes + TAGLIB_LIB_DEPENDS= libtag_c.so:audio/taglib TAGLIB_CMAKE_OFF= -DWITHOUT_TAGLIB=yes -# For FreeBSD 11: ld: undefined reference to symbol `__cxa_demangle@@CXXABI_1.3' (try adding -lcxxrt) -.if exists(/usr/bin/ld.lld) && ${/usr/bin/ld:L:tA} != /usr/bin/ld.lld -TAGLIB_LDFLAGS= -fuse-ld=lld -.endif .include diff --git a/audio/tagutil/files/patch-src_CMakeLists.txt b/audio/tagutil/files/patch-src_CMakeLists.txt new file mode 100644 --- /dev/null +++ b/audio/tagutil/files/patch-src_CMakeLists.txt @@ -0,0 +1,15 @@ +--- src/CMakeLists.txt.orig 2019-12-23 16:19:17 UTC ++++ src/CMakeLists.txt +@@ -31,10 +31,10 @@ include_directories( + + # CFLAGS + add_compile_options(-std=c11 -Wall -Wextra) +-add_compile_options(-fstack-protector-strong -o aslr -fpie) ++add_compile_options(-fstack-protector-strong -fpie) + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie") + # Per build type flags. +-set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS} -O0 -g -fsanitize=undefined") ++set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS}") + # CMAKE_BUILD_TYPE=GRIM: *very* strict compiler options + set(CMAKE_C_FLAGS_GRIM "${CMAKE_C_FLAGS_DEBUG} -Wextra -pedantic -Wconversion -Wstrict-prototypes -Wcast-qual -Wcast-align -Wshadow -Wredundant-decls -Wundef -Wfloat-equal -Wmissing-include-dirs -Wswitch-default -Wpointer-arith -Wbad-function-cast -Wnested-externs -Wold-style-definition -Wformat=2 -Winit-self -Wwrite-strings -Wmissing-prototypes") + include(CheckCCompilerFlag)