diff options
author | Andreas Grapentin <andreas@grapentin.org> | 2018-04-14 08:54:00 +0200 |
---|---|---|
committer | Andreas Grapentin <andreas@grapentin.org> | 2018-04-14 08:54:00 +0200 |
commit | 6e1ec90ab6704f7e472566725b524a888d63d2d2 (patch) | |
tree | 453c9dc1f659acdcac10ad5b5e91c0e7fb05677b | |
parent | 594b6096af00e944e34492e790559d6b5e2c56b5 (diff) |
progress towards stage4
-rw-r--r-- | src/blacklist.txt | 2 | ||||
-rw-r--r-- | src/stage4/patches/avahi.patch | 27 | ||||
-rw-r--r-- | src/stage4/patches/cups-filters.patch | 12 | ||||
-rw-r--r-- | src/stage4/patches/gtkglext.patch | 12 | ||||
-rw-r--r-- | src/stage4/patches/lash.patch | 55 | ||||
-rw-r--r-- | src/stage4/patches/qt4.patch | 175 | ||||
-rw-r--r-- | src/stage4/patches/qt5-base.patch | 14 |
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 + } + |