From 1d8d25dbbd2f0bef20965b10ffb5b08c1a3df6d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20M=C3=BCtzel?= Date: Thu, 9 Dec 2021 12:21:54 +0100 Subject: [PATCH] fltk: Link to uuid only when linking statically. Fixes #10293. --- .../0002-fltk-config-uuid-shared.patch | 28 +++++++++++++++++++ mingw-w64-fltk/0002-uuid-mod.patch | 12 -------- mingw-w64-fltk/PKGBUILD | 14 +++++----- 3 files changed, 35 insertions(+), 19 deletions(-) create mode 100644 mingw-w64-fltk/0002-fltk-config-uuid-shared.patch delete mode 100644 mingw-w64-fltk/0002-uuid-mod.patch diff --git a/mingw-w64-fltk/0002-fltk-config-uuid-shared.patch b/mingw-w64-fltk/0002-fltk-config-uuid-shared.patch new file mode 100644 index 0000000000..81f57b07c4 --- /dev/null +++ b/mingw-w64-fltk/0002-fltk-config-uuid-shared.patch @@ -0,0 +1,28 @@ +Remove "-uuid" from linker flags for shared linking + +diff -Nur fltk-config.in.orig fltk-config.in +--- a/fltk-config.in 2021-07-25 15:16:28.000000000 +0200 ++++ b/fltk-config.in 2021-12-09 12:07:46.974536600 +0100 +@@ -233,8 +233,20 @@ + fi + + # Calculate needed libraries +-LDSTATIC="$libdir/libfltk.a $LDLIBS" +-LDLIBS="-lfltk$SHAREDSUFFIX $LDLIBS" ++ ++# Remove "-luuid" from shared linker flags. Only needed for mingw. ++LDSTATICLIBS="$LDLIBS" ++LDSHAREDLIBS="" ++for L in $LDLIBS ++do ++ if [ $L != "-luuid" ] ++ then ++ LDSHAREDLIBS="${LDSHAREDLIBS} $L" ++ fi ++done ++ ++LDSTATIC="$libdir/libfltk.a $LDSTATICLIBS" ++LDLIBS="-lfltk$SHAREDSUFFIX $LDSHAREDLIBS" + + if test x$use_forms = xyes; then + LDLIBS="-lfltk_forms$SHAREDSUFFIX $LDLIBS" diff --git a/mingw-w64-fltk/0002-uuid-mod.patch b/mingw-w64-fltk/0002-uuid-mod.patch deleted file mode 100644 index 386046ee28..0000000000 --- a/mingw-w64-fltk/0002-uuid-mod.patch +++ /dev/null @@ -1,12 +0,0 @@ -$ diff -Naur ./CMake/variables.cmake.orig ./CMake/variables.cmake ---- ./CMake/variables.cmake.orig 2021-05-15 12:22:19.000000000 +0200 -+++ ./CMake/variables.cmake 2021-07-23 20:57:26.975131400 +0200 -@@ -40,7 +40,7 @@ - # FIXME: check fontconfig conditions (only if Xft is used or ...) - - if (WIN32) -- list (APPEND FLTK_LDLIBS -lole32 -luuid -lcomctl32 -lws2_32) -+ list (APPEND FLTK_LDLIBS -lole32 -lcomctl32 -lws2_32) - elseif (APPLE AND NOT OPTION_APPLE_X11) - list (APPEND FLTK_LDLIBS "-framework Cocoa") - else () diff --git a/mingw-w64-fltk/PKGBUILD b/mingw-w64-fltk/PKGBUILD index 0710534ada..ce579e5051 100644 --- a/mingw-w64-fltk/PKGBUILD +++ b/mingw-w64-fltk/PKGBUILD @@ -4,7 +4,7 @@ _realname=fltk pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=1.3.7 -pkgrel=1 +pkgrel=2 pkgdesc="C++ user interface toolkit (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -22,21 +22,21 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" options=('strip' 'staticlibs' 'buildflags') source=("${_realname}-${pkgver}.tar.gz::https://github.com/${_realname}/${_realname}/archive/release-${pkgver}.tar.gz" "0001-cmake-fix-install.patch" - "0002-uuid-mod.patch") + "0002-fltk-config-uuid-shared.patch") sha256sums=('019f65810fb0ea5acac14c852193e8f374e822e6a3034a3c80ed8676f6f3a090' '2d474bf2587d35aca548c542c897c0add7b19ca427b513419634ce334984c395' - 'd236e644590c913aaed5ca216d2cb5e1010314a7ea078a8131175e342a60ff4b') + 'c20691e1a11994d0d7d681751f1812abd5dfeca7550293d1edacb0c88f62a03c') prepare() { cd "${srcdir}/${_realname}-release-${pkgver}" patch -p1 -i "${srcdir}/0001-cmake-fix-install.patch" - patch -p1 -i "${srcdir}/0002-uuid-mod.patch" + patch -p1 -i "${srcdir}/0002-fltk-config-uuid-shared.patch" } build() { - [[ -d "${srcdir}/build-${MINGW_CHOST}" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}" - mkdir -p "${srcdir}/build-${MINGW_CHOST}" && cd "${srcdir}/build-${MINGW_CHOST}" + [[ -d "${srcdir}/build-${MSYSTEM}" ]] && rm -rf "${srcdir}/build-${MSYSTEM}" + mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}" declare -a _extra_config if check_option "debug" "n"; then @@ -65,7 +65,7 @@ build() { } package() { - cd ${srcdir}/build-${MINGW_CHOST} + cd ${srcdir}/build-${MSYSTEM} DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --build ./ --target install local PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX})