2
0
mirror of https://codeberg.org/kiss-community/repo synced 2024-07-04 15:02:27 +00:00

falkon: New package at 3.1.0

This commit is contained in:
Dylan Araps 2020-01-17 23:33:45 +02:00
parent de2a203b44
commit d9a8c5ff78
No known key found for this signature in database
GPG Key ID: 46D62DD9F1DE636E
28 changed files with 303 additions and 9 deletions

View File

@ -0,0 +1,9 @@
#!/bin/sh -e
export DESTDIR="$1"
cmake -B build \
-DCMAKE_INSTALL_PREFIX=/usr
cmake --build build
cmake --install build

View File

@ -0,0 +1 @@
2ff1a4ede28488ea787e742ab37edaacc5f59bf9188476e48f681ce23300b9c4 extra-cmake-modules-5.66.0.tar.xz

View File

@ -0,0 +1 @@
qt5

View File

@ -0,0 +1 @@
http://download.kde.org/stable/frameworks/5.66/extra-cmake-modules-5.66.0.tar.xz

View File

@ -0,0 +1 @@
5.66.0 1

22
testing/falkon/build Executable file
View File

@ -0,0 +1,22 @@
#!/bin/sh -e
export DESTDIR="$1"
patch -p1 < 0001-falkon-no-execinfo.patch
# Get rid of i18n.
rm -rf po poqm
# Fix missing include in latest Qt.
sed -i 's/\(Settings>\)/\1\n#include <QFile>/' \
src/plugins/VerticalTabs/verticaltabsplugin.cpp
cmake -B build \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=/usr/lib \
-DCMAKE_SHARED_LIBS=True \
-DCMAKE_BUILD_TYPE=Release \
-DDISABLE_DBUS=ON
cmake --build build
cmake --install build

2
testing/falkon/checksums Normal file
View File

@ -0,0 +1,2 @@
ce743cd80c0e2d525a784e29c9b487f73480119b0567f9ce8ef1f44cca527587 falkon-3.1.0.tar.xz
37734210642c99c6f4b047bbf15fb208348fdd6564b2fcf674e282505770c983 0001-falkon-no-execinfo.patch

5
testing/falkon/depends Normal file
View File

@ -0,0 +1,5 @@
extra-cmake-modules make
cmake make
qt5-qtwebengine
qt5-webchannel
qt5-x11extras

View File

