commit: b26e5a664b0300b7c50b259849b5946fa78a4ec5 Author: Huang Rui <vowstar <AT> gmail <DOT> com> AuthorDate: Sat May 8 19:40:22 2021 +0000 Commit: Andrew Ammerlaan <andrewammerlaan <AT> riseup <DOT> net> CommitDate: Sat May 8 19:40:22 2021 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=b26e5a66
sci-electronics/dsview: fix gcc-11 compile * fix extern-c error when compile * fix qt compile error * fix segfault * remove useless patches Closes: https://bugs.gentoo.org/787674 Package-Manager: Portage-3.0.18, Repoman-3.0.3 Signed-off-by: Huang Rui <vowstar <AT> gmail.com> sci-electronics/dsview/dsview-1.12.ebuild | 13 +++---- sci-electronics/dsview/dsview-9999.ebuild | 11 ++---- .../dsview/files/dsview-1.12-fix-extern-c.patch | 42 ++++++++++++++++++++++ .../dsview/files/dsview-1.12-fix-qt.patch | 13 +++++++ .../dsview/files/dsview-1.12-fix-segfault.patch | 22 ++++++++++++ 5 files changed, 86 insertions(+), 15 deletions(-) diff --git a/sci-electronics/dsview/dsview-1.12.ebuild b/sci-electronics/dsview/dsview-1.12.ebuild index ad5e51153..dbcb96bbc 100644 --- a/sci-electronics/dsview/dsview-1.12.ebuild +++ b/sci-electronics/dsview/dsview-1.12.ebuild @@ -47,9 +47,11 @@ DEPEND=" " PATCHES=( - "${FILESDIR}"/${PN}-1.01-viewport.patch - "${FILESDIR}"/${PN}-1.12-desktop.patch - "${FILESDIR}"/${PN}-1.12-cmake.patch + "${FILESDIR}"/${P}-desktop.patch + "${FILESDIR}"/${P}-cmake.patch + "${FILESDIR}"/${P}-fix-qt.patch + "${FILESDIR}"/${P}-fix-segfault.patch + "${FILESDIR}"/${P}-fix-extern-c.patch ) src_prepare() { @@ -79,10 +81,9 @@ src_configure() { src_compile() { cd "${S}/libsigrok4DSL" || die - emake DESTDIR="${D}" + emake cd "${S}/libsigrokdecode4DSL" || die - emake DESTDIR="${D}" - cd "${S}" + emake } src_install() { diff --git a/sci-electronics/dsview/dsview-9999.ebuild b/sci-electronics/dsview/dsview-9999.ebuild index ad5e51153..98b14e640 100644 --- a/sci-electronics/dsview/dsview-9999.ebuild +++ b/sci-electronics/dsview/dsview-9999.ebuild @@ -46,12 +46,6 @@ DEPEND=" ${RDEPEND} " -PATCHES=( - "${FILESDIR}"/${PN}-1.01-viewport.patch - "${FILESDIR}"/${PN}-1.12-desktop.patch - "${FILESDIR}"/${PN}-1.12-cmake.patch -) - src_prepare() { export CC="$(tc-getCC)" export AR="$(tc-getAR)" @@ -79,10 +73,9 @@ src_configure() { src_compile() { cd "${S}/libsigrok4DSL" || die - emake DESTDIR="${D}" + emake cd "${S}/libsigrokdecode4DSL" || die - emake DESTDIR="${D}" - cd "${S}" + emake } src_install() { diff --git a/sci-electronics/dsview/files/dsview-1.12-fix-extern-c.patch b/sci-electronics/dsview/files/dsview-1.12-fix-extern-c.patch new file mode 100644 index 000000000..f3e537c87 --- /dev/null +++ b/sci-electronics/dsview/files/dsview-1.12-fix-extern-c.patch @@ -0,0 +1,42 @@ +diff --git a/DSView/pv/data/decode/annotation.cpp b/DSView/pv/data/decode/annotation.cpp +index c433a28..7f23e36 100755 +--- a/DSView/pv/data/decode/annotation.cpp ++++ b/DSView/pv/data/decode/annotation.cpp +@@ -19,9 +19,7 @@ + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +-extern "C" { + #include <libsigrokdecode4DSL/libsigrokdecode.h> +-} + + #include <vector> + #include <assert.h> +diff --git a/DSView/pv/view/decodetrace.cpp b/DSView/pv/view/decodetrace.cpp +index ad943ac..733497f 100755 +--- a/DSView/pv/view/decodetrace.cpp ++++ b/DSView/pv/view/decodetrace.cpp +@@ -19,9 +19,7 @@ + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +-extern "C" { + #include <libsigrokdecode4DSL/libsigrokdecode.h> +-} + + #include <extdef.h> + +diff --git a/DSView/pv/widgets/decodergroupbox.cpp b/DSView/pv/widgets/decodergroupbox.cpp +index 79d3cd8..80c4c44 100755 +--- a/DSView/pv/widgets/decodergroupbox.cpp ++++ b/DSView/pv/widgets/decodergroupbox.cpp +@@ -18,9 +18,7 @@ + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ +-extern "C" { + #include <libsigrokdecode4DSL/libsigrokdecode.h> +-} + + #include "decodergroupbox.h" + #include "../data/decoderstack.h" diff --git a/sci-electronics/dsview/files/dsview-1.12-fix-qt.patch b/sci-electronics/dsview/files/dsview-1.12-fix-qt.patch new file mode 100644 index 000000000..bebf8c84a --- /dev/null +++ b/sci-electronics/dsview/files/dsview-1.12-fix-qt.patch @@ -0,0 +1,13 @@ +diff --git a/DSView/pv/view/viewport.cpp b/DSView/pv/view/viewport.cpp +index 921d3db..16cdce9 100755 +--- a/DSView/pv/view/viewport.cpp ++++ b/DSView/pv/view/viewport.cpp +@@ -37,7 +37,7 @@ + + #include <QMouseEvent> + #include <QStyleOption> +- ++#include <QPainterPath> + + #include <math.h> + diff --git a/sci-electronics/dsview/files/dsview-1.12-fix-segfault.patch b/sci-electronics/dsview/files/dsview-1.12-fix-segfault.patch new file mode 100644 index 000000000..353d234f5 --- /dev/null +++ b/sci-electronics/dsview/files/dsview-1.12-fix-segfault.patch @@ -0,0 +1,22 @@ +diff --git a/libsigrokdecode4DSL/instance.c b/libsigrokdecode4DSL/instance.c +index 5ede710..5d96701 100755 +--- a/libsigrokdecode4DSL/instance.c ++++ b/libsigrokdecode4DSL/instance.c +@@ -370,6 +370,8 @@ SRD_API struct srd_decoder_inst *srd_inst_new(struct srd_session *sess, + } + } + ++ gstate = PyGILState_Ensure(); ++ + /* + * Prepare a default channel map, where samples come in the + * order in which the decoder class defined them. +@@ -389,8 +391,6 @@ SRD_API struct srd_decoder_inst *srd_inst_new(struct srd_session *sess, + /* Default to the initial pins being the same as in sample 0. */ + oldpins_array_seed(di); + +- gstate = PyGILState_Ensure(); +- + /* Create a new instance of this decoder class. */ + if (!(di->py_inst = PyObject_CallObject(dec->py_dec, NULL))) { + if (PyErr_Occurred())