diff --git a/audio/flac/Makefile b/audio/flac/Makefile index b0d23cd0a4ca..29c6f0fe134a 100644 --- a/audio/flac/Makefile +++ b/audio/flac/Makefile @@ -1,49 +1,50 @@ PORTNAME= flac PORTVERSION= 1.4.1 +PORTREVISION= 1 CATEGORIES= audio MASTER_SITES= https://downloads.xiph.org/releases/flac/ \ https://ftp.osuosl.org/pub/xiph/releases/flac/ MAINTAINER= naddy@FreeBSD.org COMMENT= Free lossless audio codec WWW= https://www.xiph.org/flac/ LICENSE= BSD3CLAUSE GFDL GPLv2 LGPL21 LICENSE_COMB= multi LICENSE_FILE_BSD3CLAUSE=${WRKSRC}/COPYING.Xiph LICENSE_FILE_GFDL= ${WRKSRC}/COPYING.FDL LIB_DEPENDS= libogg.so:audio/libogg USES= compiler:c11 cpe iconv libtool pathfix pkgconfig tar:xz CPE_VENDOR= flac_project # Preserve UTF-8 filenames in test/flac-to-flac-metadata-test-files/. # They are referenced by the test suite. EXTRACT_CMD= ${SETENV} LC_ALL=C.UTF-8 ${TAR} USE_LDCONFIG= yes GNU_CONFIGURE= yes CONFIGURE_ARGS= --enable-static \ --disable-sse \ --with-ogg="${LOCALBASE}" \ --disable-doxygen-docs \ --disable-thorough-tests \ --disable-xmms-plugin INSTALL_TARGET= install-strip TEST_TARGET= check OPTIONS_DEFINE= DOCS .include .if ${ARCH} == "i386" BUILD_DEPENDS+= nasm:devel/nasm .endif .if ${ARCH} != powerpc64le CONFIGURE_ARGS+=--disable-vsx .endif .include diff --git a/audio/flac/files/patch-src_libFLAC_include_private_cpu.h b/audio/flac/files/patch-src_libFLAC_include_private_cpu.h new file mode 100644 index 000000000000..9837d6f10ae2 --- /dev/null +++ b/audio/flac/files/patch-src_libFLAC_include_private_cpu.h @@ -0,0 +1,41 @@ +Assume Clang supports x86 intrinsics up to FMA +https://github.com/xiph/flac/commit/90c0562d4eb302b01d9b82c75a7f6a66261c5546 + +--- src/libFLAC/include/private/cpu.h.orig 2022-09-21 18:57:31 UTC ++++ src/libFLAC/include/private/cpu.h +@@ -82,28 +82,14 @@ + #elif defined __clang__ && __has_attribute(__target__) /* clang */ + #define FLAC__SSE_TARGET(x) __attribute__ ((__target__ (x))) + #define FLAC__FAST_MATH_TARGET(x) __attribute__ ((__target__ (x))) +- #if __has_builtin(__builtin_ia32_maxps) +- #define FLAC__SSE_SUPPORTED 1 +- #endif +- #if __has_builtin(__builtin_ia32_pmuludq128) +- #define FLAC__SSE2_SUPPORTED 1 +- #endif +- #if __has_builtin(__builtin_ia32_pabsd128) +- #define FLAC__SSSE3_SUPPORTED 1 +- #endif +- #if __has_builtin(__builtin_ia32_pmuldq128) +- #define FLAC__SSE4_1_SUPPORTED 1 +- #endif ++ #define FLAC__SSE_SUPPORTED 1 ++ #define FLAC__SSE2_SUPPORTED 1 ++ #define FLAC__SSSE3_SUPPORTED 1 ++ #define FLAC__SSE4_1_SUPPORTED 1 + #ifdef FLAC__USE_AVX +- #if __has_builtin(__builtin_ia32_maxps256) +- #define FLAC__AVX_SUPPORTED 1 +- #endif +- #if __has_builtin(__builtin_ia32_pabsd256) +- #define FLAC__AVX2_SUPPORTED 1 +- #endif +- #if __has_builtin(__builtin_ia32_vfmaddps) +- #define FLAC__FMA_SUPPORTED 1 +- #endif ++ #define FLAC__AVX_SUPPORTED 1 ++ #define FLAC__AVX2_SUPPORTED 1 ++ #define FLAC__FMA_SUPPORTED 1 + #endif + #elif defined __GNUC__ && !defined __clang__ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 9)) /* GCC 4.9+ */ + #define FLAC__SSE_TARGET(x) __attribute__ ((__target__ (x)))