View | Details | Raw Unified | Return to bug 242625 | Differences between
and this patch

Collapse All | Expand All

(-)b/emulators/i386-wine-devel/Makefile.i386 (-1 / +3 lines)
Lines 30-42 BUNDLE_LIBS= yes Link Here
30
IGNORE=		This port is not for consumption on FreeBSD/i386.  To cross-build for FreeBSD/amd64: make -DWINE_CROSS_BUILD
30
IGNORE=		This port is not for consumption on FreeBSD/i386.  To cross-build for FreeBSD/amd64: make -DWINE_CROSS_BUILD
31
.endif
31
.endif
32
32
33
BINBOUNCE=	binbounce
34
33
# Hook into post-install and do some adapting to make i386 binaries work nicely
35
# Hook into post-install and do some adapting to make i386 binaries work nicely
34
# under FreeBSD/amd64
36
# under FreeBSD/amd64
35
post-install-script:
37
post-install-script:
36
	# Fix pkg-plist references
38
	# Fix pkg-plist references
37
	${REINPLACE_CMD} -e 's!lib/!lib32/!g' ${TMPPLIST}
39
	${REINPLACE_CMD} -e 's!lib/!lib32/!g' ${TMPPLIST}
38
	# Install bounce script to access the 32-bit executables
40
	# Install bounce script to access the 32-bit executables
39
	${INSTALL_SCRIPT} ${SLAVEDIR}/files/binbounce ${STAGEDIR}${PREFIX}/bin/wine
41
	${INSTALL_SCRIPT} ${SLAVEDIR}/files/${BINBOUNCE} ${STAGEDIR}${PREFIX}/bin/wine
40
	for i in `${GREP} ^bin ${TMPPLIST} | ${XARGS} -n1 basename` ; do \
42
	for i in `${GREP} ^bin ${TMPPLIST} | ${XARGS} -n1 basename` ; do \
41
		[ "$${i}" = "wine" ] || ${LN} -f ${STAGEDIR}${PREFIX}/bin/wine ${STAGEDIR}${PREFIX}/bin/$${i} ; \
43
		[ "$${i}" = "wine" ] || ${LN} -f ${STAGEDIR}${PREFIX}/bin/wine ${STAGEDIR}${PREFIX}/bin/$${i} ; \
42
		${ECHO_CMD} bin32/$${i} >> ${TMPPLIST} ; \
44
		${ECHO_CMD} bin32/$${i} >> ${TMPPLIST} ; \
(-)b/emulators/i386-wine-devel/files/binbounce.wow64 (+25 lines)
Added Link Here
1
#!/bin/sh
2
3
TARGET="`realpath $0`"
4
5
LOCALBASE=${TARGET%/*}/..
6
BINNAME=${TARGET##*/}
7
8
if [ -z "$__BINBOUNCE_BOOTSTRAP" ]
9
then
10
  export LIBGL_DRIVERS_PATH=$LOCALBASE/lib32/dri
11
  export LD_32_LIBRARY_PATH="$LOCALBASE/lib32":"$LOCALBASE/lib32/wine":"$LD_32_LIBRARY_PATH":/usr/lib32
12
  export LD_32_LIBRARY_PATH_RPATH=y
13
  export PATH="$LOCALBASE/bin32":"$PATH"
14
  export __BINBOUNCE_BOOTSTRAP="1"
15
16
  WINE32_VERSION=`$LOCALBASE/bin32/wine --version`
17
  WINE64_VERSION=`wine64 --version`
18
  if [ "$WINE32_VERSION" != "$WINE64_VERSION" ]
19
  then
20
    echo "Please, make sure that wine [$WINE32_VERSION] and wine64 [$WINE64_VERSION] versions match each other."
21
    exit 1
22
  fi
