diff options
Diffstat (limited to 'app-editors/qhexedit2')
-rw-r--r-- | app-editors/qhexedit2/Manifest | 2 | ||||
-rw-r--r-- | app-editors/qhexedit2/files/qhexedit2-0.8.6-sip.patch | 35 | ||||
-rw-r--r-- | app-editors/qhexedit2/files/qhexedit2-0.8.6-sip5.patch | 82 | ||||
-rw-r--r-- | app-editors/qhexedit2/files/qhexedit2-0.8.9-fix-crash.patch | 37 | ||||
-rw-r--r-- | app-editors/qhexedit2/metadata.xml | 12 | ||||
-rw-r--r-- | app-editors/qhexedit2/qhexedit2-0.8.6_p20190316.ebuild | 85 | ||||
-rw-r--r-- | app-editors/qhexedit2/qhexedit2-0.8.9_p20210525-r3.ebuild | 108 |
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 +} |