switch devel/git-cola to py-qt5 and python3

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

switch devel/git-cola to py-qt5 and python3

Björn Ketelaars
Diff below changes our port of git-cola a bit:
- Switch from py-qt4 to py-qt5
- Switch to python3
- Drop dependency on textproc/xxdiff.

Rationale for the latter is that git-cola per default uses git.tool from
.gitconfig. A user can easily pkg_add xxdiff, or one of its
alternatives.

Testing:
- 'make test' passes all tests
- run tested on amd64

Comments/OK?


diff --git Makefile Makefile
index ae56f932813..461839de26e 100644
--- Makefile
+++ Makefile
@@ -3,7 +3,8 @@
 COMMENT = python powered git gui
 
 MODPY_EGG_VERSION= 3.6
-DISTNAME = ${GH_PROJECT}-${MODPY_EGG_VERSION}
+REVISION = 0
+DISTNAME = ${GH_PROJECT}-${MODPY_EGG_VERSION}
 
 GH_ACCOUNT = git-cola
 GH_PROJECT = git-cola
@@ -16,26 +17,25 @@ HOMEPAGE = https://git-cola.github.io/
 MAINTAINER = Bjorn Ketelaars <[hidden email]>
 
 # GPLv2 only
-PERMIT_PACKAGE= Yes
+PERMIT_PACKAGE = Yes
 
 MODULES = lang/python
 MODPY_PYTEST = Yes
+MODPY_VERSION = ${MODPY_DEFAULT_VERSION_3}
 
 BUILD_DEPENDS = devel/gettext,-tools \
  devel/git \
  devel/git,-x11 \
- textproc/xxdiff \
- x11/py-qt4 \
- x11/py-qtpy
+ x11/py-qt5${MODPY_FLAVOR} \
+ x11/py-qtpy${MODPY_FLAVOR}
 
 RUN_DEPENDS = devel/desktop-file-utils \
  devel/git \
  devel/git,-x11 \
- textproc/xxdiff \
- x11/py-qt4 \
- x11/py-qtpy
+ x11/py-qt5${MODPY_FLAVOR} \
+ x11/py-qtpy${MODPY_FLAVOR}
 
-TEST_DEPENDS = devel/py-mock
+TEST_DEPENDS = devel/py-mock${MODPY_FLAVOR}
 
 USE_GMAKE = Yes
 
diff --git pkg/PLIST pkg/PLIST
index 22432fe9279..851d6eeae89 100644
--- pkg/PLIST
+++ pkg/PLIST
@@ -136,179 +136,182 @@ share/git-cola/icons/zoom-out.svg
 share/git-cola/lib/
 share/git-cola/lib/cola/
 share/git-cola/lib/cola/__init__.py
-share/git-cola/lib/cola/__init__.pyc
+${MODPY_COMMENT}share/git-cola/lib/cola/${MODPY_PYCACHE}/
+share/git-cola/lib/cola/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}_version.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}actions.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}app.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}cmd.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}cmds.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}compat.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}core.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}dag.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}decorators.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}diffparse.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}difftool.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}fsmonitor.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}git.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}gitcfg.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}gitcmds.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}gravatar.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}guicmds.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}hidpi.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}hotkeys.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}i18n.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}icons.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}inotify.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}interaction.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}observable.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}qtcompat.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}qtutils.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}resources.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}settings.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}spellcheck.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}textwrap.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}themes.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/${MODPY_PYCACHE}version.${MODPY_PYC_MAGIC_TAG}pyc
 share/git-cola/lib/cola/_version.py
-share/git-cola/lib/cola/_version.pyc
 share/git-cola/lib/cola/actions.py
-share/git-cola/lib/cola/actions.pyc
 share/git-cola/lib/cola/app.py
-share/git-cola/lib/cola/app.pyc
 share/git-cola/lib/cola/cmd.py
-share/git-cola/lib/cola/cmd.pyc
 share/git-cola/lib/cola/cmds.py
-share/git-cola/lib/cola/cmds.pyc
 share/git-cola/lib/cola/compat.py
