aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordbn <dbn@FreeBSD.org>2014-02-22 18:05:33 +0800
committerdbn <dbn@FreeBSD.org>2014-02-22 18:05:33 +0800
commitbd06aa9604d42a2fcc6e511c82035dbe3a788d69 (patch)
treec0e8563c5b1ec313838f4ce17ddebb5e34cfd16c
parent6738417ca616427eb046b25b80adc9024ed38943 (diff)
downloadfreebsd-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.inc26
-rw-r--r--emulators/i386-wine/distinfo4
-rw-r--r--emulators/i386-wine/files/mergeplist.py103
-rw-r--r--emulators/i386-wine/pkg-plist60
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