app-editors/qhexedit2: new package
authorVictor <coyote@bks.tv>
Mon, 1 Jan 2018 19:19:10 +0000 (22:19 +0300)
committerMikle Kolyada <zlogene@gentoo.org>
Thu, 4 Jan 2018 19:06:54 +0000 (22:06 +0300)
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 [new file with mode: 0644]
app-editors/qhexedit2/files/qhexedit2-0.8.4-fixtest.patch [new file with mode: 0644]
app-editors/qhexedit2/files/qhexedit2-0.8.4-setup.py.patch [new file with mode: 0644]
app-editors/qhexedit2/metadata.xml [new file with mode: 0644]
app-editors/qhexedit2/qhexedit2-0.8.4.ebuild [new file with mode: 0644]

diff --git a/app-editors/qhexedit2/Manifest b/app-editors/qhexedit2/Manifest
new file mode 100644 (file)
index 0000000..961c901
--- /dev/null
@@ -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 (file)
index 0000000..339ef99
--- /dev/null
@@ -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 (file)
index 0000000..83d9183
--- /dev/null
@@ -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 (file)
index 0000000..3f610e0
--- /dev/null
@@ -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>coyote@bks.tv</email>
+        <name>Victor Kustov</name>
+        <description>Proxied-maintainer. Assign bugs to him</description>
+    </maintainer>
+    <maintainer type="person">
+        <email>zlogene@gentoo.org</email>
+        <name>Mikle Kolyada</name>
+    </maintainer>
+    <maintainer type="person">
+        <email>maksbotan@gentoo.org</email>
+        <name>Maxim Koltsov</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>
+    <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 (file)
index 0000000..07dccd9
--- /dev/null
@@ -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
+}