aboutsummaryrefslogtreecommitdiff
path: root/emulators/wine/Makefile
diff options
context:
space:
mode:
authorGerald Pfeifer <gerald@FreeBSD.org>2016-01-05 07:22:13 +0000
committerGerald Pfeifer <gerald@FreeBSD.org>2016-01-05 07:22:13 +0000
commit52f7712afd279786672bd92e1d03f1cb5e61cdf2 (patch)
treea7b6c514d4388d7e177305c775541e25776a3862 /emulators/wine/Makefile
parent7a5b13abcd65c7881f6025e359578bd2e807980d (diff)
Notes
Diffstat (limited to 'emulators/wine/Makefile')
-rw-r--r--emulators/wine/Makefile51
1 files changed, 41 insertions, 10 deletions
diff --git a/emulators/wine/Makefile b/emulators/wine/Makefile
index 2dfcd5b3a8f3..ff15c5941f08 100644
--- a/emulators/wine/Makefile
+++ b/emulators/wine/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= wine
-DISTVERSION= 1.6.2
-PORTREVISION= 10
+DISTVERSION= 1.8
PORTEPOCH= 1
CATEGORIES= emulators
MASTER_SITES= SF/${PORTNAME}/Source \
@@ -27,7 +26,7 @@ LDFLAGS+= -L${LOCALBASE}/lib
GNU_CONFIGURE= yes
CONFIGURE_ARGS+=--verbose --disable-tests \
--without-alsa --without-capi --without-dbus \
- --without-gettextpo \
+ --without-gettext --without-gettextpo \
--without-gphoto --without-gsm --without-gstreamer \
--without-opencl \
--without-osmesa \
@@ -35,20 +34,20 @@ CONFIGURE_ARGS+=--verbose --disable-tests \
--without-sane \
--without-tiff \
--without-xinerama
-CONFIGURE_ENV= FLEX="${LOCALBASE}/bin/flex"
+CONFIGURE_ENV= CPPBIN="${CPP}" FLEX="${LOCALBASE}/bin/flex"
WINELIBDIR?= ${PREFIX}/lib
.if !defined(USE_LDCONFIG32)
USE_LDCONFIG= ${WINELIBDIR} ${WINELIBDIR}/wine
.endif
-ONLY_FOR_ARCHS= i386
+ONLY_FOR_ARCHS= i386 amd64
USES= bison compiler:c11 desktop-file-utils gmake shebangfix tar:bzip2
-SHEBANG_FILES= tools/make_requests tools/winemaker \
+SHEBANG_FILES= tools/make_requests tools/winemaker/winemaker \
tools/winedump/function_grep.pl
SUB_FILES= pkg-message
PKGMESSAGE= ${WRKDIR}/pkg-message
-PORTDATA= generic.ppd l_intl.nls wine.inf
+PORTDATA= l_intl.nls wine.inf
OPTIONS_DEFINE= CUPS DOCS DOSBOX GNUTLS HAL LDAP LIBXSLT MPG123 OPENAL V4L WINEMAKER X11 GECKO MONO
OPTIONS_DEFAULT=X11
@@ -67,7 +66,7 @@ CUPS_LIB_DEPENDS= libcups.so:${PORTSDIR}/print/cups-client
DOSBOX_RUN_DEPENDS= dosbox:${PORTSDIR}/emulators/dosbox
-GECKO_RUN_DEPENDS= ${DATADIR}/gecko/wine_gecko-2.21-x86.msi:${PORTSDIR}/emulators/wine-gecko
+GECKO_RUN_DEPENDS= ${DATADIR}/gecko/wine_gecko-2.40-x86.msi:${PORTSDIR}/emulators/wine-gecko-devel
GNUTLS_CONFIGURE_WITH= gnutls
GNUTLS_LIB_DEPENDS= libgnutls.so:${PORTSDIR}/security/gnutls
@@ -81,7 +80,7 @@ LDAP_USE= OPENLDAP=yes
LIBXSLT_CONFIGURE_WITH= xslt
LIBXSLT_LIB_DEPENDS= libxslt.so:${PORTSDIR}/textproc/libxslt
-MONO_RUN_DEPENDS= ${DATADIR}/mono/wine-mono-0.0.8.msi:${PORTSDIR}/emulators/wine-mono
+MONO_RUN_DEPENDS= ${DATADIR}/mono/wine-mono-4.5.6.msi:${PORTSDIR}/emulators/wine-mono-devel
MPG123_CONFIGURE_WITH= mpg123
MPG123_LIB_DEPENDS= libmpg123.so:${PORTSDIR}/audio/mpg123
@@ -102,6 +101,38 @@ X11_LIB_DEPENDS= libfontconfig.so:${PORTSDIR}/x11-fonts/fontconfig \
liblcms2.so:${PORTSDIR}/graphics/lcms2 \
libpng.so:${PORTSDIR}/graphics/png
+.include <bsd.port.pre.mk>
+
+.if ${ARCH} == amd64
+# Wine is composed of three parts:
+# - wine (aka this port) is the 32-bit component and runs 32-bit programs (on FreeBSD/i386)
+# - wine64 (aka this part of this port) is the 64-bit component and runs 64-bit programs
+# (on FreeBSD/amd64)
+# - wow64 (a subset of emulators/i386-wine-devel) is a part of the 64-bit component that runs
+# 32-bit programs (on FreeBSD/amd64)
+# We also currently have:
+# - "wine32" (aka emulators/i386-wine-devel) is the 32-bit component and runs 32-bit programs
+# (on FreeBSD/amd64). This will be superseded by wow64.
+
+# --libdir is required since Wine defaults to "${PREFIX}/lib64" on amd64.
+CONFIGURE_ARGS+= --enable-win64 --libdir=${PREFIX}/lib
+PLIST_SUB+= WINE32="@comment " WINE64=""
+
+.if ${CHOSEN_COMPILER_TYPE} == clang
+CPPFLAGS+= -D__builtin_ms_va_list=__builtin_va_list \
+ -D__builtin_ms_va_start=__builtin_va_start \
+ -D__builtin_ms_va_end=__builtin_va_end \
+ -D__builtin_ms_va_copy=__builtin_va_copy
+.endif
+
+# Wine assumes a WoW64 package is available however WoW64 is not yet available on FreeBSD.
+post-patch:
+ ${REINPLACE_CMD} 's|/wine|/wine64|g' ${WRKSRC}/tools/wineapploader.in
+
+.else
+PLIST_SUB+= WINE32="" WINE64="@comment "
+.endif
+
pre-build:
cd ${WRKSRC} && ${MAKE_CMD} depend
@@ -116,4 +147,4 @@ post-install:
${INSTALL_DATA} ${WRKSRC}/programs/winedbg/README ${STAGEDIR}${DOCSDIR}/README.winedbg
${INSTALL_DATA} ${WRKSRC}/tools/winedump/README ${STAGEDIR}${DOCSDIR}/README.winedump
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>