-share/git-cola/lib/cola/compat.pyc
 share/git-cola/lib/cola/core.py
-share/git-cola/lib/cola/core.pyc
 share/git-cola/lib/cola/dag.py
-share/git-cola/lib/cola/dag.pyc
 share/git-cola/lib/cola/decorators.py
-share/git-cola/lib/cola/decorators.pyc
 share/git-cola/lib/cola/diffparse.py
-share/git-cola/lib/cola/diffparse.pyc
 share/git-cola/lib/cola/difftool.py
-share/git-cola/lib/cola/difftool.pyc
 share/git-cola/lib/cola/fsmonitor.py
-share/git-cola/lib/cola/fsmonitor.pyc
 share/git-cola/lib/cola/git.py
-share/git-cola/lib/cola/git.pyc
 share/git-cola/lib/cola/gitcfg.py
-share/git-cola/lib/cola/gitcfg.pyc
 share/git-cola/lib/cola/gitcmds.py
-share/git-cola/lib/cola/gitcmds.pyc
 share/git-cola/lib/cola/gravatar.py
-share/git-cola/lib/cola/gravatar.pyc
 share/git-cola/lib/cola/guicmds.py
-share/git-cola/lib/cola/guicmds.pyc
 share/git-cola/lib/cola/hidpi.py
-share/git-cola/lib/cola/hidpi.pyc
 share/git-cola/lib/cola/hotkeys.py
-share/git-cola/lib/cola/hotkeys.pyc
 share/git-cola/lib/cola/i18n.py
-share/git-cola/lib/cola/i18n.pyc
 share/git-cola/lib/cola/icons.py
-share/git-cola/lib/cola/icons.pyc
 share/git-cola/lib/cola/inotify.py
-share/git-cola/lib/cola/inotify.pyc
 share/git-cola/lib/cola/interaction.py
-share/git-cola/lib/cola/interaction.pyc
 share/git-cola/lib/cola/main.py
-share/git-cola/lib/cola/main.pyc
 share/git-cola/lib/cola/models/
 share/git-cola/lib/cola/models/__init__.py
-share/git-cola/lib/cola/models/__init__.pyc
+${MODPY_COMMENT}share/git-cola/lib/cola/models/${MODPY_PYCACHE}/
+share/git-cola/lib/cola/models/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/models/${MODPY_PYCACHE}browse.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/models/${MODPY_PYCACHE}dag.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/models/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/models/${MODPY_PYCACHE}prefs.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/models/${MODPY_PYCACHE}selection.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/models/${MODPY_PYCACHE}stash.${MODPY_PYC_MAGIC_TAG}pyc
 share/git-cola/lib/cola/models/browse.py
-share/git-cola/lib/cola/models/browse.pyc
 share/git-cola/lib/cola/models/dag.py
-share/git-cola/lib/cola/models/dag.pyc
 share/git-cola/lib/cola/models/main.py
-share/git-cola/lib/cola/models/main.pyc
 share/git-cola/lib/cola/models/prefs.py
-share/git-cola/lib/cola/models/prefs.pyc
 share/git-cola/lib/cola/models/selection.py
-share/git-cola/lib/cola/models/selection.pyc
 share/git-cola/lib/cola/models/stash.py
-share/git-cola/lib/cola/models/stash.pyc
 share/git-cola/lib/cola/observable.py
-share/git-cola/lib/cola/observable.pyc
 share/git-cola/lib/cola/qtcompat.py
-share/git-cola/lib/cola/qtcompat.pyc
 share/git-cola/lib/cola/qtutils.py
-share/git-cola/lib/cola/qtutils.pyc
 share/git-cola/lib/cola/resources.py
-share/git-cola/lib/cola/resources.pyc
 share/git-cola/lib/cola/settings.py
-share/git-cola/lib/cola/settings.pyc
 share/git-cola/lib/cola/spellcheck.py
-share/git-cola/lib/cola/spellcheck.pyc
 share/git-cola/lib/cola/textwrap.py
