Hi! After update to 1.8.0, meld does not work, because our python does not support multiprocessing.Pool:
>>> import multiprocessing >>> multiprocessing.Pool() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.7/multiprocessing/__init__.py", line 232, in Pool return Pool(processes, initializer, initargs, maxtasksperchild) File "/usr/local/lib/python2.7/multiprocessing/pool.py", line 138, in __init__ self._setup_queues() File "/usr/local/lib/python2.7/multiprocessing/pool.py", line 232, in _setup_queues from .queues import SimpleQueue File "/usr/local/lib/python2.7/multiprocessing/queues.py", line 48, in <module> from multiprocessing.synchronize import Lock, BoundedSemaphore, Semaphore, Condition File "/usr/local/lib/python2.7/multiprocessing/synchronize.py", line 59, in <module> " function, see issue 3770.") ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770. This patch switch meld on ThreadPool. This fixes the problem. I do not know how much it is right, but it works :-) Comments ? OK ? -- Alexandr Shadchin Index: Makefile =================================================================== RCS file: /cvs/ports/textproc/meld/Makefile,v retrieving revision 1.28 diff -u -p -r1.28 Makefile --- Makefile 22 Sep 2013 19:55:11 -0000 1.28 +++ Makefile 7 Oct 2013 15:42:42 -0000 @@ -4,6 +4,7 @@ COMMENT= graphical diff and merge tool GNOME_VERSION= 1.8.1 GNOME_PROJECT= meld +REVISION= 0 CATEGORIES= textproc x11 Index: patches/patch-meld_filediff_py =================================================================== RCS file: patches/patch-meld_filediff_py diff -N patches/patch-meld_filediff_py --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-meld_filediff_py 7 Oct 2013 15:42:42 -0000 @@ -0,0 +1,20 @@ +$OpenBSD$ +--- meld/filediff.py.orig Mon Oct 7 21:26:49 2013 ++++ meld/filediff.py Mon Oct 7 21:27:32 2013 +@@ -22,6 +22,7 @@ import io + import os + from gettext import gettext as _ + import time ++import platform + + from multiprocessing import Pool + from multiprocessing.pool import ThreadPool +@@ -63,7 +64,7 @@ class CachedSequenceMatcher(object): + + def __init__(self): + if self.process_pool is None: +- if os.name == "nt": ++ if os.name == "nt" or platform.system() == "OpenBSD": + CachedSequenceMatcher.process_pool = ThreadPool(None) + else: + # maxtasksperchild is new in Python 2.7; this is for 2.6 compat