commit:     af2ab4a3e7880cb7a5605080e5c17a136d889765
Author:     Victor <coyote <AT> bks <DOT> tv>
AuthorDate: Mon Jan  1 19:19:10 2018 +0000
Commit:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Thu Jan  4 19:06:54 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=af2ab4a3

app-editors/qhexedit2: new package

QHexEdit is a hex editor widget written in C++ for the Qt5 framework.
Used by ponyprog2000.

Package-Manager: Portage-2.3.13, Repoman-2.3.3
Closes: https://github.com/gentoo/gentoo/pull/6728

 app-editors/qhexedit2/Manifest                     |  1 +
 .../qhexedit2/files/qhexedit2-0.8.4-fixtest.patch  | 12 ++++
 .../qhexedit2/files/qhexedit2-0.8.4-setup.py.patch | 11 +++
 app-editors/qhexedit2/metadata.xml                 | 33 +++++++++
 app-editors/qhexedit2/qhexedit2-0.8.4.ebuild       | 83 ++++++++++++++++++++++
 5 files changed, 140 insertions(+)

diff --git a/app-editors/qhexedit2/Manifest b/app-editors/qhexedit2/Manifest
new file mode 100644
index 00000000000..961c901f02e
--- /dev/null
+++ b/app-editors/qhexedit2/Manifest
@@ -0,0 +1 @@
+DIST qhexedit2-0.8.4.tar.gz 340766 BLAKE2B 
af24031fdd9f8d677f7e8ab8fd69667852dd971db30f5406b9aaaa08bf7f2dc692c87e99c141f355adc82c8226b5b29f53ce07ba63656d866f8688cb2cbc67f2
 SHA512 
8ed831d75c8ec1897dfd7ef497423908b26b0f56e6577928ed035654e52b437f64edd61cfcc1de6eaf5d1f29f9dc97da84d2edd7f427e3c09c9d75d7bc6504ff

diff --git a/app-editors/qhexedit2/files/qhexedit2-0.8.4-fixtest.patch 
b/app-editors/qhexedit2/files/qhexedit2-0.8.4-fixtest.patch
new file mode 100644
index 00000000000..339ef99477e
--- /dev/null
+++ b/app-editors/qhexedit2/files/qhexedit2-0.8.4-fixtest.patch
@@ -0,0 +1,12 @@
+--- qhexedit2-0.8.4/test/testchunks.cpp-       2017-01-17 02:32:54.000000000 
+0300
++++ qhexedit2-0.8.4/test/testchunks.cpp        2018-01-03 21:34:24.988555308 
+0300
+@@ -1,8 +1,7 @@
+ #include "testchunks.h"
+ #include <cstdlib>
+
+-
+-TestChunks::TestChunks(QTextStream &log, QString tName, int size, bool 
random, int saveFile)
++TestChunks::TestChunks(QTextStream &log, QString tName, int size, bool 
random, int saveFile): _chunks(nullptr)
+ {
+     char hex[] = "0123456789abcdef";
+     srand(0);

diff --git a/app-editors/qhexedit2/files/qhexedit2-0.8.4-setup.py.patch 
b/app-editors/qhexedit2/files/qhexedit2-0.8.4-setup.py.patch
new file mode 100644
index 00000000000..83d9183fcdb
--- /dev/null
+++ b/app-editors/qhexedit2/files/qhexedit2-0.8.4-setup.py.patch
@@ -0,0 +1,11 @@
+--- qhexedit2-0.8.4/setup.py-  2018-01-02 19:40:57.542961661 +0300
++++ qhexedit2-0.8.4/setup.py   2017-01-17 02:32:54.000000000 +0300
+@@ -98,7 +98,7 @@
+                                       lib + ".framework", "Headers")]
+ else:
+     if PyQt_Version == 'PyQt5':
+-        for qt_inc_dir in ('/usr/include/qt', 
'/usr/include/x86_64-linux-gnu/qt5'):
++        for qt_inc_dir in ('/usr/include/qt', '/usr/include/qt5'):
+             include_dirs.append(qt_inc_dir)
+             include_dirs += [os.path.join(qt_inc_dir, lib) for lib in qt_libs]
+         libraries = ["Qt5" + lib[2:] for lib in qt_libs]

diff --git a/app-editors/qhexedit2/metadata.xml 
b/app-editors/qhexedit2/metadata.xml
new file mode 100644
index 00000000000..3f610e098d9
--- /dev/null
+++ b/app-editors/qhexedit2/metadata.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+    <maintainer type="person">
+        <email>[email protected]</email>
+        <name>Victor Kustov</name>
+        <description>Proxied-maintainer. Assign bugs to him</description>
+    </maintainer>
+    <maintainer type="person">
+        <email>[email protected]</email>
+        <name>Mikle Kolyada</name>
+    </maintainer>
+    <maintainer type="person">
+        <email>[email protected]</email>
+        <name>Maxim Koltsov</name>
+    </maintainer>
+    <maintainer type="project">
+        <email>[email protected]</email>
+        <name>Proxy Maintainers</name>
+    </maintainer>
+    <use>
+        <flag name="gui">Install Qt5 hex editor</flag>
+    </use>
+    <longdescription lang="en">
+        QHexEdit is a hex editor widget written in C++ for the Qt5 framework.
+        It is a simple editor for binary data, and has bindings to PyQt
+        with python 2 and 3.
+    </longdescription>
+    <upstream>
+        <remote-id type="github">lancos/qhexedit2</remote-id>
+        <remote-id type="github">Simsys/qhexedit2</remote-id>
+    </upstream>
+</pkgmetadata>

diff --git a/app-editors/qhexedit2/qhexedit2-0.8.4.ebuild 
b/app-editors/qhexedit2/qhexedit2-0.8.4.ebuild
new file mode 100644
index 00000000000..07dccd9847e
--- /dev/null
+++ b/app-editors/qhexedit2/qhexedit2-0.8.4.ebuild
@@ -0,0 +1,83 @@
+# Copyright 2017-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python{2_7,3_5,3_6} )
+
+DISTUTILS_OPTIONAL=1
+
+inherit distutils-r1 qmake-utils
+
+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/v${PV}.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}/${P}-fixtest.patch"
+       "${FILESDIR}/${P}-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[${PYTHON_USEDEP}]
+                       ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+
+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
+       if use gui; then
+               cd example || die "can't cd example"
+               emake
+       fi
+}
+
+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
+       use python && distutils-r1_src_install
+       use gui && dobin example/qhexedit
+       if use doc; then
+               dodoc -r doc/html
+               dodoc doc/release.txt
+       fi
+}

Reply via email to