From owner-svn-ports-head@FreeBSD.ORG Wed Feb 19 20:32:18 2014 Return-Path: Delivered-To: svn-ports-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C2C0B57B; Wed, 19 Feb 2014 20:32:18 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id A19B3117D; Wed, 19 Feb 2014 20:32:18 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1JKWIFW053221; Wed, 19 Feb 2014 20:32:18 GMT (envelope-from dbn@svn.freebsd.org) Received: (from dbn@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1JKWH0g053216; Wed, 19 Feb 2014 20:32:17 GMT (envelope-from dbn@svn.freebsd.org) Message-Id: <201402192032.s1JKWH0g053216@svn.freebsd.org> From: David Naylor Date: Wed, 19 Feb 2014 20:32:17 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r345144 - in head/emulators/i386-wine-devel: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Feb 2014 20:32:18 -0000 Author: dbn Date: Wed Feb 19 20:32:17 2014 New Revision: 345144 URL: http://svnweb.freebsd.org/changeset/ports/345144 QAT: https://qat.redports.org/buildarchive/r345144/ Log: Update emulators/i386-wine-devel for FreeBSD 10.0 and 11 packages. Added: head/emulators/i386-wine-devel/files/mergeplist.py (contents, props changed) Modified: head/emulators/i386-wine-devel/Makefile.inc head/emulators/i386-wine-devel/distinfo head/emulators/i386-wine-devel/pkg-plist Modified: head/emulators/i386-wine-devel/Makefile.inc ============================================================================== --- head/emulators/i386-wine-devel/Makefile.inc Wed Feb 19 20:21:58 2014 (r345143) +++ head/emulators/i386-wine-devel/Makefile.inc Wed Feb 19 20:32:17 2014 (r345144) @@ -45,8 +45,16 @@ MONO_RUN_DEPENDS= ${DATADIR}/mono/wine-m # Included for OPSYS and OSVERSION .include -.if ${OPSYS} != FreeBSD || (!(${OSVERSION} >= 803000 && ${OSVERSION} < 900000) && !(${OSVERSION} >= 901000 && ${OSVERSION} < 1000000)) -IGNORE= binaries compiled for FreeBSD 8.3+ and 9.1+ only +.for osrel in 8 9 10 11 +.if ${OSREL:C/\..*//} == ${osrel} +PLIST_SUB+= OSREL${osrel}="" +.else +PLIST_SUB+= OSREL${osrel}="@comment " +.endif +.endfor + +.if ${OPSYS} != FreeBSD || (!(${OSVERSION} >= 803000 && ${OSVERSION} < 900000) && !(${OSVERSION} >= 901000 && ${OSVERSION} < 1000000) && !(${OSVERSION} >= 1000510 && ${OSVERSION} < 1100000) && !(${OSVERSION} >= 1100007 && ${OSVERSION} < 1200000)) +IGNORE= binaries compiled for FreeBSD 8.3+, 9.1+, 10.0+ and -current only DISTFILES= .endif @@ -58,20 +66,21 @@ do-extract: do-install: ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/${EXTRACT_ONLY} ${EXTRACT_AFTER_ARGS} -pkg-plist: extract - ${TAR} -tf ${_DISTDIR}/${EXTRACT_ONLY} ${EXTRACT_AFTER_ARGS} | ${GREP} -v '/$$' | ${SED} 's|/usr/local/||g' | sort > ${WRKDIR}/pkg-plist - ${TAR} -tf ${_DISTDIR}/${EXTRACT_ONLY} ${EXTRACT_AFTER_ARGS} | ${GREP} '/$$' | ${SED} -e 's|/usr/local/\(.*\)/$$|@dirrm \1|g' -e 's|/$$||g' -e 's|@dirrm man|@dirrmtry man|g' | sort -r >> ${WRKDIR}/pkg-plist - ${MV} ${WRKDIR}/pkg-plist ${PLIST} +${PLIST}: extract + ${TAR} -tf ${_DISTDIR}/${EXTRACT_ONLY} ${EXTRACT_AFTER_ARGS} | ${GREP} -v '/$$' | ${SED} 's|/usr/local/||g' | sort > ${PLIST} + ${TAR} -tf ${_DISTDIR}/${EXTRACT_ONLY} ${EXTRACT_AFTER_ARGS} | ${GREP} '/$$' | ${SED} -e 's|/usr/local/\(.*\)/$$|@dirrm \1|g' -e 's|/$$||g' -e 's|@dirrm man|@dirrmtry man|g' | sort -r >> ${PLIST} port-update: - ${RM} -f ${.CURDIR}/distinfo ${.CURDIR}/distinfo~ -.for osrel in 8 9 + ${RM} -f ${.CURDIR}/distinfo ${.CURDIR}/distinfo~ ${.CURDIR}/pkg-plist.* +.for osrel in 8 9 10 11 ${MAKE} fetch OSREL=${osrel} ${MAKE} makesum OSREL=${osrel} ${CAT} ${.CURDIR}/distinfo >> ${.CURDIR}/distinfo~ ${RM} ${.CURDIR}/distinfo + ${MAKE} pkg-plist.${osrel} PLIST=pkg-plist.${osrel} OSREL=${osrel} .endfor ${MV} ${.CURDIR}/distinfo~ ${.CURDIR}/distinfo - ${MAKE} pkg-plist + python ${FILESDIR}/mergeplist.py ${.CURDIR}/pkg-plist.* > ${PLIST} + ${RM} ${.CURDIR}/pkg-plist.* .include Modified: head/emulators/i386-wine-devel/distinfo ============================================================================== --- head/emulators/i386-wine-devel/distinfo Wed Feb 19 20:21:58 2014 (r345143) +++ head/emulators/i386-wine-devel/distinfo Wed Feb 19 20:32:17 2014 (r345144) @@ -2,3 +2,7 @@ SHA256 (freebsd:8:x86:64/i386-wine-devel SIZE (freebsd:8:x86:64/i386-wine-devel-1.7.12,1.txz) = 25773312 SHA256 (freebsd:9:x86:64/i386-wine-devel-1.7.12,1.txz) = 2adf977878c56180cfb41e6945955cebcafc8799afdb50a7d78d9143014d23db SIZE (freebsd:9:x86:64/i386-wine-devel-1.7.12,1.txz) = 25754864 +SHA256 (freebsd:10:x86:64/i386-wine-devel-1.7.12,1.txz) = 6d01dc8f6e9ea4d0cc802c52d5ca642289245a2a60cac9fe2b78b05bf135cccb +SIZE (freebsd:10:x86:64/i386-wine-devel-1.7.12,1.txz) = 25739496 +SHA256 (freebsd:11:x86:64/i386-wine-devel-1.7.12,1.txz) = 4d161b4c8c6195c1839e0f773619c71f813e7328a9913598ffcc6d47fcb1a80c +SIZE (freebsd:11:x86:64/i386-wine-devel-1.7.12,1.txz) = 23178500 Added: head/emulators/i386-wine-devel/files/mergeplist.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/emulators/i386-wine-devel/files/mergeplist.py Wed Feb 19 20:32:17 2014 (r345144) @@ -0,0 +1,103 @@ +#!/usr/bin/env python2 + +import sys + +# +# added peek() method +import collections + +class OrderedSet(collections.MutableSet): + + def __init__(self, iterable=None): + self.end = end = [] + end += [None, end, end] # sentinel node for doubly linked list + self.map = {} # key --> [key, prev, next] + if iterable is not None: + self |= iterable + + def __len__(self): + return len(self.map) + + def __contains__(self, key): + return key in self.map + + def add(self, key): + if key not in self.map: + end = self.end + curr = end[1] + curr[2] = end[1] = self.map[key] = [key, curr, end] + + def discard(self, key): + if key in self.map: + key, prev, next = self.map.pop(key) + prev[2] = next + next[1] = prev + + def peek(self, last=False): + end = self.end + curr = end[1] if last else end[2] + if curr is not end: + return curr[0] + raise IndexError("OrderedSet is empty, cannot peek item") + + def __iter__(self): + end = self.end + curr = end[2] + while curr is not end: + yield curr[0] + curr = curr[2] + + def __reversed__(self): + end = self.end + curr = end[1] + while curr is not end: + yield curr[0] + curr = curr[1] + + def pop(self, last=False): + if not self: + raise KeyError('set is empty') + key = self.end[1][0] if last else self.end[2][0] + self.discard(key) + return key + + def __repr__(self): + if not self: + return '%s()' % (self.__class__.__name__,) + return '%s(%r)' % (self.__class__.__name__, list(self)) + + def __eq__(self, other): + if isinstance(other, OrderedSet): + return len(self) == len(other) and list(self) == list(other) + return set(self) == set(other) +# + +def main(plists): + plists_len = len(plists) + plists.sort(key=lambda x: int(x.rsplit('.', 2)[-1])) + names = ["OSREL" + i.rsplit('.', 2)[-1] for i in plists] + for i in range(plists_len): + with open(plists[i], 'r') as file: + plists[i] = OrderedSet(i.strip() for i in file.readlines()) + empty = sum(len(i) == 0 for i in plists) + while empty < plists_len: + if not empty and all(plists[1].peek() == i.peek() for i in plists[1:]): + # Test if the top of the queues are all common + print(plists[1].peek()) + for i in plists: + i.pop() + else: + # Find which of the queues have non-common lines + lines = {} + for i in range(plists_len): + while len(plists[i]) and not all(plists[i].peek() in j for j in plists): + lines.setdefault(plists[i].pop(), []).append(i) + keys = list(lines.keys()) + keys.sort() + for k in keys: + for i in lines[k]: + print("%%" + names[i] + "%%" + k) + empty = sum(len(i) == 0 for i in plists) + +if __name__ == '__main__': + main(sys.argv[1:]) Modified: head/emulators/i386-wine-devel/pkg-plist ============================================================================== --- head/emulators/i386-wine-devel/pkg-plist Wed Feb 19 20:21:58 2014 (r345143) +++ head/emulators/i386-wine-devel/pkg-plist Wed Feb 19 20:32:17 2014 (r345144) @@ -792,21 +792,41 @@ include/wine/windows/xmldsodid.h include/wine/windows/xmllite.h include/wine/windows/xmllite.idl include/wine/windows/zmouse.h -lib32/.libGL/dri/i810_dri.so +%%OSREL8%%lib32/.libGL/dri/i810_dri.so +%%OSREL9%%lib32/.libGL/dri/i810_dri.so +%%OSREL10%%lib32/.libGL/dri/i810_dri.so lib32/.libGL/dri/i915_dri.so lib32/.libGL/dri/i965_dri.so -lib32/.libGL/dri/mach64_dri.so -lib32/.libGL/dri/mga_dri.so -lib32/.libGL/dri/r128_dri.so +%%OSREL8%%lib32/.libGL/dri/mach64_dri.so +%%OSREL9%%lib32/.libGL/dri/mach64_dri.so +%%OSREL10%%lib32/.libGL/dri/mach64_dri.so +%%OSREL8%%lib32/.libGL/dri/mga_dri.so +%%OSREL9%%lib32/.libGL/dri/mga_dri.so +%%OSREL10%%lib32/.libGL/dri/mga_dri.so +%%OSREL8%%lib32/.libGL/dri/r128_dri.so +%%OSREL9%%lib32/.libGL/dri/r128_dri.so +%%OSREL10%%lib32/.libGL/dri/r128_dri.so lib32/.libGL/dri/r200_dri.so -lib32/.libGL/dri/r300_dri.so -lib32/.libGL/dri/r600_dri.so +%%OSREL8%%lib32/.libGL/dri/r300_dri.so +%%OSREL9%%lib32/.libGL/dri/r300_dri.so +%%OSREL10%%lib32/.libGL/dri/r300_dri.so +%%OSREL8%%lib32/.libGL/dri/r600_dri.so +%%OSREL9%%lib32/.libGL/dri/r600_dri.so +%%OSREL10%%lib32/.libGL/dri/r600_dri.so lib32/.libGL/dri/radeon_dri.so -lib32/.libGL/dri/savage_dri.so -lib32/.libGL/dri/sis_dri.so +%%OSREL8%%lib32/.libGL/dri/savage_dri.so +%%OSREL9%%lib32/.libGL/dri/savage_dri.so +%%OSREL10%%lib32/.libGL/dri/savage_dri.so +%%OSREL8%%lib32/.libGL/dri/sis_dri.so +%%OSREL9%%lib32/.libGL/dri/sis_dri.so +%%OSREL10%%lib32/.libGL/dri/sis_dri.so lib32/.libGL/dri/swrast_dri.so -lib32/.libGL/dri/tdfx_dri.so -lib32/.libGL/dri/unichrome_dri.so +%%OSREL8%%lib32/.libGL/dri/tdfx_dri.so +%%OSREL9%%lib32/.libGL/dri/tdfx_dri.so +%%OSREL10%%lib32/.libGL/dri/tdfx_dri.so +%%OSREL8%%lib32/.libGL/dri/unichrome_dri.so +%%OSREL9%%lib32/.libGL/dri/unichrome_dri.so +%%OSREL10%%lib32/.libGL/dri/unichrome_dri.so lib32/.libGL/libGL.so.1 lib32/libGLU.so.1 lib32/libX11-xcb.so.1 @@ -822,22 +842,27 @@ lib32/libXrandr.so.2 lib32/libXrender.so.1 lib32/libXxf86vm.so.1 lib32/libcups.so.2 +%%OSREL11%%lib32/libdricore9.1.7.so.1 lib32/libdrm.so.2 lib32/libdrm_intel.so.1 +%%OSREL11%%lib32/libdrm_radeon.so.1 lib32/libexpat.so.6 lib32/libfontconfig.so.1 lib32/libfreetype.so.9 lib32/libgettextpo.so.5 lib32/libgnutls.so.26 -lib32/libiconv.so.3 +%%OSREL8%%lib32/libiconv.so.3 +%%OSREL9%%lib32/libiconv.so.3 lib32/libintl.so.9 lib32/libjpeg.so.11 lib32/liblcms2.so.2 lib32/libopenal.so.1 +%%OSREL11%%lib32/libpciaccess.so.0 lib32/libpng15.so.15 lib32/libpthread-stubs.so.0 lib32/libwine.so lib32/libwine.so.1 +%%OSREL11%%lib32/libxcb-dri2.so.0 lib32/libxcb-glx.so.0 lib32/libxcb.so.2 lib32/libxml2.so.5