diff --git a/emulators/i386-wine-devel/Makefile b/emulators/i386-wine-devel/Makefile index 1d7c8c7d8fa5..edfef0d13978 100644 --- a/emulators/i386-wine-devel/Makefile +++ b/emulators/i386-wine-devel/Makefile @@ -1,16 +1,10 @@ # Created by: David Naylor (dbn@FreeBSD.org) # $FreeBSD$ # Special bootstrapper to allow: # - i386 specific port to be slave to ${PORTSDIR}/emulators/wine-devel # - amd64 specific port to be normal port (based on binary package) -.if !defined(ARCH) -ARCH!= uname -p -.endif +ONLY_FOR_ARCHS= i386 amd64 -.if ${ARCH} == i386 -.include "${.CURDIR}/Makefile.i386" -.else -.include "${.CURDIR}/Makefile.inc" -.endif +.include diff --git a/emulators/i386-wine-devel/Makefile.inc b/emulators/i386-wine-devel/Makefile.amd64 similarity index 95% rename from emulators/i386-wine-devel/Makefile.inc rename to emulators/i386-wine-devel/Makefile.amd64 index c4db4516f004..357101813cac 100644 --- a/emulators/i386-wine-devel/Makefile.inc +++ b/emulators/i386-wine-devel/Makefile.amd64 @@ -1,98 +1,91 @@ # Created by: David Naylor # $FreeBSD$ PORTNAME= wine PORTVERSION= 4.0.r1 PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= emulators MASTER_SITES= LOCAL/dbn/repos/wine/${DIST_SUBDIR}/ PKGNAMEPREFIX= i386- PKGNAMESUFFIX= -devel DISTNAME= ${PKGNAME} EXTRACT_SUFX= .txz DIST_SUBDIR= freebsd:${OSREL:C/\..*//}:x86:64 MAINTAINER= salvadore@FreeBSD.org COMMENT?= 32-bit Microsoft Windows compatibility environment for 64-bit FreeBSD LICENSE= LGPL21 LGPL3 LICENSE_COMB= dual LICENSE_FILE= ${WRKDIR}/LICENSE OPTIONS_DEFINE= GECKO MONO GECKO_DESC= Bundle Gecko MSI package for Wine MONO_DESC= Bundle Mono MSI package for Wine CONFLICTS_INSTALL?= wine-[0-9]* wine-staging-[0-9]* wine-devel-[0-9]* \ i386-wine-[0-9]* i386-wine-staging-[0-9]* EXTRACT_AFTER_ARGS= -C / --exclude +COMPACT_MANIFEST --exclude +MANIFEST \ --exclude +MTREE_DIRS --exclude share/licenses/'*' \ --exclude libdata/ldconfig32/${PKGNAMEPREFIX}${PORTNAME} \ -s '|/usr/local|${STAGEDIR}${PREFIX}|gs' NO_BUILD= yes -ONLY_FOR_ARCHS= i386 amd64 -ONLY_FOR_ARCHS_REASON= wine only runs on x86 architecture SLAVEDIR?= ${.CURDIR} PKGINSTALL= ${SLAVEDIR}/files/pkg-install PKGDEINSTALL= ${PKGINSTALL} PKGMESSAGE= ${WRKDIR}/pkg-message SUB_FILES= pkg-message USE_LDCONFIG32= ${PREFIX}/lib32 ${PREFIX}/lib32/wine USES= tar:xz desktop-file-utils BUNDLE_LIBS= yes GECKO_RUN_DEPENDS= ${DATADIR}/gecko/wine-gecko-2.47.1-x86.msi:emulators/wine-gecko-devel MONO_RUN_DEPENDS= ${DATADIR}/mono/wine-mono-4.9.4.msi:emulators/wine-mono-devel -# Included for OPSYS and OSVERSION -.include - .for osrel in 11 12 13 .if ${OSREL:C/\..*//} == ${osrel} PLIST_SUB+= OSREL${osrel}="" .if ${PKGNAMESUFFIX} == -devel PLIST_SUB+= DEVEL="" PLIST_SUB+= OSREL${osrel}-DEVEL="" .else PLIST_SUB+= DEVEL="@comment " PLIST_SUB+= OSREL${osrel}-DEVEL="@comment " .endif .else PLIST_SUB+= OSREL${osrel}="@comment " PLIST_SUB+= OSREL${osrel}-DEVEL="@comment " .endif .endfor .if ${OPSYS} != FreeBSD || (!(${OSVERSION} >= 1103000 && ${OSVERSION} < 1200000) && !(${OSVERSION} >= 1200086 && ${OSVERSION} < 1300000) && !(${OSVERSION} >= 1300003 && ${OSVERSION} < 1400000)) IGNORE= binaries compiled for FreeBSD 11.3+, 12.0+ and -current only DISTFILES= .endif do-extract: @${RM} -r ${WRKDIR} @${MKDIR} ${WRKDIR} ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/${EXTRACT_ONLY} -C ${WRKDIR} --include '/usr/local/share/licenses/${DISTNAME}/LICENSE' -s '|/usr/local/share/licenses/${DISTNAME}/||g' do-install: ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/${EXTRACT_ONLY} ${EXTRACT_AFTER_ARGS} ${PLIST}: checksum ${TAR} -tf ${_DISTDIR}/${EXTRACT_ONLY} ${EXTRACT_AFTER_ARGS} > /dev/null ${TAR} -tf ${_DISTDIR}/${EXTRACT_ONLY} ${EXTRACT_AFTER_ARGS} | ${GREP} -v '/$$\|ldconfig32' | ${SED} 's|/usr/local/||g' | sort > ${PLIST} port-update: ${RM} ${SLAVEDIR}/distinfo ${SLAVEDIR}/distinfo~ ${SLAVEDIR}/pkg-plist.* .for osrel in 11 12 13 ${MAKE} fetch OSREL=${osrel} OSVERSION=${osrel}99999 _OSRELEASE=${osrel} ${MAKE} makesum OSREL=${osrel} OSVERSION=${osrel}99999 _OSRELEASE=${osrel} ${CAT} ${SLAVEDIR}/distinfo >> ${SLAVEDIR}/distinfo~ ${RM} ${SLAVEDIR}/distinfo ${MAKE} pkg-plist.${osrel}${suffix:tu} PLIST=pkg-plist.${osrel}${suffix:tu} OSREL=${osrel} OSVERSION=${osrel}99999 _OSRELEASE=${osrel} .endfor ${SED} -e '2,$${' -e '/^TIMESTAMP/d' -e '}' distinfo~ > ${SLAVEDIR}/distinfo python ${FILESDIR}/mergeplist.py ${SLAVEDIR}/pkg-plist.* > ${PLIST} ${RM} ${SLAVEDIR}/distinfo~ ${SLAVEDIR}/pkg-plist.* - -.include diff --git a/emulators/wine-devel/Makefile b/emulators/wine-devel/Makefile index 179136fe4dc3..a8ebc2360204 100644 --- a/emulators/wine-devel/Makefile +++ b/emulators/wine-devel/Makefile @@ -1,184 +1,190 @@ # Created by: Gerald Pfeifer # $FreeBSD$ PORTNAME= wine DISTVERSION= 5.3 PORTEPOCH= 1 CATEGORIES= emulators MASTER_SITES= SF/${PORTNAME}/Source \ http://mirrors.ibiblio.org/wine/source/5.x/ PKGNAMESUFFIX?= -devel DISTFILES= ${DISTNAME}${EXTRACT_SUFX} 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 \ prelink:sysutils/prelink LIB_DEPENDS= libFAudio.so:audio/faudio \ libxml2.so:textproc/libxml2 USES= bison desktop-file-utils gmake localbase shebangfix tar:xz CONFLICTS_INSTALL= wine-[0-9]* i386-wine-[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-krb5 \ --without-opencl \ --without-osmesa \ --with-oss \ --without-pulse \ --without-sane \ --without-sdl \ --without-tiff \ --without-udev 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= wine.inf OPTIONS_DEFINE= CUPS DOCS DOSBOX GCC GNUTLS HAL LDAP LIBXSLT MPG123 OPENAL STAGING 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) STAGING_DESC= Include the Wine Staging patchset 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 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-devel 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-devel MPG123_CONFIGURE_WITH= mpg123 MPG123_LIB_DEPENDS= libmpg123.so:audio/mpg123 OPENAL_CONFIGURE_WITH= openal OPENAL_USES= openal STAGING_MASTER_SITES= https://github.com/wine-staging/wine-staging/archive/:staging COMP_DIST= v${DISTVERSION}.tar.gz STAGING_DISTFILES= ${COMP_DIST}:staging STAGING_EXTRACT_DEPENDS= bash:shells/bash \ git:devel/git \ autoconf>0:devel/autoconf STAGING_LIB_DEPENDS= libtxc_dxtn.so:graphics/s2tc 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_USES= pkgconfig 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-devel slave port. +.ifndef PKGNAMEPREFIX .include +.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, however WoW64 is not yet # available on FreeBSD. Also fix the desktop file. post-patch: ${REINPLACE_CMD} 's|/wine|/wine64|g' ${WRKSRC}/tools/wineapploader.in ${REINPLACE_CMD} '/Exec/s|wine|wine64|g' ${WRKSRC}/loader/wine.desktop .else PLIST_SUB+= WINE32="" WINE64="@comment " .endif post-extract-STAGING-on: fix-shebang cd ${WRKSRC} && ${TAR} xf ${DISTDIR}/${COMP_DIST} --strip-components 1 cd ${WRKSRC} && bash ./patches/patchinstall.sh --backend=patch DESTDIR=${WRKSRC} --all 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 check-wine-devel-vs-staging: @${GREP} %%STAGING%% pkg-plist | while read f; do \ f=`echo $$f | ${SED} -e 's:%%STAGING%%::' -e "s:%%DATADIR%%:${DATADIR}:"`; \ if [ -f "$$STAGEDIR/$$PREFIX/$$f" ] || [ -f "$$STAGEDIR/$$f" ]; then \ ${PRINTF} "%s no longer contingent on %%STAGING%%?\n" "$$f"; \ fi \ done +.ifndef PKGNAMEPREFIX .include +.endif