948f427f7e
Wine is now able to use mingw-w64 to build components. When mingw-w64 is installed on FreeBSD, users might inadvertedly use that when we have not set up things properly yet (and it probably should be an option to choose, at least initially). For example, mingw-w64 produces .dll files instead of the current .dll.so files, breaking pkg-plist. So for now explicitly disable the use of mingw-w64. In a next step, once mingw-w64 is available, we probably should make this an option. PR: 237213 Reported by: Damjan Jovanovic <damjan.jov@gmail.com> MFH: 2020Q4 (blanket: build issue)
176 lines
5.2 KiB
Makefile
176 lines
5.2 KiB
Makefile
# Created by: Gerald Pfeifer <gerald@FreeBSD.org>
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= wine
|
|
DISTVERSION= 5.0.3
|
|
PORTEPOCH= 1
|
|
CATEGORIES= emulators
|
|
MASTER_SITES= SF/${PORTNAME}/Source \
|
|
http://mirrors.ibiblio.org/wine/source/5.0/
|
|
|
|
MAINTAINER?= gerald@FreeBSD.org
|
|
COMMENT?= Microsoft Windows compatibility environment
|
|
|
|
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 \
|
|
libxml2.so:textproc/libxml2
|
|
|
|
USES= bison desktop-file-utils gmake localbase pkgconfig shebangfix tar:xz
|
|
|
|
CONFLICTS_INSTALL= wine-staging-[0-9]* wine-devel-[0-9]* i386-wine-[0-9]* \
|
|
i386-wine-staging-[0-9]* i386-wine-devel-[0-9]*
|
|
|
|
GNU_CONFIGURE= yes
|
|
CONFIGURE_ARGS+=--verbose \
|
|
--disable-kerberos \
|
|
--disable-tests \
|
|
--without-alsa --without-capi --without-dbus \
|
|
--without-gettext --without-gettextpo \
|
|
--without-gphoto --without-gsm --without-gstreamer \
|
|
--without-inotify \
|
|
--without-krb5 \
|
|
--without-mingw \
|
|
--without-opencl \
|
|
--without-osmesa \
|
|
--with-oss \
|
|
--without-pulse \
|
|
--without-sane \
|
|
--without-tiff \
|
|
--without-udev \
|
|
--without-unwind \
|
|
--without-usb
|
|
CONFIGURE_ENV= CPPBIN="${CPP}" FLEX="${LOCALBASE}/bin/flex"
|
|
WINELIBDIR?= ${PREFIX}/lib
|
|
.if !defined(USE_LDCONFIG32)
|
|
USE_LDCONFIG= ${WINELIBDIR} ${WINELIBDIR}/wine
|
|
.endif
|
|
SHEBANG_FILES= tools/make_requests tools/winemaker/winemaker \
|
|
tools/winedump/function_grep.pl
|
|
|
|
SUB_FILES= pkg-message
|
|
|
|
PORTDATA= l_intl.nls wine.inf
|
|
|
|
OPTIONS_DEFINE= CUPS DOCS DOSBOX GCC GNUTLS HAL LDAP LIBXSLT MPG123 OPENAL SDL V4L VKD3D VULKAN WINEMAKER X11 GECKO MONO
|
|
OPTIONS_DEFAULT=GCC GNUTLS X11
|
|
OPTIONS_SUB= yes
|
|
|
|
DOSBOX_DESC= Use DOSBox to run MS-DOS programs
|
|
LIBXSLT_DESC= Use libxslt (only used by msxml3.dll)
|
|
SDL_DESC= Use SDL for gamepad support (XInput only)
|
|
VKD3D_DESC= Direct3D 12 support via Vulkan
|
|
VULKAN_DESC= Vulkan API support
|
|
WINEMAKER_DESC= Fully support winemaker (requires Perl)
|
|
GECKO_DESC= Bundle Gecko MSI package for Wine
|
|
MONO_DESC= Bundle Mono MSI package for Wine
|
|
|
|
PORTSCOUT= limit:^5\.0
|
|
|
|
CUPS_CONFIGURE_WITH= cups
|
|
CUPS_LIB_DEPENDS= libcups.so:print/cups
|
|
|
|
DOSBOX_RUN_DEPENDS= dosbox:emulators/dosbox
|
|
|
|
GCC_USE= gcc=yes
|
|
GCC_USES_OFF= compiler:c11
|
|
|
|
GECKO_RUN_DEPENDS= ${DATADIR}/gecko/wine-gecko-2.47.1-x86.msi:emulators/wine-gecko
|
|
|
|
GNUTLS_CONFIGURE_WITH= gnutls
|
|
GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls
|
|
|
|
HAL_CONFIGURE_WITH= hal
|
|
HAL_LIB_DEPENDS= libhal.so:sysutils/hal
|
|
|
|
LDAP_CONFIGURE_WITH= ldap
|
|
LDAP_USE= OPENLDAP=yes
|
|
|
|
LIBXSLT_CONFIGURE_WITH= xslt
|
|
LIBXSLT_LIB_DEPENDS= libxslt.so:textproc/libxslt
|
|
|
|
MONO_RUN_DEPENDS= ${DATADIR}/mono/wine-mono-4.9.4.msi:emulators/wine-mono
|
|
|
|
MPG123_CONFIGURE_WITH= mpg123
|
|
MPG123_LIB_DEPENDS= libmpg123.so:audio/mpg123
|
|
|
|
OPENAL_CONFIGURE_WITH= openal
|
|
OPENAL_USES= openal
|
|
|
|
SDL_CONFIGURE_WITH= sdl
|
|
SDL_USES= sdl
|
|
SDL_USE= SDL=sdl2
|
|
|
|
V4L_CONFIGURE_WITH= v4l2
|
|
V4L_BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat
|
|
V4L_LIB_DEPENDS= libv4l2.so:multimedia/libv4l
|
|
|
|
VKD3D_CONFIGURE_WITH= vkd3d
|
|
VKD3D_LIB_DEPENDS= libvkd3d.so:graphics/vkd3d
|
|
|
|
VULKAN_CONFIGURE_WITH= vulkan
|
|
VULKAN_LIB_DEPENDS= libvulkan.so:graphics/vulkan-loader
|
|
|
|
WINEMAKER_RUN_DEPENDS= p5-XML-LibXML>0:textproc/p5-XML-LibXML
|
|
|
|
X11_CONFIGURE_WITH= x cms fontconfig freetype glu jpeg opengl png xinerama xinput2 xrandr xrender
|
|
X11_USES= gl jpeg xorg
|
|
X11_USE= GL=glu XORG=x11,xext,xcomposite,xcursor,xi,xinerama,xrandr,xrender
|
|
X11_LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
|
|
libfreetype.so:print/freetype2 \
|
|
liblcms2.so:graphics/lcms2 \
|
|
libpng.so:graphics/png
|
|
|
|
# Include this only if it has not been already included by the
|
|
# i386-wine slave port.
|
|
.ifndef WINE_SLAVE_BUILD
|
|
.include <bsd.port.pre.mk>
|
|
.endif
|
|
|
|
.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=""
|
|
|
|
# Wine assumes a WoW64 package is available, which is not the case on
|
|
# FreeBSD yet.
|
|
post-patch:
|
|
${REINPLACE_CMD} '/Exec/s|wine|wine64|g' ${WRKSRC}/loader/wine.desktop
|
|
|
|
.else
|
|
PLIST_SUB+= WINE32="" WINE64="@comment "
|
|
.endif
|
|
|
|
pre-build:
|
|
cd ${WRKSRC} && ${MAKE_CMD} depend
|
|
|
|
post-install:
|
|
@${MV} -f ${STAGEDIR}${WINELIBDIR}/libwine.so.1.0 \
|
|
${STAGEDIR}${WINELIBDIR}/libwine.so.1
|
|
@${LN} -sf libwine.so.1 ${STAGEDIR}/${WINELIBDIR}/libwine.so
|
|
@${MKDIR} ${STAGEDIR}${DOCSDIR}
|
|
.for i in README ANNOUNCE AUTHORS
|
|
${INSTALL_DATA} ${WRKSRC}/${i} ${STAGEDIR}${DOCSDIR}
|
|
.endfor
|
|
${INSTALL_DATA} ${WRKSRC}/programs/winedbg/README ${STAGEDIR}${DOCSDIR}/README.winedbg
|
|
${INSTALL_DATA} ${WRKSRC}/tools/winedump/README ${STAGEDIR}${DOCSDIR}/README.winedump
|
|
|
|
.ifndef WINE_SLAVE_BUILD
|
|
.include <bsd.port.post.mk>
|
|
.endif
|