git: 6344ed87cd08 - main - emulators/wine-devel: Use the right libgcc_s for 32-bit on amd64

From: Gerald Pfeifer <gerald_at_FreeBSD.org>
Date: Sat, 11 Dec 2021 19:26:28 UTC
The branch main has been updated by gerald:

URL: https://cgit.FreeBSD.org/ports/commit/?id=6344ed87cd08032ea97adf3982fea383e7f73436

commit 6344ed87cd08032ea97adf3982fea383e7f73436
Author:     Alex S <iwtcex@gmail.com>
AuthorDate: 2021-12-11 19:25:53 +0000
Commit:     Gerald Pfeifer <gerald@FreeBSD.org>
CommitDate: 2021-12-11 19:25:53 +0000

    emulators/wine-devel: Use the right libgcc_s for 32-bit on amd64
    
    Forward port 316c372c7d133c416ced0bd6b1f21fdd011117eb from the main
    wine port:
    
      In our situation, where we leverage 32-bit, i386 executables of Wine
      in an amd64 world running 64-bit executables of Wine, the rpath of
      $PREFIX/lib/gcc10 which Mk/bsd.gcc.mk sets for the former makes the
      dynamic linker attempt to load a 64-bit version of libgcc_s.so which
      happens to be at that location on amd64.
    
      Removing this rpath setting at compilation time would be comparatively
      more involved, so leverage LD_32_LIBMAP which we are already using in
      wine-wow64.sh to point to the system version of libgcc_s.so.
    
      This works since for C code both flavors of libgcc_s.so are fully
      compatible and Wine's C++ dependencies Wine (like openal-soft and
      various Mesa userspace graphics drivers) are actually compiled with
      clang. In other words we are only reverting to the version of the
      library they would normally load without rpath interference.
    
    Bump PORTREVISION so new packages with the tweaked script will be
    generated.
    
    PR:             259926
    Reported by:    nc
    Tested by:      nc
---
 emulators/wine-devel/Makefile            | 1 +
 emulators/wine-devel/files/wine-wow64.sh | 1 +
 2 files changed, 2 insertions(+)

diff --git a/emulators/wine-devel/Makefile b/emulators/wine-devel/Makefile
index 2d1b3a6f103b..57ebc56d8530 100644
--- a/emulators/wine-devel/Makefile
+++ b/emulators/wine-devel/Makefile
@@ -2,6 +2,7 @@
 
 PORTNAME=	wine
 DISTVERSION=	6.23
+PORTREVISION=	1
 PORTEPOCH=	1
 CATEGORIES=	emulators
 MASTER_SITES=	SF/${PORTNAME}/Source \
diff --git a/emulators/wine-devel/files/wine-wow64.sh b/emulators/wine-devel/files/wine-wow64.sh
index 3a3ea25bb4c5..d83d10db698e 100644
--- a/emulators/wine-devel/files/wine-wow64.sh
+++ b/emulators/wine-devel/files/wine-wow64.sh
@@ -33,6 +33,7 @@ do
 done
 export LD_32_LIBRARY_PATH_RPATH=y
 export LD_32_LIBMAP="
+libgcc_s.so.1 /usr/lib32/libgcc_s.so.1
 $LOCALBASE/lib/libvulkan_intel.so  $I386_ROOT/$LOCALBASE/lib/libvulkan_intel.so
 $LOCALBASE/lib/libvulkan_radeon.so $I386_ROOT/$LOCALBASE/lib/libvulkan_radeon.so
 $LD_32_LIBMAP"