Package: src:phantomjs
Version: 1.6.0-2
Severity: serious
Tags: patch
this packages ftbfs just about everywhere (excepts amd64, i386, armel
and armhf) since google_breakpad is not really buildable there.
Reading around the source (expecially src/breakpad.cpp) I'd say
phantomjs can deal just fine if breakpad is not available there. With
this belief I wrote the attached patch, which enables the inclusion of
breakpad only in those 4 archs (x86_64, i386 and arm in QT_ARCH lingo,
seems).
Not that I'm not a Qt guy, so I did the following weird things (it
works, though!):
* used QT_ARCH. I'm not really sure if this is the right variable to
use, I saw also different ones while googling for this issue
* couldn't find a nice way to say ((this or this) and (this or this))
in the qmake syntax, so I falled back in nesting curly brackets...
Turns also out that this failure is keeping in the archive the ancient
python-pyphantomjs, which depends on python-support, that I'm trying to
kick, and since I prefer fixing packages instead of breaking them, here
you go.
Please tell me if you want to me to just upload it (might actually be a
huge improvment compared to the current buildable state...).
--
regards,
Mattia Rizzolo
GPG Key: 66AE 2B4A FCCF 3F52 DA18 4D18 4B04 3FCD B944 4540 .''`.
more about me: http://mapreri.org : :' :
Launchpad user: https://launchpad.net/~mapreri `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia `-
Description: enable google_breakpad only on amd64, i386, armel, armhf.
breakpad is really unsuitable on other architectures, and phantomjs works
fine anyway
Author: Mattia Rizzolo
Forwarded: no
Last-Update: 2015-12-22
--- a/src/phantomjs.pro
+++ b/src/phantomjs.pro
@@ -64,16 +64,18 @@
include(linenoise/linenoise.pri)
include(qcommandline/qcommandline.pri)
-linux*|mac|openbsd* {
+linux*|mac|openbsd* { equals(QT_ARCH, x86_64)|equals(QT_ARCH,
i386)|equals(QT_ARCH, arm) {
INCLUDEPATH += breakpad/src
SOURCES += breakpad/src/client/minidump_file_writer.cc \
breakpad/src/common/convert_UTF.c \
breakpad/src/common/md5.cc \
breakpad/src/common/string_conversion.cc
-}
-linux* {
+DEFINES += USE_BREAKPAD=1
+}}
+
+linux* { equals(QT_ARCH, x86_64)|equals(QT_ARCH, i386)|contains(QT_ARCH, arm) {
SOURCES +=
breakpad/src/client/linux/crash_generation/crash_generation_client.cc \
breakpad/src/client/linux/handler/exception_handler.cc \
breakpad/src/client/linux/log/log.cc \
@@ -84,7 +86,7 @@
breakpad/src/common/linux/guid_creator.cc \
breakpad/src/common/linux/memory_mapped_file.cc \
breakpad/src/common/linux/safe_readlink.cc
-}
+}}
mac {
SOURCES +=
breakpad/src/client/mac/crash_generation/crash_generation_client.cc \
--- a/src/crashdump.cpp
+++ b/src/crashdump.cpp
@@ -37,6 +37,7 @@
#include
#include
+#ifdef USE_BREAKPAD
#ifdef Q_OS_LINUX
#include "client/linux/handler/exception_handler.h"
#define HAVE_BREAKPAD
@@ -58,6 +59,7 @@
#define MDC_PATH_ARG const wchar_t*
#define MDC_EXTRA_ARGS void*, EXCEPTION_POINTERS*, MDRawAssertionInfo*
#endif
+#endif // USE_BREAKPAD
#ifdef HAVE_BREAKPAD
signature.asc
Description: PGP signature