flac: update to 1.3.4, port to cmake

This commit is contained in:
Biswapriyo Nath
2022-02-26 01:44:37 +05:30
committed by GitHub
parent 58bb673401
commit bb1b32ba7a
2 changed files with 64 additions and 53 deletions

View File

@@ -1,25 +0,0 @@
From 4a43f2bd4d7e12b5d994f48e18cf014008d204ce Mon Sep 17 00:00:00 2001
From: sezero <sezero@users.sourceforge.net>
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 <sys/param.h>
+#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)

View File

@@ -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"
}