diff options
-rw-r--r-- | app-editors/qhexedit2/files/qhexedit2-0.8.6_p20190316-sip5.patch | 82 | ||||
-rw-r--r-- | app-editors/qhexedit2/qhexedit2-0.8.6_p20190316-r1.ebuild | 86 |
2 files changed, 168 insertions, 0 deletions
diff --git a/app-editors/qhexedit2/files/qhexedit2-0.8.6_p20190316-sip5.patch b/app-editors/qhexedit2/files/qhexedit2-0.8.6_p20190316-sip5.patch new file mode 100644 index 000000000000..837c2af211fb --- /dev/null +++ b/app-editors/qhexedit2/files/qhexedit2-0.8.6_p20190316-sip5.patch @@ -0,0 +1,82 @@ +https://github.com/Simsys/qhexedit2/pull/137 +https://src.fedoraproject.org/rpms/qhexedit2/blob/rawhide/f/sip5.patch +https://bugs.gentoo.org/815133 + +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", "PyQt-builder", "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/qhexedit2-0.8.6_p20190316-r1.ebuild b/app-editors/qhexedit2/qhexedit2-0.8.6_p20190316-r1.ebuild new file mode 100644 index 000000000000..5fcee894a760 --- /dev/null +++ b/app-editors/qhexedit2/qhexedit2-0.8.6_p20190316-r1.ebuild @@ -0,0 +1,86 @@ +# 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 ~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_p20190316-sip5.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 +} |