public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-editors/qhexedit2/files/, app-editors/qhexedit2/
Date: Fri, 13 May 2022 20:04:13 +0000 (UTC)	[thread overview]
Message-ID: <1652472228.8759771fffe11541f3259bab8b305a0afd142f32.sam@gentoo> (raw)

commit:     8759771fffe11541f3259bab8b305a0afd142f32
Author:     Huang Rui <vowstar <AT> gmail <DOT> com>
AuthorDate: Mon May  9 03:04:44 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri May 13 20:03:48 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8759771f

app-editors/qhexedit2: fix compile problem and add BDEPEND

sip-4 no longer supports the latest PyQt5 syntax,
so it needs to be changed to sip-5
Fix unable to find file "QtCore/QtCoremod.sip"
Switched the build system to use sip-build + PyQt-builder
Add dev-python/sip-5 as RDEPEND
New maintainer by Proxy Maint

Closes: https://bugs.gentoo.org/820473
Closes: https://bugs.gentoo.org/758260
Signed-off-by: Huang Rui <vowstar <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/25395
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../qhexedit2/files/qhexedit2-0.8.6-sip.patch      |  35 +++++++
 .../qhexedit2/files/qhexedit2-0.8.6-sip5.patch     |  82 +++++++++++++++
 .../files/qhexedit2-0.8.9-fix-crash.patch          |  37 +++++++
 app-editors/qhexedit2/metadata.xml                 |   9 +-
 .../qhexedit2/qhexedit2-0.8.6_p20190316-r1.ebuild  | 108 ++++++++++++++++++++
 .../qhexedit2/qhexedit2-0.8.9_p20210525-r1.ebuild  | 110 +++++++++++++++++++++
 6 files changed, 380 insertions(+), 1 deletion(-)

diff --git a/app-editors/qhexedit2/files/qhexedit2-0.8.6-sip.patch b/app-editors/qhexedit2/files/qhexedit2-0.8.6-sip.patch
new file mode 100644
index 000000000000..56ae97159030
--- /dev/null
+++ b/app-editors/qhexedit2/files/qhexedit2-0.8.6-sip.patch
@@ -0,0 +1,35 @@
+https://bugs.gentoo.org/820473
+From bdb22d3542099d7e1933aaffa80e044375466914 Mon Sep 17 00:00:00 2001
+From: Huang Rui <vowstar@gmail.com>
+Date: Sat, 7 May 2022 14:49:35 +0800
+Subject: [PATCH] setup.py: fix pyqt_sip_dir on modern Linux distributions
+
+QtCore/QtCoremod.sip may be installed to:
+/usr/lib/python3.9/site-packages/PyQt5/bindings/QtCore/QtCoremod.sip
+See also: https://github.com/qgis/QGIS/blob/master/cmake/FindPyQt5.py
+
+Closes: https://bugs.gentoo.org/820473
+Signed-off-by: Huang Rui <vowstar@gmail.com>
+---
+ setup.py | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/setup.py b/setup.py
+index 1a0d912..1906a07 100644
+--- a/setup.py
++++ b/setup.py
+@@ -10,6 +10,14 @@
+ 
+ cfg = sipconfig.Configuration()
+ pyqt_sip_dir = cfg.default_sip_dir
++for p in (os.path.join(pyqt_sip_dir, "PyQt5"),
++          os.path.join(pyqt_sip_dir, "PyQt5-3"),
++          os.path.join(pyqt_sip_dir, "PyQt4"),
++          pyqt_sip_dir,
++          os.path.join(cfg.default_mod_dir, "PyQt5", "bindings")):
++    if os.path.exists(os.path.join(p, "QtCore", "QtCoremod.sip")):
++        pyqt_sip_dir = p
++        break
+ 
+ try:
+     import PyQt5

