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

Collapse All | Expand All

(-)b/emulators/i386-wine-devel/Makefile.i386 (-3 / +13 lines)
Lines 14-23 PKGDEINSTALL= ${PKGINSTALL} Link Here
14
14
15
RUN_DEPENDS=	mesa-dri>0:graphics/mesa-dri
15
RUN_DEPENDS=	mesa-dri>0:graphics/mesa-dri
16
16
17
CONFLICTS_INSTALL?=	wine-[0-9]* wine-staging-[0-9]* wine-devel-[0-9]* \
17
WINE_CROSS_BUILD_OPTIONS=WOW64
18
19
CONFLICTS_INSTALL?=	wine-[0-9]* wine-staging-[0-9]* \
18
			i386-wine-[0-9]* i386-wine-staging-[0-9]*
20
			i386-wine-[0-9]* i386-wine-staging-[0-9]*
19
21
20
ACTUAL-PACKAGE-DEPENDS=	${DO_NADA}
21
WINELIBDIR=	${PREFIX}/lib32
22
WINELIBDIR=	${PREFIX}/lib32
22
CONFIGURE_ARGS+=	--bindir=${PREFIX}/bin32 --libdir=${WINELIBDIR}
23
CONFIGURE_ARGS+=	--bindir=${PREFIX}/bin32 --libdir=${WINELIBDIR}
23
PLIST_REINPLACE+=	winelib
24
PLIST_REINPLACE+=	winelib
Lines 36-42 post-install-script: Link Here
36
	# Fix pkg-plist references
37
	# Fix pkg-plist references
37
	${REINPLACE_CMD} -e 's!lib/!lib32/!g' ${TMPPLIST}
38
	${REINPLACE_CMD} -e 's!lib/!lib32/!g' ${TMPPLIST}
38
	# Install bounce script to access the 32-bit executables
39
	# Install bounce script to access the 32-bit executables
39
	${INSTALL_SCRIPT} ${SLAVEDIR}/files/binbounce ${STAGEDIR}${PREFIX}/bin/wine
40
	${INSTALL_SCRIPT} ${SLAVEDIR}/files/${BINBOUNCE} ${STAGEDIR}${PREFIX}/bin/wine
40
	for i in `${GREP} ^bin ${TMPPLIST} | ${XARGS} -n1 basename` ; do \
41
	for i in `${GREP} ^bin ${TMPPLIST} | ${XARGS} -n1 basename` ; do \
41
		[ "$${i}" = "wine" ] || ${LN} -f ${STAGEDIR}${PREFIX}/bin/wine ${STAGEDIR}${PREFIX}/bin/$${i} ; \
42
		[ "$${i}" = "wine" ] || ${LN} -f ${STAGEDIR}${PREFIX}/bin/wine ${STAGEDIR}${PREFIX}/bin/$${i} ; \
42
		${ECHO_CMD} bin32/$${i} >> ${TMPPLIST} ; \
43
		${ECHO_CMD} bin32/$${i} >> ${TMPPLIST} ; \
Lines 77-79 post-install-script: Link Here
77
	${ECHO_CMD} ${DATADIR:S|$(PREFIX)/||}/patch-nvidia.sh >> ${TMPPLIST}
78
	${ECHO_CMD} ${DATADIR:S|$(PREFIX)/||}/patch-nvidia.sh >> ${TMPPLIST}
78
79
79
.include "${MASTERDIR}/Makefile"
80
.include "${MASTERDIR}/Makefile"
81
82
.if ${PORT_OPTIONS:MWOW64}
83
ACTUAL-PACKAGE-DEPENDS=	${ECHO_CMD} "\"wine-devel\": {origin: \"emulators/wine-devel\", version: \"${PKGVERSION}\"}"
84
BINBOUNCE=		binbounce.wow64
85
.else
86
CONFLICTS_INSTALL+=	wine-devel-[0-9]*
87
ACTUAL-PACKAGE-DEPENDS=	${DO_NADA}
88
BINBOUNCE=		binbounce
89
.endif
(-)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 (-11 / +32 lines)
Lines 3-9 Link Here
3
3
4
PORTNAME=	wine
4
PORTNAME=	wine
5
DISTVERSION=	4.21
5
DISTVERSION=	4.21
6
PORTEPOCH=	1
6
PORTEPOCH=	2
7
CATEGORIES=	emulators
7
CATEGORIES=	emulators
8
MASTER_SITES=	SF/${PORTNAME}/Source \
8
MASTER_SITES=	SF/${PORTNAME}/Source \
9
		http://mirrors.ibiblio.org/wine/source/4.x/
9
		http://mirrors.ibiblio.org/wine/source/4.x/
Lines 27-33 LIB_DEPENDS= libFAudio.so:audio/faudio \ Link Here
27
USES=		bison desktop-file-utils gmake localbase shebangfix tar:xz xorg
27
USES=		bison desktop-file-utils gmake localbase shebangfix tar:xz xorg
28
28
29
CONFLICTS_INSTALL=	wine-[0-9]* wine-staging-[0-9]* i386-wine-[0-9]* \
29
CONFLICTS_INSTALL=	wine-[0-9]* wine-staging-[0-9]* i386-wine-[0-9]* \
30
			i386-wine-staging-[0-9]* i386-wine-devel-[0-9]*