-share/git-cola/lib/cola/textwrap.pyc
 share/git-cola/lib/cola/themes.py
-share/git-cola/lib/cola/themes.pyc
 share/git-cola/lib/cola/utils.py
-share/git-cola/lib/cola/utils.pyc
 share/git-cola/lib/cola/version.py
-share/git-cola/lib/cola/version.pyc
 share/git-cola/lib/cola/widgets/
 share/git-cola/lib/cola/widgets/__init__.py
-share/git-cola/lib/cola/widgets/__init__.pyc
+${MODPY_COMMENT}share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}/
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}about.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}action.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}archive.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}bookmarks.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}branch.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}browse.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}cfgactions.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}clone.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}commitmsg.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}common.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}compare.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}completion.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}createbranch.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}createtag.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}dag.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}defs.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}diff.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}editremotes.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}filelist.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}filetree.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}finder.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}gitignore.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}grep.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}highlighter.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}imageview.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}log.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}merge.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}patch.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}prefs.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}recent.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}remote.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}search.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}selectcommits.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}spellcheck.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}standard.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}startup.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}stash.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}status.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}submodules.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}text.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}toolbar.${MODPY_PYC_MAGIC_TAG}pyc
+share/git-cola/lib/cola/widgets/${MODPY_PYCACHE}toolbarcmds.${MODPY_PYC_MAGIC_TAG}pyc
 share/git-cola/lib/cola/widgets/about.py
-share/git-cola/lib/cola/widgets/about.pyc
 share/git-cola/lib/cola/widgets/action.py
-share/git-cola/lib/cola/widgets/action.pyc
 share/git-cola/lib/cola/widgets/archive.py
-share/git-cola/lib/cola/widgets/archive.pyc
 share/git-cola/lib/cola/widgets/bookmarks.py
-share/git-cola/lib/cola/widgets/bookmarks.pyc
 share/git-cola/lib/cola/widgets/branch.py
-share/git-cola/lib/cola/widgets/branch.pyc
 share/git-cola/lib/cola/widgets/browse.py
-share/git-cola/lib/cola/widgets/browse.pyc
 share/git-cola/lib/cola/widgets/cfgactions.py
-share/git-cola/lib/cola/widgets/cfgactions.pyc
 share/git-cola/lib/cola/widgets/clone.py
-share/git-cola/lib/cola/widgets/clone.pyc
 share/git-cola/lib/cola/widgets/commitmsg.py
-share/git-cola/lib/cola/widgets/commitmsg.pyc
 share/git-cola/lib/cola/widgets/common.py
-share/git-cola/lib/cola/widgets/common.pyc
 share/git-cola/lib/cola/widgets/compare.py
-share/git-cola/lib/cola/widgets/compare.pyc
 share/git-cola/lib/cola/widgets/completion.py
-share/git-cola/lib/cola/widgets/completion.pyc
 share/git-cola/lib/cola/widgets/createbranch.py
-share/git-cola/lib/cola/widgets/createbranch.pyc
 share/git-cola/lib/cola/widgets/createtag.py
-share/git-cola/lib/cola/widgets/createtag.pyc
 share/git-cola/lib/cola/widgets/dag.py
-share/git-cola/lib/cola/widgets/dag.pyc
 share/git-cola/lib/cola/widgets/defs.py
-share/git-cola/lib/cola/widgets/defs.pyc
 share/git-cola/lib/cola/widgets/diff.py
-share/git-cola/lib/cola/widgets/diff.pyc
 share/git-cola/lib/cola/widgets/editremotes.py
-share/git-cola/lib/cola/widgets/editremotes.pyc
 share/git-cola/lib/cola/widgets/filelist.py
-share/git-cola/lib/cola/widgets/filelist.pyc
 share/git-cola/lib/cola/widgets/filetree.py
-share/git-cola/lib/cola/widgets/filetree.pyc
 share/git-cola/lib/cola/widgets/finder.py
-share/git-cola/lib/cola/widgets/finder.pyc
 share/git-cola/lib/cola/widgets/gitignore.py
-share/git-cola/lib/cola/widgets/gitignore.pyc
 share/git-cola/lib/cola/widgets/grep.py
-share/git-cola/lib/cola/widgets/grep.pyc
 share/git-cola/lib/cola/widgets/highlighter.py
-share/git-cola/lib/cola/widgets/highlighter.pyc
 share/git-cola/lib/cola/widgets/imageview.py
-share/git-cola/lib/cola/widgets/imageview.pyc
 share/git-cola/lib/cola/widgets/log.py
-share/git-cola/lib/cola/widgets/log.pyc
 share/git-cola/lib/cola/widgets/main.py
-share/git-cola/lib/cola/widgets/main.pyc
 share/git-cola/lib/cola/widgets/merge.py
-share/git-cola/lib/cola/widgets/merge.pyc
 share/git-cola/lib/cola/widgets/patch.py
-share/git-cola/lib/cola/widgets/patch.pyc
 share/git-cola/lib/cola/widgets/prefs.py
-share/git-cola/lib/cola/widgets/prefs.pyc
 share/git-cola/lib/cola/widgets/recent.py
-share/git-cola/lib/cola/widgets/recent.pyc
 share/git-cola/lib/cola/widgets/remote.py
-share/git-cola/lib/cola/widgets/remote.pyc
 share/git-cola/lib/cola/widgets/search.py
-share/git-cola/lib/cola/widgets/search.pyc
 share/git-cola/lib/cola/widgets/selectcommits.py
-share/git-cola/lib/cola/widgets/selectcommits.pyc
 share/git-cola/lib/cola/widgets/spellcheck.py
-share/git-cola/lib/cola/widgets/spellcheck.pyc
 share/git-cola/lib/cola/widgets/standard.py
-share/git-cola/lib/cola/widgets/standard.pyc
 share/git-cola/lib/cola/widgets/startup.py
-share/git-cola/lib/cola/widgets/startup.pyc
 share/git-cola/lib/cola/widgets/stash.py
-share/git-cola/lib/cola/widgets/stash.pyc
 share/git-cola/lib/cola/widgets/status.py
-share/git-cola/lib/cola/widgets/status.pyc
 share/git-cola/lib/cola/widgets/submodules.py
-share/git-cola/lib/cola/widgets/submodules.pyc
 share/git-cola/lib/cola/widgets/text.py
-share/git-cola/lib/cola/widgets/text.pyc
 share/git-cola/lib/cola/widgets/toolbar.py
-share/git-cola/lib/cola/widgets/toolbar.pyc
 share/git-cola/lib/cola/widgets/toolbarcmds.py
-share/git-cola/lib/cola/widgets/toolbarcmds.pyc
 share/locale/cs/LC_MESSAGES/git-cola.mo
 share/locale/de/LC_MESSAGES/git-cola.mo
 share/locale/es/LC_MESSAGES/git-cola.mo

Reply | Threaded
Open this post in threaded view
|

Re: switch devel/git-cola to py-qt5 and python3

Klemens Nanni-2
On Wed, Feb 05, 2020 at 12:37:56PM +0100, Björn Ketelaars wrote:
> Diff below changes our port of git-cola a bit:
> - Switch from py-qt4 to py-qt5
> - Switch to python3
> - Drop dependency on textproc/xxdiff.
>
> Rationale for the latter is that git-cola per default uses git.tool from
> .gitconfig. A user can easily pkg_add xxdiff, or one of its
> alternatives.
Sounds good, perhaps add a suggesting line to DESCR or README for new
users.

Given that Rafael wants to purge xxdiff, other graphical diff tools
might be better suited anyways.

> Testing:
> - 'make test' passes all tests
> - run tested on amd64
OK kn also without above mentioned, your choice.

Reply | Threaded
Open this post in threaded view
|

Re: switch devel/git-cola to py-qt5 and python3

