diff --git a/mingw-w64-gst-plugins-bad/PKGBUILD b/mingw-w64-gst-plugins-bad/PKGBUILD index b16b653eb0..7ad4579e33 100644 --- a/mingw-w64-gst-plugins-bad/PKGBUILD +++ b/mingw-w64-gst-plugins-bad/PKGBUILD @@ -6,7 +6,7 @@ _realname=gst-plugins-bad pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-gst-plugins-bad-libs" "${MINGW_PACKAGE_PREFIX}-gst-plugins-bad") pkgver=1.18.4 -pkgrel=10 +pkgrel=11 pkgdesc="GStreamer Multimedia Framework Bad Plugins (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') @@ -18,7 +18,7 @@ makedepends=( "${MINGW_PACKAGE_PREFIX}-meson" "${MINGW_PACKAGE_PREFIX}-ninja" "${MINGW_PACKAGE_PREFIX}-shaderc" - "${MINGW_PACKAGE_PREFIX}-vulkan-headers" + "${MINGW_PACKAGE_PREFIX}-vulkan-loader" "${MINGW_PACKAGE_PREFIX}-gtk-doc" "${MINGW_PACKAGE_PREFIX}-aom" "${MINGW_PACKAGE_PREFIX}-bzip2" @@ -53,7 +53,6 @@ makedepends=( "${MINGW_PACKAGE_PREFIX}-libmpcdec" "${MINGW_PACKAGE_PREFIX}-nettle" "${MINGW_PACKAGE_PREFIX}-openal" - "${MINGW_PACKAGE_PREFIX}-opencv" "${MINGW_PACKAGE_PREFIX}-openexr" "${MINGW_PACKAGE_PREFIX}-openh264" "${MINGW_PACKAGE_PREFIX}-openjpeg2" @@ -68,7 +67,7 @@ makedepends=( "${MINGW_PACKAGE_PREFIX}-vo-amrwbenc" "${MINGW_PACKAGE_PREFIX}-webrtc-audio-processing" "${MINGW_PACKAGE_PREFIX}-x265" - "${MINGW_PACKAGE_PREFIX}-zbar" + $([[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]] || echo "${MINGW_PACKAGE_PREFIX}-zbar" "${MINGW_PACKAGE_PREFIX}-opencv") ) source=(${url}/src/${_realname}/${_realname}-${pkgver}.tar.xz @@ -93,6 +92,14 @@ 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 [[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]]; then + # Missing deps + extra_config+=("-Dopencv=disabled" "-Dzbar=disabled") + # FIXME: broken build + extra_config+=("-Dd3d11=disabled") + fi + MSYS2_ARG_CONV_EXCL="--prefix=" \ ${MINGW_PREFIX}/bin/meson.exe \ --prefix="${MINGW_PREFIX}" \ @@ -143,6 +150,7 @@ build() { -Davtp=disabled \ -Dsvthevcenc=disabled \ -Dzxing=disabled \ + "${extra_config[@]}" \ ../${_realname}-${pkgver} ${MINGW_PREFIX}/bin/ninja.exe @@ -163,7 +171,10 @@ package_gst-plugins-bad-libs() { mkdir -p _plugins/lib mkdir -p _plugins/bin mv "${pkgdir}${MINGW_PREFIX}/lib/gstreamer-1.0" _plugins/lib - mv "${pkgdir}${MINGW_PREFIX}/bin/libgstopencv-1.0-0.dll" _plugins/bin + + if [[ ${MINGW_PACKAGE_PREFIX} != *-clang-* ]]; then + mv "${pkgdir}${MINGW_PREFIX}/bin/libgstopencv-1.0-0.dll" _plugins/bin + fi } package_gst-plugins-bad() { @@ -202,7 +213,6 @@ package_gst-plugins-bad() { "${MINGW_PACKAGE_PREFIX}-libmpcdec" "${MINGW_PACKAGE_PREFIX}-nettle" "${MINGW_PACKAGE_PREFIX}-openal" - "${MINGW_PACKAGE_PREFIX}-opencv" "${MINGW_PACKAGE_PREFIX}-openexr" "${MINGW_PACKAGE_PREFIX}-openh264" "${MINGW_PACKAGE_PREFIX}-openjpeg2" @@ -217,7 +227,7 @@ package_gst-plugins-bad() { "${MINGW_PACKAGE_PREFIX}-vo-amrwbenc" "${MINGW_PACKAGE_PREFIX}-webrtc-audio-processing" "${MINGW_PACKAGE_PREFIX}-x265" - "${MINGW_PACKAGE_PREFIX}-zbar" + $([[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]] || echo "${MINGW_PACKAGE_PREFIX}-zbar" "${MINGW_PACKAGE_PREFIX}-opencv") ) cd "${srcdir}/build-${MINGW_CHOST}" diff --git a/mingw-w64-gtk4/3887.patch b/mingw-w64-gtk4/3887.patch new file mode 100644 index 0000000000..857c0b525f --- /dev/null +++ b/mingw-w64-gtk4/3887.patch @@ -0,0 +1,46 @@ +From b3bb216229146b6dcc522b9b7e2d1f2435cacf71 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Thu, 26 Aug 2021 05:14:18 +0200 +Subject: [PATCH] build: fix implicit-fallthrough errors with clang + +The clang build fails due to -Werror=implicit-fallthrough being +on by default and some fallthrough cases not being marked as such. + +Use G_GNUC_FALLTHROUGH or duplicate the code in those cases. +--- + gtk/gtkimcontextime.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/gtk/gtkimcontextime.c b/gtk/gtkimcontextime.c +index c8378c836e..102eccec38 100644 +--- a/gtk/gtkimcontextime.c ++++ b/gtk/gtkimcontextime.c +@@ -667,6 +667,7 @@ gtk_im_context_ime_focus_in (GtkIMContext *context) + switch (context_ime->priv->focus_behavior) + { + case GTK_WIN32_IME_FOCUS_BEHAVIOR_COMMIT: ++ G_GNUC_FALLTHROUGH; + case GTK_WIN32_IME_FOCUS_BEHAVIOR_DISCARD: + gtk_im_context_ime_reset (context); + break; +@@ -724,7 +725,7 @@ gtk_im_context_ime_focus_out (GtkIMContext *context) + context_ime->priv->pretend_empty_preedit = FALSE; + g_free (utf8str); + } +- /* fallthrough */ ++ G_GNUC_FALLTHROUGH; + case GTK_WIN32_IME_FOCUS_BEHAVIOR_DISCARD: + gtk_im_context_ime_reset (context); + +@@ -1054,7 +1055,7 @@ gtk_im_context_ime_message_filter (GdkWin32Display *display, + default: + break; + } +- ++ break; + default: + break; + } +-- +GitLab + diff --git a/mingw-w64-gtk4/PKGBUILD b/mingw-w64-gtk4/PKGBUILD index ec19faaa77..799d574dee 100644 --- a/mingw-w64-gtk4/PKGBUILD +++ b/mingw-w64-gtk4/PKGBUILD @@ -4,7 +4,7 @@ _realname=gtk4 pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=4.4.0 -pkgrel=1 +pkgrel=2 pkgdesc="GObject-based multi-platform GUI toolkit (v4) (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') @@ -28,14 +28,17 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-gtk-update-icon-cache" "${MINGW_PACKAGE_PREFIX}-gst-plugins-bad-libs" "${MINGW_PACKAGE_PREFIX}-ffmpeg" - "${MINGW_PACKAGE_PREFIX}-vulkan-loader" "${MINGW_PACKAGE_PREFIX}-shared-mime-info") -source=("https://download.gnome.org/sources/gtk/${pkgver:0:3}/gtk-${pkgver}.tar.xz") -sha256sums=('e0a1508f441686c3a20dfec48af533b19a4b2e017c18eaee31dccdb7d292505b') +source=("https://download.gnome.org/sources/gtk/${pkgver:0:3}/gtk-${pkgver}.tar.xz" + "3887.patch") +sha256sums=('e0a1508f441686c3a20dfec48af533b19a4b2e017c18eaee31dccdb7d292505b' + '70efcdf6affc8efa7a4e8c03054d46eced3b3c4a401a43da57dc0157e9b71899') prepare() { cd "${srcdir}/gtk-${pkgver}" + # https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/3887 + patch -p1 -i "${srcdir}"/3887.patch } build() {