svn commit: r345579 - in head/emulators/i386-wine: . files

David Naylor dbn at FreeBSD.org
Sat Feb 22 10:05:34 UTC 2014


Author: dbn
Date: Sat Feb 22 10:05:33 2014
New Revision: 345579
URL: http://svnweb.freebsd.org/changeset/ports/345579
QAT: https://qat.redports.org/buildarchive/r345579/

Log:
  Update emulators/i386-wine for FreeBSD 10.0 and 11 packages.

Added:
  head/emulators/i386-wine/files/mergeplist.py   (contents, props changed)
Modified:
  head/emulators/i386-wine/Makefile.inc
  head/emulators/i386-wine/distinfo
  head/emulators/i386-wine/pkg-plist

Modified: head/emulators/i386-wine/Makefile.inc
==============================================================================
--- head/emulators/i386-wine/Makefile.inc	Sat Feb 22 10:00:42 2014	(r345578)
+++ head/emulators/i386-wine/Makefile.inc	Sat Feb 22 10:05:33 2014	(r345579)
@@ -42,8 +42,16 @@ PORTSCOUT=	limitw:1,even
 
 .include <bsd.port.pre.mk>
 
-.if !(${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
 
@@ -63,20 +71,22 @@ 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} 's|/usr/local/\(.*\)/$$|@dirrm \1|g' | sort -r >> ${WRKDIR}/pkg-plist
-	${MV} ${WRKDIR}/pkg-plist ${PLIST}
+${PLIST}: fetch
+	${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 <bsd.port.post.mk>

Modified: head/emulators/i386-wine/distinfo
==============================================================================
--- head/emulators/i386-wine/distinfo	Sat Feb 22 10:00:42 2014	(r345578)
+++ head/emulators/i386-wine/distinfo	Sat Feb 22 10:05:33 2014	(r345579)
@@ -2,3 +2,7 @@ SHA256 (freebsd:8:x86:64/i386-wine-1.6.2
 SIZE (freebsd:8:x86:64/i386-wine-1.6.2,1.txz) = 22846200
 SHA256 (freebsd:9:x86:64/i386-wine-1.6.2,1.txz) = b641d634c4fbec71950f08c13974c3eaf50a07ef1d560e8d00d94dea1341f3c1
 SIZE (freebsd:9:x86:64/i386-wine-1.6.2,1.txz) = 22996328
+SHA256 (freebsd:10:x86:64/i386-wine-1.6.2,1.txz) = 911b0aec1977edd30d9d04dc24d00b66227bcbd9b4176dd540622b9eda2afcdf
+SIZE (freebsd:10:x86:64/i386-wine-1.6.2,1.txz) = 23027432
+SHA256 (freebsd:11:x86:64/i386-wine-1.6.2,1.txz) = 94513a552ef635cac347582c7a61551a7f9fbde0443d87aea3d35e01d1d1713b
+SIZE (freebsd:11:x86:64/i386-wine-1.6.2,1.txz) = 20583776

Added: head/emulators/i386-wine/files/mergeplist.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/i386-wine/files/mergeplist.py	Sat Feb 22 10:05:33 2014	(r345579)
@@ -0,0 +1,103 @@
+#!/usr/bin/env python2
+
+import sys
+
+# <recipe url="http://code.activestate.com/recipes/576694/" license="MIT">
+# 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)
+#</recipe>
+
+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/pkg-plist
==============================================================================
--- head/emulators/i386-wine/pkg-plist	Sat Feb 22 10:00:42 2014	(r345578)
+++ head/emulators/i386-wine/pkg-plist	Sat Feb 22 10:05:33 2014	(r345579)
@@ -763,21 +763,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
@@ -793,22 +813,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
@@ -2126,16 +2151,15 @@ share/wine/generic.ppd
 share/wine/l_intl.nls
 share/wine/patch-nvidia.sh
 share/wine/wine.inf
- at dirrm share/wine/fonts/
+ at dirrmtry man/pl.UTF-8/man1
+ at dirrmtry man/pl.UTF-8
+ at dirrmtry man/fr.UTF-8/man1
+ at dirrmtry man/fr.UTF-8
+ at dirrmtry man/de.UTF-8/man1
+ at dirrmtry man/de.UTF-8
 @dirrm share/wine/fonts
 @dirrm share/wine
 @dirrm share/doc/wine
- at dirrm man/pl.UTF-8/man1
- at dirrm man/pl.UTF-8
- at dirrm man/fr.UTF-8/man1
- at dirrm man/fr.UTF-8
- at dirrm man/de.UTF-8/man1
- at dirrm man/de.UTF-8
 @dirrm lib32/wine/fakedlls
 @dirrm lib32/wine
 @dirrm lib32/.libGL/dri


More information about the svn-ports-all mailing list