summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Grapentin <andreas@grapentin.org>2018-04-14 08:54:00 +0200
committerAndreas Grapentin <andreas@grapentin.org>2018-04-14 08:54:00 +0200
commit6e1ec90ab6704f7e472566725b524a888d63d2d2 (patch)
tree453c9dc1f659acdcac10ad5b5e91c0e7fb05677b
parent594b6096af00e944e34492e790559d6b5e2c56b5 (diff)
progress towards stage4
-rw-r--r--src/blacklist.txt2
-rw-r--r--src/stage4/patches/avahi.patch27
-rw-r--r--src/stage4/patches/cups-filters.patch12
-rw-r--r--src/stage4/patches/gtkglext.patch12
-rw-r--r--src/stage4/patches/lash.patch55
-rw-r--r--src/stage4/patches/qt4.patch175
-rw-r--r--src/stage4/patches/qt5-base.patch14
7 files changed, 297 insertions, 0 deletions
diff --git a/src/blacklist.txt b/src/blacklist.txt
index 52288ad..a4521ea 100644
--- a/src/blacklist.txt
+++ b/src/blacklist.txt
@@ -8,6 +8,8 @@ gcc-ada:bootstrap needed
gcc-go:libffi patch needed
gcc-objc:libffi patch needed
gcc-objc++:libffi patch needed
+gtk-sharp-2:depends on mono
+gtkglext:build is broken
go:bootstrap needed
jdk7-openjdk:build broken
jre7-openjdk:build broken
diff --git a/src/stage4/patches/avahi.patch b/src/stage4/patches/avahi.patch
new file mode 100644
index 0000000..b08d876
--- /dev/null
+++ b/src/stage4/patches/avahi.patch
@@ -0,0 +1,27 @@
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-04-13 23:45:55.699859289 +0200
++++ b/PKGBUILD 2018-04-14 08:44:27.735796839 +0200
+@@ -11,14 +11,13 @@ url='https://github.com/lathiat/avahi'
+ license=(LGPL)
+ arch=(x86_64)
+ depends=(expat libdaemon glib2 libcap gdbm dbus)
+-makedepends=(git qt4 pygtk mono intltool gtk-sharp-2 gobject-introspection gtk3
++makedepends=(git qt4 pygtk intltool gobject-introspection gtk3
+ xmltoman python-dbus python-gobject doxygen graphviz)
+ optdepends=('gtk3: avahi-discover, avahi-discover-standalone, bshell, bssh, bvnc'
+ 'gtk2: gtk2 bindings'
+ 'qt4: qt4 bindings'
+ 'pygtk: avahi-bookmarks'
+ 'python2-twisted: avahi-bookmarks'
+- 'mono: mono bindings'
+ 'nss-mdns: NSS support for mDNS'
+ 'python-gobject: avahi-discover'
+ 'python-dbus: avahi-discover')
+@@ -50,6 +49,7 @@ build() {
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --sbindir=/usr/bin \
++ --disable-mono \
+ --disable-monodoc \
+ --disable-qt3 \
+ --enable-compat-libdns_sd \
diff --git a/src/stage4/patches/cups-filters.patch b/src/stage4/patches/cups-filters.patch
new file mode 100644
index 0000000..993c373
--- /dev/null
+++ b/src/stage4/patches/cups-filters.patch
@@ -0,0 +1,12 @@
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-04-11 15:51:13.794936255 +0200
++++ b/PKGBUILD 2018-04-11 17:14:15.653464088 +0200
+@@ -14,7 +14,7 @@ url="https://wiki.linuxfoundation.org/op
+ license=('custom')
+ depends=('lcms2' 'poppler' 'qpdf' 'imagemagick' 'liblouis' 'ijs' 'libcups>=2.2.6-2' 'systemd')
+ depends+=('poppler=0.63.0')
+-makedepends=('ghostscript' 'ttf-dejavu' 'python' 'mupdf-tools') # ttf-dejavu for make check
++makedepends=('avahi' 'ghostscript' 'ttf-dejavu' 'python' 'mupdf-tools') # ttf-dejavu for make check
+ optdepends=('ghostscript: for non-PostScript printers to print with CUPS to convert PostScript to raster images'
+ 'foomatic-db: drivers use Ghostscript to convert PostScript to a printable form directly'
+ 'foomatic-db-engine: drivers use Ghostscript to convert PostScript to a printable form directly'
diff --git a/src/stage4/patches/gtkglext.patch b/src/stage4/patches/gtkglext.patch
new file mode 100644
index 0000000..929621e
--- /dev/null
+++ b/src/stage4/patches/gtkglext.patch
@@ -0,0 +1,12 @@
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-04-11 14:52:50.921268248 +0200
++++ b/PKGBUILD 2018-04-11 14:56:52.850245319 +0200
+@@ -10,7 +10,7 @@ arch=('i686' 'x86_64')
+ url="http://gtkglext.sourceforge.net/"
+ license=('LGPL')
+ depends=('gtk2' 'glu' 'libxmu' 'pangox-compat')
+-makedepends=('mesa')
++makedepends=('mesa' 'python')
+ source=("http://downloads.sourceforge.net/sourceforge/gtkglext/${pkgname}-${pkgver}.tar.bz2"
+ 'gtk2.20.patch')
+ md5sums=('ed7ba24ce06a8630c07f2d0ee5f04ab4'
diff --git a/src/stage4/patches/lash.patch b/src/stage4/patches/lash.patch
new file mode 100644
index 0000000..a43fae2
--- /dev/null
+++ b/src/stage4/patches/lash.patch
@@ -0,0 +1,55 @@
+diff -rupN a/04_disable_stacktrace.patch b/04_disable_stacktrace.patch
+--- a/04_disable_stacktrace.patch 1970-01-01 01:00:00.000000000 +0100
++++ b/04_disable_stacktrace.patch 2018-04-11 14:28:53.993404436 +0200
+@@ -0,0 +1,29 @@
++Description: Don't print the stacktrace on segfaults.
++ Fixes FTBFS on armel,powerpc,ia64,alpha.
++Origin: Ubuntu, https://launchpad.net/bugs/647091
++Bug-Ubuntu: https://launchpad.net/bugs/647091
++---
++ lashd/sigsegv.c | 5 +++++
++ 1 file changed, 5 insertions(+)
++
++--- lash.orig/lashd/sigsegv.c
+++++ lash/lashd/sigsegv.c
++@@ -90,6 +90,10 @@ static void signal_segv(int signum, sigi
++ lash_error("info.si_errno = %d", info->si_errno);
++ lash_error("info.si_code = %d (%s)", info->si_code, si_codes[info->si_code]);
++ lash_error("info.si_addr = %p", info->si_addr);
+++
+++#if defined(__arm__) || defined(__aarch64__) || defined(__powerpc__) || defined (__ia64__) || defined (__alpha__) || defined (__FreeBSD_kernel__) || defined(__riscv)
+++ lash_error("No stack trace");
+++#else
++ for(i = 0; i < NGREG; i++)
++ lash_error("reg[%02d] = 0x" REGFORMAT, i, ucontext->uc_mcontext.gregs[i]);
++
++@@ -143,6 +147,7 @@ static void signal_segv(int signum, sigi
++ lash_error("%s", strings[i]);
++ #endif
++ lash_error("End of stack trace");
+++#endif
++ exit (-1);
++ }
++
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-04-11 14:05:43.327536240 +0200
++++ b/PKGBUILD 2018-04-11 14:28:53.988404437 +0200
+@@ -15,13 +15,16 @@ depends=('jack' 'python2')
+ makedepends=('gtk2')
+ optdepends=('gtk2: For lash_panel, lash_save_button and lash_synth')
+ source=("https://download.savannah.gnu.org/releases/lash/${pkgname}-${pkgver}.tar.bz2"
+- "fix-manual-generation.patch")
++ "fix-manual-generation.patch"
++ "04_disable_stacktrace.patch")
+ sha512sums=('704e24ccadccb469e820be5fb58dd4d953a8fc2903cd857a290267a87dda596639ec381d5cb7cdfcd715df7d98d6570e52731bddd17f8a3425edd8b699632401'
+- '25bb9f97bc6ff7543fea39242bc321b40cd35ba042248671e958348f9e250f810ea1e4753918aceba799b0fdd886184af57a7c497796034b999ca8d6b85e1252')
++ '25bb9f97bc6ff7543fea39242bc321b40cd35ba042248671e958348f9e250f810ea1e4753918aceba799b0fdd886184af57a7c497796034b999ca8d6b85e1252'
++ '08dc6ef1aa811cf8709c8fb88868ec4278b3066d25aa53617f43f751f10a918c57222c2e3c1b27f4a3069712d0804dbaa4ba9e1b10f36e8252d76f3ee1cf486f')
+
+ prepare() {
+ cd "${pkgname}-${_relver}"
+ patch -Np0 -i "../fix-manual-generation.patch"
++ patch -Np1 -i "../04_disable_stacktrace.patch"
+ # Python2 fixes
+ export PYTHON="python2"
+ sed -i "s#env python#&2#" clients/lash_control
diff --git a/src/stage4/patches/qt4.patch b/src/stage4/patches/qt4.patch
new file mode 100644
index 0000000..0579794
--- /dev/null
+++ b/src/stage4/patches/qt4.patch
@@ -0,0 +1,175 @@
+diff -rupN a/0001-qt4-riscv.patch b/0001-qt4-riscv.patch
+--- a/0001-qt4-riscv.patch 1970-01-01 01:00:00.000000000 +0100
++++ b/0001-qt4-riscv.patch 2018-04-14 08:01:54.085038868 +0200
+@@ -0,0 +1,130 @@
++
++This patch adds 64Bit RISC-V support to qt 4.8.7. The relevant changes are:
++
++ * configure: correctly detect riscv64 as $CFG_HOST_ARCH
++
++ * src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h: introduce
++ WTF_CPU_RISCV64; and since rv64 requires a 64bit JSValue, set
++ WTF_USE_JSVALUE64 here
++
++ * src/corelib/arch/qatomic_arch.h: use qatomic_generic on rv64
++ * src/corelib/arch/riscv64/arch.pri: likewise
++
++ * src/dbus/qdbusintegrator.cpp: this can not be a const QString since
++ the atomics involved are defined for pointer types, not const pointer
++ types (would require -fpermissive to build on current g++)
++
++ * src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri: add
++ -fpermissive to local build flags to work around an unconditional
++ reinterpret_cast<int32_t> in JSValue.h failing the build in current g++
++ * src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri: likewise
++
++
++
++diff -rupN qt-everywhere-opensource-src-4.8.7-orig/configure qt-everywhere-opensource-src-4.8.7/configure
++--- qt-everywhere-opensource-src-4.8.7-orig/configure 2015-05-07 16:14:56.000000000 +0200
+++++ qt-everywhere-opensource-src-4.8.7/configure 2018-04-13 09:18:38.937791195 +0200
++@@ -3239,6 +3239,12 @@ if [ -z "${CFG_HOST_ARCH}" ]; then
++ fi
++ CFG_HOST_ARCH=powerpc
++ ;;
+++ *:*:riscv64*)
+++ if [ "$OPT_VERBOSE" = "yes" ]; then
+++ echo " 64-bit RISC-V (riscv64)"
+++ fi
+++ CFG_HOST_ARCH=riscv64
+++ ;;
++ *:*:s390*)
++ if [ "$OPT_VERBOSE" = "yes" ]; then
++ echo " IBM S/390 (s390)"
++diff -rupN qt-everywhere-opensource-src-4.8.7-orig/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri qt-everywhere-opensource-src-4.8.7/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri
++--- qt-everywhere-opensource-src-4.8.7-orig/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri 2015-05-07 16:14:47.000000000 +0200
+++++ qt-everywhere-opensource-src-4.8.7/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri 2018-04-11 20:15:06.901435635 +0200
++@@ -66,6 +66,12 @@ contains(JAVASCRIPTCORE_JIT,no) {
++ }
++ }
++
+++# JSValue.h unconditionally casts pointer to int32_t.
+++# add -fpermissive locally as a workaround
+++equals(QT_ARCH, riscv64) {
+++ QMAKE_CXXFLAGS += -fpermissive
+++}
+++
++ wince* {
++ INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/ce-compat
++ SOURCES += $$QT_SOURCE_TREE/src/3rdparty/ce-compat/ce_time.c
++diff -rupN qt-everywhere-opensource-src-4.8.7-orig/src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri
++--- qt-everywhere-opensource-src-4.8.7-orig/src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri 2015-05-07 16:14:45.000000000 +0200
+++++ qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri 2018-04-11 20:15:06.901435635 +0200
++@@ -63,6 +63,12 @@ contains (CONFIG, text_breaking_with_icu
++ DEFINES += WTF_USE_QT_ICU_TEXT_BREAKING=1
++ }
++
+++# JSValue.h unconditionally casts pointer to int32_t.
+++# add -fpermissive locally as a workaround
+++equals(QT_ARCH, riscv64) {
+++ QMAKE_CXXFLAGS += -fpermissive
+++}
+++
++ wince* {
++ INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/ce-compat
++ INCLUDEPATH += $$PWD/../JavaScriptCore/os-win32
++diff -rupN qt-everywhere-opensource-src-4.8.7-orig/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h
++--- qt-everywhere-opensource-src-4.8.7-orig/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h 2015-05-07 16:14:45.000000000 +0200
+++++ qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h 2018-04-11 21:30:33.962006572 +0200
++@@ -369,6 +369,11 @@
++
++ #endif /* ARM */
++
+++/* CPU(RISCV64) - RISC-V 64 */
+++#if defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 64
+++#define WTF_CPU_RISCV64 1
+++#endif
+++
++ #if CPU(ARM) || CPU(MIPS) || CPU(SH4)
++ #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1
++ #endif
++@@ -1003,7 +1008,8 @@
++ || CPU(SPARC64) \
++ || CPU(S390X) \
++ || CPU(PPC64) \
++- || CPU(MIPS64)
+++ || CPU(MIPS64) \
+++ || CPU(RISCV64)
++ #define WTF_USE_JSVALUE64 1
++ #else
++ #define WTF_USE_JSVALUE32_64 1
++diff -rupN qt-everywhere-opensource-src-4.8.7-orig/src/corelib/arch/qatomic_arch.h qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_arch.h
++--- qt-everywhere-opensource-src-4.8.7-orig/src/corelib/arch/qatomic_arch.h 2015-05-07 16:14:48.000000000 +0200
+++++ qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_arch.h 2018-04-11 21:29:43.477011357 +0200
++@@ -94,6 +94,8 @@ QT_BEGIN_HEADER
++ # include "QtCore/qatomic_sh4a.h"
++ #elif defined(QT_ARCH_NACL)
++ # include "QtCore/qatomic_generic.h"
+++#elif defined(QT_ARCH_RISCV64)
+++# include "QtCore/qatomic_generic.h"
++ #else
++ # error "Qt has not been ported to this architecture"
++ #endif
++diff -rupN qt-everywhere-opensource-src-4.8.7-orig/src/corelib/arch/riscv64/arch.pri qt-everywhere-opensource-src-4.8.7/src/corelib/arch/riscv64/arch.pri
++--- qt-everywhere-opensource-src-4.8.7-orig/src/corelib/arch/riscv64/arch.pri 1970-01-01 01:00:00.000000000 +0100
+++++ qt-everywhere-opensource-src-4.8.7/src/corelib/arch/riscv64/arch.pri 2018-04-13 19:45:50.708224556 +0200
++@@ -0,0 +1,6 @@
+++#
+++# RISC-V 64 architecture
+++#
+++
+++unix:SOURCES += ../generic/qatomic_generic_unix.cpp
+++win32:SOURCES += ../generic/qatomic_generic_windows.cpp
++diff -rupN qt-everywhere-opensource-src-4.8.7-orig/src/dbus/qdbusintegrator.cpp qt-everywhere-opensource-src-4.8.7/src/dbus/qdbusintegrator.cpp
++--- qt-everywhere-opensource-src-4.8.7-orig/src/dbus/qdbusintegrator.cpp 2015-05-07 16:14:44.000000000 +0200
+++++ qt-everywhere-opensource-src-4.8.7/src/dbus/qdbusintegrator.cpp 2018-04-12 08:25:56.305279705 +0200
++@@ -73,7 +73,7 @@ QT_BEGIN_NAMESPACE
++ static bool isDebugging;
++ #define qDBusDebug if (!::isDebugging); else qDebug
++
++-Q_GLOBAL_STATIC_WITH_ARGS(const QString, orgFreedesktopDBusString, (QLatin1String(DBUS_SERVICE_DBUS)))
+++Q_GLOBAL_STATIC_WITH_ARGS(QString, orgFreedesktopDBusString, (QLatin1String(DBUS_SERVICE_DBUS)))
++
++ static inline QString dbusServiceString()
++ { return *orgFreedesktopDBusString(); }
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-04-11 18:16:11.410111918 +0200
++++ b/PKGBUILD 2018-04-14 08:01:54.075038868 +0200
+@@ -37,7 +37,8 @@ source=("http://download.qt.io/official_
+ 'disable-sslv3.patch'
+ 'l-qclipboard_fix_recursive.patch'
+ 'l-qclipboard_delay.patch'
+- 'qt4-gcc6.patch' 'qt4-glibc-2.25.patch' 'qt4-icu59.patch' 'qt4-openssl-1.1.patch')
++ 'qt4-gcc6.patch' 'qt4-glibc-2.25.patch' 'qt4-icu59.patch' 'qt4-openssl-1.1.patch'
++ '0001-qt4-riscv.patch')
+ sha256sums=('e2882295097e47fe089f8ac741a95fef47e0a73a3f3cdf21b56990638f626ea0'
+ '157eb47865f0b43e4717819783823c569127a2e9fc48309982ca0f2b753517a1'
+ 'd63f22858174489068c30a12b9115d1b4e23ade00c31c117513212e9a225c1ce'
+@@ -55,7 +56,8 @@ sha256sums=('e2882295097e47fe089f8ac741a
+ '51da49e41edac66559d3ec8dd0a152995a51a53e5d1f63f09fa089a8af7e3112'
+ 'e6555f4a681227447e94e9f14e11626d50b7e5108aad06088311e87063bc0347'
+ '61d6bf45649c728dec5f8d22be5b496ed9d40f52c2c70102696d07133cd1750d'
+- 'ff3ddb5428cd2ff243558dc0c75b35f470077e9204bbc989ddcba04c866c1b68')
++ 'ff3ddb5428cd2ff243558dc0c75b35f470077e9204bbc989ddcba04c866c1b68'
++ '729c09e8bd9f6780420bbbcbe25010a5e577905d008a595ec8ba62c22d26ee7e')
+
+ prepare() {
+ cd ${_pkgfqn}
+@@ -103,6 +105,8 @@ prepare() {
+ # Fix build with OpenSSL 1.1 (Debian + OpenMandriva)
+ patch -p1 -i "$srcdir"/qt4-openssl-1.1.patch
+
++ patch -Np1 -i "$srcdir"/0001-qt4-riscv.patch
++
+ echo "QMAKE_CXXFLAGS += -std=gnu++98" >> src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri
+ echo "QMAKE_CXXFLAGS += -std=gnu++98" >> src/plugins/accessible/qaccessiblebase.pri
+ }
+@@ -137,6 +141,8 @@ build() {
+ -nomake docs \
+ -silent \
+ -no-rpath \
++ -no-pch \
++ -verbose \
+ -optimized-qmake \
+ -no-reduce-relocations \
+ -dbus-linked \
diff --git a/src/stage4/patches/qt5-base.patch b/src/stage4/patches/qt5-base.patch
new file mode 100644
index 0000000..797563e
--- /dev/null
+++ b/src/stage4/patches/qt5-base.patch
@@ -0,0 +1,14 @@
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-04-11 19:21:18.579741607 +0200
++++ b/PKGBUILD 2018-04-14 08:39:46.332823510 +0200
+@@ -89,8 +89,8 @@ build() {
+ -dbus-linked \
+ -system-harfbuzz \
+ -journald \
+- -no-use-gold-linker \
+- -reduce-relocations
++ -no-pch \
++ -no-use-gold-linker
+ make
+ }
+