23
fi
24
25
exec "$LOCALBASE/bin32/$BINNAME" "$@"
(-)b/emulators/wine-devel/Makefile (-7 / +26 lines)
Lines 61-66 OPTIONS_DEFINE= CUPS DOCS DOSBOX GCC GNUTLS HAL LDAP LIBXSLT MPG123 OPENAL STAGI Link Here
61
OPTIONS_DEFAULT=GCC GNUTLS X11
61
OPTIONS_DEFAULT=GCC GNUTLS X11
62
OPTIONS_SUB=	yes
62
OPTIONS_SUB=	yes
63
63
64
.if defined(WINE_SLAVE_BUILD)
65
OPTIONS_DEFINE+=WOW64
66
.endif
67
64
DOSBOX_DESC=	Use DOSBox to run MS-DOS programs
68
DOSBOX_DESC=	Use DOSBox to run MS-DOS programs
65
LIBXSLT_DESC=	Use libxslt (only used by msxml3.dll)
69
LIBXSLT_DESC=	Use libxslt (only used by msxml3.dll)
66
VKD3D_DESC=	Direct3D 12 support via Vulkan
70
VKD3D_DESC=	Direct3D 12 support via Vulkan
Lines 68-73 VULKAN_DESC= Vulkan API support Link Here
68
WINEMAKER_DESC=	Fully support winemaker (requires Perl)
72
WINEMAKER_DESC=	Fully support winemaker (requires Perl)
69
GECKO_DESC=	Bundle Gecko MSI package for Wine
73
GECKO_DESC=	Bundle Gecko MSI package for Wine
70
MONO_DESC=	Bundle Mono MSI package for Wine
74
MONO_DESC=	Bundle Mono MSI package for Wine
75
WOW64_DESC=	Allow simultaneous installation of 32- and 64-bit Wine
71
76
72
CUPS_CONFIGURE_WITH=	cups
77
CUPS_CONFIGURE_WITH=	cups
73
CUPS_LIB_DEPENDS=	libcups.so:print/cups
78
CUPS_LIB_DEPENDS=	libcups.so:print/cups
Lines 122-127 X11_LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \ Link Here
122
127
123
.include <bsd.port.pre.mk>
128
.include <bsd.port.pre.mk>
124
129
130
.if ${PORT_OPTIONS:MWOW64}
131
ACTUAL-PACKAGE-DEPENDS=	${ECHO_CMD} "\"wine-devel\": {origin: \"emulators/wine-devel\", version: \"${PKGVERSION}\"}"
132
BINBOUNCE=		binbounce.wow64
133
PORTDATA=
134
.endif
135
125
.if ${ARCH} == amd64
136
.if ${ARCH} == amd64
126
# Wine is composed of three parts:
137
# Wine is composed of three parts:
127
#  - wine (aka this port) is the 32-bit component and runs 32-bit programs (on FreeBSD/i386)
138
#  - wine (aka this port) is the 32-bit component and runs 32-bit programs (on FreeBSD/i386)
Lines 136-148 X11_LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \ Link Here
136
# --libdir is required since Wine defaults to "${PREFIX}/lib64" on amd64.
147
# --libdir is required since Wine defaults to "${PREFIX}/lib64" on amd64.
137
CONFIGURE_ARGS+=	--enable-win64 --libdir=${PREFIX}/lib
148
CONFIGURE_ARGS+=	--enable-win64 --libdir=${PREFIX}/lib
138
PLIST_SUB+=		WINE32="@comment " WINE64=""
149
PLIST_SUB+=		WINE32="@comment " WINE64=""
139
140
# Wine assumes a WoW64 package is available, however WoW64 is not yet
141
# available on FreeBSD. Also fix the desktop file.
142
post-patch:
143
	${REINPLACE_CMD} 's|/wine|/wine64|g' ${WRKSRC}/tools/wineapploader.in
144
	${REINPLACE_CMD} '/Exec/s|wine|wine64|g' ${WRKSRC}/loader/wine.desktop
145
146
.else
150
.else
147
PLIST_SUB+=		WINE32="" WINE64="@comment "
151
PLIST_SUB+=		WINE32="" WINE64="@comment "
148
.endif
152
.endif
Lines 175-180 post-install: Link Here
175
.endfor
179
.endfor
176
	${INSTALL_DATA} ${WRKSRC}/programs/winedbg/README ${STAGEDIR}${DOCSDIR}/README.winedbg
180
	${INSTALL_DATA} ${WRKSRC}/programs/winedbg/README ${STAGEDIR}${DOCSDIR}/README.winedbg
177
	${INSTALL_DATA} ${WRKSRC}/tools/winedump/README ${STAGEDIR}${DOCSDIR}/README.winedump
181
	${INSTALL_DATA} ${WRKSRC}/tools/winedump/README ${STAGEDIR}${DOCSDIR}/README.winedump
182
.if ${PORT_OPTIONS:MWOW64}
183
	for i in `${GREP} ^bin ${TMPPLIST} | ${XARGS} -n1 basename` ; do \
184
		[ "$${i}" = "wine" ] || ${RM} ${STAGEDIR}${PREFIX}/bin/$${i} ${STAGEDIR}${PREFIX}/bin32/$${i} ; \
185
	done
186
	${RM} -r ${STAGEDIR}${PREFIX}/include/wine
187
	${RM} -r ${STAGEDIR}${PREFIX}/man
188
	${RM} -r ${STAGEDIR}${PREFIX}/share/wine/fonts
189
	${RM} -r ${STAGEDIR}${PREFIX}/share/wine/gecko
190
	${RM} -r ${STAGEDIR}${PREFIX}/share/wine/mono
191
	${RM} -r ${STAGEDIR}${DOCSDIR}
192
	${RM} ${STAGEDIR}${PREFIX}/share/applications/wine.desktop
193
	${RM} ${STAGEDIR}${PREFIX}/share/wine/*.inf
194
	${RM} ${STAGEDIR}${PREFIX}/share/wine/*.nls
195
	${REINPLACE_CMD} -n -E -e "/^(@|bin\/wine$$|lib\/)/p" ${TMPPLIST}
196
.endif
178
197
179
check-wine-devel-vs-staging:
198
check-wine-devel-vs-staging:
180
	@${GREP} %%STAGING%% pkg-plist | while read f; do \
199
	@${GREP} %%STAGING%% pkg-plist | while read f; do \

Return to bug 242625