summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-editors/qhexedit2')
-rw-r--r--app-editors/qhexedit2/Manifest2
-rw-r--r--app-editors/qhexedit2/files/qhexedit2-0.8.6-sip.patch35
-rw-r--r--app-editors/qhexedit2/files/qhexedit2-0.8.6-sip5.patch82
-rw-r--r--app-editors/qhexedit2/files/qhexedit2-0.8.9-fix-crash.patch37
-rw-r--r--app-editors/qhexedit2/metadata.xml12
-rw-r--r--app-editors/qhexedit2/qhexedit2-0.8.6_p20190316.ebuild85
-rw-r--r--app-editors/qhexedit2/qhexedit2-0.8.9_p20210525-r3.ebuild108
7 files changed, 269 insertions, 92 deletions
diff --git a/app-editors/qhexedit2/Manifest b/app-editors/qhexedit2/Manifest
index 31427cf34c3b..98fe22b61571 100644
--- a/app-editors/qhexedit2/Manifest
+++ b/app-editors/qhexedit2/Manifest
@@ -1 +1 @@
-DIST qhexedit2-0.8.6_p20190316.tar.gz 355512 BLAKE2B a7edc8d05a7788f3a3f2202762ca3dc436cafbde1b1216ff1bb342055600a2e9d53c27fe324380331b8182904545c698106129238065cd2416d244fdfa176446 SHA512 4ef288c8a220c308d38c41fee83fe962e213cdfa448445ef73c3d2fe1952b68f2096732e78d2aa0a87eddd3cf2f47bed3e77807e12d2b7616c1447b3bf1b0e7d
+DIST qhexedit2-0.8.9_p20210525.tar.gz 342178 BLAKE2B baffe5b5e1130476162f23a91420cc86675a162c39539c9f07685cecc82571817625202814006221f96b56e94c0325fd7a6d8f2294041b426054f809c9967bad SHA512 d8a5159433a1212085371473cc7a89c4888c6af6b1416a34e3ea9d1ef9ae19411af32bea2e2fb256a024d6f2d05c733d285314cfc17f37dae065d7407a9c0d2c
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 b21f150a2481..f7e7eb3ae5ad 100644
--- a/app-editors/qhexedit2/metadata.xml
+++ b/app-editors/qhexedit2/metadata.xml
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>ktrace@yandex.ru</email>
- <name>Victor Kustov</name>
+ <maintainer type="person">
+ <email>vowstar@gmail.com</email>
+ <name>Huang Rui</name>
</maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
</maintainer>
<use>
<flag name="gui">Install Qt5 hex editor</flag>
diff --git a/app-editors/qhexedit2/qhexedit2-0.8.6_p20190316.ebuild b/app-editors/qhexedit2/qhexedit2-0.8.6_p20190316.ebuild
deleted file mode 100644
index a1d8c2148607..000000000000
--- a/app-editors/qhexedit2/qhexedit2-0.8.6_p20190316.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-
-DISTUTILS_OPTIONAL=1
-
-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"
-)
-
-RDEPEND="
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- python? (
- dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
- <dev-python/sip-5[${PYTHON_USEDEP}]
- ${PYTHON_DEPS}
- )
-"
-DEPEND="${RDEPEND}"
-
-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"
- use python && distutils-r1_src_prepare
-}
-
-src_configure() {
- eqmake5 src/qhexedit.pro
- if use gui; then
- cd example || die "can't cd example"
- eqmake5 qhexedit.pro
- fi
-}
-
-src_compile() {
- default
- use python && distutils-r1_src_compile
- use gui && emake -C example
-}
-
-python_compile() {
- use python && distutils-r1_python_compile build_ext --library-dirs="${S}"
-}
-
-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() {
- emake INSTALL_ROOT="${D}" install
- doheader src/*.h
- use python && distutils-r1_src_install
- use gui && dobin example/qhexedit
- if use doc; then
- dodoc -r doc/html
- dodoc doc/release.txt
- fi
-}
diff --git a/app-editors/qhexedit2/qhexedit2-0.8.9_p20210525-r3.ebuild b/app-editors/qhexedit2/qhexedit2-0.8.9_p20210525-r3.ebuild
new file mode 100644
index 000000000000..8d04bc22466a
--- /dev/null
+++ b/app-editors/qhexedit2/qhexedit2-0.8.9_p20210525-r3.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit python-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"
+
+S="${WORKDIR}/${PN}-${EGIT_COMMIT}"
+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
+ media-libs/libglvnd
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ >=dev-python/PyQt5-5.15.6[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}]
+ ')
+ )
+"
+
+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
+}