Landry Breuil-5
In reply to this post by Björn Ketelaars
On Wed, Feb 05, 2020 at 12:37:56PM +0100, Björn Ketelaars wrote:
> Diff below changes our port of git-cola a bit:
> - Switch from py-qt4 to py-qt5
> - Switch to python3
> - Drop dependency on textproc/xxdiff.
>
> Rationale for the latter is that git-cola per default uses git.tool from
> .gitconfig. A user can easily pkg_add xxdiff, or one of its
> alternatives.

i've tried it and in the parameters, the "diff tool" and "merge tool"
still default to xxdiff, so if you have no .gitconfig xxdif should be
present :) Not sure removing the RDEP is ok unless you patch that and
use a contraption to run xterm -e diff... which might not be worth the
trouble.

Given that xxdiff can now use Qt5 and works fine, i'd keep the
dependency.

That said, ok for the xxdiff update & this git-cola move to py3, both
work fine here.

Reply | Threaded
Open this post in threaded view
|

Re: switch devel/git-cola to py-qt5 and python3

Landry Breuil-5
On Wed, Feb 05, 2020 at 01:36:02PM +0100, Landry Breuil wrote:

> On Wed, Feb 05, 2020 at 12:37:56PM +0100, Björn Ketelaars wrote:
> > Diff below changes our port of git-cola a bit:
> > - Switch from py-qt4 to py-qt5
> > - Switch to python3
> > - Drop dependency on textproc/xxdiff.
> >
> > Rationale for the latter is that git-cola per default uses git.tool from
> > .gitconfig. A user can easily pkg_add xxdiff, or one of its
> > alternatives.
>
> i've tried it and in the parameters, the "diff tool" and "merge tool"
> still default to xxdiff, so if you have no .gitconfig xxdif should be
> present :) Not sure removing the RDEP is ok unless you patch that and
> use a contraption to run xterm -e diff... which might not be worth the
> trouble.
>
> Given that xxdiff can now use Qt5 and works fine, i'd keep the
> dependency.
>
> That said, ok for the xxdiff update & this git-cola move to py3, both
> work fine here.

and git-cola reliably segfaults upon exit deep in py-sip so you might want
to look into that and see if it's reproducible.. :)

[Current thread is 1 (process 531978)]
(gdb) bt
#0  0x000017bfee4018d7 in sipOMFindObject () from /usr/local/lib/python3.7/site-packages/sip.so
#1  0x000017bfcdff3226 in PyQtMonitor::on_destroyed(QObject*) () from /usr/local/lib/python3.7/site-packages/PyQt5/QtCore.so
#2  0x000017bf8259f885 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/local/lib/qt5/libQt5Core.so.2.2
#3  0x000017bf8259ecca in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/local/lib/qt5/libQt5Core.so.2.2
#4  0x000017bf82596a43 in QObject::destroyed(QObject*) () from /usr/local/lib/qt5/libQt5Core.so.2.2
#5  0x000017bf825962a5 in QObject::~QObject() () from /usr/local/lib/qt5/libQt5Core.so.2.2
#6  0x000017bf82234a3d in QThreadPool::~QThreadPool() () from /usr/local/lib/qt5/libQt5Core.so.2.2
#7  0x000017bf822358e6 in ?? () from /usr/local/lib/qt5/libQt5Core.so.2.2
#8  0x000017bfa2289f9d in _libc___cxa_finalize (dso=<optimized out>) at /usr/src/lib/libc/stdlib/atexit.c:177
#9  0x000017bfa22692e1 in _libc_exit (status=0) at /usr/src/lib/libc/stdlib/exit.c:54
#10 0x000017bf32f69932 in Py_Exit () from /usr/local/lib/libpython3.7m.so.0.0
#11 0x000017bf32f73741 in ?? () from /usr/local/lib/libpython3.7m.so.0.0
#12 0x000017bf32f73346 in PyErr_PrintEx () from /usr/local/lib/libpython3.7m.so.0.0
#13 0x000017bf32f72862 in PyRun_SimpleFileExFlags () from /usr/local/lib/libpython3.7m.so.0.0
#14 0x000017bf32f9701e in ?? () from /usr/local/lib/libpython3.7m.so.0.0
#15 0x000017bf32f97913 in _Py_UnixMain () from /usr/local/lib/libpython3.7m.so.0.0

