mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-20 00:21:35 +00:00
ba0e1a78f3
When using the ALSA option (which is not the default) audio did not work - no audio device appeared for playing and recording and the following message appeared: ALSA lib dlmisc.c:285:(snd_dlobj_cache_get0) Cannot open shared library /usr/local/lib/alsa-lib/libasound_module_pcm_oss.so Providing alsa-plugins at run time addresses this. (This is a forward port ofa26844393b
and3a2594ed6f
from the primary wine port.) Bump PORTREVSION accordingly. PR: 273137
170 lines
5.1 KiB
Makefile
170 lines
5.1 KiB
Makefile
PORTNAME= wine
|
|
DISTVERSION= 8.11
|
|
PORTREVISION= 1
|
|
PORTEPOCH= 1
|
|
CATEGORIES= emulators
|
|
MASTER_SITES= https://dl.winehq.org/wine/source/8.x/
|
|
PKGNAMESUFFIX= -devel
|
|
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
|
|
|
|
MAINTAINER= damjan.jov@gmail.com
|
|
COMMENT= Microsoft Windows compatibility environment
|
|
WWW= https://www.winehq.org
|
|
|
|
LICENSE= LGPL21 LGPL3
|
|
LICENSE_COMB= dual
|
|
LICENSE_FILE= ${WRKSRC}/LICENSE
|
|
|
|
ONLY_FOR_ARCHS= amd64 i386
|
|
BROKEN_i386= fails to build: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271201\#c6
|
|
|
|
BUILD_DEPENDS= ${LOCALBASE}/bin/flex:textproc/flex llvm${_LLVM_VERSION}>=0:devel/llvm${_LLVM_VERSION}
|
|
|
|
USES= bison cpe desktop-file-utils gmake localbase \
|
|
pkgconfig sdl shebangfix tar:xz
|
|
USE_GCC= yes
|
|
USE_SDL= sdl2
|
|
|
|
CPE_VENDOR= winehq
|
|
|
|
CONFLICTS_INSTALL= wine
|
|
|
|
GNU_CONFIGURE= yes
|
|
CONFIGURE_ARGS+=--verbose \
|
|
--disable-kerberos \
|
|
--disable-tests \
|
|
--without-capi \
|
|
--without-coreaudio \
|
|
--without-dbus \
|
|
--without-gettext --without-gettextpo \
|
|
--without-gphoto \
|
|
--without-gssapi \
|
|
--without-gstreamer \
|
|
--without-inotify \
|
|
--without-krb5 \
|
|
--with-mingw CROSSCC="clang" CROSSCFLAGS="-isystem ${FILESDIR}/clang" \
|
|
--without-netapi \
|
|
--without-opencl \
|
|
--without-osmesa \
|
|
--without-pcap \
|
|
--with-pthread \
|
|
--without-pulse \
|
|
--without-sane \
|
|
--with-sdl \
|
|
--without-udev \
|
|
--without-unwind \
|
|
--without-usb \
|
|
--without-wayland
|
|
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
|
|
|
|
BINARY_ALIAS+= clang=${LOCALBASE}/bin/clang${_LLVM_VERSION} \
|
|
lld-link=${LOCALBASE}/bin/lld-link${_LLVM_VERSION}
|
|
|
|
SUB_FILES= pkg-message
|
|
|
|
PORTDATA= wine.inf
|
|
|
|
OPTIONS_DEFINE= CUPS DOCS DOSBOX GNUTLS V4L WINEMAKER X11 GECKO MONO
|
|
OPTIONS_DEFAULT=GNUTLS OSS X11
|
|
OPTIONS_RADIO= AUDIO
|
|
OPTIONS_RADIO_AUDIO= ALSA OSS
|
|
OPTIONS_SUB= yes
|
|
|
|
DOSBOX_DESC= Use DOSBox to run MS-DOS programs
|
|
WINEMAKER_DESC= Fully support winemaker (requires Perl)
|
|
GECKO_DESC= Bundle Gecko MSI package for Wine
|
|
MONO_DESC= Bundle Mono MSI package for Wine
|
|
|
|
ALSA_CONFIGURE_ON= --with-alsa --without-oss
|
|
ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
|
|
ALSA_RUN_DEPENDS= alsa-plugins>0:audio/alsa-plugins
|
|
|
|
CUPS_CONFIGURE_WITH= cups
|
|
CUPS_LIB_DEPENDS= libcups.so:print/cups
|
|
|
|
DOSBOX_RUN_DEPENDS= dosbox:emulators/dosbox
|
|
|
|
GECKO_RUN_DEPENDS= wine-gecko-devel>0:emulators/wine-gecko-devel
|
|
|
|
GNUTLS_CONFIGURE_WITH= gnutls
|
|
GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls
|
|
|
|
MONO_RUN_DEPENDS= wine-mono-devel>0:emulators/wine-mono-devel
|
|
|
|
OSS_CONFIGURE_ON= --without-alsa --with-oss
|
|
|
|
V4L_CONFIGURE_WITH= v4l2
|
|
V4L_BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat
|
|
V4L_LIB_DEPENDS= libv4l2.so:multimedia/libv4l
|
|
|
|
WINEMAKER_RUN_DEPENDS= p5-XML-LibXML>0:textproc/p5-XML-LibXML
|
|
|
|
X11_CONFIGURE_WITH= x fontconfig freetype opengl xinerama xinput2 xrandr xrender
|
|
X11_USES= gl 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 \
|
|
libvulkan.so:graphics/vulkan-loader
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
.if (${LLVM_DEFAULT} == 10 || ${LLVM_DEFAULT} == 11)
|
|
_LLVM_VERSION= 12
|
|
.else
|
|
_LLVM_VERSION= ${LLVM_DEFAULT}
|
|
.endif
|
|
|
|
.if ${ARCH} == amd64
|
|
# Wine is composed of three parts:
|
|
# - wine (aka this port on FreeBSD/i386) is the 32-bit component
|
|
# and runs 32-bit programs.
|
|
# - wine64 (aka this part of this port on FreeBSD/amd64) is the
|
|
# 64-bit component and runs 64-bit programs.
|
|
# - wow64 (aka this port built on FreeBSD/i386) is a part of the
|
|
# 64-bit component [wine64] that runs 32-bit programs on FreeBSD/amd64.
|
|
|
|
# --libdir is required since Wine defaults to "${PREFIX}/lib64" on amd64.
|
|
CONFIGURE_ARGS+= --enable-win64 --libdir=${PREFIX}/lib
|
|
PLIST_SUB+= WINE32="@comment " WINE64="" WINEARCH="x86_64"
|
|
|
|
# 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 " WINEARCH="i386"
|
|
.endif
|
|
|
|
pre-build:
|
|
cd ${WRKSRC} && ${MAKE_CMD} depend
|
|
|
|
post-install:
|
|
.if ${ARCH} == i386
|
|
${MV} ${STAGEDIR}${PREFIX}/bin/wineserver ${STAGEDIR}${PREFIX}/bin/wineserver32
|
|
${MV} ${STAGEDIR}${PREFIX}/bin/wine ${STAGEDIR}${PREFIX}/bin/wine.bin
|
|
-${ELFCTL} -e +noaslr ${STAGEDIR}${PREFIX}/bin/wine.bin
|
|
${INSTALL_SCRIPT} ${FILESDIR}/wine.sh ${STAGEDIR}${PREFIX}/bin/wine
|
|
.else
|
|
${MV} ${STAGEDIR}${PREFIX}/bin/wine64 ${STAGEDIR}${PREFIX}/bin/wine64.bin
|
|
-${ELFCTL} -e +noaslr ${STAGEDIR}${PREFIX}/bin/wine64.bin
|
|
${INSTALL_SCRIPT} ${FILESDIR}/wine.sh ${STAGEDIR}${PREFIX}/bin/wine64
|
|
${INSTALL_SCRIPT} ${FILESDIR}/wine-wow64.sh ${STAGEDIR}${PREFIX}/bin/wine
|
|
${INSTALL_SCRIPT} ${FILESDIR}/pkg32.sh ${STAGEDIR}${DATADIR}/pkg32.sh
|
|
.endif
|
|
|
|
@${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
|
|
|
|
.include <bsd.port.post.mk>
|