diff --git a/mingw-w64-flac/Do-not-assume-that-sys-param.h-defines-MIN-and-MAX.patch b/mingw-w64-flac/Do-not-assume-that-sys-param.h-defines-MIN-and-MAX.patch deleted file mode 100644 index c951562a6f..0000000000 --- a/mingw-w64-flac/Do-not-assume-that-sys-param.h-defines-MIN-and-MAX.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 4a43f2bd4d7e12b5d994f48e18cf014008d204ce Mon Sep 17 00:00:00 2001 -From: sezero -Date: Mon, 5 Aug 2019 02:00:40 +0300 -Subject: [PATCH] Do not assume that sys/param.h defines MIN and MAX - -One such example is sys/param.h from MinGW. ---- - src/libFLAC/include/private/macros.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/libFLAC/include/private/macros.h b/src/libFLAC/include/private/macros.h -index 02eada455..3a8072ece 100644 ---- a/src/libFLAC/include/private/macros.h -+++ b/src/libFLAC/include/private/macros.h -@@ -51,8 +51,10 @@ - /* Whatever other unix that has sys/param.h */ - #elif defined(HAVE_SYS_PARAM_H) - #include -+#if defined(MIN) && defined(MAX) - #define flac_max(a,b) MAX(a,b) - #define flac_min(a,b) MIN(a,b) -+#endif - - /* Windows VS has them in stdlib.h.. XXX:Untested */ - #elif defined(_MSC_VER) diff --git a/mingw-w64-flac/PKGBUILD b/mingw-w64-flac/PKGBUILD index 2f4ea00fac..b189e86a90 100644 --- a/mingw-w64-flac/PKGBUILD +++ b/mingw-w64-flac/PKGBUILD @@ -3,8 +3,8 @@ _realname=flac pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.3.3 -pkgrel=3 +pkgver=1.3.4 +pkgrel=1 pkgdesc="Free Lossless Audio Codec (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -12,43 +12,79 @@ url="https://flac.sourceforge.io/" license=('custom:Xiph' 'LGPL' 'GPL' 'FDL') depends=("${MINGW_PACKAGE_PREFIX}-libogg" "${MINGW_PACKAGE_PREFIX}-libssp" + "${MINGW_PACKAGE_PREFIX}-gettext" "${MINGW_PACKAGE_PREFIX}-gcc-libs") -#optdepends=("${MINGW_PACKAGE_PREFIX}-xmms: for using the xmms plugin") -makedepends=("${MINGW_PACKAGE_PREFIX}-nasm" "${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools") -options=('strip' 'staticlibs') -source=("https://downloads.xiph.org/releases/flac/flac-${pkgver}.tar.xz" - "Do-not-assume-that-sys-param.h-defines-MIN-and-MAX.patch") -sha256sums=('213e82bd716c9de6db2f98bcadbc4c24c7e2efe8c75939a1a84e28539c4e1748' - 'feab3c619d3739c620c658bd8ae44a2f39d1f677238ce49606e0175469c1f99f') +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-cmake" + "${MINGW_PACKAGE_PREFIX}-nasm" + "${MINGW_PACKAGE_PREFIX}-ninja") +source=("https://downloads.xiph.org/releases/flac/flac-${pkgver}.tar.xz") +sha256sums=('8ff0607e75a322dd7cd6ec48f4f225471404ae2730d0ea945127b1355155e737') prepare() { cd "${srcdir}/${_realname}-${pkgver}" - # https://github.com/xiph/flac/commit/4a43f2bd4d7e12b5d994f48e18cf014008d204ce - patch -Np1 -i "${srcdir}/Do-not-assume-that-sys-param.h-defines-MIN-and-MAX.patch" - ./autogen.sh } build() { - [[ -d "${srcdir}/build-${MINGW_CHOST}" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}" - mkdir -p "${srcdir}/build-${MINGW_CHOST}" && cd "${srcdir}/build-${MINGW_CHOST}" + declare -a _extra_config + if check_option "debug" "n"; then + _extra_config+=("-DCMAKE_BUILD_TYPE=Release") + else + _extra_config+=("-DCMAKE_BUILD_TYPE=Debug") + fi - LDFLAGS+=" -lssp" + [[ -d "${srcdir}/build-${MSYSTEM}-static" ]] && rm -rf "${srcdir}/build-${MSYSTEM}-static" + mkdir -p "${srcdir}/build-${MSYSTEM}-static" && cd "${srcdir}/build-${MSYSTEM}-static" - ../${_realname}-${pkgver}/configure \ - --enable-shared \ - --enable-static \ - --disable-xmms-plugin \ - --disable-rpath \ - --prefix=${MINGW_PREFIX} \ - --build=${MINGW_CHOST} \ - --host=${MINGW_CHOST} \ - --target=${MINGW_CHOST} \ - --with-pic - make + LDFLAGS+=" -fstack-protector" \ + MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ + ${MINGW_PREFIX}/bin/cmake.exe \ + -Wno-dev \ + -G"Ninja" \ + -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ + "${_extra_config[@]}" \ + -DBUILD_DOCS=OFF \ + -DBUILD_SHARED_LIBS=OFF \ + -DBUILD_TESTING=ON \ + -DWITH_STACK_PROTECTOR=OFF \ + ../${_realname}-${pkgver} + + ${MINGW_PREFIX}/bin/cmake.exe --build ./ + + [[ -d "${srcdir}/build-${MSYSTEM}-shared" ]] && rm -rf "${srcdir}/build-${MSYSTEM}-shared" + mkdir -p "${srcdir}/build-${MSYSTEM}-shared" && cd "${srcdir}/build-${MSYSTEM}-shared" + + LDFLAGS+=" -fstack-protector" \ + MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ + ${MINGW_PREFIX}/bin/cmake.exe \ + -Wno-dev \ + -G"Ninja" \ + -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ + "${_extra_config[@]}" \ + -DBUILD_DOCS=OFF \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=ON \ + -DWITH_STACK_PROTECTOR=OFF \ + ../${_realname}-${pkgver} + + ${MINGW_PREFIX}/bin/cmake.exe --build ./ +} + +check() { + cd "${srcdir}/build-${MSYSTEM}-static" + ${MINGW_PREFIX}/bin/ctest.exe ./ || true + + cd "${srcdir}/build-${MSYSTEM}-shared" + PATH=$PWD/src/libFLAC:$PWD/src/libFLAC++:$PATH ${MINGW_PREFIX}/bin/ctest.exe ./ || true } package() { - cd "${srcdir}/build-${MINGW_CHOST}" - make DESTDIR="${pkgdir}" install + cd "${srcdir}/build-${MSYSTEM}-static" + DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --install ./ + + cd "${srcdir}/build-${MSYSTEM}-shared" + DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --install ./ + + install -Dm644 "${srcdir}/${_realname}-${pkgver}/COPYING.Xiph" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING.Xiph" }