Reply | Threaded
Open this post in threaded view
|

Re: switch devel/git-cola to py-qt5 and python3

Björn Ketelaars
On Wed 05/02/2020 13:40, Landry Breuil wrote:

> On Wed, Feb 05, 2020 at 01:36:02PM +0100, Landry Breuil wrote:
> > On Wed, Feb 05, 2020 at 12:37:56PM +0100, Björn Ketelaars wrote:
> > > Diff below changes our port of git-cola a bit:
> > > - Switch from py-qt4 to py-qt5
> > > - Switch to python3
> > > - Drop dependency on textproc/xxdiff.
> > >
> > > Rationale for the latter is that git-cola per default uses git.tool from
> > > .gitconfig. A user can easily pkg_add xxdiff, or one of its
> > > alternatives.
> >
> > i've tried it and in the parameters, the "diff tool" and "merge tool"
> > still default to xxdiff, so if you have no .gitconfig xxdif should be
> > present :) Not sure removing the RDEP is ok unless you patch that and
> > use a contraption to run xterm -e diff... which might not be worth the
> > trouble.
> >
> > Given that xxdiff can now use Qt5 and works fine, i'd keep the
> > dependency.
> >
> > That said, ok for the xxdiff update & this git-cola move to py3, both
> > work fine here.
>
> and git-cola reliably segfaults upon exit deep in py-sip so you might want
> to look into that and see if it's reproducible.. :)
>
> [Current thread is 1 (process 531978)]
> (gdb) bt
> #0  0x000017bfee4018d7 in sipOMFindObject () from /usr/local/lib/python3.7/site-packages/sip.so
> #1  0x000017bfcdff3226 in PyQtMonitor::on_destroyed(QObject*) () from /usr/local/lib/python3.7/site-packages/PyQt5/QtCore.so
> #2  0x000017bf8259f885 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/local/lib/qt5/libQt5Core.so.2.2
> #3  0x000017bf8259ecca in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/local/lib/qt5/libQt5Core.so.2.2
> #4  0x000017bf82596a43 in QObject::destroyed(QObject*) () from /usr/local/lib/qt5/libQt5Core.so.2.2
> #5  0x000017bf825962a5 in QObject::~QObject() () from /usr/local/lib/qt5/libQt5Core.so.2.2
> #6  0x000017bf82234a3d in QThreadPool::~QThreadPool() () from /usr/local/lib/qt5/libQt5Core.so.2.2
> #7  0x000017bf822358e6 in ?? () from /usr/local/lib/qt5/libQt5Core.so.2.2
> #8  0x000017bfa2289f9d in _libc___cxa_finalize (dso=<optimized out>) at /usr/src/lib/libc/stdlib/atexit.c:177
> #9  0x000017bfa22692e1 in _libc_exit (status=0) at /usr/src/lib/libc/stdlib/exit.c:54
> #10 0x000017bf32f69932 in Py_Exit () from /usr/local/lib/libpython3.7m.so.0.0
> #11 0x000017bf32f73741 in ?? () from /usr/local/lib/libpython3.7m.so.0.0
> #12 0x000017bf32f73346 in PyErr_PrintEx () from /usr/local/lib/libpython3.7m.so.0.0
> #13 0x000017bf32f72862 in PyRun_SimpleFileExFlags () from /usr/local/lib/libpython3.7m.so.0.0
> #14 0x000017bf32f9701e in ?? () from /usr/local/lib/libpython3.7m.so.0.0
> #15 0x000017bf32f97913 in _Py_UnixMain () from /usr/local/lib/libpython3.7m.so.0.0

The version in ports as well as the proposed update segfault on exit.
Your analysis was spot on: issue is related to py-sip. Updating the
latter to a newer version (4.19.21) fixes the issue.

I will send an update for py-sip to ports@. In the mean time I propose
to move forward, and commit the changes to git-cola. OK?