summaryrefslogtreecommitdiff
path: root/emulators/wine
diff options
context:
space:
mode:
Diffstat (limited to 'emulators/wine')
-rw-r--r--emulators/wine/Makefile15
-rw-r--r--emulators/wine/files/patch-man94
-rw-r--r--emulators/wine/files/pkg32.sh16
3 files changed, 118 insertions, 7 deletions
diff --git a/emulators/wine/Makefile b/emulators/wine/Makefile
index ef7c336b6551..013bd97963f6 100644
--- a/emulators/wine/Makefile
+++ b/emulators/wine/Makefile
@@ -1,6 +1,6 @@
PORTNAME= wine
DISTVERSION= 10.0
-PORTREVISION= 1
+PORTREVISION= 2
PORTEPOCH= 1
CATEGORIES= emulators
MASTER_SITES= https://dl.winehq.org/wine/source/10.0/
@@ -35,6 +35,7 @@ CONFIGURE_ARGS+=--verbose \
--without-capi \
--without-coreaudio \
--without-dbus \
+ --without-ffmpeg \
--without-gettext --without-gettextpo \
--without-gphoto \
--without-gssapi \
@@ -148,16 +149,28 @@ PLIST_SUB+= WINE32="@comment " WINE64="" WINEARCH="x86_64"
# FreeBSD yet.
post-patch:
${REINPLACE_CMD} '/Exec/s|wine|wine64|g' ${WRKSRC}/loader/wine.desktop
+ ${MV} ${WRKSRC}/loader/*.man.in ${WRKSRC}/tools/wine/
.else
EXTRA_PATCHES+= files/extra-patch-tools-winebuild-res32
PLIST_SUB+= WINE32="" WINE64="@comment " WINEARCH="i386"
+
+post-patch:
+ ${MV} ${WRKSRC}/loader/*.man.in ${WRKSRC}/tools/wine/
.endif
pre-build:
cd ${WRKSRC} && ${SETENVI} ${WRK_ENV} ${MAKE_CMD} depend
post-install:
+ ${MKDIR} ${STAGEDIR}${PREFIX}/share/man/man1
+ ${INSTALL_MAN} ${WRKSRC}/tools/wine/wine.man ${STAGEDIR}${PREFIX}/share/man/man1/wine.1
+ ${GZIP_CMD} ${STAGEDIR}${PREFIX}/share/man/man1/wine.1
+.for m in de.UTF-8 fr.UTF-8 pl.UTF-8
+ ${MKDIR} ${STAGEDIR}${PREFIX}/share/man/${m}/man1
+ ${INSTALL_MAN} ${WRKSRC}/tools/wine/wine.${m}.man ${STAGEDIR}${PREFIX}/share/man/${m}/man1/wine.1
+ ${GZIP_CMD} ${STAGEDIR}${PREFIX}/share/man/${m}/man1/wine.1
+.endfor
.if ${ARCH} == i386
${MV} ${STAGEDIR}${PREFIX}/bin/wineserver ${STAGEDIR}${PREFIX}/bin/wineserver32
${MV} ${STAGEDIR}${PREFIX}/bin/wine ${STAGEDIR}${PREFIX}/bin/wine.bin
diff --git a/emulators/wine/files/patch-man b/emulators/wine/files/patch-man
new file mode 100644
index 000000000000..849a560ae899
--- /dev/null
+++ b/emulators/wine/files/patch-man
@@ -0,0 +1,94 @@
+This backports (parts of)
+
+ commit 22a90656baebdbbe8ec30d3f00f86d6e34f1451e
+ Author: Alexandre Julliard <julliard@winehq.org>
+ Date: Thu Feb 13 13:44:17 2025 +0100
+
+ tools: Move the loader man pages to the new Wine loader directory.
+
+and
+
+ commit 6d28db86c9c2559e67a4820175416aff20f7abec
+ Author: Alexandre Julliard <julliard@winehq.org>
+ Date: Thu Feb 13 13:40:44 2025 +0100
+
+ tools: Add a simpler Wine launcher in the bin directory.
+
+with some tweaks and hacks in the port Makefile. Luckily all of this
+will be obsolete with the next major version.
+
+--- UTC
+--- configure
++++ configure
+@@ -1762,6 +1762,7 @@ enable_server
+ enable_tools
+ enable_sfnt2fon
+ enable_widl
++enable_wine
+ enable_winebuild
+ enable_winedump
+ enable_winegcc
+@@ -23212,6 +23214,7 @@ wine_fn_config_makefile server enable_server
+ test "x$enable_tools" = xno || wine_fn_config_makefile tools enable_tools
+ test "x$enable_tools" = xno || wine_fn_config_makefile tools/sfnt2fon enable_sfnt2fon
+ test "x$enable_tools" = xno || wine_fn_config_makefile tools/widl enable_widl
++test "x$enable_tools" = xno || wine_fn_config_makefile tools/wine enable_wine
+ test "x$enable_tools" = xno || wine_fn_config_makefile tools/winebuild enable_winebuild
+ test "x$enable_tools" = xno || wine_fn_config_makefile tools/winedump enable_winedump
+ test "x$enable_tools" = xno || wine_fn_config_makefile tools/winegcc enable_winegcc
+--- UTC
+--- configure.ac
++++ configure.ac
+@@ -3554,6 +3555,7 @@ WINE_CONFIG_MAKEFILE(server)
+ WINE_CONFIG_MAKEFILE(tools,,[test "x$enable_tools" = xno])
+ WINE_CONFIG_MAKEFILE(tools/sfnt2fon,,[test "x$enable_tools" = xno])
+ WINE_CONFIG_MAKEFILE(tools/widl,,[test "x$enable_tools" = xno])
++WINE_CONFIG_MAKEFILE(tools/wine,,[test "x$enable_tools" = xno])
+ WINE_CONFIG_MAKEFILE(tools/winebuild,,[test "x$enable_tools" = xno])
+ WINE_CONFIG_MAKEFILE(tools/winedump,,[test "x$enable_tools" = xno])
+ WINE_CONFIG_MAKEFILE(tools/winegcc,,[test "x$enable_tools" = xno])
+diff --git a/tools/wine/Makefile.in b/tools/wine/Makefile.in
+new file mode 100644
+index 00000000000..445e1dde9d0
+--- UTC
+--- /dev/null
++++ tools/wine/Makefile.in
+@@ -0,0 +1,8 @@
++PROGRAMS = wine
++
++SOURCES = \
++ wine.c \
++ wine.de.UTF-8.man.in \
++ wine.fr.UTF-8.man.in \
++ wine.man.in \
++ wine.pl.UTF-8.man.in
++
++wine_EXTRADEFS = -DBINDIR="\"${bindir}\"" -DLIBDIR="\"${libdir}\""
++
++INSTALL_LIB = $(PROGRAMS)
+--- UTC
+--- loader/Makefile.in
++++ loader/Makefile.in
+@@ -2,12 +2,8 @@ SOURCES = \
+ main.c \
+ preloader.c \
+ preloader_mac.c \
+- wine.de.UTF-8.man.in \
+ wine.desktop \
+- wine.fr.UTF-8.man.in \
+ wine.inf.in \
+- wine.man.in \
+- wine.pl.UTF-8.man.in \
+ wine_info.plist.in
+
+ PROGRAMS = $(WINELOADER_PROGRAMS)
+--- UTC
+--- /dev/null
++++ tools/wine/wine.c
+@@ -0,0 +1,6 @@
++#include <stdarg.h>
++
++int main( int argc, char *argv[] )
++{
++return 99;
++}
diff --git a/emulators/wine/files/pkg32.sh b/emulators/wine/files/pkg32.sh
index 64d82459c219..04595f6c104c 100644
--- a/emulators/wine/files/pkg32.sh
+++ b/emulators/wine/files/pkg32.sh
@@ -1,19 +1,23 @@
#!/bin/sh -e
-if [ "$(id -u)" = 0 ]
-then
+if [ "$(id -u)" = 0 ]; then
echo "Don't run this script as root!"
exit 1
fi
I386_ROOT="${WINE_i386_ROOT:-$HOME/.i386-wine-pkg}"
+ABI_FILE=/usr/lib32/libc.so.7
-if [ ! -d "$I386_ROOT/usr/share/keys/pkg" ]
-then
+if [ ! -f $ABI_FILE ]; then
+ echo "\"$ABI_FILE\" not found; exiting."
+ exit 1
+fi
+
+if [ ! -d "$I386_ROOT/usr/share/keys/pkg" ]; then
mkdir -p "$I386_ROOT/usr/share/keys"
ln -s /usr/share/keys/pkg "$I386_ROOT/usr/share/keys/pkg"
fi
# Show what we're going to do, then do it.
-echo pkg -o ABI_FILE=/usr/lib32/libc.so.7 -o INSTALL_AS_USER=true -o RUN_SCRIPTS=false --rootdir "$I386_ROOT" "$@"
-exec pkg -o ABI_FILE=/usr/lib32/libc.so.7 -o INSTALL_AS_USER=true -o RUN_SCRIPTS=false --rootdir "$I386_ROOT" "$@"
+echo pkg -o ABI_FILE=$ABI_FILE -o INSTALL_AS_USER=true -o RUN_SCRIPTS=false --rootdir "$I386_ROOT" "$@"
+exec pkg -o ABI_FILE=$ABI_FILE -o INSTALL_AS_USER=true -o RUN_SCRIPTS=false --rootdir "$I386_ROOT" "$@"