flac: update to 1.3.4, port to cmake
This commit is contained in:
@@ -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)
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user