diff --git a/app-editors/qhexedit2/files/qhexedit2-0.8.6-sip5.patch b/app-editors/qhexedit2/files/qhexedit2-0.8.6-sip5.patch
new file mode 100644
index 000000000000..0cc134e32358
--- /dev/null
+++ b/app-editors/qhexedit2/files/qhexedit2-0.8.6-sip5.patch
@@ -0,0 +1,82 @@
+https://bugs.gentoo.org/820473
+https://bugs.gentoo.org/815133
+https://github.com/Simsys/qhexedit2/pull/137
+https://src.fedoraproject.org/rpms/qhexedit2/blob/rawhide/f/sip5.patch
+From ce17d35586de1b9fdc21e3f8450dd1d2b76d5bcc Mon Sep 17 00:00:00 2001
+From: Scott Talbert <swt@techie.net>
+Date: Mon, 18 Jan 2021 21:06:46 -0500
+Subject: [PATCH] Add support for building with sip 5
+
+---
+ project.py       | 29 +++++++++++++++++++++++++++++
+ pyproject.toml   | 14 ++++++++++++++
+ src/qhexedit.sip |  2 +-
+ 3 files changed, 44 insertions(+), 1 deletion(-)
+ create mode 100644 project.py
+ create mode 100644 pyproject.toml
+
+diff --git a/project.py b/project.py
+new file mode 100644
+index 0000000..c9ee67f
+--- /dev/null
++++ b/project.py
+@@ -0,0 +1,29 @@
++"""The build configuration file for QHexEdit, used by sip."""
++
++import os
++from os.path import abspath, join
++from sipbuild import Option
++from pyqtbuild import PyQtBindings, PyQtProject
++import PyQt5
++
++
++class QHexEditProject(PyQtProject):
++    """The QHexEdit Project class."""
++
++    def __init__(self):
++        super().__init__()
++        self.bindings_factories = [QHexEditBindings]
++
++    def update(self, tool):
++        """Allows SIP to find PyQt5 .sip files."""
++        super().update(tool)
++        self.sip_include_dirs.append(join(PyQt5.__path__[0], 'bindings'))
++
++
++class QHexEditBindings(PyQtBindings):
++    """The QHexEdit Bindings class."""
++
++    def __init__(self, project):
++        super().__init__(project, name='QHexEdit',
++                         sip_file='qhexedit.sip',
++                         qmake_QT=['widgets'])
+diff --git a/pyproject.toml b/pyproject.toml
+new file mode 100644
+index 0000000..b5edaa4
+--- /dev/null
++++ b/pyproject.toml
+@@ -0,0 +1,14 @@
++[build-system]
++requires = ["sip >=5, <7", "PyQt-builder >=1.1.0, <2", "PyQt5"]
++build-backend = "sipbuild.api"
++
++[tool.sip.metadata]
++name = "QHexEdit"
++version = "0.8.9"
++
++[tools.sip]
++abi-version = "12.8"
++project-factory = "pyqtbuild:PyQtProject"
++
++[tool.sip.project]
++sip-files-dir = "src"
+diff --git a/src/qhexedit.sip b/src/qhexedit.sip
+index f7db293..6d4ebae 100644
+--- a/src/qhexedit.sip
++++ b/src/qhexedit.sip
+@@ -1,4 +1,4 @@
+-%Module(name=qhexedit, version=1)
++%Module(name=qhexedit)
+ 
+ %Import QtCore/QtCoremod.sip
+ %Import QtGui/QtGuimod.sip

