diff options
author | dbn <dbn@FreeBSD.org> | 2014-02-22 18:05:33 +0800 |
---|---|---|
committer | dbn <dbn@FreeBSD.org> | 2014-02-22 18:05:33 +0800 |
commit | bd06aa9604d42a2fcc6e511c82035dbe3a788d69 (patch) | |
tree | c0e8563c5b1ec313838f4ce17ddebb5e34cfd16c | |
parent | 6738417ca616427eb046b25b80adc9024ed38943 (diff) | |
download | freebsd-ports-gnome-bd06aa9604d42a2fcc6e511c82035dbe3a788d69.tar.gz freebsd-ports-gnome-bd06aa9604d42a2fcc6e511c82035dbe3a788d69.tar.zst freebsd-ports-gnome-bd06aa9604d42a2fcc6e511c82035dbe3a788d69.zip |
Update emulators/i386-wine for FreeBSD 10.0 and 11 packages.
-rw-r--r-- | emulators/i386-wine/Makefile.inc | 26 | ||||
-rw-r--r-- | emulators/i386-wine/distinfo | 4 | ||||
-rw-r--r-- | emulators/i386-wine/files/mergeplist.py | 103 | ||||
-rw-r--r-- | emulators/i386-wine/pkg-plist | 60 |
4 files changed, 167 insertions, 26 deletions
diff --git a/emulators/i386-wine/Makefile.inc b/emulators/i386-wine/Makefile.inc index 8bc72e4d54ab..1588a3ffce68 100644 --- a/emulators/i386-wine/Makefile.inc +++ b/emulators/i386-wine/Makefile.inc @@ -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> diff --git a/emulators/i386-wine/distinfo b/emulators/i386-wine/distinfo index 32db945e4b96..4785b3af2fd9 100644 --- a/emulators/i386-wine/distinfo +++ b/emulators/i386-wine/distinfo @@ -2,3 +2,7 @@ SHA256 (freebsd:8:x86:64/i386-wine-1.6.2,1.txz) = 6a9c661366c313cdf80db10ef23716 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 diff --git a/emulators/i386-wine/files/mergeplist.py b/emulators/i386-wine/files/mergeplist.py new file mode 100644 index 000000000000..4ea517747b0f --- /dev/null +++ b/emulators/i386-wine/files/mergeplist.py @@ -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:]) diff --git a/emulators/i386-wine/pkg-plist b/emulators/i386-wine/pkg-plist index 0bac4b09be3c..ca6c912cf05b 100644 --- a/emulators/i386-wine/pkg-plist +++ b/emulators/i386-wine/pkg-plist @@ -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 -@dirrm share/wine/fonts/ +@dirrmtry man/pl.UTF-8/man1 +@dirrmtry man/pl.UTF-8 +@dirrmtry man/fr.UTF-8/man1 +@dirrmtry man/fr.UTF-8 +@dirrmtry man/de.UTF-8/man1 +@dirrmtry man/de.UTF-8 @dirrm share/wine/fonts @dirrm share/wine @dirrm share/doc/wine -@dirrm man/pl.UTF-8/man1 -@dirrm man/pl.UTF-8 -@dirrm man/fr.UTF-8/man1 -@dirrm man/fr.UTF-8 -@dirrm man/de.UTF-8/man1 -@dirrm man/de.UTF-8 @dirrm lib32/wine/fakedlls @dirrm lib32/wine @dirrm lib32/.libGL/dri |