0263b9d868
both current (fc4) and future linux (f8) distributions at one ports tree. The patch contains full changes to ports/Mk files and all ports involved. But only infrastructure is changed. The resulting packages are the same as before. Hence no need to bump PORTREVISIONs. The idea was taken from bsd.gnome.mk and others. More than 130 ports are switched to follow a new linux infrastructure introduced by changes to bsd.port.mk, bsd.linux-rpm.mk and a new bsd.linux-apps.mk. Thanks for all who was involved and helped me with this work. And help from Alexander Leidinger was incredible. Other changes are coming. Stay tuned! PR: ports/132510 Submitted by: bsam (me) Exp-run by: portmgr (pav)
197 lines
6.3 KiB
Makefile
197 lines
6.3 KiB
Makefile
# ports collection makefile for: VMware 3.2 for Linux
|
|
# Date created: Fri 13 Apr 04:59:47 CET 2003
|
|
# Whom: mbr@freebsd.org
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
PORTNAME= vmware3
|
|
PORTVERSION= 3.2.1.2242
|
|
PORTREVISION= 13
|
|
PORTEPOCH= 1
|
|
CATEGORIES= emulators linux
|
|
MASTER_SITES= http://download3.vmware.com/software/wkst/:vmware \
|
|
${FREEBSD_MODULE_SITES} \
|
|
${VMWARE_MIRROR_SITES}
|
|
DISTFILES= VMware-workstation-${PORTVERSION:R}-${PORTVERSION:E}${EXTRACT_SUFX}:vmware \
|
|
vmmon-only-${PORTVERSION:R}-20040727${EXTRACT_SUFX}:patch \
|
|
vmnet-only-${PORTVERSION:R}-20040705${EXTRACT_SUFX}:patch
|
|
|
|
MAINTAINER= freebsd-emulation@FreeBSD.org
|
|
COMMENT= A virtual machine emulator - a full PC in a window
|
|
|
|
RUN_DEPENDS= /dev/rtc:${PORTSDIR}/emulators/rtc
|
|
|
|
RESTRICTED= Not sure if we can redistribute it
|
|
|
|
VMWARE_MIRROR_SITES= \
|
|
http://vmware-svca.www.conxion.com/software/:vmware \
|
|
http://vmware-chil.www.conxion.com/software/:vmware \
|
|
http://vmware-heva.www.conxion.com/software/:vmware
|
|
FREEBSD_MODULE_SITES= \
|
|
http://www.break.net/orlando/vmware3/:patch \
|
|
|
|
USE_SUBMAKE= yes
|
|
VMDIR= ${PREFIX}/lib/vmware
|
|
SRC_BASE?= /usr/src
|
|
|
|
SUB_FILES= vmware vmware-wizard pkg-message config 001.vmware.sh
|
|
SUB_LIST= BRIDGED="${VMNET_BRIDGED}" \
|
|
BRIDGE_INTF="${VMNET_BRIDGED_INTERFACE}" \
|
|
HOST_IP="${VMNET_HOST_IP}" \
|
|
NETMASK="${VMNET_NETMASK}" \
|
|
LINUXBASE="${LINUXBASE}" \
|
|
NETWORKING="${VMNET_NETWORKING}" \
|
|
VMNET1_MINOR="${VMNET1_MINOR}"
|
|
ONLY_FOR_ARCHS= i386
|
|
USE_LINUX= yes
|
|
USE_LINUX_APPS= xorglibs
|
|
WRKSRC= ${WRKDIR}/vmware-distrib
|
|
GZCAT= ${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/extract
|
|
MAN1= vmware.1
|
|
|
|
MODULES= vmmon vmnet
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
.if !defined(HAVE_LINPROCFS) && !exists(/modules/linprocfs.ko) && !exists(/boot/kernel/linprocfs.ko) && !exists(${PREFIX}/modules/linprocfs.ko) && !exists(/compat/linux/proc/version)
|
|
IGNORE= linprocfs is required, please build the module and/or add it to your kernel
|
|
.endif
|
|
|
|
.if !exists(${SRC_BASE}/sys/Makefile)
|
|
IGNORE= kernel source files required
|
|
.endif
|
|
|
|
VMNET1_MINOR= 0x00800001
|
|
|
|
SCRIPTS_ENV+= LINUXBASE="${LINUXBASE}" \
|
|
VMNET_HOST_IP="${VMNET_HOST_IP}" \
|
|
VMNET_NETMASK="${VMNET_NETMASK}" \
|
|
VMNET1_MINOR="${VMNET1_MINOR}"
|
|
MAKE_ARGS= KMODDIR="${VMDIR}/modules"
|
|
PLIST_SUB= LINUXBASE="${LINUXBASE}" VMNET1_MINOR="${VMNET1_MINOR}"
|
|
|
|
post-extract:
|
|
.for m in ${MODULES}
|
|
${TAR} -xf ${WRKSRC}/lib/modules/source/${m}.tar -C ${WRKSRC}
|
|
.endfor
|
|
${GUNZIP_CMD} ${WRKSRC}/man/man1/vmware.1.gz
|
|
|
|
pre-patch:
|
|
@${MKDIR} ${WRKSRC}/vmnet-only/freebsd
|
|
@${MKDIR} ${WRKSRC}/vmnet-only/netbsd
|
|
@${MKDIR} ${WRKSRC}/vmmon-only/freebsd
|
|
@${MKDIR} ${WRKSRC}/vmmon-only/netbsd
|
|
@cd ${WRKSRC}/vmmon-only && ${PATCH} -p1 < ${WRKDIR}/vmmon-only.diff
|
|
@cd ${WRKSRC}/vmnet-only && ${PATCH} -p1 < ${WRKDIR}/vmnet-only.diff
|
|
|
|
.if exists(/sys/compat/linux/linux_ioctl.h)
|
|
${REINPLACE_CMD} -i "" -e 's,i386(/linux/linux_ioctl\.h),compat$$1,' \
|
|
${WRKSRC}/vmnet-only/freebsd/vmnet_linux.c
|
|
.endif
|
|
.if exists(/usr/include/sys/selinfo.h)
|
|
${REINPLACE_CMD} -i "" -e 's,<sys/select\.h>,<sys/selinfo.h>,' \
|
|
${WRKSRC}/vmmon-only/freebsd/*.c
|
|
.endif
|
|
cd ${WRKSRC}/vmmon-only/freebsd && ${TOUCH} bus_if.h device_if.h
|
|
${REINPLACE_CMD} -i "" -e 's,<machine/ioctl_fd\.h>,<sys/fdcio.h>,' \
|
|
${WRKSRC}/vmmon-only/freebsd/*.c
|
|
|
|
post-patch:
|
|
${CP} ${FILESDIR}/Makefile ${WRKSRC}
|
|
${CP} ${FILESDIR}/Makefile.vmmon ${WRKSRC}/vmmon-only/Makefile
|
|
${CP} ${FILESDIR}/Makefile.vmnet ${WRKSRC}/vmnet-only/Makefile
|
|
cd ${WRKSRC} && ${PATCH} < ${FILESDIR}/fbsd6-1.patch
|
|
cd ${WRKSRC} && ${PATCH} < ${FILESDIR}/fbsd6-2.patch
|
|
.if ${OSVERSION} > 700000
|
|
cd ${WRKSRC} && ${PATCH} < ${FILESDIR}/fbsd7-1.patch
|
|
cd ${WRKSRC} && ${PATCH} < ${FILESDIR}/fbsd7-2.patch
|
|
.endif
|
|
|
|
pre-install:
|
|
${INSTALL_MAN} ${WRKSRC}/man/man1/vmware.1 ${MANPREFIX}/man/man1
|
|
${MKDIR} ${VMDIR}/modules
|
|
|
|
${MKDIR} ${PREFIX}/etc/vmware
|
|
.if exists(${PREFIX}/etc/vmware/config)
|
|
@echo "====> Preserving your previous configuration."
|
|
.else
|
|
${INSTALL_DATA} ${WRKDIR}/config ${PREFIX}/etc/vmware
|
|
.endif
|
|
|
|
${INSTALL_SCRIPT} ${WRKDIR}/001.vmware.sh ${PREFIX}/etc/rc.d
|
|
|
|
${MKDIR} ${VMDIR}/bin
|
|
${INSTALL_SCRIPT} ${FILESDIR}/df ${VMDIR}/bin
|
|
[ -f ${LINUXBASE}/bin/df ] || ${LN} -s ${VMDIR}/bin/df ${LINUXBASE}/bin/
|
|
${INSTALL_SCRIPT} ${WRKSRC}/bin/*.pl ${VMDIR}/bin
|
|
|
|
for i in \
|
|
vmnet-bridge vmnet-dhcpd vmnet-natd vmnet-netifup \
|
|
vmnet-sniffer vmware-nmbd vmware-smbd vmware-smbpasswd \
|
|
vmware-smbpasswd.bin vmware-ping vmware-wizard \
|
|
; do \
|
|
${INSTALL_SCRIPT} ${WRKSRC}/bin/$${i} ${VMDIR}/bin; \
|
|
done
|
|
for f in ${WRKSRC}/lib/bin/*; do \
|
|
${INSTALL_SCRIPT} $${f} ${VMDIR}/bin; \
|
|
done
|
|
|
|
${MKDIR} ${VMDIR}/configurator
|
|
for f in ${WRKSRC}/lib/configurator/* ; do \
|
|
${INSTALL_DATA} $${f} ${VMDIR}/configurator; \
|
|
done
|
|
|
|
${MKDIR} ${VMDIR}/isoimages
|
|
for f in ${WRKSRC}/lib/isoimages/* ; do \
|
|
${INSTALL_DATA} $${f} ${VMDIR}/isoimages; \
|
|
done
|
|
|
|
${MKDIR} ${VMDIR}/licenses/site
|
|
${MKDIR} ${VMDIR}/licenses/user
|
|
${INSTALL_DATA} -m 644 ${WRKSRC}/lib/licenses/user/license.ws.3.0 \
|
|
${VMDIR}/licenses/user
|
|
${INSTALL_SCRIPT} -m 4555 ${WRKSRC}/bin/vmware ${VMDIR}/bin
|
|
${INSTALL_SCRIPT} ${WRKDIR}/vmware ${PREFIX}/bin
|
|
${INSTALL_SCRIPT} ${WRKDIR}/vmware-wizard ${PREFIX}/bin
|
|
${INSTALL_DATA} ${WRKSRC}/lib/config ${VMDIR}
|
|
${MKDIR} ${VMDIR}/help
|
|
${INSTALL_DATA} ${WRKSRC}/lib/help/* ${VMDIR}/help
|
|
|
|
${MKDIR} ${VMDIR}/xkeymap
|
|
${INSTALL_DATA} ${WRKSRC}/lib/xkeymap/* ${VMDIR}/xkeymap
|
|
|
|
${MKDIR} ${VMDIR}/smb/codepages
|
|
${INSTALL_DATA} ${WRKSRC}/lib/smb/codepages/* ${VMDIR}/smb/codepages
|
|
|
|
${MKDIR} ${VMDIR}/messages/chef
|
|
${INSTALL_DATA} ${WRKSRC}/lib/messages/chef/* ${VMDIR}/messages/chef
|
|
${MKDIR} ${VMDIR}/messages/ja
|
|
${INSTALL_DATA} ${WRKSRC}/lib/messages/ja/* ${VMDIR}/messages/ja
|
|
${MKDIR} ${VMDIR}/messages/jive
|
|
${INSTALL_DATA} ${WRKSRC}/lib/messages/jive/* ${VMDIR}/messages/jive
|
|
.if !defined(NOPORTDOCS)
|
|
${MKDIR} ${DOCSDIR}
|
|
${INSTALL_DATA} ${WRKSRC}/doc/* ${DOCSDIR}
|
|
.for f in README.FreeBSD Hints.FreeBSD MultipleInstances.FreeBSD ChangeLog.FreeBSD
|
|
${INSTALL_DATA} ${FILESDIR}/${f} ${DOCSDIR}
|
|
.endfor
|
|
.endif
|
|
|
|
post-install:
|
|
${LN} -sf ${PREFIX}/etc/vmware ${LINUXBASE}/etc/
|
|
@if [ ! -e ${LINUXBASE}/usr/lib/vmware/bin/vmware ]; then \
|
|
${LN} -sf ${PREFIX}/lib/vmware ${LINUXBASE}/usr/lib/vmware; \
|
|
fi
|
|
@${CAT} ${PKGMESSAGE}
|
|
|
|
pre-clean:
|
|
.if exists(${WRKSRC})
|
|
@${FIND} ${WRKSRC} | ${GREP} \@ | ${XARGS} ${RM}
|
|
.endif
|
|
|
|
.include <bsd.port.post.mk>
|
|
|
|
.if exists(${WRKDIR}/Makefile.inc.net)
|
|
.include "${WRKDIR}/Makefile.inc.net"
|
|
.endif
|