@ -0,0 +1,115 @@
From 66d6e81e2336f60d2513159cbff5f3d33b74d83d Mon Sep 17 00:00:00 2001
From: David Rosca <nowrep@gmail.com>
Date: Mon, 22 Apr 2019 09:46:39 +0200
Subject: [PATCH] main: Remove backtrace handler
---
src/main/main.cpp | 81 -----------------------------------------------
1 file changed, 81 deletions(-)
diff --git a/src/main/main.cpp b/src/main/main.cpp
index c1af1b6f..3315ef25 100644
--- a/src/main/main.cpp
+++ b/src/main/main.cpp
@@ -17,84 +17,9 @@
* ============================================================ */
#include "mainapplication.h"
#include "proxystyle.h"
-#include "datapaths.h"
-#include <QMessageBox> // For QT_REQUIRE_VERSION
#include <iostream>
-#if defined(Q_OS_LINUX) || defined(__GLIBC__) || defined(__FreeBSD__) || defined(__HAIKU__)
-#include <signal.h>
-#include <execinfo.h>
-
-#include <QDir>
-#include <QDateTime>
-#include <QTextStream>
-#include <QWebEnginePage>
-
-void falkon_signal_handler(int s)
-{
- if (s != SIGSEGV) {
- return;
- }
-
- static bool sigSegvServed = false;
- if (sigSegvServed) {
- abort();
- }
- sigSegvServed = true;
-
- std::cout << "Falkon: Crashed :( Saving backtrace in " << qPrintable(DataPaths::path(DataPaths::Config)) << "/crashlog ..." << std::endl;
-
- void* array[100];
- int size = backtrace(array, 100);
- char** strings = backtrace_symbols(array, size);
-
- if (size < 0 || !strings) {
- std::cout << "Cannot get backtrace!" << std::endl;
- abort();
- }
-
- QDir dir(DataPaths::path(DataPaths::Config));
- if (!dir.exists()) {
- std::cout << qPrintable(DataPaths::path(DataPaths::Config)) << " does not exist" << std::endl;
- abort();
- }
-
- if (!dir.cd("crashlog")) {
- if (!dir.mkdir("crashlog")) {
- std::cout << "Cannot create " << qPrintable(DataPaths::path(DataPaths::Config)) << "crashlog directory!" << std::endl;
- abort();
- }
-
- dir.cd("crashlog");
- }
-
- const QDateTime currentDateTime = QDateTime::currentDateTime();
-
- QFile file(dir.absoluteFilePath("Crash-" + currentDateTime.toString(Qt::ISODate) + ".txt"));
- if (!file.open(QFile::WriteOnly | QFile::Truncate)) {
- std::cout << "Cannot open file " << qPrintable(file.fileName()) << " for writing!" << std::endl;
- abort();
- }
-
- QTextStream stream(&file);
- stream << "Time: " << currentDateTime.toString() << endl;
- stream << "Qt version: " << qVersion() << " (compiled with " << QT_VERSION_STR << ")" << endl;
- stream << "Falkon version: " << Qz::VERSION << endl;
- stream << "Rendering engine: QtWebEngine" << endl;
- stream << endl;
- stream << "============== BACKTRACE ==============" << endl;
-
- for (int i = 0; i < size; ++i) {
- stream << "#" << i << ": " << strings[i] << endl;
- }
-
- file.close();
-
- std::cout << "Backtrace successfully saved in " << qPrintable(dir.absoluteFilePath(file.fileName())) << std::endl;
-}
-#endif // defined(Q_OS_LINUX) || defined(__GLIBC__) || defined(__FreeBSD__)
-
#ifndef Q_OS_WIN
void msgHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
@@ -123,16 +48,10 @@ void msgHandler(QtMsgType type, const QMessageLogContext &context, const QString
int main(int argc, char* argv[])
{
- QT_REQUIRE_VERSION(argc, argv, "5.8.0");
-
#ifndef Q_OS_WIN
qInstallMessageHandler(&msgHandler);
#endif
-#if defined(Q_OS_LINUX) || defined(__GLIBC__) || defined(__FreeBSD__)
- signal(SIGSEGV, falkon_signal_handler);
-#endif
-
// Hack to fix QT_STYLE_OVERRIDE with QProxyStyle
const QByteArray style = qgetenv("QT_STYLE_OVERRIDE");
if (!style.isEmpty()) {

2
testing/falkon/sources Normal file
View File

@ -0,0 +1,2 @@
https://download.kde.org/stable/falkon/3.1/falkon-3.1.0.tar.xz
patches/0001-falkon-no-execinfo.patch

1
testing/falkon/version Normal file
View File

@ -0,0 +1 @@
3.1.0 1

View File

@ -25,6 +25,11 @@ sed -i '/execinfo.h/d' \
sed -i '/use_udev/s/=.*/=false/' \
src/3rdparty/chromium/build/config/features.gni
# The build fails if qtwebengine is already installed.
find . -name '*.pr[fio]' | while read -r file; do
sed -i "s#INCLUDEPATH += #&\$\$QTWEBENGINE_ROOT/include #" "$file"
done
qmake QMAKE_CXXFLAGS=-DQT_NO_ACCESSIBILITY -- \
-feature-webengine-system-ninja \
-feature-webengine-system-zlib \
@ -35,10 +40,10 @@ qmake QMAKE_CXXFLAGS=-DQT_NO_ACCESSIBILITY -- \
-feature-webengine-system-opus \
-feature-webengine-system-libwebp \
-feature-webengine-system-ffmpeg \
-feature-webengine-proprietary-codecs \
-no-feature-webengine-system-icu \
-no-feature-webengine-system-glib \
-no-feature-webengine-webrtc \
-no-feature-webengine-proprietary-codecs
-no-feature-webengine-webrtc
make
make install INSTALL_ROOT="$1"

View File

@ -16,3 +16,4 @@ fe8057b83f02f19e169faa9e4e6ebd11a4e3ba33453ea46df6672293edf9dd09 0022-chromium-
bd58ef5468799716187e0783c9c0a595eeb17ac619104c35b456c58350cf9b3e 0023-chromium-musl-pread-pwrite.patch
2924bd45f2ca95aa19d303b55368cc72041a2367b233ea6b69c2febf856518f5 0030-chromium-musl-execinfo.patch
6022046c7dd937c2d063fa93632cf9ffd8ce894b422bf14c10815eb7b346b20c 0031-chromium-musl-portable-msghdr.patch
7276899529f28acf8acf60bf9b808238f28a4162f427176ee9d72a8ddbabcd3f 0032-chromium-musl-sandbox.patch

View File

@ -16,5 +16,6 @@ nss
python2 make
qt5
qt5-declarative
qt5-webchannel
samurai make
zlib

View File

@ -0,0 +1,112 @@
diff --git a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
index 348ab6e8c..4550f9e8d 100644
--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
+++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
@@ -139,21 +139,11 @@ namespace sandbox {
// present (as in newer versions of posix_spawn).
ResultExpr RestrictCloneToThreadsAndEPERMFork() {
const Arg<unsigned long> flags(0);
-
- // TODO(mdempsky): Extend DSL to support (flags & ~mask1) == mask2.
- const uint64_t kAndroidCloneMask = CLONE_VM | CLONE_FS | CLONE_FILES |
- CLONE_SIGHAND | CLONE_THREAD |
- CLONE_SYSVSEM;
- const uint64_t kObsoleteAndroidCloneMask = kAndroidCloneMask | CLONE_DETACHED;
-
- const uint64_t kGlibcPthreadFlags =
- CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_THREAD |
- CLONE_SYSVSEM | CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID;
- const BoolExpr glibc_test = flags == kGlibcPthreadFlags;
-
- const BoolExpr android_test =
- AnyOf(flags == kAndroidCloneMask, flags == kObsoleteAndroidCloneMask,
- flags == kGlibcPthreadFlags);
+ const int required = CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND |
+ CLONE_THREAD | CLONE_SYSVSEM;
+ const int safe = CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID |
+ CLONE_DETACHED;
+ const BoolExpr thread_clone_ok = (flags&~safe)==required;
// The following two flags are the two important flags in any vfork-emulating
// clone call. EPERM any clone call that contains both of them.
@@ -163,7 +153,7 @@ ResultExpr RestrictCloneToThreadsAndEPERMFork() {
AnyOf((flags & (CLONE_VM | CLONE_THREAD)) == 0,
(flags & kImportantCloneVforkFlags) == kImportantCloneVforkFlags);
- return If(IsAndroid() ? android_test : glibc_test, Allow())
+ return If(thread_clone_ok, Allow())
.ElseIf(is_fork_or_clone_vfork, Error(EPERM))
.Else(CrashSIGSYSClone());
}
diff --git a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
index 7dbcc8752..782be7840 100644
--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
+++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
@@ -391,6 +391,7 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) {
#if defined(__i386__)
case __NR_waitpid:
#endif
+ case __NR_set_tid_address:
return true;
case __NR_clone: // Should be parameter-restricted.
case __NR_setns: // Privileged.
@@ -403,7 +404,6 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) {
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__)
case __NR_set_thread_area:
#endif
- case __NR_set_tid_address:
case __NR_unshare:
#if !defined(__mips__) && !defined(__aarch64__)
case __NR_vfork:
@@ -513,6 +513,8 @@ bool SyscallSets::IsAllowedAddressSpaceAccess(int sysno) {
case __NR_mlock:
case __NR_munlock:
case __NR_munmap:
+ case __NR_mremap:
+ case __NR_membarrier:
return true;
case __NR_madvise:
case __NR_mincore:
@@ -530,7 +532,6 @@ bool SyscallSets::IsAllowedAddressSpaceAccess(int sysno) {
case __NR_modify_ldt:
#endif
case __NR_mprotect:
- case __NR_mremap:
case __NR_msync:
case __NR_munlockall:
case __NR_readahead:
diff --git a/src/3rdparty/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h b/src/3rdparty/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h
index 349504aee..ea3c7c91d 100644
--- a/src/3rdparty/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h
+++ b/src/3rdparty/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h
@@ -1290,5 +1290,9 @@
#define __NR_memfd_create 319
#endif
+#if !defined(__NR_membarrier)
+#define __NR_membarrier 324
+#endif
+
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_64_LINUX_SYSCALLS_H_
diff --git a/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_renderer_policy_linux.cc b/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_renderer_policy_linux.cc
index 017f13cf7..5cfdb7a09 100644
--- a/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_renderer_policy_linux.cc
+++ b/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_renderer_policy_linux.cc
@@ -88,10 +88,16 @@ ResultExpr RendererProcessPolicy::EvaluateSyscall(int sysno) const {
case __NR_sysinfo:
case __NR_times:
case __NR_uname:
+#if !defined(__GLIBC__)
+ case __NR_sched_getparam:
+ case __NR_sched_getscheduler:
+#endif
return Allow();
case __NR_sched_getaffinity:
+#if defined(__GLIBC__)
case __NR_sched_getparam:
case __NR_sched_getscheduler:
+#endif
case __NR_sched_setscheduler:
return sandbox::RestrictSchedTarget(GetPolicyPid(), sysno);
case __NR_prlimit64:

View File

@ -16,3 +16,4 @@ patches/0022-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch
patches/0023-chromium-musl-pread-pwrite.patch
patches/0030-chromium-musl-execinfo.patch
patches/0031-chromium-musl-portable-msghdr.patch
patches/0032-chromium-musl-sandbox.patch

6
testing/qt5-webchannel/build Executable file
View File

@ -0,0 +1,6 @@
#!/bin/sh -e
qmake
make
make INSTALL_ROOT="$1" install

View File

@ -0,0 +1 @@
0cb8dd07b34da8d44f8a14701409ce87fce5010f9b57273b357717c2dfd35383 qtwebchannel-everywhere-src-5.14.0.tar.xz

View File

@ -0,0 +1 @@
qt5-declarative

View File

@ -0,0 +1 @@
https://download.qt.io/official_releases/qt/5.14/5.14.0/submodules/qtwebchannel-everywhere-src-5.14.0.tar.xz

View File

@ -0,0 +1 @@
5.14.0 1

6
testing/qt5-x11extras/build Executable file
View File

@ -0,0 +1,6 @@
#!/bin/sh -e
qmake
make
make INSTALL_ROOT="$1" install

View File

@ -0,0 +1 @@
7a06de3b49d34b72fa773800f049c06c04c51eb3440833779f1e9300a94947b1 qtx11extras-everywhere-src-5.14.0.tar.xz

View File

@ -0,0 +1 @@
qt5

View File

@ -0,0 +1 @@
https://download.qt.io/official_releases/qt/5.14/5.14.0/submodules/qtx11extras-everywhere-src-5.14.0.tar.xz

View File

@ -0,0 +1 @@
5.14.0 1

View File

@ -24,8 +24,7 @@
-system-sqlite \
-system-zlib \
-system-freetype \
-system-harfbuzz \
-system-xcb
-system-harfbuzz
make
make INSTALL_ROOT="$1" install

View File

@ -14,9 +14,4 @@ mesa
mtdev
perl make
sqlite
xcb-util
xcb-util-image
xcb-util-keysyms
xcb-util-renderutil
xcb-util-wm
zlib