30
			i386-wine-staging-[0-9]*
31
31
32
GNU_CONFIGURE=	yes
32
GNU_CONFIGURE=	yes
33
CONFIGURE_ARGS+=--verbose \
33
CONFIGURE_ARGS+=--verbose \
Lines 55-66 SHEBANG_FILES= tools/make_requests tools/winemaker/winemaker \ Link Here
55
55
56
SUB_FILES=	pkg-message
56
SUB_FILES=	pkg-message
57
57
58
PORTDATA=	l_intl.nls wine.inf
59
60
OPTIONS_DEFINE=	CUPS DOCS DOSBOX GCC GNUTLS HAL LDAP LIBXSLT MPG123 OPENAL STAGING V4L VKD3D VULKAN WINEMAKER X11 GECKO MONO
58
OPTIONS_DEFINE=	CUPS DOCS DOSBOX GCC GNUTLS HAL LDAP LIBXSLT MPG123 OPENAL STAGING V4L VKD3D VULKAN WINEMAKER X11 GECKO MONO
61
OPTIONS_DEFAULT=GCC GNUTLS X11
59
OPTIONS_DEFAULT=GCC GNUTLS X11
62
OPTIONS_SUB=	yes
60
OPTIONS_SUB=	yes
63
61
62
OPTIONS_DEFINE_amd64=WOW64
63
64
.if defined(WINE_CROSS_BUILD_OPTIONS)
65
OPTIONS_DEFINE+=${WINE_CROSS_BUILD_OPTIONS}
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 empty(PORT_OPTIONS:MWOW64) || ${ARCH} == amd64
131
PORTDATA=	l_intl.nls wine.inf
132
.endif
133
134
.if empty(PORT_OPTIONS:MWOW64)
135
CONFLICTS_INSTALL+=	i386-wine-devel-[0-9]*
136
.endif
137
125
.if ${ARCH} == amd64
138
.if ${ARCH} == amd64
126
# Wine is composed of three parts:
139
# Wine is composed of three parts:
127
#  - wine (aka this port) is the 32-bit component and runs 32-bit programs (on FreeBSD/i386)
140
#  - 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.
149
# --libdir is required since Wine defaults to "${PREFIX}/lib64" on amd64.
137
CONFIGURE_ARGS+=	--enable-win64 --libdir=${PREFIX}/lib
150
CONFIGURE_ARGS+=	--enable-win64 --libdir=${PREFIX}/lib
138
PLIST_SUB+=		WINE32="@comment " WINE64=""
151
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
152
.else
147
PLIST_SUB+=		WINE32="" WINE64="@comment "
153
PLIST_SUB+=		WINE32="" WINE64="@comment "
148
.endif
154
.endif
Lines 175-180 post-install: Link Here
175
.endfor
181
.endfor
176
	${INSTALL_DATA} ${WRKSRC}/programs/winedbg/README ${STAGEDIR}${DOCSDIR}/README.winedbg
182
	${INSTALL_DATA} ${WRKSRC}/programs/winedbg/README ${STAGEDIR}${DOCSDIR}/README.winedbg
177
	${INSTALL_DATA} ${WRKSRC}/tools/winedump/README ${STAGEDIR}${DOCSDIR}/README.winedump
183
	${INSTALL_DATA} ${WRKSRC}/tools/winedump/README ${STAGEDIR}${DOCSDIR}/README.winedump
184
.if ${ARCH} == i386 && ${PORT_OPTIONS:MWOW64}
185
	for i in `${GREP} ^bin ${TMPPLIST} | ${XARGS} -n1 basename` ; do \
186
		[ "$${i}" = "wine" ] || ${RM} ${STAGEDIR}${PREFIX}/bin/$${i} ${STAGEDIR}${PREFIX}/bin32/$${i} ; \
187
	done
188
	${RM} -r ${STAGEDIR}${PREFIX}/include/wine
189
	${RM} -r ${STAGEDIR}${PREFIX}/man
190
	${RM} -r ${STAGEDIR}${PREFIX}/share/wine/fonts
191
	${RM} -r ${STAGEDIR}${PREFIX}/share/wine/gecko
192
	${RM} -r ${STAGEDIR}${PREFIX}/share/wine/mono
193
	${RM} -r ${STAGEDIR}${DOCSDIR}
194
	${RM} ${STAGEDIR}${PREFIX}/share/applications/wine.desktop
195
	${RM} ${STAGEDIR}${PREFIX}/share/wine/*.inf
196
	${RM} ${STAGEDIR}${PREFIX}/share/wine/*.nls
197
	${REINPLACE_CMD} -n -E -e "/^(@|bin\/wine$$|lib\/)/p" ${TMPPLIST}
198
.endif
178
199
179
check-wine-devel-vs-staging:
200
check-wine-devel-vs-staging:
180
	@${GREP} %%STAGING%% pkg-plist | while read f; do \
201
	@${GREP} %%STAGING%% pkg-plist | while read f; do \

Return to bug 242625