summaryrefslogtreecommitdiff
path: root/emulators/wine/Makefile
diff options
context:
space:
mode:
authornia <nia@pkgsrc.org>2020-05-22 17:44:41 +0000
committernia <nia@pkgsrc.org>2020-05-22 17:44:41 +0000
commit2ac5fd7b34e4bc0fd6cf1dd33669e05559f3b9b1 (patch)
tree82e79dd5e2885cd415bdaec4a99dba88c26d1e8f /emulators/wine/Makefile
parent16614d581101b969890032f61674d86ee0a49fdd (diff)
downloadpkgsrc-2ac5fd7b34e4bc0fd6cf1dd33669e05559f3b9b1.tar.gz
wine: Update to 4.0 (most recent stable version known to build on NetBSD)
The most recent stable version (5.0) is known to be problematic due to the need for individual programs to link against msvcrt. Based partially on zerous's "wine32" package in pkgsrc-wip. Includes several years of changes. This package does not include WoW64 support, so you can't run 32-bit binaries on a 64-bit system. That's for later...
Diffstat (limited to 'emulators/wine/Makefile')
-rw-r--r--emulators/wine/Makefile113
1 files changed, 69 insertions, 44 deletions
diff --git a/emulators/wine/Makefile b/emulators/wine/Makefile
index 9cd8e6ecbfa..c5d6560de9f 100644
--- a/emulators/wine/Makefile
+++ b/emulators/wine/Makefile
@@ -1,74 +1,99 @@
-# $NetBSD: Makefile,v 1.212 2020/05/22 10:56:06 adam Exp $
+# $NetBSD: Makefile,v 1.213 2020/05/22 17:44:41 nia Exp $
-DISTNAME= wine-1.6.2
-PKGREVISION= 28
+DISTNAME= wine-4.0
CATEGORIES= emulators
-MASTER_SITES= http://ibiblio.org/pub/linux/system/emulators/wine/
-MASTER_SITES+= ${MASTER_SITE_SOURCEFORGE:=wine/}
-EXTRACT_SUFX= .tar.bz2
+MASTER_SITES= https://dl.winehq.org/wine/source/4.0/
+MASTER_SITES+= http://mirrors.ibiblio.org/wine/source/4.0/
+EXTRACT_SUFX= .tar.xz
-MAINTAINER= adam@NetBSD.org
+MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= https://www.winehq.org/
-COMMENT= Free implementation of Windows on Unix
+COMMENT= Compatibility layer for running Microsoft Windows applications
LICENSE= gnu-lgpl-v2.1
-BUILD_DEPENDS+= fontforge-[0-9]*:../../fonts/fontforge
+GNU_CONFIGURE= yes
+USE_LANGUAGES= c c++
+USE_TOOLS+= bison flex gmake mktemp msgfmt perl
-ONLY_FOR_PLATFORM+= *-*-i386 #*-*-x86_64
+REPLACE_PERL+= tools/winemaker/winemaker
+REPLACE_PERL+= tools/winedump/function_grep.pl
-PKG_DESTDIR_SUPPORT= user-destdir
+ONLY_FOR_PLATFORM+= *-*-i386 *-*-x86_64
-USE_LANGUAGES= c c99
-USE_LIBTOOL= yes
-USE_NCURSES= yes
-USE_TOOLS+= bison flex gmake mktemp msgfmt
-FLEX_REQD= 2.5.33
-GNU_CONFIGURE= yes
UNLIMIT_RESOURCES= datasize
-REPLACE_PERL+= tools/winemaker tools/winedump/function_grep.pl
+CONFIGURE_ARGS+= --without-capi
+CONFIGURE_ARGS+= --without-gphoto
+CONFIGURE_ARGS+= --without-gssapi
+CONFIGURE_ARGS+= --without-hal
+CONFIGURE_ARGS+= --without-krb5
+CONFIGURE_ARGS+= --without-opencl
+CONFIGURE_ARGS+= --without-udev
+CONFIGURE_ARGS+= --without-v4l
+CONFIGURE_ARGS+= --without-vkd3d
+CONFIGURE_ARGS+= --without-vulkan
-# The Wine configure script has problems locating the libraries in the
-# buildlink directory, so prepend all of the LDFLAGS necessary to link
-# against the libraries.
-CONFIGURE_ENV+= X_LIBS=${LDFLAGS:M*:Q}
-CONFIGURE_ENV+= CFLAGS=${CFLAGS:M*:Q}\ -DDEVOSSAUDIO="\"${DEVOSSAUDIO}\""
-CONFIGURE_ENV+= LDD=${LDD:Q}
-LIBS+= ${LDFLAGS}
-
-# If we're doing a 32-bit build, make sure that the appropriate multilib
-# options are passed through as these values are used with winegcc
-# (which wrapper doesn't handle).
.include "../../mk/bsd.prefs.mk"
-.if ${MACHINE_ARCH} == "i386"
-CONFIGURE_ENV+= ac_cv_prog_CC=${CC:Q}\ -m32
-CONFIGURE_ENV+= ac_cv_prog_CXX=${CXX:Q}\ -m32
-CONFIGURE_ENV+= ac_cv_prog_AS=${AS:Q}\ --32
-CONFIGURE_ENV+= ac_cv_prog_LD=${LD:Q}\ -m\ elf_i386
-.endif
-# Needs GCC >= 4.4
+
+PLIST_VARS+= lp32 lp64
.if ${MACHINE_ARCH} == "x86_64"
-CONFIGURE_ARGS+= --disable-win16
+PLIST.lp64= yes
CONFIGURE_ARGS+= --enable-win64
+NOT_PAX_MPROTECT_SAFE+= bin/wine64
+.else
+PLIST.lp32= yes
+NOT_PAX_MPROTECT_SAFE+= bin/wine
.endif
.if ${OPSYS} == "NetBSD"
+. if !empty(OS_VERSION:M[0-8].*)
+# Disable new_dtags as NetBSD versions prior to 9.0 don't honor DT_RUNPATH
+CONFIGURE_ENV+= ac_cv_cflags__Wl___enable_new_dtags=no
+. endif
# gethostbyname_r is in libc, but has a different calling convention
-CONFIGURE_ARGS+= wine_cv_linux_gethostbyname_r_6=no
+CONFIGURE_ENV+= wine_cv_linux_gethostbyname_r_6=no
.endif
-.include "options.mk"
+.include "../../mk/oss.buildlink3.mk"
+
+PLIST_VARS+= oss
+.if ${OSS_TYPE} != "none"
+PLIST.oss= yes
+LDFLAGS+= ${LIBOSSAUDIO}
+SUBST_CLASSES+= oss
+SUBST_STAGE.oss= pre-configure
+SUBST_MESSAGE.oss= Correcting the path to the OSS device.
+SUBST_FILES.oss+= dlls/wineoss.drv/mmdevdrv.c
+SUBST_SED.oss+= -e "s,/dev/dsp,${DEVOSSAUDIO},g"
+.else
+CONFIGURE_ARGS+= --without-oss
+.endif
+
+# Fix warning due to _FORTIFY_SOURCE being redefined
+CONFIGURE_ENV+= ac_cv_c_fortify_enabled=no
-.include "../../devel/ncurses/buildlink3.mk"
+.include "options.mk"
+.include "../../audio/faudio/buildlink3.mk"
+.include "../../audio/gsm/buildlink3.mk"
+.include "../../audio/mpg123/buildlink3.mk"
+.include "../../audio/openal-soft/buildlink3.mk"
+.include "../../devel/SDL2/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../fonts/fontconfig/buildlink3.mk"
+.include "../../graphics/MesaLib/buildlink3.mk"
+.include "../../graphics/freetype2/buildlink3.mk"
+.include "../../graphics/glu/buildlink3.mk"
+.include "../../graphics/giflib/buildlink3.mk"
.include "../../graphics/lcms2/buildlink3.mk"
.include "../../graphics/png/buildlink3.mk"
.include "../../graphics/tiff/buildlink3.mk"
+.include "../../multimedia/gstreamer1/buildlink3.mk"
+.include "../../multimedia/gst-plugins1-base/buildlink3.mk"
.include "../../security/gnutls/buildlink3.mk"
-.include "../../textproc/libxslt/buildlink3.mk"
+.include "../../sysutils/desktop-file-utils/desktopdb.mk"
.include "../../textproc/libxml2/buildlink3.mk"
-.include "../../graphics/giflib/buildlink3.mk"
+.include "../../textproc/libxslt/buildlink3.mk"
+.include "../../mk/curses.buildlink3.mk"
.include "../../mk/jpeg.buildlink3.mk"
-.include "../../mk/oss.buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
-.include "../../sysutils/desktop-file-utils/desktopdb.mk"
.include "../../mk/bsd.pkg.mk"