diff --git a/app-editors/qhexedit2/files/qhexedit2-0.8.9-fix-crash.patch b/app-editors/qhexedit2/files/qhexedit2-0.8.9-fix-crash.patch
new file mode 100644
index 000000000000..9c3099b06d28
--- /dev/null
+++ b/app-editors/qhexedit2/files/qhexedit2-0.8.9-fix-crash.patch
@@ -0,0 +1,37 @@
+https://github.com/Simsys/qhexedit2/pull/139
+From d314aab25eeab0db131fc87f20daf7c4ad587ee2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=E8=AF=B7=E5=8F=AB=E6=88=91=E8=88=B9=E9=95=BF?=
+ <38233142+thinkSJ@users.noreply.github.com>
+Date: Sat, 13 Nov 2021 18:35:25 +0800
+Subject: [PATCH] Update qhexedit.cpp
+
+crashed when press ctrl alt keys....
+---
+ src/qhexedit.cpp | 14 +++++++++-----
+ 1 file changed, 9 insertions(+), 5 deletions(-)
+
+diff --git a/src/qhexedit.cpp b/src/qhexedit.cpp
+index d7e532c..4137192 100644
+--- a/src/qhexedit.cpp
++++ b/src/qhexedit.cpp
+@@ -766,11 +766,15 @@ void QHexEdit::keyPressEvent(QKeyEvent *event)
+             (QApplication::keyboardModifiers() == Qt::GroupSwitchModifier))
+         {
+             /* Hex and ascii input */
+-            int key;
+-            if (_editAreaIsAscii)
+-                key = (uchar)event->text().at(0).toLatin1();
+-            else
+-                key = int(event->text().at(0).toLower().toLatin1());
++            int key = 0;
++            QString text = event->text();
++            if (!text.isEmpty())
++            {
++                if (_editAreaIsAscii)
++                    key = (uchar)text.at(0).toLatin1();
++                else
++                    key = int(text.at(0).toLower().toLatin1());
++            }
+ 
+             if ((((key >= '0' && key <= '9') || (key >= 'a' && key <= 'f')) && _editAreaIsAscii == false)
+                 || (key >= ' ' && _editAreaIsAscii))

diff --git a/app-editors/qhexedit2/metadata.xml b/app-editors/qhexedit2/metadata.xml
index 7db8b420f3d9..f7e7eb3ae5ad 100644
--- a/app-editors/qhexedit2/metadata.xml
+++ b/app-editors/qhexedit2/metadata.xml
@@ -1,7 +1,14 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
-    <!-- maintainer-needed -->
+    <maintainer type="person">
+            <email>vowstar@gmail.com</email>
+            <name>Huang Rui</name>
+    </maintainer>
+    <maintainer type="project">
+            <email>proxy-maint@gentoo.org</email>
+            <name>Proxy Maintainers</name>
+    </maintainer>
     <use>
         <flag name="gui">Install Qt5 hex editor</flag>
     </use>

diff --git a/app-editors/qhexedit2/qhexedit2-0.8.6_p20190316-r1.ebuild b/app-editors/qhexedit2/qhexedit2-0.8.6_p20190316-r1.ebuild
new file mode 100644
index 000000000000..5a67a0db9e25
--- /dev/null
+++ b/app-editors/qhexedit2/qhexedit2-0.8.6_p20190316-r1.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit distutils-r1 qmake-utils
+
+EGIT_COMMIT="ba5af8616b3a6c916e718914225a483267c01356"
+DESCRIPTION="Hex editor library, Qt application written in C++ with Python bindings"
+HOMEPAGE="https://github.com/lancos/qhexedit2/"
+SRC_URI="https://github.com/lancos/${PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+IUSE="doc +gui python"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-0.8.4-setup.py.patch"
+	"${FILESDIR}/${PN}-0.8.6-sip5.patch" #820473
+)
+
+RDEPEND="
+	dev-qt/qtcore:5
+	dev-qt/qtgui:5
+	dev-qt/qtwidgets:5
+	python? (
+		${PYTHON_DEPS}
+		$(python_gen_cond_dep '
+			dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+		')
+	)
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+	python? (
+		$(python_gen_cond_dep '
+			>=dev-python/PyQt-builder-1.10[${PYTHON_USEDEP}]
+			>=dev-python/sip-5:=[${PYTHON_USEDEP}]
+		')
+	)
+"
+
+S="${WORKDIR}/${PN}-${EGIT_COMMIT}"
+
+src_prepare() {
+	default
+	sed -i -e '/^unix:DESTDIR/ d' -e "\$atarget.path = /usr/$(get_libdir)" \
+		-e "\$aINSTALLS += target" src/qhexedit.pro \
+		|| die "src/qhexedit.pro: sed failed"
+}
+
+src_configure() {
+	eqmake5 src/qhexedit.pro
+	if use gui; then
+		cd example || die "can't cd example"
+		eqmake5 qhexedit.pro
+	fi
+}
+
+src_compile() {
+	emake
+	use gui && emake -C example
+	if use python; then
+		export PATH="$(qt5_get_bindir):${PATH}"
+		python_build() {
+			pushd ${S} || die
+			sip-build || die
+			popd || die
+		}
+		python_foreach_impl run_in_build_dir python_build
+	fi
+}
+
+src_test() {
+	cd test || die "can't cd test"
+	mkdir logs || die "can't create logs dir"
+	eqmake5 chunks.pro
+	emake
+	./chunks || die "test run failed"
+	grep -q "^NOK" logs/Summary.log && die "test failed"
+}
+
+src_install() {
+	doheader src/*.h
+	dolib.so libqhexedit.so*
+	if use python; then
+		python_install() {
+			pushd ${S}/build || die
+			emake INSTALL_ROOT="${D}" install
+			popd || die
+		}
+		python_foreach_impl run_in_build_dir python_install
+	fi
+	if use gui; then
+		dobin example/qhexedit
+		insinto /usr/share/${PN}/
+		doins example/translations/*.qm
+	fi
+	if use doc; then
+		dodoc -r doc/html
+		dodoc doc/release.txt
+	fi
+}

diff --git a/app-editors/qhexedit2/qhexedit2-0.8.9_p20210525-r1.ebuild b/app-editors/qhexedit2/qhexedit2-0.8.9_p20210525-r1.ebuild
new file mode 100644
index 000000000000..eb3f2601963f
--- /dev/null
+++ b/app-editors/qhexedit2/qhexedit2-0.8.9_p20210525-r1.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit distutils-r1 qmake-utils
+
+EGIT_COMMIT="541139125be034b90b6811a84faa1413e357fd94"
+DESCRIPTION="Hex editor library, Qt application written in C++ with Python bindings"
+HOMEPAGE="https://github.com/Simsys/qhexedit2/"
+SRC_URI="https://github.com/Simsys/${PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+IUSE="doc +gui python"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-0.8.4-setup.py.patch"
+	"${FILESDIR}/${PN}-0.8.6-sip.patch" #820473
+	"${FILESDIR}/${PN}-0.8.6-sip5.patch" #820473
+	"${FILESDIR}/${PN}-0.8.9-fix-crash.patch"
+)
+
+RDEPEND="
+	dev-qt/qtcore:5
+	dev-qt/qtgui:5
+	dev-qt/qtwidgets:5
+	python? (
+		${PYTHON_DEPS}
+		$(python_gen_cond_dep '
+			dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+		')
+	)
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+	python? (
+		$(python_gen_cond_dep '
+			>=dev-python/PyQt-builder-1.10[${PYTHON_USEDEP}]
+			>=dev-python/sip-5:=[${PYTHON_USEDEP}]
+		')
+	)
+"
+
+S="${WORKDIR}/${PN}-${EGIT_COMMIT}"
+
+src_prepare() {
+	default
+	sed -i -e '/^unix:DESTDIR/ d' -e "\$atarget.path = /usr/$(get_libdir)" \
+		-e "\$aINSTALLS += target" src/qhexedit.pro \
+		|| die "src/qhexedit.pro: sed failed"
+}
+
+src_configure() {
+	eqmake5 src/qhexedit.pro
+	if use gui; then
+		cd example || die "can't cd example"
+		eqmake5 qhexedit.pro
+	fi
+}
+
+src_compile() {
+	emake
+	use gui && emake -C example
+	if use python; then
+		export PATH="$(qt5_get_bindir):${PATH}"
+		python_build() {
+			pushd ${S} || die
+			sip-build || die
+			popd || die
+		}
+		python_foreach_impl run_in_build_dir python_build
+	fi
+}
+
+src_test() {
+	cd test || die "can't cd test"
+	mkdir logs || die "can't create logs dir"
+	eqmake5 chunks.pro
+	emake
+	./chunks || die "test run failed"
+	grep -q "^NOK" logs/Summary.log && die "test failed"
+}
+
+src_install() {
+	doheader src/*.h
+	dolib.so libqhexedit.so*
+	if use python; then
+		python_install() {
+			pushd ${S}/build || die
+			emake INSTALL_ROOT="${D}" install
+			popd || die
+		}
+		python_foreach_impl run_in_build_dir python_install
+	fi
+	if use gui; then
+		dobin example/qhexedit
+		insinto /usr/share/${PN}/
+		doins example/translations/*.qm
+	fi
+	if use doc; then
+		dodoc -r doc/html
+		dodoc doc/release.txt
+	fi
+}


             reply	other threads:[~2022-05-13 20:04 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-13 20:04 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-01-27 23:22 [gentoo-commits] repo/gentoo:master commit in: app-editors/qhexedit2/files/, app-editors/qhexedit2/ Andreas Sturmlechner
2022-10-25 16:01 Andreas Sturmlechner
2021-10-27  6:50 Sam James
2018-01-04 19:07 Mikle Kolyada

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1652472228.8759771fffe11541f3259bab8b305a0afd142f32.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox