diff --git a/emulators/wine-proton/Makefile b/emulators/wine-proton/Makefile index 40a9bfa8b42c..9937ff5e8491 100644 --- a/emulators/wine-proton/Makefile +++ b/emulators/wine-proton/Makefile @@ -1,125 +1,125 @@ PORTNAME= wine-proton DISTVERSION= 6.3-2 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= emulators MAINTAINER= iwtcex@gmail.com COMMENT= Wine with a bit of extra spice LICENSE= LGPL21 LGPL3 LICENSE_COMB= dual LICENSE_FILE= ${WRKSRC}/LICENSE ONLY_FOR_ARCHS= amd64 i386 BUILD_DEPENDS= ${LOCALBASE}/bin/flex:textproc/flex LIB_DEPENDS= libFAudio.so:audio/faudio \ libfontconfig.so:x11-fonts/fontconfig \ libfreetype.so:print/freetype2 \ libgnutls.so:security/gnutls \ libjpegxr.so:graphics/libjxr \ liblcms2.so:graphics/lcms2 \ libpng.so:graphics/png \ libvulkan.so:graphics/vulkan-loader \ libxml2.so:textproc/libxml2 USES= bison desktop-file-utils gettext-runtime gl gmake gnome jpeg localbase openal pkgconfig sdl shebangfix tar:xz xorg USE_GCC= yes USE_GITHUB= yes GH_ACCOUNT= ValveSoftware GH_PROJECT= wine GH_TAGNAME= 97f962cd469ee9b9b68d32e79849bf94cfe15581 USE_GL= gl USE_GNOME= glib20 USE_GSTREAMER1= good USE_SDL= sdl2 USE_XORG= x11 xext xcomposite xcursor xi xinerama xrandr xrender SHEBANG_FILES= tools/make_requests tools/winemaker/winemaker \ tools/winedump/function_grep.pl GNU_CONFIGURE= yes GNU_CONFIGURE_PREFIX= ${PREFIX}/${PORTNAME} CONFIGURE_ARGS= --verbose \ --libdir=${PREFIX}/${PORTNAME}/lib \ --disable-kerberos \ --disable-tests \ --with-cms \ --with-fontconfig \ --with-freetype \ --with-gnutls \ --with-gstreamer \ --with-jpeg \ --with-jxrlib \ --with-openal \ --with-opengl \ --with-oss \ --with-png \ --with-sdl \ --with-vulkan \ --with-x \ --with-xinerama \ --with-xinput2 \ --with-xrandr \ --with-xrender \ --without-alsa \ --without-capi \ --without-cups \ --without-dbus \ --without-gettext \ --without-gettextpo \ --without-gphoto \ --without-gsm \ --without-inotify \ --without-krb5 \ --without-ldap \ --without-mingw \ --without-mpg123 \ --without-opencl \ --without-osmesa \ --without-pulse \ --without-sane \ --without-tiff \ --without-udev \ --without-unwind \ --without-usb \ --without-v4l2 \ --without-vkd3d \ --without-xslt CONFIGURE_ENV= CPPBIN="${CPP}" FLEX="${LOCALBASE}/bin/flex" JXRLIB_CFLAGS="-I${LOCALBASE}/include/jxrlib" .include .if ${ARCH} == amd64 PLIST_SUB+= WINE32="@comment " WINE64="" CONFIGURE_ARGS+=--enable-win64 .else PLIST_SUB+= WINE32="" WINE64="@comment " .endif pre-build: cd ${WRKSRC} && ${MAKE_CMD} depend post-install: .if ${ARCH} == i386 ${MV} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/wineserver ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/wineserver32 ${MV} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/wine ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/wine.bin ${INSTALL_SCRIPT} ${FILESDIR}/wine.sh ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/wine .else ${INSTALL_SCRIPT} ${FILESDIR}/pkg32.sh ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/pkg32.sh ${MV} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/wine64 ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/wine64.bin ${INSTALL_SCRIPT} ${FILESDIR}/wine.sh ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/wine64 ${INSTALL_SCRIPT} ${FILESDIR}/wine-wow64.sh ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/wine .endif ${RM} -r ${STAGEDIR}${PREFIX}/${PORTNAME}/include ${RM} -r ${STAGEDIR}${MANPREFIX}/man ${MKDIR} ${STAGEDIR}${DOCSDIR} .for i in README ANNOUNCE AUTHORS ${INSTALL_DATA} ${WRKSRC}/${i} ${STAGEDIR}${DOCSDIR} .endfor .include diff --git a/emulators/wine-proton/files/wine-wow64.sh b/emulators/wine-proton/files/wine-wow64.sh index 9efb09fc3d3b..e5b414ea2d93 100644 --- a/emulators/wine-proton/files/wine-wow64.sh +++ b/emulators/wine-proton/files/wine-wow64.sh @@ -1,34 +1,45 @@ #!/bin/sh -e TARGET="$(realpath "$0")" PREFIX="${TARGET%/*/*}" LOCALBASE="${PREFIX%/*}" I386_ROOT="${WINE_i386_ROOT:-$HOME/.i386-wine-pkg}" -export LIBGL_DRIVERS_PATH="${LIBGL_DRIVERS_PATH:+$LIBGL_DRIVERS_PATH:}$LOCALBASE/lib/dri:$LOCALBASE/lib32/dri:$I386_ROOT/$LOCALBASE/lib/dri" -export LD_32_LIBRARY_PATH="${LD_32_LIBRARY_PATH:+$LD_32_LIBRARY_PATH:}$I386_ROOT/$PREFIX/lib/wine:$LOCALBASE/lib32:$I386_ROOT/$LOCALBASE/lib:$I386_ROOT/$LOCALBASE/llvm10/lib:$I386_ROOT/$LOCALBASE/llvm11/lib" -export LD_32_LIBRARY_PATH_RPATH=y - -if [ -z "$WINE_NO_WOW64" ] -then - export PATH="${TARGET%/*}:${PATH}" - export WINESERVER="${TARGET}server" -fi - if [ ! -f "$I386_ROOT/$PREFIX/bin/wine" ] then printf "%s doesn't exist!\n\n" "$I386_ROOT/$PREFIX/bin/wine" printf "Try installing 32-bit wine with\n\t%s\n" "$PREFIX/bin/pkg32.sh install wine-proton mesa-dri" exit 1 fi WINE32_VERSION=$(env -u WINELOADERNOEXEC "$I386_ROOT/$PREFIX/bin/wine" --version) WINE64_VERSION=$(env -u WINELOADERNOEXEC "${TARGET}64" --version) if [ "$WINE32_VERSION" != "$WINE64_VERSION" ] then printf "wine [%s] and wine64 [%s] versions do not match!\n\n" "$WINE32_VERSION" "$WINE64_VERSION" printf "Try updating 32-bit wine with\n\t%s\n" "$PREFIX/bin/pkg32.sh upgrade" exit 1 fi +export LIBGL_DRIVERS_PATH="${LIBGL_DRIVERS_PATH:+$LIBGL_DRIVERS_PATH:}$LOCALBASE/lib/dri:$LOCALBASE/lib32/dri:$I386_ROOT/$LOCALBASE/lib/dri" +export LD_32_LIBRARY_PATH="${LD_32_LIBRARY_PATH:+$LD_32_LIBRARY_PATH:}$I386_ROOT/$PREFIX/lib/wine:$LOCALBASE/lib32:$I386_ROOT/$LOCALBASE/lib" +for d in "$I386_ROOT/$LOCALBASE"/llvm*/lib +do + if [ -d "$d" ] + then + export LD_32_LIBRARY_PATH="$LD_32_LIBRARY_PATH:$d" + fi +done +export LD_32_LIBRARY_PATH_RPATH=y +export LD_32_LIBMAP=" +$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" + +if [ -z "$WINE_NO_WOW64" ] +then + export PATH="${TARGET%/*}:${PATH}" + export WINESERVER="${TARGET}server" +fi + exec "$I386_ROOT/$PREFIX/bin/wine" "$@"