Looks like hgview is another package with no users :P . It has been broken since August.
Reported by landry@: for l in (self.repo.sjoin('lock'), self.repo.join('wlock')): AttributeError: 'localrepository' object has no attribute 'join' OK? diff -r dba62f3a4c84 Makefile --- Makefile Mon Oct 30 14:14:38 2017 +0000 +++ Makefile Mon Oct 30 18:43:30 2017 +0100 @@ -2,7 +2,7 @@ COMMENT = fast Mercurial log navigator -MODPY_EGG_VERSION = 1.8.2 +MODPY_EGG_VERSION = 1.9.0 DISTNAME = hgview-${MODPY_EGG_VERSION} CATEGORIES = devel diff -r dba62f3a4c84 distinfo --- distinfo Mon Oct 30 14:14:38 2017 +0000 +++ distinfo Mon Oct 30 18:43:30 2017 +0100 @@ -1,2 +1,2 @@ -SHA256 (hgview-1.8.2.tar.gz) = D0wtfkDTxqt6REUCNm7iYv22ysqXwyHnjU5DDnGgRlU= -SIZE (hgview-1.8.2.tar.gz) = 178453 +SHA256 (hgview-1.9.0.tar.gz) = iy5eEFRN6qebqe8/YznhA681ftvrSyWUvgef3fe45u0= +SIZE (hgview-1.9.0.tar.gz) = 181130 diff -r dba62f3a4c84 patches/patch-hgviewlib_qt4_hgrepoviewer_py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ patches/patch-hgviewlib_qt4_hgrepoviewer_py Mon Oct 30 18:43:30 2017 +0100 @@ -0,0 +1,16 @@ +$OpenBSD$ + +repo.join has been deprecated since Mercurial 4.2. + +Index: hgviewlib/qt4/hgrepoviewer.py +--- hgviewlib/qt4/hgrepoviewer.py.orig ++++ hgviewlib/qt4/hgrepoviewer.py +@@ -620,7 +620,7 @@ class HgRepoViewer(ActionsMixin, HgDialogMixin, ui2cls + (self.repo.root, ".hg", "dirstate"), + (self.repo.root, ".hg", "store", "phasesroots"),] + watchedfiles = [os.path.join(*wf) for wf in watchedfiles] +- for l in (self.repo.sjoin('lock'), self.repo.join('wlock')): ++ for l in (self.repo.sjoin('lock'), self.repo.vfs.join('wlock')): + try: + if util.readlock(l): + break diff -r dba62f3a4c84 patches/patch-setup_py --- patches/patch-setup_py Mon Oct 30 14:14:38 2017 +0000 +++ patches/patch-setup_py Mon Oct 30 18:43:30 2017 +0100 @@ -2,9 +2,10 @@ Fix calls to gmake. ---- setup.py.orig Fri Jan 31 19:40:05 2014 -+++ setup.py Wed Apr 30 14:10:28 2014 -@@ -41,6 +41,13 @@ try: +Index: setup.py +--- setup.py.orig ++++ setup.py +@@ -56,6 +56,13 @@ try: except ImportError: pass @@ -18,7 +19,7 @@ # import required features from hgviewlib.__pkginfo__ import modname, version, license, description, \ web, author, author_email -@@ -163,13 +170,9 @@ class build_doc(_build): +@@ -178,13 +185,9 @@ class build_doc(_build): def run(self): # be sure to compile man page self.mkpath(self.build_dir) @@ -34,7 +35,7 @@ except: if not py2exe: # does not make sense (either because of windows vs toolchain -@@ -275,12 +278,8 @@ class install_doc(_install_data): +@@ -290,12 +293,8 @@ class install_doc(_install_data): self.set_undefined_options('install', ('install_base', 'install_dir')) def run(self): diff -r dba62f3a4c84 pkg/PLIST --- pkg/PLIST Mon Oct 30 14:14:38 2017 +0000 +++ pkg/PLIST Mon Oct 30 18:43:30 2017 +0100 @@ -61,6 +61,8 @@ lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/application.pyc lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/blockmatcher.py lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/blockmatcher.pyc +lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/config.py +lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/config.pyc lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/filediffviewer_ui.py lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/filediffviewer_ui.pyc lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/fileviewer_ui.py @@ -69,8 +71,6 @@ lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/helpviewer.pyc lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/helpviewer_ui.py lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/helpviewer_ui.pyc -lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/hgdialogmixin.py -lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/hgdialogmixin.pyc lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/hgfiledialog.py lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/hgfiledialog.pyc lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/hgfileview.py @@ -83,18 +83,24 @@ lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/hgqv_ui.pyc lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/hgrepomodel.py lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/hgrepomodel.pyc -lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/hgrepoview.py -lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/hgrepoview.pyc lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/hgrepoviewer.py lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/hgrepoviewer.pyc lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/lexers.py lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/lexers.pyc lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/manifestviewer_ui.py lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/manifestviewer_ui.pyc +lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/mixins.py +lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/mixins.pyc lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/quickbar.py lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/quickbar.pyc +lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/revision_description.py +lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/revision_description.pyc +lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/revisions_table.py +lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/revisions_table.pyc lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/styleditemdelegate.py lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/styleditemdelegate.pyc +lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/widgets.py +lib/python${MODPY_VERSION}/site-packages/hgviewlib/qt4/widgets.pyc lib/python${MODPY_VERSION}/site-packages/hgviewlib/util.py lib/python${MODPY_VERSION}/site-packages/hgviewlib/util.pyc @man man/man1/hgview.1