disable whole qt5 set due to issues with qt5-qtbase

Will check later what can be done with these packages...
This commit is contained in:
Leonid Pliushch 2021-10-25 21:45:04 +03:00 committed by Yaksh Bariya
parent 4df90ddabc
commit 86b47ee746
No known key found for this signature in database
GPG Key ID: F7486BA7D3D27581
133 changed files with 0 additions and 5059 deletions

View File

@ -1,10 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://github.com/tsujan/Arqiver
TERMUX_PKG_DESCRIPTION="A simple Qt archiver manager based on libarchive"
TERMUX_PKG_LICENSE="GPL-3.0"
TERMUX_PKG_MAINTAINER="Yisus7u7"
TERMUX_PKG_VERSION=0.8.0
TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://github.com/tsujan/Arqiver/releases/download/V${TERMUX_PKG_VERSION}/Arqiver-${TERMUX_PKG_VERSION}.tar.xz
TERMUX_PKG_SHA256=96e1f02236fdf38bad0221aa94b732313d93f2c9be2f062085a56cfc23d61897
TERMUX_PKG_DEPENDS="hicolor-icon-theme, qt5-qtbase, qt5-qtsvg, qt5-qtx11extras, libarchive, bsdtar, zip"
TERMUX_PKG_BUILD_DEPENDS="qt5-qtbase-cross-tools, qt5-qttools-cross-tools"

View File

@ -1,12 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://audacious-media-player.org
TERMUX_PKG_DESCRIPTION="Plugins for Audacious"
TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=4.1
TERMUX_PKG_REVISION=3
TERMUX_PKG_SRCURL=https://distfiles.audacious-media-player.org/audacious-plugins-${TERMUX_PKG_VERSION}.tar.bz2
TERMUX_PKG_SHA256=dad6fc625055349d589e36e8e5c8ae7dfafcddfe96894806509696d82bb61d4c
TERMUX_PKG_DEPENDS="audacious, qt5-qtbase, qt5-qtmultimedia, qt5-qtx11extras, zlib, libflac, libcue, libcurl, mpg123, libogg, libsndfile, libsoxr, libvorbis, libxrender, libxcomposite, ffmpeg"
TERMUX_PKG_BUILD_DEPENDS="qt5-qtbase-cross-tools"
TERMUX_PKG_BUILD_IN_SRC=true
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-gtk --disable-wavpack --disable-qtglspectrum --disable-neon"

View File

@ -1,16 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://audacious-media-player.org
TERMUX_PKG_DESCRIPTION="An advanced audio player"
TERMUX_PKG_LICENSE="BSD"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=4.1
TERMUX_PKG_REVISION=3
TERMUX_PKG_SRCURL=https://distfiles.audacious-media-player.org/audacious-${TERMUX_PKG_VERSION}.tar.bz2
TERMUX_PKG_SHA256=1f58858f9789e867c513b5272987f13bdfb09332b03c2814ad4c6e29f525e35c
TERMUX_PKG_DEPENDS="qt5-qtbase, dbus-glib"
TERMUX_PKG_BUILD_DEPENDS="qt5-qtbase-cross-tools"
TERMUX_PKG_RECOMMENDS="audacious-plugins"
# Audacious out-of-source build doesn't seem to work
TERMUX_PKG_BUILD_IN_SRC=true
# Audacious has switched to Qt toolkit and it's the default GUI option now
# Disable GTK to reduce the size and dependencies
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--enable-qt --disable-gtk"

View File

@ -1,22 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://github.com/ThiBsc/debpac
TERMUX_PKG_DESCRIPTION="A Debian package creator assistant"
TERMUX_PKG_LICENSE="GPL-3.0"
TERMUX_PKG_MAINTAINER="Yisus7u7 <jesuspixel5@gmail.com>"
TERMUX_PKG_VERSION=1.7
TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL="https://github.com/ThiBsc/debpac/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz"
TERMUX_PKG_SHA256=402f9dfcc739fb64666832f1a0d5b47295c900a22232150af4cc069b420515c9
TERMUX_PKG_DEPENDS="qt5-qtbase, qt5-qtsvg"
TERMUX_PKG_BUILD_DEPENDS="qt5-qtbase-cross-tools, qt5-qttools-cross-tools"
TERMUX_PKG_BUILD_IN_SRC=true
termux_step_configure () {
"${TERMUX_PREFIX}/opt/qt/cross/bin/qmake" \
-spec "${TERMUX_PREFIX}/lib/qt/mkspecs/termux-cross" \
PREFIX="${TERMUX_PREFIX}"
}
termux_step_make_install () {
cd ${TERMUX_PKG_SRCDIR}
install -Dm700 -t ${TERMUX_PREFIX}/bin ./debpac
}

View File

@ -1,13 +0,0 @@
diff --git a/debpac.pro b/debpac.pro
index 96c2353..dac466c 100644
--- a/debpac.pro
+++ b/debpac.pro
@@ -5,7 +5,7 @@
#-------------------------------------------------
QT += core gui
-
+DEFINES += USE_TERMUX_PATH
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
QMAKE_CXXFLAGS += -std=c++11

View File

@ -1,11 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://github.com/tsujan/FeatherNotes
TERMUX_PKG_DESCRIPTION="Lightweight Qt Notes-Manager for Linux"
TERMUX_PKG_LICENSE="GPL-3.0"
TERMUX_PKG_MAINTAINER="Yisus7u7"
TERMUX_PKG_VERSION=0.9.0
TERMUX_PKG_REVISION=1
_COMMIT=087f522d62deed421b40d8fe96d66ecef0f38bf3
TERMUX_PKG_SRCURL=https://github.com/tsujan/FeatherNotes/archive/${_COMMIT}.zip
TERMUX_PKG_SHA256=cca635e42322b66e539908be36e12b760d6739c9ee5bef4136c10518068ae7b0
TERMUX_PKG_DEPENDS="hicolor-icon-theme, qt5-qtbase, qt5-qtsvg, qt5-qtx11extras, hunspell, libx11"
TERMUX_PKG_BUILD_DEPENDS="qt5-qtbase-cross-tools, qt5-qttools-cross-tools"

View File

@ -1,11 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://github.com/tsujan/FeatherPad
TERMUX_PKG_DESCRIPTION="Lightweight Qt Plain-Text Editor"
TERMUX_PKG_LICENSE="GPL-3.0"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=0.18.0
TERMUX_PKG_REVISION=4
TERMUX_PKG_SRCURL=https://github.com/tsujan/FeatherPad/releases/download/V${TERMUX_PKG_VERSION}/FeatherPad-${TERMUX_PKG_VERSION}.tar.xz
TERMUX_PKG_SHA256=f95c5494451890eefa7177022b065648b0633d5096715ae7f47c2cc7d784aec8
TERMUX_PKG_DEPENDS="hicolor-icon-theme, qt5-qtbase, qt5-qtsvg, qt5-qtx11extras, hunspell"
TERMUX_PKG_BUILD_DEPENDS="qt5-qtbase-cross-tools, qt5-qttools-cross-tools"

View File

@ -1,10 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://www.kde.org/
TERMUX_PKG_DESCRIPTION="Qt 5 addon providing access to numerous types of archives (KDE)"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=5.71.0
TERMUX_PKG_REVISION=3
TERMUX_PKG_SRCURL="http://download.kde.org/stable/frameworks/${TERMUX_PKG_VERSION%.*}/karchive-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=cc81e856365dec2bcf3ec78aa01d42347ca390a2311ea12050f309dfbdb09624
TERMUX_PKG_DEPENDS="qt5-qtbase, zlib, liblzma, libbz2"
TERMUX_PKG_BUILD_DEPENDS="extra-cmake-modules, qt5-qtbase-cross-tools"

View File

@ -1,10 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://www.kde.org/
TERMUX_PKG_DESCRIPTION="Framework which lets applications perform actions as a privileged user (KDE)"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=5.71.0
TERMUX_PKG_REVISION=3
TERMUX_PKG_SRCURL="http://download.kde.org/stable/frameworks/${TERMUX_PKG_VERSION%.*}/kauth-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=a0de83bd662e20253011216ab8cba597f8db7429f8706237e7307580125025b5
TERMUX_PKG_DEPENDS="qt5-qtbase, kcoreaddons"
TERMUX_PKG_BUILD_DEPENDS="extra-cmake-modules, qt5-qtbase-cross-tools, qt5-qttools-cross-tools"

View File

@ -1,10 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://www.kde.org/
TERMUX_PKG_DESCRIPTION="Method collection to manipulate strings using various encodings (KDE)"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=5.71.0
TERMUX_PKG_REVISION=3
TERMUX_PKG_SRCURL="http://download.kde.org/stable/frameworks/${TERMUX_PKG_VERSION%.*}/kcodecs-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=3392c4df652e3a44a2b941ccb419dee9521642e503104de403ec1c6be9f43a28
TERMUX_PKG_DEPENDS="qt5-qtbase"
TERMUX_PKG_BUILD_DEPENDS="extra-cmake-modules, qt5-qtbase-cross-tools, qt5-qttools-cross-tools"

View File

@ -1,10 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://www.kde.org/
TERMUX_PKG_DESCRIPTION="Advanced configuration system (KDE)"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=5.71.0
TERMUX_PKG_REVISION=3
TERMUX_PKG_SRCURL="http://download.kde.org/stable/frameworks/${TERMUX_PKG_VERSION%.*}/kconfig-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=618ff0d168abf8fb73dc83431b9a76f7859d522bea100ff07c7e1632e129e3f4
TERMUX_PKG_DEPENDS="qt5-qtbase"
TERMUX_PKG_BUILD_DEPENDS="extra-cmake-modules, qt5-qtbase-cross-tools, qt5-qttools-cross-tools"

View File

@ -1,24 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://www.kde.org/
TERMUX_PKG_DESCRIPTION="Utilities for core application functionality and accessing the OS (KDE)"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=5.71.0
TERMUX_PKG_REVISION=4
TERMUX_PKG_SRCURL="http://download.kde.org/stable/frameworks/${TERMUX_PKG_VERSION%.*}/kcoreaddons-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=e95008b032e299cf47f596739d9236701e2f55e507734f33b8ea497882fd130b
TERMUX_PKG_DEPENDS="qt5-qtbase, shared-mime-info"
TERMUX_PKG_BUILD_DEPENDS="extra-cmake-modules, qt5-qtbase-cross-tools, qt5-qttools-cross-tools"
# Keep share/mime/packages/kde5.xml only which would trigger an update after installation
TERMUX_PKG_RM_AFTER_INSTALL="
share/mime/a*
share/mime/font
share/mime/g*
share/mime/i*
share/mime/m*
share/mime/subclasses
share/mime/t*
share/mime/v*
share/mime/x*
share/mime/XMLnamespaces
"

View File

@ -1,13 +0,0 @@
--- src/src/lib/util/kuser_unix.cpp 2021-05-19 15:27:34.057310497 +0100
+++ src.mod/src/lib/util/kuser_unix.cpp 2021-05-19 15:27:55.301184843 +0100
@@ -25,10 +25,6 @@
#if defined(__BIONIC__) && __ANDROID_API__ < 26
static inline struct passwd * getpwent() { return nullptr; }
inline void setpwent() { }
-static inline void setgrent() { }
-static inline struct group * getgrent() { return nullptr; }
-inline void endpwent() { }
-static inline void endgrent() { }
#endif
class Q_DECL_HIDDEN KUser::Private : public QSharedData

View File

@ -1,15 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://keepassxc.org/
TERMUX_PKG_DESCRIPTION="Cross-platform community-driven port of Keepass password manager"
TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION=2.6.6
TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL="https://github.com/keepassxreboot/keepassxc/releases/download/${TERMUX_PKG_VERSION}/keepassxc-${TERMUX_PKG_VERSION}-src.tar.xz"
TERMUX_PKG_SHA256=3603b11ac39b289c47fac77fa150e05fd64b393d8cfdf5732dc3ef106650a4e2
TERMUX_PKG_DEPENDS="argon2, libcurl, libgcrypt, libqrencode, libsodium, libxtst, qt5-qtbase, qt5-qtsvg, qt5-qtx11extras"
TERMUX_PKG_BUILD_DEPENDS="qt5-qtbase-cross-tools, qt5-qttools-cross-tools"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
-DWITH_XC_NETWORKING=ON
-DWITH_XC_SSHAGENT=ON
-DWITH_XC_UPDATECHECK=OFF
"

View File

@ -1,14 +0,0 @@
diff -uNr keepassxc-2.6.6/src/core/FileWatcher.cpp keepassxc-2.6.6.mod/src/core/FileWatcher.cpp
--- keepassxc-2.6.6/src/core/FileWatcher.cpp 2021-06-12 05:13:52.000000000 +0300
+++ keepassxc-2.6.6.mod/src/core/FileWatcher.cpp 2021-07-25 20:21:11.853398555 +0300
@@ -47,8 +47,9 @@
#if defined(Q_OS_LINUX)
struct statfs statfsBuf;
bool forcePolling = false;
+#ifndef NFS_SUPER_MAGIC
const auto NFS_SUPER_MAGIC = 0x6969;
-
+#endif
if (!statfs(filePath.toLocal8Bit().constData(), &statfsBuf)) {
forcePolling = (statfsBuf.f_type == NFS_SUPER_MAGIC);
} else {

View File

@ -1,31 +0,0 @@
diff -uNr keepassxc-2.6.6/src/gui/entry/EntryView.cpp keepassxc-2.6.6.mod/src/gui/entry/EntryView.cpp
--- keepassxc-2.6.6/src/gui/entry/EntryView.cpp 2021-06-12 05:13:52.000000000 +0300
+++ keepassxc-2.6.6.mod/src/gui/entry/EntryView.cpp 2021-07-25 20:39:53.910034225 +0300
@@ -18,7 +18,7 @@
#include "EntryView.h"
-#include <QAccessible>
+#include <QCoreApplication>
#include <QHeaderView>
#include <QKeyEvent>
#include <QMenu>
@@ -150,18 +150,15 @@
int last = m_model->rowCount() - 1;
if (last > 0) {
- QAccessibleEvent accessibleEvent(this, QAccessible::PageChanged);
if (event->key() == Qt::Key_Up && currentIndex().row() == 0) {
QModelIndex index = m_sortModel->mapToSource(m_sortModel->index(last, 0));
setCurrentEntry(m_model->entryFromIndex(index));
- QAccessible::updateAccessibility(&accessibleEvent);
return;
}
if (event->key() == Qt::Key_Down && currentIndex().row() == last) {
QModelIndex index = m_sortModel->mapToSource(m_sortModel->index(0, 0));
setCurrentEntry(m_model->entryFromIndex(index));
- QAccessible::updateAccessibility(&accessibleEvent);
return;
}
}

View File

@ -1,15 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://www.kde.org/
TERMUX_PKG_DESCRIPTION="The KDE GUI Add-ons"
TERMUX_PKG_LICENSE="LGPL-2.1-or-later"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=5.71.0
TERMUX_PKG_REVISION=4
TERMUX_PKG_SRCURL="http://download.kde.org/stable/frameworks/${TERMUX_PKG_VERSION%.*}/${TERMUX_PKG_NAME}-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=c1f7bf540a689319962275916c0434f47ba5ed8f7d46a78704393163e32eccd2
TERMUX_PKG_DEPENDS="qt5-qtbase, qt5-qtx11extras"
TERMUX_PKG_BUILD_DEPENDS="extra-cmake-modules"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DCMAKE_INSTALL_PREFIX=${TERMUX_PREFIX}"
termux_step_install_license() {
install -Dm644 "${TERMUX_PKG_SRCDIR}/LICENSES/LGPL-2.0-or-later.txt" "${TERMUX_PREFIX}/share/doc/${TERMUX_PKG_NAME}/LICENSE"
}

View File

@ -1,10 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://www.kde.org/
TERMUX_PKG_DESCRIPTION="KDE Gettext-based UI text internationalization"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=5.71.0
TERMUX_PKG_REVISION=6
TERMUX_PKG_SRCURL="http://download.kde.org/stable/frameworks/${TERMUX_PKG_VERSION%.*}/ki18n-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=f2fc8c40c10576da8b74070b7dc8e752fdd04204cb2bfe522f37a0458fbaf881
TERMUX_PKG_DEPENDS="qt5-qtbase, gettext"
TERMUX_PKG_BUILD_DEPENDS="extra-cmake-modules, python, qt5-qtbase-cross-tools, qt5-qtdeclarative"

View File

@ -1,11 +0,0 @@
--- ../src-CMakeLists.txt.orig 2021-10-15 17:34:25.460656823 +0000
+++ ./src/CMakeLists.txt 2021-10-15 17:34:39.275431640 +0000
@@ -60,8 +60,6 @@
REQUIRED_HEADERS KI18n_HEADERS
)
-find_package(PythonModuleGeneration)
-
if (PythonModuleGeneration_FOUND)
ecm_generate_python_binding(
TARGET KF5::I18n

View File

@ -1,92 +0,0 @@
From 9ea169167bb792b5128e707dbb76e4f659dc22e2 Mon Sep 17 00:00:00 2001
From: Wolfgang Bauer <wbauer@tmo.at>
Date: Tue, 9 Jun 2020 08:27:30 +0200
Subject: [PATCH] Revert "Watch for language change events, and forward those
to the QML engine"
This reverts commit 9b7cae898ed7d9b58e65035b8216ec6ff78bfa17.
It causes several KCMs to crash, with Qt 5.12 at least.
References: boo#1167690, kde#419008
---
src/kirigamiplugin.cpp | 33 ---------------------------------
src/kirigamiplugin.h | 5 -----
2 files changed, 38 deletions(-)
diff --git a/src/kirigamiplugin.cpp b/src/kirigamiplugin.cpp
index acdefbc4..4670eb86 100644
--- a/src/kirigamiplugin.cpp
+++ b/src/kirigamiplugin.cpp
@@ -50,33 +50,6 @@ class CopyHelperPrivate : public QObject
}
};
-// we can't do this in the plugin object directly, as that can live in a different thread
-// and event filters are only allowed in the same thread as the filtered object
-class LanguageChangeEventFilter : public QObject
-{
- Q_OBJECT
-public:
- bool eventFilter(QObject *receiver, QEvent *event) override
- {
- if (event->type() == QEvent::LanguageChange && receiver == QCoreApplication::instance()) {
- emit languageChangeEvent();
- }
- return QObject::eventFilter(receiver, event);
- }
-
-Q_SIGNALS:
- void languageChangeEvent();
-};
-
-KirigamiPlugin::KirigamiPlugin(QObject *parent)
- : QQmlExtensionPlugin(parent)
-{
- auto filter = new LanguageChangeEventFilter;
- filter->moveToThread(QCoreApplication::instance()->thread());
- QCoreApplication::instance()->installEventFilter(filter);
- connect(filter, &LanguageChangeEventFilter::languageChangeEvent, this, &KirigamiPlugin::languageChangeEvent);
-}
-
QUrl KirigamiPlugin::componentUrl(const QString &fileName) const
{
for (const QString &style : qAsConst(m_stylesFallbackChain)) {
@@ -266,10 +239,4 @@ void KirigamiPlugin::registerTypes(const char *uri)
qmlProtectModule(uri, 2);
}
-void KirigamiPlugin::initializeEngine(QQmlEngine *engine, const char *uri)
-{
- Q_UNUSED(uri);
- connect(this, &KirigamiPlugin::languageChangeEvent, engine, &QQmlEngine::retranslate);
-}
-
#include "kirigamiplugin.moc"
diff --git a/src/kirigamiplugin.h b/src/kirigamiplugin.h
index 22279421..caa95f1e 100644
--- a/src/kirigamiplugin.h
+++ b/src/kirigamiplugin.h
@@ -20,9 +20,7 @@ class KirigamiPlugin : public QQmlExtensionPlugin
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
public:
- KirigamiPlugin(QObject *parent = nullptr);
void registerTypes(const char *uri) override;
- void initializeEngine(QQmlEngine *engine, const char *uri) override;
#ifdef KIRIGAMI_BUILD_TYPE_STATIC
static KirigamiPlugin& getInstance()
@@ -39,9 +37,6 @@ public:
}
#endif
-Q_SIGNALS:
- void languageChangeEvent();
-
private:
QUrl componentUrl(const QString &fileName) const;
QString resolveFilePath(const QString &path) const
--
2.26.2

View File

@ -1,10 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://www.kde.org/
TERMUX_PKG_DESCRIPTION="KDE Kirigami2 QtQuick components based on Qt Quick Controls 2"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=5.71.0
TERMUX_PKG_REVISION=4
TERMUX_PKG_SRCURL="http://download.kde.org/stable/frameworks/${TERMUX_PKG_VERSION%.*}/kirigami2-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=f323efb96a809dc9e572a0e68e04c4f485fc27f9ae65ffa3988830e348151356
TERMUX_PKG_DEPENDS="qt5-qtbase, qt5-qtdeclarative, qt5-qtquickcontrols2, qt5-qtsvg"
TERMUX_PKG_BUILD_DEPENDS="extra-cmake-modules, qt5-qtbase-cross-tools, qt5-qttools-cross-tools"

View File

@ -1,20 +0,0 @@
--- src/src/colorutils.cpp 2020-06-07 19:29:04.000000000 +0100
+++ src.mod/src/colorutils.cpp 2021-05-19 13:29:45.054114359 +0100
@@ -8,6 +8,7 @@
#include <QIcon>
#include <QtMath>
+#include <QDebug>
#include <cmath>
#include <map>
--- src/src/shadowedrectangle.h 2020-06-07 19:29:04.000000000 +0100
+++ src.mod/src/shadowedrectangle.h 2021-05-19 13:29:03.678325202 +0100
@@ -8,6 +8,7 @@
#include <memory>
#include <QQuickItem>
+#include <QColor>
class PaintedRectangleItem;

View File

@ -1,190 +0,0 @@
Qt on Termux doesn't have OpenGL. This dirty patch comments out all OpenGL related code so
it can be compiled. However, this means the Kirigami 2 might not function completely or
correctly.
--- src/src/scenegraph/shadowedrectanglematerial.cpp 2021-05-19 13:40:06.865745704 +0100
+++ src.mod/src/scenegraph/shadowedrectanglematerial.cpp 2021-05-19 13:41:00.549263960 +0100
@@ -6,7 +6,9 @@
#include "shadowedrectanglematerial.h"
+#ifndef __ANDROID__
#include <QOpenGLContext>
+#endif
QSGMaterialType ShadowedRectangleMaterial::staticType;
@@ -43,6 +45,7 @@
ShadowedRectangleShader::ShadowedRectangleShader()
{
+#ifndef __ANDROID__
auto header = QOpenGLContext::currentContext()->isOpenGLES() ? QStringLiteral("header_es.glsl") : QStringLiteral("header_desktop.glsl");
auto shaderRoot = QStringLiteral(":/org/kde/kirigami/shaders/");
@@ -57,6 +60,7 @@
shaderRoot + QStringLiteral("sdf.glsl"),
shaderRoot + QStringLiteral("shadowedrectangle.frag")
});
+#endif
}
const char *const * ShadowedRectangleShader::attributeNames() const
@@ -68,6 +72,7 @@
void ShadowedRectangleShader::initialize()
{
QSGMaterialShader::initialize();
+#ifndef __ANDROID__
m_matrixLocation = program()->uniformLocation("matrix");
m_aspectLocation = program()->uniformLocation("aspect");
m_opacityLocation = program()->uniformLocation("opacity");
@@ -76,10 +81,12 @@
m_colorLocation = program()->uniformLocation("color");
m_shadowColorLocation = program()->uniformLocation("shadowColor");
m_offsetLocation = program()->uniformLocation("offset");
+#endif
}
void ShadowedRectangleShader::updateState(const QSGMaterialShader::RenderState& state, QSGMaterial* newMaterial, QSGMaterial* oldMaterial)
{
+#ifndef __ANDROID__
auto p = program();
if (state.isMatrixDirty()) {
@@ -99,4 +106,5 @@
p->setUniformValue(m_shadowColorLocation, material->shadowColor);
p->setUniformValue(m_offsetLocation, material->offset);
}
+#endif
}
--- src/src/scenegraph/shadowedrectanglematerial.h 2021-05-19 13:40:06.865745704 +0100
+++ src.mod/src/scenegraph/shadowedrectanglematerial.h 2021-05-19 13:33:30.284974868 +0100
@@ -9,6 +9,7 @@
#include <QSGMaterial>
#include <QSGMaterialShader>
#include <QColor>
+#include <QVector2D>
/**
* A material rendering a rectangle with a shadow.
--- src/src/scenegraph/shadowedborderrectanglematerial.cpp 2020-06-07 19:29:04.000000000 +0100
+++ src.mod/src/scenegraph/shadowedborderrectanglematerial.cpp 2021-05-19 13:47:43.418072767 +0100
@@ -6,7 +6,9 @@
#include "shadowedborderrectanglematerial.h"
+#ifndef __ANDROID__
#include <QOpenGLContext>
+#endif
QSGMaterialType ShadowedBorderRectangleMaterial::staticType;
@@ -42,6 +44,7 @@
ShadowedBorderRectangleShader::ShadowedBorderRectangleShader()
{
+#ifndef __ANDROID__
auto header = QOpenGLContext::currentContext()->isOpenGLES() ? QStringLiteral("header_es.glsl") : QStringLiteral("header_desktop.glsl");
auto shaderRoot = QStringLiteral(":/org/kde/kirigami/shaders/");
@@ -51,19 +54,23 @@
shaderRoot + QStringLiteral("sdf.glsl"),
shaderRoot + QStringLiteral("shadowedborderrectangle.frag")
});
+#endif
}
void ShadowedBorderRectangleShader::initialize()
{
ShadowedRectangleShader::initialize();
+#ifndef __ANDROID__
m_borderWidthLocation = program()->uniformLocation("borderWidth");
m_borderColorLocation = program()->uniformLocation("borderColor");
+#endif
}
void ShadowedBorderRectangleShader::updateState(const QSGMaterialShader::RenderState& state, QSGMaterial* newMaterial, QSGMaterial* oldMaterial)
{
ShadowedRectangleShader::updateState(state, newMaterial, oldMaterial);
+#ifndef __ANDROID__
auto p = program();
if (!oldMaterial || newMaterial->compare(oldMaterial) != 0 || state.isCachedMaterialDataDirty()) {
@@ -71,4 +78,5 @@
p->setUniformValue(m_borderWidthLocation, material->borderWidth);
p->setUniformValue(m_borderColorLocation, material->borderColor);
}
+#endif
}
--- src/src/scenegraph/shadowedtexturematerial.cpp 2020-06-07 19:29:04.000000000 +0100
+++ src.mod/src/scenegraph/shadowedtexturematerial.cpp 2021-05-19 13:50:42.636813685 +0100
@@ -6,7 +6,9 @@
#include "shadowedtexturematerial.h"
+#ifndef __ANDROID__
#include <QOpenGLContext>
+#endif
QSGMaterialType ShadowedTextureMaterial::staticType;
@@ -44,6 +46,7 @@
ShadowedTextureShader::ShadowedTextureShader()
{
+#ifndef __ANDROID__
auto header = QOpenGLContext::currentContext()->isOpenGLES() ? QStringLiteral("header_es.glsl") : QStringLiteral("header_desktop.glsl");
auto shaderRoot = QStringLiteral(":/org/kde/kirigami/shaders/");
@@ -58,12 +61,15 @@
shaderRoot + QStringLiteral("sdf.glsl"),
shaderRoot + QStringLiteral("shadowedtexture.frag")
});
+#endif
}
void ShadowedTextureShader::initialize()
{
ShadowedRectangleShader::initialize();
+#ifndef __ANDROID__
program()->setUniformValue("textureSource", 0);
+#endif
}
void ShadowedTextureShader::updateState(const QSGMaterialShader::RenderState& state, QSGMaterial* newMaterial, QSGMaterial* oldMaterial)
--- src/src/scenegraph/shadowedbordertexturematerial.cpp 2020-06-07 19:29:04.000000000 +0100
+++ src.mod/src/scenegraph/shadowedbordertexturematerial.cpp 2021-05-19 13:52:35.692051057 +0100
@@ -6,7 +6,9 @@
#include "shadowedbordertexturematerial.h"
+#ifndef __ANDROID__
#include <QOpenGLContext>
+#endif
QSGMaterialType ShadowedBorderTextureMaterial::staticType;
@@ -44,6 +46,7 @@
ShadowedBorderTextureShader::ShadowedBorderTextureShader()
{
+#ifndef __ANDROID__
auto header = QOpenGLContext::currentContext()->isOpenGLES() ? QStringLiteral("header_es.glsl") : QStringLiteral("header_desktop.glsl");
auto shaderRoot = QStringLiteral(":/org/kde/kirigami/shaders/");
@@ -58,12 +61,15 @@
shaderRoot + QStringLiteral("sdf.glsl"),
shaderRoot + QStringLiteral("shadowedbordertexture.frag")
});
+#endif
}
void ShadowedBorderTextureShader::initialize()
{
ShadowedBorderRectangleShader::initialize();
+#ifndef __ANDROID__
program()->setUniformValue("textureSource", 0);
+#endif
}
void ShadowedBorderTextureShader::updateState(const QSGMaterialShader::RenderState& state, QSGMaterial* newMaterial, QSGMaterial* oldMaterial)

View File

@ -1,39 +0,0 @@
--- src/CMakeLists.txt 2020-06-07 19:29:04.000000000 +0100
+++ src.mod/CMakeLists.txt 2021-05-19 13:56:28.854533182 +0100
@@ -98,23 +98,16 @@
)
#use dbus on linux, bsd etc, but not andoid and apple stuff
-if (UNIX AND NOT ANDROID AND NOT(APPLE) AND NOT(DISABLE_DBUS))
+if (UNIX AND NOT(APPLE) AND NOT(DISABLE_DBUS))
find_package(Qt5DBus)
add_definitions(-DKIRIGAMI_ENABLE_DBUS)
endif()
-if(BUILD_EXAMPLES AND ANDROID)
- find_package(Qt5AndroidExtras ${REQUIRED_QT_VERSION} REQUIRED)
-endif()
-
-
ecm_find_qmlmodule(QtGraphicalEffects 1.0)
add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050d00)
add_subdirectory(src)
-if (NOT ANDROID)
- add_subdirectory(templates)
-endif()
+add_subdirectory(templates)
if (BUILD_EXAMPLES AND BUILD_SHARED_LIBS)
add_subdirectory(examples)
--- src/src/libkirigami/CMakeLists.txt 2020-06-07 19:29:04.000000000 +0100
+++ src.mod/src/libkirigami/CMakeLists.txt 2021-05-19 13:59:42.909309847 +0100
@@ -8,7 +8,7 @@
)
#use dbus on linux, bsd etc, but not andoid and apple stuff
-if (UNIX AND NOT ANDROID AND NOT(APPLE) AND NOT(DISABLE_DBUS))
+if (UNIX AND NOT(APPLE) AND NOT(DISABLE_DBUS))
qt5_add_dbus_interface(libkirigami_SRCS org.kde.KWin.TabletModeManager.xml tabletmodemanager_interface)
set(LIBKIRIGAMKI_EXTRA_LIBS Qt5::DBus)
endif()

View File

@ -1,145 +0,0 @@
Qt build on Termux doesn't have accessibility feature. It needs to be removed.
diff --color -uNr src/src/controls/LinkButton.qml src.mod/src/controls/LinkButton.qml
--- src/src/controls/LinkButton.qml 2020-06-07 19:29:04.000000000 +0100
+++ src.mod/src/controls/LinkButton.qml 2021-05-26 15:04:01.628823854 +0100
@@ -25,9 +25,6 @@
property Action action: null
property alias acceptedButtons: area.acceptedButtons
property alias mouseArea: area
- Accessible.role: Accessible.Button
- Accessible.name: text
- Accessible.onPressAction: control.clicked(null)
text: action ? action.text : ""
enabled: !action || action.enabled
diff --color -uNr src/src/controls/swipenavigator/PrivateSwipeHighlight.qml src.mod/src/controls/swipenavigator/PrivateSwipeHighlight.qml
--- src/src/controls/swipenavigator/PrivateSwipeHighlight.qml 2020-06-07 19:29:04.000000000 +0100
+++ src.mod/src/controls/swipenavigator/PrivateSwipeHighlight.qml 2021-05-26 15:04:22.268673726 +0100
@@ -10,8 +10,6 @@
import org.kde.kirigami 2.12 as Kirigami
Rectangle {
- Accessible.ignored: true
-
anchors {
bottom: Kirigami.Settings.isMobile ? undefined : parent.bottom
top: Kirigami.Settings.isMobile ? parent.top : undefined
@@ -30,4 +28,4 @@
// Unlike most things, we don't want to scale with the em grid, so we don't use a Unit.
height: 2
-}
\ No newline at end of file
+}
diff --color -uNr src/src/controls/swipenavigator/PrivateSwipeProgress.qml src.mod/src/controls/swipenavigator/PrivateSwipeProgress.qml
--- src/src/controls/swipenavigator/PrivateSwipeProgress.qml 2020-06-07 19:29:04.000000000 +0100
+++ src.mod/src/controls/swipenavigator/PrivateSwipeProgress.qml 2021-05-26 15:04:32.540599175 +0100
@@ -14,8 +14,6 @@
property var progress
Rectangle {
- Accessible.ignored: true
-
anchors {
top: parent.top
bottom: parent.bottom
@@ -41,8 +39,6 @@
Rectangle {
- Accessible.ignored: true
-
anchors {
top: parent.top
bottom: parent.bottom
@@ -65,4 +61,4 @@
height: 2
}
}
-}
\ No newline at end of file
+}
diff --color -uNr src/src/controls/swipenavigator/PrivateSwipeTab.qml src.mod/src/controls/swipenavigator/PrivateSwipeTab.qml
--- src/src/controls/swipenavigator/PrivateSwipeTab.qml 2020-06-07 19:29:04.000000000 +0100
+++ src.mod/src/controls/swipenavigator/PrivateSwipeTab.qml 2021-05-26 15:04:52.672453373 +0100
@@ -38,28 +38,6 @@
}
}
- Accessible.name: modelData.title
- Accessible.description: {
- if (!!modelData.progress) {
- if (index == columnView.currentIndex) {
- return i18nc("Accessibility text for a page tab. Keep the text as concise as possible and don't use a percent sign.", "Current page. Progress: %1 percent.", Math.round(modelData.progress*100))
- } else {
- return i18nc("Accessibility text for a page tab. Keep the text as concise as possible.", "Navigate to %1. Progress: %1 percent.", modelData.title, Math.round(modelData.progress*100))
- }
- } else {
- if (index == columnView.currentIndex) {
- return i18nc("Accessibility text for a page tab. Keep the text as concise as possible.", "Current page.")
- } else if (modelData.needsAttention) {
- return i18nc("Accessibility text for a page tab that's requesting the user's attention. Keep the text as concise as possible.", "Navigate to %1. Demanding attention.", modelData.title)
- } else {
- return i18nc("Accessibility text for a page tab that's requesting the user's attention. Keep the text as concise as possible.", "Navigate to %1.", modelData.title)
- }
- }
- }
- Accessible.role: Accessible.PageTab
- Accessible.focusable: true
- Accessible.onPressAction: columnView.currentIndex = index
-
implicitWidth: small ? smallTitleRow.implicitWidth : largeTitleRow.implicitWidth
border {
width: activeFocus ? 2 : 0
@@ -91,7 +69,6 @@
RowLayout {
id: smallTitleRow
anchors.fill: parent
- Accessible.ignored: true
visible: small
ColumnLayout {
@@ -120,7 +97,6 @@
RowLayout {
id: largeTitleRow
anchors.fill: parent
- Accessible.ignored: true
visible: !small
RowLayout {
@@ -149,7 +125,6 @@
MouseArea {
id: mouse
anchors.fill: parent
- Accessible.ignored: true
onClicked: {
columnView.currentIndex = index
}
@@ -157,4 +132,4 @@
Layout.fillHeight: true
Layout.alignment: Qt.AlignHCenter
-}
\ No newline at end of file
+}
diff --color -uNr src/src/controls/swipenavigator/SwipeNavigator.qml src.mod/src/controls/swipenavigator/SwipeNavigator.qml
--- src/src/controls/swipenavigator/SwipeNavigator.qml 2020-06-07 19:29:04.000000000 +0100
+++ src.mod/src/controls/swipenavigator/SwipeNavigator.qml 2021-05-26 15:04:13.336738638 +0100
@@ -159,7 +159,6 @@
Layout.fillWidth: true
- Accessible.role: Accessible.PageTabList
}
StackView {
diff --color -uNr src/src/controls/templates/AbstractListItem.qml src.mod/src/controls/templates/AbstractListItem.qml
--- src/src/controls/templates/AbstractListItem.qml 2020-06-07 19:29:04.000000000 +0100
+++ src.mod/src/controls/templates/AbstractListItem.qml 2021-05-26 15:03:49.128915000 +0100
@@ -153,6 +153,5 @@
property bool indicateActiveFocus: listItem.pressed || Settings.tabletMode || listItem.activeFocus || (view ? view.activeFocus : false)
}
- Accessible.role: Accessible.ListItem
highlighted: focus && ListView.isCurrentItem && ListView.view && ListView.view.keyNavigationEnabled
}

View File

@ -1,371 +0,0 @@
QtGraphicalEffects module is not available because it depends on OpenGL.
This patch removes all usage of QtGraphicalEffects (shadows and gradients).
diff --color -uNr src/CMakeLists.txt src.mod/CMakeLists.txt
--- src/CMakeLists.txt 2021-05-26 15:17:14.799260147 +0100
+++ src.mod/CMakeLists.txt 2021-05-26 14:20:31.085469568 +0100
@@ -103,8 +103,6 @@
add_definitions(-DKIRIGAMI_ENABLE_DBUS)
endif()
-ecm_find_qmlmodule(QtGraphicalEffects 1.0)
-
add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050d00)
add_subdirectory(src)
add_subdirectory(templates)
diff --color -uNr src/src/controls/AbstractApplicationItem.qml src.mod/src/controls/AbstractApplicationItem.qml
--- src/src/controls/AbstractApplicationItem.qml 2021-05-26 15:17:14.799260147 +0100
+++ src.mod/src/controls/AbstractApplicationItem.qml 2021-05-26 14:33:20.951241121 +0100
@@ -9,7 +9,6 @@
import QtQuick.Window 2.2
import "templates/private"
import org.kde.kirigami 2.4
-import QtGraphicalEffects 1.0
/**
* A window that provides some basic features needed for all apps
diff --color -uNr src/src/controls/AbstractApplicationWindow.qml src.mod/src/controls/AbstractApplicationWindow.qml
--- src/src/controls/AbstractApplicationWindow.qml 2021-05-26 15:17:14.799260147 +0100
+++ src.mod/src/controls/AbstractApplicationWindow.qml 2021-05-26 14:32:33.647649364 +0100
@@ -8,7 +8,6 @@
import QtQuick.Controls 2.0 as QQC2
import "templates/private"
import org.kde.kirigami 2.4
-import QtGraphicalEffects 1.0
/**
* A window that provides some basic features needed for all apps
diff --color -uNr src/src/controls/ApplicationItem.qml src.mod/src/controls/ApplicationItem.qml
--- src/src/controls/ApplicationItem.qml 2021-05-26 15:17:14.799260147 +0100
+++ src.mod/src/controls/ApplicationItem.qml 2021-05-26 14:32:12.723837137 +0100
@@ -7,7 +7,6 @@
import QtQuick 2.5
import "templates/private"
import org.kde.kirigami 2.4 as Kirigami
-import QtGraphicalEffects 1.0
/**
* A window that provides some basic features needed for all apps
diff --color -uNr src/src/controls/ApplicationWindow.qml src.mod/src/controls/ApplicationWindow.qml
--- src/src/controls/ApplicationWindow.qml 2021-05-26 15:17:14.799260147 +0100
+++ src.mod/src/controls/ApplicationWindow.qml 2021-05-26 14:26:30.126563514 +0100
@@ -7,7 +7,6 @@
import QtQuick 2.5
import "templates/private"
import org.kde.kirigami 2.4 as Kirigami
-import QtGraphicalEffects 1.0
/**
* A window that provides some basic features needed for all apps
diff --color -uNr src/src/controls/GlobalDrawer.qml src.mod/src/controls/GlobalDrawer.qml
--- src/src/controls/GlobalDrawer.qml 2021-05-26 15:17:14.799260147 +0100
+++ src.mod/src/controls/GlobalDrawer.qml 2021-05-26 14:25:00.691132069 +0100
@@ -8,7 +8,6 @@
import QtQuick.Templates 2.0 as T2
import QtQuick.Controls 2.2 as QQC2
import QtQuick.Layouts 1.2
-import QtGraphicalEffects 1.0
import org.kde.kirigami 2.4
import "private"
diff --color -uNr src/src/controls/ItemViewHeader.qml src.mod/src/controls/ItemViewHeader.qml
--- src/src/controls/ItemViewHeader.qml 2021-05-26 15:17:14.799260147 +0100
+++ src.mod/src/controls/ItemViewHeader.qml 2021-05-26 14:25:29.138945315 +0100
@@ -6,7 +6,6 @@
import QtQuick 2.5
import QtQuick.Templates 2.0 as T2
-import QtGraphicalEffects 1.0
import org.kde.kirigami 2.4 as Kirigami
import "private"
@@ -89,13 +88,6 @@
elide: Text.ElideRight
layer.enabled: root.backgroundImage.hasImage
- layer.effect: DropShadow {
- horizontalOffset: 0
- verticalOffset: 2
- radius: Kirigami.Units.smallSpacing*2
- samples: 32
- color: Qt.rgba(0, 0, 0, 0.7)
- }
}
}
}
diff --color -uNr src/src/controls/OverlayDrawer.qml src.mod/src/controls/OverlayDrawer.qml
--- src/src/controls/OverlayDrawer.qml 2021-05-26 15:17:14.799260147 +0100
+++ src.mod/src/controls/OverlayDrawer.qml 2021-05-26 14:25:58.214760590 +0100
@@ -5,7 +5,6 @@
*/
import QtQuick 2.1
-import QtGraphicalEffects 1.0
import QtQuick.Templates 2.0 as T2
import org.kde.kirigami 2.5
@@ -42,16 +41,6 @@
parent: root.handle
anchors.fill: parent
- DropShadow {
- anchors.fill: handleGraphics
- visible: !parent.parent.handleAnchor || !parent.parent.handleAnchor.visible || root.handle.pressed || (root.modal && root.position > 0)
- horizontalOffset: 0
- verticalOffset: Units.devicePixelRatio
- radius: Units.gridUnit /2
- samples: 16
- color: Qt.rgba(0, 0, 0, root.handle.pressed ? 0.6 : 0.4)
- source: handleGraphics
- }
Rectangle {
id: handleGraphics
anchors.centerIn: parent
diff --color -uNr src/src/controls/plugins.qmltypes src.mod/src/controls/plugins.qmltypes
--- src/src/controls/plugins.qmltypes 2021-05-26 15:17:14.799260147 +0100
+++ src.mod/src/controls/plugins.qmltypes 2021-05-26 14:29:00.917680399 +0100
@@ -8,7 +8,6 @@
Module {
dependencies: [
- "QtGraphicalEffects 1.0",
"QtQml 2.1",
"QtQml.Models 2.2",
"QtQuick 2.9",
diff --color -uNr src/src/controls/private/ActionButton.qml src.mod/src/controls/private/ActionButton.qml
--- src/src/controls/private/ActionButton.qml 2021-05-26 15:17:14.803260119 +0100
+++ src.mod/src/controls/private/ActionButton.qml 2021-05-26 14:31:39.908141743 +0100
@@ -7,7 +7,6 @@
import QtQuick 2.1
import QtQuick.Layouts 1.2
import QtQuick.Controls 2.0 as Controls
-import QtGraphicalEffects 1.0
import org.kde.kirigami 2.7
import "../templates/private"
@@ -357,16 +356,6 @@
}
}
}
-
- DropShadow {
- anchors.fill: background
- horizontalOffset: 0
- verticalOffset: Units.devicePixelRatio
- radius: Units.gridUnit /2
- samples: 16
- color: Qt.rgba(0, 0, 0, mouseArea.pressed ? 0.6 : 0.4)
- source: background
- }
}
}
@@ -390,16 +379,6 @@
width: Units.iconSizes.smallMedium + Units.smallSpacing*2
height: width
-
- DropShadow {
- anchors.fill: handleGraphics
- horizontalOffset: 0
- verticalOffset: Units.devicePixelRatio
- radius: Units.gridUnit /2
- samples: 16
- color: Qt.rgba(0, 0, 0, fakeContextMenuButton.pressed ? 0.6 : 0.4)
- source: handleGraphics
- }
Rectangle {
id: handleGraphics
anchors.fill: parent
diff --color -uNr src/src/controls/private/BannerImage.qml src.mod/src/controls/private/BannerImage.qml
--- src/src/controls/private/BannerImage.qml 2021-05-26 15:17:14.803260119 +0100
+++ src.mod/src/controls/private/BannerImage.qml 2021-05-26 14:29:26.989532396 +0100
@@ -6,7 +6,6 @@
import QtQuick 2.6
import QtQuick.Layouts 1.2
-import QtGraphicalEffects 1.0
import org.kde.kirigami 2.12 as Kirigami
/**
diff --color -uNr src/src/controls/private/CornerShadow.qml src.mod/src/controls/private/CornerShadow.qml
--- src/src/controls/private/CornerShadow.qml 2021-05-26 15:17:14.803260119 +0100
+++ src.mod/src/controls/private/CornerShadow.qml 2021-05-26 14:30:32.924808566 +0100
@@ -5,7 +5,6 @@
*/
import QtQuick 2.1
-import QtGraphicalEffects 1.0
import org.kde.kirigami 2.4
RadialGradient {
diff --color -uNr src/src/controls/private/EdgeShadow.qml src.mod/src/controls/private/EdgeShadow.qml
--- src/src/controls/private/EdgeShadow.qml 2021-05-26 15:17:14.803260119 +0100
+++ src.mod/src/controls/private/EdgeShadow.qml 2021-05-26 15:17:44.551056384 +0100
@@ -5,10 +5,9 @@
*/
import QtQuick 2.1
-import QtGraphicalEffects 1.0
import org.kde.kirigami 2.4
-LinearGradient {
+Item {
id: shadow
/**
* edge: enumeration
@@ -25,26 +24,5 @@
property int radius: Units.gridUnit
implicitWidth: radius
implicitHeight: radius
-
- start: Qt.point((edge !== Qt.RightEdge ? 0 : width), (edge !== Qt.BottomEdge ? 0 : height))
- end: Qt.point((edge !== Qt.LeftEdge ? 0 : width), (edge !== Qt.TopEdge ? 0 : height))
- gradient: Gradient {
- GradientStop {
- position: 0.0
- color: Qt.rgba(0, 0, 0, 0.25)
- }
- GradientStop {
- position: 0.20
- color: Qt.rgba(0, 0, 0, 0.1)
- }
- GradientStop {
- position: 0.35
- color: Qt.rgba(0, 0, 0, 0.02)
- }
- GradientStop {
- position: 1.0
- color: "transparent"
- }
- }
}
diff --color -uNr src/src/controls/private/RefreshableScrollView.qml src.mod/src/controls/private/RefreshableScrollView.qml
--- src/src/controls/private/RefreshableScrollView.qml 2021-05-26 15:17:14.803260119 +0100
+++ src.mod/src/controls/private/RefreshableScrollView.qml 2021-05-26 15:01:26.477968469 +0100
@@ -7,7 +7,6 @@
import QtQuick 2.7
import QtQuick.Window 2.2
import QtQuick.Controls 2.0 as QQC2
-import QtGraphicalEffects 1.0
import QtQuick.Layouts 1.2
import org.kde.kirigami 2.4
import "../templates/private" as P
@@ -96,17 +95,6 @@
//also take into account the listview header height if present
property real progress: supportsRefreshing && !refreshing ? ((parent.y - busyIndicatorFrame.headerItemHeight)/busyIndicatorFrame.height) : 0
}
- ConicalGradient {
- source: spinnerProgress
- visible: spinnerProgress.visible
- anchors.fill: spinnerProgress
- gradient: Gradient {
- GradientStop { position: 0.00; color: Theme.highlightColor }
- GradientStop { position: spinnerProgress.progress; color: Theme.highlightColor }
- GradientStop { position: spinnerProgress.progress + 0.01; color: "transparent" }
- GradientStop { position: 1.00; color: "transparent" }
- }
- }
onYChanged: {
//it's overshooting enough and not reachable: start countdown for reachability
diff --color -uNr src/src/controls/qmldir src.mod/src/controls/qmldir
--- src/src/controls/qmldir 2021-05-26 15:17:14.803260119 +0100
+++ src.mod/src/controls/qmldir 2021-05-26 14:32:42.943567427 +0100
@@ -2,6 +2,5 @@
plugin kirigamiplugin
classname KirigamiPlugin
depends QtQuick.Controls 2.0
-depends QtGraphicalEffects 1.0
designersupported
diff --color -uNr src/src/controls/templates/OverlaySheet.qml src.mod/src/controls/templates/OverlaySheet.qml
--- src/src/controls/templates/OverlaySheet.qml 2021-05-26 15:17:14.803260119 +0100
+++ src.mod/src/controls/templates/OverlaySheet.qml 2021-05-26 14:27:26.994223196 +0100
@@ -9,7 +9,6 @@
import QtQuick.Layouts 1.2
import QtQuick.Window 2.2
import org.kde.kirigami 2.11
-import QtGraphicalEffects 1.0
import QtQuick.Templates 2.0 as T2
import "private"
import "../private"
diff --color -uNr src/src/controls/templates/private/ContextIcon.qml src.mod/src/controls/templates/private/ContextIcon.qml
--- src/src/controls/templates/private/ContextIcon.qml 2021-05-26 15:17:14.803260119 +0100
+++ src.mod/src/controls/templates/private/ContextIcon.qml 2021-05-26 14:28:17.245930577 +0100
@@ -6,7 +6,6 @@
import QtQuick 2.1
import QtQuick.Layouts 1.2
-import QtGraphicalEffects 1.0
import org.kde.kirigami 2.4
Item {
diff --color -uNr src/src/controls/templates/private/GenericDrawerIcon.qml src.mod/src/controls/templates/private/GenericDrawerIcon.qml
--- src/src/controls/templates/private/GenericDrawerIcon.qml 2021-05-26 15:17:14.803260119 +0100
+++ src.mod/src/controls/templates/private/GenericDrawerIcon.qml 2021-05-26 14:27:53.350068967 +0100
@@ -6,7 +6,6 @@
import QtQuick 2.1
import QtQuick.Layouts 1.2
-import QtGraphicalEffects 1.0
import org.kde.kirigami 2.4 as Kirigami
Item {
diff --color -uNr src/src/controls/templates/private/MenuIcon.qml src.mod/src/controls/templates/private/MenuIcon.qml
--- src/src/controls/templates/private/MenuIcon.qml 2021-05-26 15:17:14.803260119 +0100
+++ src.mod/src/controls/templates/private/MenuIcon.qml 2021-05-26 14:28:05.761996928 +0100
@@ -6,7 +6,6 @@
import QtQuick 2.1
import QtQuick.Layouts 1.2
-import QtGraphicalEffects 1.0
import org.kde.kirigami 2.4
Item {
diff --color -uNr src/src/controls/templates/private/PassiveNotification.qml src.mod/src/controls/templates/private/PassiveNotification.qml
--- src/src/controls/templates/private/PassiveNotification.qml 2021-05-26 15:17:14.803260119 +0100
+++ src.mod/src/controls/templates/private/PassiveNotification.qml 2021-05-26 14:28:41.845789264 +0100
@@ -8,7 +8,6 @@
import QtQuick.Controls 2.3 as Controls
import QtQuick.Layouts 1.2
import QtQuick.Window 2.2
-import QtGraphicalEffects 1.0
import org.kde.kirigami 2.12 as Kirigami
/**
diff --color -uNr src/src/qmldir src.mod/src/qmldir
--- src/src/qmldir 2021-05-26 15:17:14.803260119 +0100
+++ src.mod/src/qmldir 2021-05-26 14:23:47.035655017 +0100
@@ -2,7 +2,6 @@
classname KirigamiPlugin
depends QtQuick.Controls 2.0
-depends QtGraphicalEffects 1.0
designersupported
typeinfo plugins.qmltypes
diff --color -uNr src/src/styles/Material/InlineMessage.qml src.mod/src/styles/Material/InlineMessage.qml
--- src/src/styles/Material/InlineMessage.qml 2021-05-26 15:17:14.803260119 +0100
+++ src.mod/src/styles/Material/InlineMessage.qml 2021-05-26 14:23:23.219840986 +0100
@@ -7,7 +7,6 @@
*/
import QtQuick 2.7
-import QtGraphicalEffects 1.0
import org.kde.kirigami 2.5 as Kirigami
import "../../private"
@@ -104,12 +103,5 @@
}
layer.enabled: true
- layer.effect: DropShadow {
- horizontalOffset: 0
- verticalOffset: 1
- radius: 12
- samples: 32
- color: Qt.rgba(0, 0, 0, 0.5)
- }
}
}

View File

@ -1,10 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://www.kde.org/
TERMUX_PKG_DESCRIPTION="Set of item models extending the Qt model-view framework (KDE)"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=5.71.0
TERMUX_PKG_REVISION=3
TERMUX_PKG_SRCURL="http://download.kde.org/stable/frameworks/${TERMUX_PKG_VERSION%.*}/kitemmodels-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=68205f09d63a916f236e2b3b729c0055377d852de48f7cf29fa7174ca97b84e7
TERMUX_PKG_DEPENDS="qt5-qtbase"
TERMUX_PKG_BUILD_DEPENDS="extra-cmake-modules, qt5-qtbase-cross-tools"

View File

@ -1,10 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://www.kde.org/
TERMUX_PKG_DESCRIPTION="Set of item views extending the Qt model-view framework (KDE)"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=5.71.0
TERMUX_PKG_REVISION=3
TERMUX_PKG_SRCURL="http://download.kde.org/stable/frameworks/${TERMUX_PKG_VERSION%.*}/kitemviews-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=2843ef166ff5bf69c1132bbc09545b59ad208313c0acad71d0cd951fde1d33de
TERMUX_PKG_DEPENDS="qt5-qtbase"
TERMUX_PKG_BUILD_DEPENDS="extra-cmake-modules, qt5-qtbase-cross-tools, qt5-qttools-cross-tools"

View File

@ -1,14 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://github.com/tsujan/Kvantum
TERMUX_PKG_DESCRIPTION="SVG-based theme engine for Qt5"
TERMUX_PKG_LICENSE="GPL-3.0"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=0.20.1
TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL="https://github.com/tsujan/Kvantum/releases/download/V${TERMUX_PKG_VERSION}/Kvantum-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=c823c70eabd7b02ac4661b989d858ac411da29d7a0de96afd464da8855132925
TERMUX_PKG_DEPENDS="qt5-qtbase, qt5-qtx11extras, qt5-qtsvg, kwindowsystem"
TERMUX_PKG_BUILD_DEPENDS="qt5-qtbase-cross-tools, qt5-qttools-cross-tools"
termux_step_post_get_source() {
TERMUX_PKG_SRCDIR+="/Kvantum"
}

View File

@ -1,10 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://www.kde.org/
TERMUX_PKG_DESCRIPTION="Large set of desktop Qt widgets (KDE)"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=5.71.0
TERMUX_PKG_REVISION=3
TERMUX_PKG_SRCURL="http://download.kde.org/stable/frameworks/${TERMUX_PKG_VERSION%.*}/kwidgetsaddons-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=897077995bcf4125d0f90d2964500e718d2a3fd5f117e1b7906177ad13a5082e
TERMUX_PKG_DEPENDS="qt5-qtbase"
TERMUX_PKG_BUILD_DEPENDS="extra-cmake-modules, qt5-qtbase-cross-tools, qt5-qttools-cross-tools"

View File

@ -1,15 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://www.kde.org/
TERMUX_PKG_DESCRIPTION="KDE Access to window manager"
TERMUX_PKG_LICENSE="LGPL-2.1-or-later"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=5.71.0
TERMUX_PKG_REVISION=4
TERMUX_PKG_SRCURL="http://download.kde.org/stable/frameworks/${TERMUX_PKG_VERSION%.*}/${TERMUX_PKG_NAME}-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=a3613aea6fa73ebc53f28c011a6bca31ed157e29f85df767e617c44399360cda
TERMUX_PKG_DEPENDS="qt5-qtbase, qt5-qtx11extras"
TERMUX_PKG_BUILD_DEPENDS="extra-cmake-modules, qt5-qttools-cross-tools"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DCMAKE_INSTALL_PREFIX=${TERMUX_PREFIX}"
termux_step_install_license() {
install -Dm644 "${TERMUX_PKG_SRCDIR}/COPYING.LIB" "${TERMUX_PREFIX}/share/doc/${TERMUX_PKG_NAME}/LICENSE"
}

View File

@ -1,11 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://launchpad.net/libdbusmenu-qt
TERMUX_PKG_DESCRIPTION="dbusmenu library for Qt"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION="0.9.3+16.04.20160218-0ubuntu1"
TERMUX_PKG_REVISION=4
TERMUX_PKG_SRCURL="https://github.com/unity8-team/libdbusmenu-qt/archive/refs/tags/${TERMUX_PKG_VERSION}.tar.gz"
TERMUX_PKG_SHA256=bc2c3960c0c6b520e42e652b6a71b769cff6cb651adece92d2a0bc6bdff37c29
TERMUX_PKG_DEPENDS="qt5-qtbase"
TERMUX_PKG_BUILD_DEPENDS="qt5-qtbase-cross-tools"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DUSE_QT4=OFF -DUSE_QT5=ON -DWITH_DOC=OFF"

View File

@ -1,11 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://lxqt.github.io
TERMUX_PKG_DESCRIPTION="Library providing components to build desktop file managers"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=0.17.1
TERMUX_PKG_REVISION=5
TERMUX_PKG_SRCURL="https://github.com/lxqt/libfm-qt/releases/download/${TERMUX_PKG_VERSION}/libfm-qt-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=aa3f8f4d8035d106ed80e0b0ae5fced5ad61d4dac3f960392f3a71fb42a521a5
TERMUX_PKG_DEPENDS="qt5-qtbase, qt5-qtx11extras, glib, libxcb, libexif, menu-cache"
TERMUX_PKG_BUILD_DEPENDS="lxqt-build-tools, qt5-qtbase-cross-tools, qt5-qttools-cross-tools"

View File

@ -1,24 +0,0 @@
diff --color -uNr src/src/core/fileinfo.cpp src.mod/src/core/fileinfo.cpp
--- src/src/core/fileinfo.cpp 2021-04-16 12:08:23.000000000 +0100
+++ src.mod/src/core/fileinfo.cpp 2021-05-22 16:52:50.186775465 +0100
@@ -360,7 +360,7 @@
which may be considered as a safe desktop entry path
then check if that is a shortcut to a native file
otherwise it is a link to a file under menu:// */
- if (!g_str_has_prefix(target_.c_str(), "/usr/share/")) {
+ if (!g_str_has_prefix(target_.c_str(), "@TERMUX_PREFIX@/share/")) {
auto target = FilePath::fromPathStr(target_.c_str());
bool is_native = target.isNative();
if (is_native) {
diff --color -uNr src/src/core/vfs/vfs-menu.c src.mod/src/core/vfs/vfs-menu.c
--- src/src/core/vfs/vfs-menu.c 2021-04-16 12:08:23.000000000 +0100
+++ src.mod/src/core/vfs/vfs-menu.c 2021-05-22 16:54:14.278451100 +0100
@@ -165,7 +165,7 @@
child = fm_xml_file_item_new(menuTag_MergeFile);
fm_xml_file_item_set_attribute(child, "type", "parent");
/* FIXME: what is correct way to handle this? is it required at all? */
- path = g_strdup_printf("/etc/xdg/menus/%s", basename);
+ path = g_strdup_printf("@TERMUX_PREFIX@/etc/xdg/menus/%s", basename);
fm_xml_file_item_append_text(child, path, -1, FALSE);
g_free(path);
fm_xml_file_item_append_child(item, child);

View File

@ -1,262 +0,0 @@
diff -uNr src/CMakeLists.txt src.mod/CMakeLists.txt
--- src/CMakeLists.txt 2021-05-21 08:58:40.268102000 +0000
+++ src.mod/CMakeLists.txt 2021-05-21 08:46:53.277571000 +0000
@@ -142,6 +142,8 @@
lxqtrotatedwidget.cpp
lxqtbacklight.cpp
lxqtbacklight/virtual_backend.cpp
+
+ wordexp.c
)
if (NOT APPLE)
diff -uNr src/wordexp.c src.mod/wordexp.c
--- src/wordexp.c 1970-01-01 00:00:00.000000000 +0000
+++ src.mod/wordexp.c 2021-05-21 08:58:23.662102000 +0000
@@ -0,0 +1,184 @@
+// Copied from http://git.musl-libc.org/cgit/musl/plain/src/misc/wordexp.c
+// pthread-related lines are removed because they're missing on Android
+#include <wordexp.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <string.h>
+#include <limits.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <sys/wait.h>
+#include <signal.h>
+#include <errno.h>
+#include <fcntl.h>
+
+static void reap(pid_t pid)
+{
+ int status;
+ while (waitpid(pid, &status, 0) < 0 && errno == EINTR);
+}
+
+static char *getword(FILE *f)
+{
+ char *s = 0;
+ return getdelim(&s, (size_t [1]){0}, 0, f) < 0 ? 0 : s;
+}
+
+static int do_wordexp(const char *s, wordexp_t *we, int flags)
+{
+ size_t i, l;
+ int sq=0, dq=0;
+ size_t np=0;
+ char *w, **tmp;
+ char *redir = (flags & WRDE_SHOWERR) ? "" : "2>/dev/null";
+ int err = 0;
+ FILE *f;
+ size_t wc = 0;
+ char **wv = 0;
+ int p[2];
+ pid_t pid;
+ sigset_t set;
+
+ if (flags & WRDE_REUSE) wordfree(we);
+
+ if (flags & WRDE_NOCMD) for (i=0; s[i]; i++) switch (s[i]) {
+ case '\\':
+ if (!sq && !s[++i]) return WRDE_SYNTAX;
+ break;
+ case '\'':
+ if (!dq) sq^=1;
+ break;
+ case '"':
+ if (!sq) dq^=1;
+ break;
+ case '(':
+ if (np) {
+ np++;
+ break;
+ }
+ case ')':
+ if (np) {
+ np--;
+ break;
+ }
+ case '\n':
+ case '|':
+ case '&':
+ case ';':
+ case '<':
+ case '>':
+ case '{':
+ case '}':
+ if (!(sq|dq|np)) return WRDE_BADCHAR;
+ break;
+ case '$':
+ if (sq) break;
+ if (s[i+1]=='(' && s[i+2]=='(') {
+ i += 2;
+ np += 2;
+ break;
+ } else if (s[i+1] != '(') break;
+ case '`':
+ if (sq) break;
+ return WRDE_CMDSUB;
+ }
+
+ if (flags & WRDE_APPEND) {
+ wc = we->we_wordc;
+ wv = we->we_wordv;
+ }
+
+ i = wc;
+ if (flags & WRDE_DOOFFS) {
+ if (we->we_offs > SIZE_MAX/sizeof(void *)/4)
+ goto nospace;
+ i += we->we_offs;
+ } else {
+ we->we_offs = 0;
+ }
+
+ if (pipe2(p, O_CLOEXEC) < 0) goto nospace;
+ pid = fork();
+ if (pid < 0) {
+ close(p[0]);
+ close(p[1]);
+ goto nospace;
+ }
+ if (!pid) {
+ if (p[1] == 1) fcntl(1, F_SETFD, 0);
+ else dup2(p[1], 1);
+ execl("/bin/sh", "sh", "-c",
+ "eval \"printf %s\\\\\\\\0 x $1 $2\"",
+ "sh", s, redir, (char *)0);
+ _exit(1);
+ }
+ close(p[1]);
+
+ f = fdopen(p[0], "r");
+ if (!f) {
+ close(p[0]);
+ kill(pid, SIGKILL);
+ reap(pid);
+ goto nospace;
+ }
+
+ l = wv ? i+1 : 0;
+
+ free(getword(f));
+ if (feof(f)) {
+ fclose(f);
+ reap(pid);
+ return WRDE_SYNTAX;
+ }
+
+ while ((w = getword(f))) {
+ if (i+1 >= l) {
+ l += l/2+10;
+ tmp = realloc(wv, l*sizeof(char *));
+ if (!tmp) break;
+ wv = tmp;
+ }
+ wv[i++] = w;
+ wv[i] = 0;
+ }
+ if (!feof(f)) err = WRDE_NOSPACE;
+
+ fclose(f);
+ reap(pid);
+
+ if (!wv) wv = calloc(i+1, sizeof *wv);
+
+ we->we_wordv = wv;
+ we->we_wordc = i;
+
+ if (flags & WRDE_DOOFFS) {
+ if (wv) for (i=we->we_offs; i; i--)
+ we->we_wordv[i-1] = 0;
+ we->we_wordc -= we->we_offs;
+ }
+ return err;
+
+nospace:
+ if (!(flags & WRDE_APPEND)) {
+ we->we_wordc = 0;
+ we->we_wordv = 0;
+ }
+ return WRDE_NOSPACE;
+}
+
+int wordexp(const char *restrict s, wordexp_t *restrict we, int flags)
+{
+ int r, cs;
+ r = do_wordexp(s, we, flags);
+ return r;
+}
+
+void wordfree(wordexp_t *we)
+{
+ size_t i;
+ if (!we->we_wordv) return;
+ for (i=0; i<we->we_wordc; i++) free(we->we_wordv[we->we_offs+i]);
+ free(we->we_wordv);
+ we->we_wordv = 0;
+ we->we_wordc = 0;
+}
diff -uNr src/wordexp.h src.mod/wordexp.h
--- src/wordexp.h 1970-01-01 00:00:00.000000000 +0000
+++ src.mod/wordexp.h 2021-05-21 08:58:53.085923000 +0000
@@ -0,0 +1,58 @@
+/* Copyright (C) 1991, 92, 1996-1999, 2001, 2003 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+#ifndef _WORDEXP_H
+#define _WORDEXP_H 1
+#include <features.h>
+#define __need_size_t
+#include <stddef.h>
+__BEGIN_DECLS
+/* Bits set in the FLAGS argument to `wordexp'. */
+enum
+ {
+ WRDE_DOOFFS = (1 << 0), /* Insert PWORDEXP->we_offs NULLs. */
+ WRDE_APPEND = (1 << 1), /* Append to results of a previous call. */
+ WRDE_NOCMD = (1 << 2), /* Don't do command substitution. */
+ WRDE_REUSE = (1 << 3), /* Reuse storage in PWORDEXP. */
+ WRDE_SHOWERR = (1 << 4), /* Don't redirect stderr to /dev/null. */
+ WRDE_UNDEF = (1 << 5), /* Error for expanding undefined variables. */
+ __WRDE_FLAGS = (WRDE_DOOFFS | WRDE_APPEND | WRDE_NOCMD |
+ WRDE_REUSE | WRDE_SHOWERR | WRDE_UNDEF)
+ };
+/* Structure describing a word-expansion run. */
+typedef struct
+ {
+ size_t we_wordc; /* Count of words matched. */
+ char **we_wordv; /* List of expanded words. */
+ size_t we_offs; /* Slots to reserve in `we_wordv'. */
+ } wordexp_t;
+/* Possible nonzero return values from `wordexp'. */
+enum
+ {
+#ifdef __USE_XOPEN
+ WRDE_NOSYS = -1, /* Never used since we support `wordexp'. */
+#endif
+ WRDE_NOSPACE = 1, /* Ran out of memory. */
+ WRDE_BADCHAR, /* A metachar appears in the wrong place. */
+ WRDE_BADVAL, /* Undefined var reference with WRDE_UNDEF. */
+ WRDE_CMDSUB, /* Command substitution with WRDE_NOCMD. */
+ WRDE_SYNTAX /* Shell syntax error. */
+ };
+/* Do word expansion of WORDS into PWORDEXP. */
+extern int wordexp (__const char *__restrict __words,
+ wordexp_t *__restrict __pwordexp, int __flags);
+/* Free the storage allocated by a `wordexp' call. */
+extern void wordfree (wordexp_t *__wordexp);
+__END_DECLS
+#endif /* wordexp.h */

View File

@ -1,11 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://lxqt.github.io
TERMUX_PKG_DESCRIPTION="The core library of LXQt"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=0.17.0
TERMUX_PKG_REVISION=4
TERMUX_PKG_SRCURL="https://github.com/lxqt/liblxqt/releases/download/${TERMUX_PKG_VERSION}/liblxqt-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=d44e3b4c0963537d5032328ac29bb0d61d454dc28d0fac7e1ddcb9d7be91c32b
TERMUX_PKG_DEPENDS="qt5-qtbase, qt5-qtx11extras, kwindowsystem, libqtxdg, libxss"
TERMUX_PKG_BUILD_DEPENDS="lxqt-build-tools, qt5-qtbase-cross-tools"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DBUILD_BACKLIGHT_LINUX_BACKEND=OFF"

View File

@ -1,11 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://lxqt.github.io
TERMUX_PKG_DESCRIPTION="Qt 5 implementation of freedesktop.org XDG specifications"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=3.7.1
TERMUX_PKG_REVISION=7
TERMUX_PKG_SRCURL="https://github.com/lxqt/libqtxdg/releases/download/${TERMUX_PKG_VERSION}/libqtxdg-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=477cbe76b3305071ff5f5bfa31dbcddcc51f3434b9ed75d91988219296d88a9b
TERMUX_PKG_DEPENDS="qt5-qtbase, qt5-qtsvg, glib"
TERMUX_PKG_BUILD_DEPENDS="lxqt-build-tools, qt5-qttools-cross-tools"

View File

@ -1,40 +0,0 @@
--- src/src/qtxdg/xdgdirs.cpp 2021-04-16 09:29:21.000000000 +0000
+++ src.mod/src/qtxdg/xdgdirs.cpp 2021-05-12 16:50:56.461844000 +0000
@@ -46,6 +46,8 @@
QLatin1String("Videos")
};
+static const char* TERMUX_PREFIX = "@TERMUX_PREFIX@";
+
// Helper functions prototypes
void fixBashShortcuts(QString &s);
void removeEndingSlash(QString &s);
@@ -108,7 +110,7 @@
const QString home = QFile::decodeName(qgetenv("HOME"));
if (home.isEmpty())
- return QString::fromLatin1("/tmp");
+ return QString::fromLatin1(TERMUX_PREFIX) + QString::fromLatin1("/tmp");
else if (dir == XdgDirs::Desktop)
fallback = QString::fromLatin1("%1/%2").arg(home, QLatin1String("Desktop"));
else
@@ -270,8 +272,8 @@
#endif
if (dirs.isEmpty()) {
- dirs.append(QString::fromLatin1("/usr/local/share"));
- dirs.append(QString::fromLatin1("/usr/share"));
+ dirs.append(QString::fromLatin1(TERMUX_PREFIX) + QString::fromLatin1("/local/share"));
+ dirs.append(QString::fromLatin1(TERMUX_PREFIX) + QString::fromLatin1("/share"));
} else {
QMutableListIterator<QString> it(dirs);
while (it.hasNext()) {
@@ -293,7 +295,7 @@
QStringList dirs;
const QString env = QFile::decodeName(qgetenv("XDG_CONFIG_DIRS"));
if (env.isEmpty())
- dirs.append(QString::fromLatin1("/etc/xdg"));
+ dirs.append(QString::fromLatin1(TERMUX_PREFIX) + QString::fromLatin1("/etc/xdg"));
else
#if (QT_VERSION >= QT_VERSION_CHECK(5,15,0))
dirs = env.split(QLatin1Char(':'), Qt::SkipEmptyParts);

View File

@ -1,10 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://lxqt.github.io
TERMUX_PKG_DESCRIPTION="A library to query system information"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=0.4.5
TERMUX_PKG_REVISION=3
TERMUX_PKG_SRCURL="https://github.com/lxqt/libsysstat/releases/download/${TERMUX_PKG_VERSION}/libsysstat-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=f19b6550d78939cc1ad11c5788e2a7293f7f886d037837cd1cf56ebcdf2b5ed2
TERMUX_PKG_DEPENDS="qt5-qtbase"
TERMUX_PKG_BUILD_DEPENDS="lxqt-build-tools, qt5-qtbase-cross-tools"

View File

@ -1,10 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://lxqt.github.io
TERMUX_PKG_DESCRIPTION="LXQt Image Viewer"
TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=0.17.0
TERMUX_PKG_REVISION=4
TERMUX_PKG_SRCURL="https://github.com/lxqt/lximage-qt/releases/download/${TERMUX_PKG_VERSION}/lximage-qt-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=2e284f3f42506d5b6df6091982d24e1dc41c99c838037939844f70d703d1d03c
TERMUX_PKG_DEPENDS="qt5-qtbase, qt5-qtx11extras, qt5-qtsvg, libfm-qt, libexif, libxfixes"
TERMUX_PKG_BUILD_DEPENDS="lxqt-build-tools, qt5-qtbase-cross-tools, qt5-qttools-cross-tools"

View File

@ -1,11 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://lxqt.github.io
TERMUX_PKG_DESCRIPTION="LXQt dialog showing information about LXQt and the system"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=0.17.0
TERMUX_PKG_REVISION=5
TERMUX_PKG_SRCURL="https://github.com/lxqt/lxqt-about/releases/download/${TERMUX_PKG_VERSION}/lxqt-about-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=f5033a4eb339f64de5b0eea32ee9178ab06aad6b60fd428fc196add785c33113
TERMUX_PKG_DEPENDS="qt5-qtbase, liblxqt"
TERMUX_PKG_BUILD_DEPENDS="lxqt-build-tools, qt5-qtbase-cross-tools"

View File

@ -1,11 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://lxqt.github.io
TERMUX_PKG_DESCRIPTION="A simple & lightweight Qt file archiver"
TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=0.4.0
TERMUX_PKG_REVISION=4
TERMUX_PKG_SRCURL="https://github.com/lxqt/lxqt-archiver/releases/download/${TERMUX_PKG_VERSION}/lxqt-archiver-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=9f8c00b517771d99ceaf05ff7d72609580def47aae13842b461d9eecd9c1ef3b
TERMUX_PKG_DEPENDS="qt5-qtbase, qt5-qtx11extras, libfm-qt, glib, json-glib"
TERMUX_PKG_BUILD_DEPENDS="lxqt-build-tools, qt5-qtbase-cross-tools, qt5-qttools-cross-tools"

View File

@ -1,11 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://lxqt.github.io
TERMUX_PKG_DESCRIPTION="Building tools required by LXQt project"
TERMUX_PKG_LICENSE="BSD 3-Clause"
TERMUX_PKG_LICENSE_FILE="BSD-3-Clause"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=0.9.0
TERMUX_PKG_REVISION=3
TERMUX_PKG_SRCURL="https://github.com/lxqt/lxqt-build-tools/releases/download/${TERMUX_PKG_VERSION}/lxqt-build-tools-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=9782878d6c0cc896d4a54fce5cc322561cdf1df270b8f941b2088a434b535e4d
TERMUX_PKG_DEPENDS="cmake, qt5-qtbase"
TERMUX_PKG_PLATFORM_INDEPENDENT=true

View File

@ -1,20 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://lxqt.github.io
TERMUX_PKG_DESCRIPTION="Tools to configure LXQt and the underlying operating system"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=0.17.1
TERMUX_PKG_REVISION=5
TERMUX_PKG_SRCURL="https://github.com/lxqt/lxqt-config/releases/download/${TERMUX_PKG_VERSION}/lxqt-config-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=23c1c9a3aa3bf3537b3433439501463ea3e29950ecf2381679bf30ef4c1b245b
TERMUX_PKG_DEPENDS="qt5-qtbase, qt5-qtx11extras, liblxqt, libxcb, zlib, shared-mime-info"
TERMUX_PKG_BUILD_DEPENDS="lxqt-build-tools, qt5-qtbase-cross-tools, qt5-qttools-cross-tools"
# libinput is required to switch on input configuration
# libkscreen is required to switch on monitor configuration, which in turn requires wayland
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DWITH_INPUT=OFF -DWITH_MONITOR=OFF"
termux_step_pre_configure() {
# This is required because of the private lib used by lxqt-config-appearance
LDFLAGS+=" -Wl,-rpath=${TERMUX_PREFIX}/lib/lxqt-config"
export LDFLAGS
}

View File

@ -1,11 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://lxqt.github.io
TERMUX_PKG_DESCRIPTION="Tools to set global keyboard shortcuts in LXQt sessions"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=0.17.0
TERMUX_PKG_REVISION=4
TERMUX_PKG_SRCURL="https://github.com/lxqt/lxqt-globalkeys/releases/download/${TERMUX_PKG_VERSION}/lxqt-globalkeys-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=90c409e95efefb2ee87e99504b955a2a84d4404157d2c1b7b7992b0571c4de5e
TERMUX_PKG_DEPENDS="qt5-qtbase, kwindowsystem, liblxqt"
TERMUX_PKG_BUILD_DEPENDS="lxqt-build-tools, qt5-qtbase-cross-tools, qt5-qttools-cross-tools"

View File

@ -1,11 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://lxqt.github.io
TERMUX_PKG_DESCRIPTION="The LXQt notification daemon"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=0.17.0
TERMUX_PKG_REVISION=4
TERMUX_PKG_SRCURL="https://github.com/lxqt/lxqt-notificationd/releases/download/${TERMUX_PKG_VERSION}/lxqt-notificationd-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=d392cac3d7300a6b8be3431fdde37f453ac439b6fd52b39e6bdeba9ad7a1cab7
TERMUX_PKG_DEPENDS="qt5-qtbase, liblxqt"
TERMUX_PKG_BUILD_DEPENDS="lxqt-build-tools, qt5-qtbase-cross-tools, qt5-qttools-cross-tools"

View File

@ -1,11 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://lxqt.github.io
TERMUX_PKG_DESCRIPTION="GUI to query passwords on behalf of SSH agents"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=0.17.0
TERMUX_PKG_REVISION=4
TERMUX_PKG_SRCURL="https://github.com/lxqt/lxqt-openssh-askpass/releases/download/${TERMUX_PKG_VERSION}/lxqt-openssh-askpass-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=19322332443151ceadc24f4eea12188eb7dd08c77fb0f41dcd6ee92018f2ac3d
TERMUX_PKG_DEPENDS="qt5-qtbase, liblxqt"
TERMUX_PKG_BUILD_DEPENDS="lxqt-build-tools, qt5-qtbase-cross-tools, qt5-qttools-cross-tools"

View File

@ -1,27 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://lxqt.github.io
TERMUX_PKG_DESCRIPTION="The LXQt desktop panel"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=0.17.1
TERMUX_PKG_REVISION=5
TERMUX_PKG_SRCURL="https://github.com/lxqt/lxqt-panel/releases/download/${TERMUX_PKG_VERSION}/lxqt-panel-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=1830fb5a595495176eed61cb0fc9d5535e3954ed6b8f04a741a4295883764ccc
TERMUX_PKG_DEPENDS="qt5-qtbase, qt5-qtx11extras, kwindowsystem, liblxqt, libsysstat, lxqt-globalkeys, libdbusmenu-qt, libxcb, pulseaudio, lxmenu-data"
TERMUX_PKG_BUILD_DEPENDS="lxqt-build-tools, qt5-qtbase-cross-tools, qt5-qttools-cross-tools"
# TODO
# CPULOAD and NETWORKMONITOR require libstatgrab
# MOUNT plugin requires KF5Solid
# SENSORS plugin requires lm_sensors
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
-DCPULOAD_PLUGIN=OFF
-DNETWORKMONITOR_PLUGIN=OFF
-DMOUNT_PLUGIN=OFF
-DSENSORS_PLUGIN=OFF
-DVOLUME_USE_ALSA=OFF
"
termux_step_pre_configure() {
# Add RUNPATH to the private libraries used by lxqt-panel's plugins
LDFLAGS+=" -Wl,-rpath=${TERMUX_PREFIX}/lib/lxqt-panel"
export LDFLAGS
}

View File

@ -1,11 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://lxqt.github.io
TERMUX_PKG_DESCRIPTION="LXQt platform integration plugin for Qt 5"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=0.17.0
TERMUX_PKG_REVISION=4
TERMUX_PKG_SRCURL="https://github.com/lxqt/lxqt-qtplugin/releases/download/${TERMUX_PKG_VERSION}/lxqt-qtplugin-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=65ef1156eb3257bd875e944963968585b042262d6b673ec6506d8fe7fa528691
TERMUX_PKG_DEPENDS="qt5-qtbase, kwindowsystem, libqtxdg, libfm-qt, libexif, libdbusmenu-qt"
TERMUX_PKG_BUILD_DEPENDS="lxqt-build-tools, qt5-qtbase-cross-tools, qt5-qttools-cross-tools"

View File

@ -1,269 +0,0 @@
diff -uNr src/CMakeLists.txt src.mod/CMakeLists.txt
--- src/CMakeLists.txt 2021-04-11 09:01:40.000000000 +0000
+++ src.mod/CMakeLists.txt 2021-05-21 09:09:57.339178000 +0000
@@ -71,6 +71,7 @@
providers.h
yamlparser.h
configuredialog/configuredialog.h
+ wordexp.h
)
set(lxqt-runner_CPP_FILES
@@ -81,6 +82,7 @@
providers.cpp
yamlparser.cpp
configuredialog/configuredialog.cpp
+ wordexp.c
)
set(lxqt-runner_UI_FILES
diff -uNr src/wordexp.c src.mod/wordexp.c
--- src/wordexp.c 1970-01-01 00:00:00.000000000 +0000
+++ src.mod/wordexp.c 2021-05-21 09:10:10.115178000 +0000
@@ -0,0 +1,184 @@
+// Copied from http://git.musl-libc.org/cgit/musl/plain/src/misc/wordexp.c
+// pthread-related lines are removed because they're missing on Android
+#include <wordexp.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <string.h>
+#include <limits.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <sys/wait.h>
+#include <signal.h>
+#include <errno.h>
+#include <fcntl.h>
+
+static void reap(pid_t pid)
+{
+ int status;
+ while (waitpid(pid, &status, 0) < 0 && errno == EINTR);
+}
+
+static char *getword(FILE *f)
+{
+ char *s = 0;
+ return getdelim(&s, (size_t [1]){0}, 0, f) < 0 ? 0 : s;
+}
+
+static int do_wordexp(const char *s, wordexp_t *we, int flags)
+{
+ size_t i, l;
+ int sq=0, dq=0;
+ size_t np=0;
+ char *w, **tmp;
+ char *redir = (flags & WRDE_SHOWERR) ? "" : "2>/dev/null";
+ int err = 0;
+ FILE *f;
+ size_t wc = 0;
+ char **wv = 0;
+ int p[2];
+ pid_t pid;
+ sigset_t set;
+
+ if (flags & WRDE_REUSE) wordfree(we);
+
+ if (flags & WRDE_NOCMD) for (i=0; s[i]; i++) switch (s[i]) {
+ case '\\':
+ if (!sq && !s[++i]) return WRDE_SYNTAX;
+ break;
+ case '\'':
+ if (!dq) sq^=1;
+ break;
+ case '"':
+ if (!sq) dq^=1;
+ break;
+ case '(':
+ if (np) {
+ np++;
+ break;
+ }
+ case ')':
+ if (np) {
+ np--;
+ break;
+ }
+ case '\n':
+ case '|':
+ case '&':
+ case ';':
+ case '<':
+ case '>':
+ case '{':
+ case '}':
+ if (!(sq|dq|np)) return WRDE_BADCHAR;
+ break;
+ case '$':
+ if (sq) break;
+ if (s[i+1]=='(' && s[i+2]=='(') {
+ i += 2;
+ np += 2;
+ break;
+ } else if (s[i+1] != '(') break;
+ case '`':
+ if (sq) break;
+ return WRDE_CMDSUB;
+ }
+
+ if (flags & WRDE_APPEND) {
+ wc = we->we_wordc;
+ wv = we->we_wordv;
+ }
+
+ i = wc;
+ if (flags & WRDE_DOOFFS) {
+ if (we->we_offs > SIZE_MAX/sizeof(void *)/4)
+ goto nospace;
+ i += we->we_offs;
+ } else {
+ we->we_offs = 0;
+ }
+
+ if (pipe2(p, O_CLOEXEC) < 0) goto nospace;
+ pid = fork();
+ if (pid < 0) {
+ close(p[0]);
+ close(p[1]);
+ goto nospace;
+ }
+ if (!pid) {
+ if (p[1] == 1) fcntl(1, F_SETFD, 0);
+ else dup2(p[1], 1);
+ execl("/bin/sh", "sh", "-c",
+ "eval \"printf %s\\\\\\\\0 x $1 $2\"",
+ "sh", s, redir, (char *)0);
+ _exit(1);
+ }
+ close(p[1]);
+
+ f = fdopen(p[0], "r");
+ if (!f) {
+ close(p[0]);
+ kill(pid, SIGKILL);
+ reap(pid);
+ goto nospace;
+ }
+
+ l = wv ? i+1 : 0;
+
+ free(getword(f));
+ if (feof(f)) {
+ fclose(f);
+ reap(pid);
+ return WRDE_SYNTAX;
+ }
+
+ while ((w = getword(f))) {
+ if (i+1 >= l) {
+ l += l/2+10;
+ tmp = realloc(wv, l*sizeof(char *));
+ if (!tmp) break;
+ wv = tmp;
+ }
+ wv[i++] = w;
+ wv[i] = 0;
+ }
+ if (!feof(f)) err = WRDE_NOSPACE;
+
+ fclose(f);
+ reap(pid);
+
+ if (!wv) wv = calloc(i+1, sizeof *wv);
+
+ we->we_wordv = wv;
+ we->we_wordc = i;
+
+ if (flags & WRDE_DOOFFS) {
+ if (wv) for (i=we->we_offs; i; i--)
+ we->we_wordv[i-1] = 0;
+ we->we_wordc -= we->we_offs;
+ }
+ return err;
+
+nospace:
+ if (!(flags & WRDE_APPEND)) {
+ we->we_wordc = 0;
+ we->we_wordv = 0;
+ }
+ return WRDE_NOSPACE;
+}
+
+int wordexp(const char *restrict s, wordexp_t *restrict we, int flags)
+{
+ int r, cs;
+ r = do_wordexp(s, we, flags);
+ return r;
+}
+
+void wordfree(wordexp_t *we)
+{
+ size_t i;
+ if (!we->we_wordv) return;
+ for (i=0; i<we->we_wordc; i++) free(we->we_wordv[we->we_offs+i]);
+ free(we->we_wordv);
+ we->we_wordv = 0;
+ we->we_wordc = 0;
+}
diff -uNr src/wordexp.h src.mod/wordexp.h
--- src/wordexp.h 1970-01-01 00:00:00.000000000 +0000
+++ src.mod/wordexp.h 2021-05-21 09:10:06.255178000 +0000
@@ -0,0 +1,58 @@
+/* Copyright (C) 1991, 92, 1996-1999, 2001, 2003 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+#ifndef _WORDEXP_H
+#define _WORDEXP_H 1
+#include <features.h>
+#define __need_size_t
+#include <stddef.h>
+__BEGIN_DECLS
+/* Bits set in the FLAGS argument to `wordexp'. */
+enum
+ {
+ WRDE_DOOFFS = (1 << 0), /* Insert PWORDEXP->we_offs NULLs. */
+ WRDE_APPEND = (1 << 1), /* Append to results of a previous call. */
+ WRDE_NOCMD = (1 << 2), /* Don't do command substitution. */
+ WRDE_REUSE = (1 << 3), /* Reuse storage in PWORDEXP. */
+ WRDE_SHOWERR = (1 << 4), /* Don't redirect stderr to /dev/null. */
+ WRDE_UNDEF = (1 << 5), /* Error for expanding undefined variables. */
+ __WRDE_FLAGS = (WRDE_DOOFFS | WRDE_APPEND | WRDE_NOCMD |
+ WRDE_REUSE | WRDE_SHOWERR | WRDE_UNDEF)
+ };
+/* Structure describing a word-expansion run. */
+typedef struct
+ {
+ size_t we_wordc; /* Count of words matched. */
+ char **we_wordv; /* List of expanded words. */
+ size_t we_offs; /* Slots to reserve in `we_wordv'. */
+ } wordexp_t;
+/* Possible nonzero return values from `wordexp'. */
+enum
+ {
+#ifdef __USE_XOPEN
+ WRDE_NOSYS = -1, /* Never used since we support `wordexp'. */
+#endif
+ WRDE_NOSPACE = 1, /* Ran out of memory. */
+ WRDE_BADCHAR, /* A metachar appears in the wrong place. */
+ WRDE_BADVAL, /* Undefined var reference with WRDE_UNDEF. */
+ WRDE_CMDSUB, /* Command substitution with WRDE_NOCMD. */
+ WRDE_SYNTAX /* Shell syntax error. */
+ };
+/* Do word expansion of WORDS into PWORDEXP. */
+extern int wordexp (__const char *__restrict __words,
+ wordexp_t *__restrict __pwordexp, int __flags);
+/* Free the storage allocated by a `wordexp' call. */
+extern void wordfree (wordexp_t *__wordexp);
+__END_DECLS
+#endif /* wordexp.h */

View File

@ -1,13 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://lxqt.github.io
TERMUX_PKG_DESCRIPTION="LXQt application launcher"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=0.17.0
TERMUX_PKG_REVISION=5
TERMUX_PKG_SRCURL="https://github.com/lxqt/lxqt-runner/releases/download/${TERMUX_PKG_VERSION}/lxqt-runner-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=24a68c50961e1157aabdb9a3899727f50012b77e401c15447c9bdc3af792a358
TERMUX_PKG_DEPENDS="qt5-qtbase, libqtxdg, kwindowsystem, liblxqt, lxqt-globalkeys"
TERMUX_PKG_BUILD_DEPENDS="lxqt-build-tools, qt5-qtbase-cross-tools, qt5-qttools-cross-tools"
# TODO runner math depends on muparser
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DRUNNER_MATH=OFF"

View File

@ -1,14 +0,0 @@
We've disabled math plugin at the moment.
This patch is probably not needed when -DRUNNER_MATH=ON
--- src/dialog.cpp 2021-04-11 09:01:40.000000000 +0000
+++ src.mod/dialog.cpp 2021-05-20 16:11:59.594667000 +0000
@@ -498,8 +498,7 @@
if (res)
{
hide();
- if (!qobject_cast<const MathItem*>(command)) // don't clear math results
- ui->commandEd->clear();
+ ui->commandEd->clear();
}
}

View File

@ -1,274 +0,0 @@
diff -uNr src/lxqt-session/CMakeLists.txt src.mod/lxqt-session/CMakeLists.txt
--- src/lxqt-session/CMakeLists.txt 2021-05-21 09:21:12.474337000 +0000
+++ src.mod/lxqt-session/CMakeLists.txt 2021-05-21 09:19:27.994338000 +0000
@@ -28,6 +28,8 @@
src/numlock.h
src/log.cpp
src/procreaper.cpp
+ src/wordexp.h
+ src/wordexp.c
)
if (WITH_LIBUDEV)
list(APPEND lxqt-session_SRCS src/UdevNotifier.cpp)
diff -uNr src/lxqt-session/src/lxqtmodman.cpp src.mod/lxqt-session/src/lxqtmodman.cpp
--- src/lxqt-session/src/lxqtmodman.cpp 2021-04-16 16:36:14.000000000 +0000
+++ src.mod/lxqt-session/src/lxqtmodman.cpp 2021-05-21 09:21:32.128509000 +0000
@@ -43,7 +43,7 @@
#include <QDateTime>
#include "wmselectdialog.h"
#include "windowmanager.h"
-#include <wordexp.h>
+#include "wordexp.h"
#include "log.h"
#include <KWindowSystem/KWindowSystem>
diff -uNr src/lxqt-session/src/wordexp.c src.mod/lxqt-session/src/wordexp.c
--- src/lxqt-session/src/wordexp.c 1970-01-01 00:00:00.000000000 +0000
+++ src.mod/lxqt-session/src/wordexp.c 2021-05-21 09:17:56.854283000 +0000
@@ -0,0 +1,184 @@
+// Copied from http://git.musl-libc.org/cgit/musl/plain/src/misc/wordexp.c
+// pthread-related lines are removed because they're missing on Android
+#include "wordexp.h"
+#include <unistd.h>
+#include <stdio.h>
+#include <string.h>
+#include <limits.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <sys/wait.h>
+#include <signal.h>
+#include <errno.h>
+#include <fcntl.h>
+
+static void reap(pid_t pid)
+{
+ int status;
+ while (waitpid(pid, &status, 0) < 0 && errno == EINTR);
+}
+
+static char *getword(FILE *f)
+{
+ char *s = 0;
+ return getdelim(&s, (size_t [1]){0}, 0, f) < 0 ? 0 : s;
+}
+
+static int do_wordexp(const char *s, wordexp_t *we, int flags)
+{
+ size_t i, l;
+ int sq=0, dq=0;
+ size_t np=0;
+ char *w, **tmp;
+ char *redir = (flags & WRDE_SHOWERR) ? "" : "2>/dev/null";
+ int err = 0;
+ FILE *f;
+ size_t wc = 0;
+ char **wv = 0;
+ int p[2];
+ pid_t pid;
+ sigset_t set;
+
+ if (flags & WRDE_REUSE) wordfree(we);
+
+ if (flags & WRDE_NOCMD) for (i=0; s[i]; i++) switch (s[i]) {
+ case '\\':
+ if (!sq && !s[++i]) return WRDE_SYNTAX;
+ break;
+ case '\'':
+ if (!dq) sq^=1;
+ break;
+ case '"':
+ if (!sq) dq^=1;
+ break;
+ case '(':
+ if (np) {
+ np++;
+ break;
+ }
+ case ')':
+ if (np) {
+ np--;
+ break;
+ }
+ case '\n':
+ case '|':
+ case '&':
+ case ';':
+ case '<':
+ case '>':
+ case '{':
+ case '}':
+ if (!(sq|dq|np)) return WRDE_BADCHAR;
+ break;
+ case '$':
+ if (sq) break;
+ if (s[i+1]=='(' && s[i+2]=='(') {
+ i += 2;
+ np += 2;
+ break;
+ } else if (s[i+1] != '(') break;
+ case '`':
+ if (sq) break;
+ return WRDE_CMDSUB;
+ }
+
+ if (flags & WRDE_APPEND) {
+ wc = we->we_wordc;
+ wv = we->we_wordv;
+ }
+
+ i = wc;
+ if (flags & WRDE_DOOFFS) {
+ if (we->we_offs > SIZE_MAX/sizeof(void *)/4)
+ goto nospace;
+ i += we->we_offs;
+ } else {
+ we->we_offs = 0;
+ }
+
+ if (pipe2(p, O_CLOEXEC) < 0) goto nospace;
+ pid = fork();
+ if (pid < 0) {
+ close(p[0]);
+ close(p[1]);
+ goto nospace;
+ }
+ if (!pid) {
+ if (p[1] == 1) fcntl(1, F_SETFD, 0);
+ else dup2(p[1], 1);
+ execl("/bin/sh", "sh", "-c",
+ "eval \"printf %s\\\\\\\\0 x $1 $2\"",
+ "sh", s, redir, (char *)0);
+ _exit(1);
+ }
+ close(p[1]);
+
+ f = fdopen(p[0], "r");
+ if (!f) {
+ close(p[0]);
+ kill(pid, SIGKILL);
+ reap(pid);
+ goto nospace;
+ }
+
+ l = wv ? i+1 : 0;
+
+ free(getword(f));
+ if (feof(f)) {
+ fclose(f);
+ reap(pid);
+ return WRDE_SYNTAX;
+ }
+
+ while ((w = getword(f))) {
+ if (i+1 >= l) {
+ l += l/2+10;
+ tmp = realloc(wv, l*sizeof(char *));
+ if (!tmp) break;
+ wv = tmp;
+ }
+ wv[i++] = w;
+ wv[i] = 0;
+ }
+ if (!feof(f)) err = WRDE_NOSPACE;
+
+ fclose(f);
+ reap(pid);
+
+ if (!wv) wv = calloc(i+1, sizeof *wv);
+
+ we->we_wordv = wv;
+ we->we_wordc = i;
+
+ if (flags & WRDE_DOOFFS) {
+ if (wv) for (i=we->we_offs; i; i--)
+ we->we_wordv[i-1] = 0;
+ we->we_wordc -= we->we_offs;
+ }
+ return err;
+
+nospace:
+ if (!(flags & WRDE_APPEND)) {
+ we->we_wordc = 0;
+ we->we_wordv = 0;
+ }
+ return WRDE_NOSPACE;
+}
+
+int wordexp(const char *restrict s, wordexp_t *restrict we, int flags)
+{
+ int r, cs;
+ r = do_wordexp(s, we, flags);
+ return r;
+}
+
+void wordfree(wordexp_t *we)
+{
+ size_t i;
+ if (!we->we_wordv) return;
+ for (i=0; i<we->we_wordc; i++) free(we->we_wordv[we->we_offs+i]);
+ free(we->we_wordv);
+ we->we_wordv = 0;
+ we->we_wordc = 0;
+}
diff -uNr src/lxqt-session/src/wordexp.h src.mod/lxqt-session/src/wordexp.h
--- src/lxqt-session/src/wordexp.h 1970-01-01 00:00:00.000000000 +0000
+++ src.mod/lxqt-session/src/wordexp.h 2021-05-21 09:17:53.811283000 +0000
@@ -0,0 +1,58 @@
+/* Copyright (C) 1991, 92, 1996-1999, 2001, 2003 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+#ifndef _WORDEXP_H
+#define _WORDEXP_H 1
+#include <features.h>
+#define __need_size_t
+#include <stddef.h>
+__BEGIN_DECLS
+/* Bits set in the FLAGS argument to `wordexp'. */
+enum
+ {
+ WRDE_DOOFFS = (1 << 0), /* Insert PWORDEXP->we_offs NULLs. */
+ WRDE_APPEND = (1 << 1), /* Append to results of a previous call. */
+ WRDE_NOCMD = (1 << 2), /* Don't do command substitution. */
+ WRDE_REUSE = (1 << 3), /* Reuse storage in PWORDEXP. */
+ WRDE_SHOWERR = (1 << 4), /* Don't redirect stderr to /dev/null. */
+ WRDE_UNDEF = (1 << 5), /* Error for expanding undefined variables. */
+ __WRDE_FLAGS = (WRDE_DOOFFS | WRDE_APPEND | WRDE_NOCMD |
+ WRDE_REUSE | WRDE_SHOWERR | WRDE_UNDEF)
+ };
+/* Structure describing a word-expansion run. */
+typedef struct
+ {
+ size_t we_wordc; /* Count of words matched. */
+ char **we_wordv; /* List of expanded words. */
+ size_t we_offs; /* Slots to reserve in `we_wordv'. */
+ } wordexp_t;
+/* Possible nonzero return values from `wordexp'. */
+enum
+ {
+#ifdef __USE_XOPEN
+ WRDE_NOSYS = -1, /* Never used since we support `wordexp'. */
+#endif
+ WRDE_NOSPACE = 1, /* Ran out of memory. */
+ WRDE_BADCHAR, /* A metachar appears in the wrong place. */
+ WRDE_BADVAL, /* Undefined var reference with WRDE_UNDEF. */
+ WRDE_CMDSUB, /* Command substitution with WRDE_NOCMD. */
+ WRDE_SYNTAX /* Shell syntax error. */
+ };
+/* Do word expansion of WORDS into PWORDEXP. */
+extern int wordexp (__const char *__restrict __words,
+ wordexp_t *__restrict __pwordexp, int __flags);
+/* Free the storage allocated by a `wordexp' call. */
+extern void wordfree (wordexp_t *__wordexp);
+__END_DECLS
+#endif /* wordexp.h */

View File

@ -1,11 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://lxqt.github.io
TERMUX_PKG_DESCRIPTION="The LXQt session manager"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=0.17.1
TERMUX_PKG_REVISION=5
TERMUX_PKG_SRCURL="https://github.com/lxqt/lxqt-session/releases/download/${TERMUX_PKG_VERSION}/lxqt-session-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=d9058ceedb355a43ea2ef070292fc30b0fb740640cf0b579131aaefbac779c47
TERMUX_PKG_DEPENDS="qt5-qtbase, qt5-qtx11extras, kwindowsystem, liblxqt, procps"
TERMUX_PKG_BUILD_DEPENDS="lxqt-build-tools, qt5-qtbase-cross-tools, qt5-qttools-cross-tools"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DWITH_LIBUDEV=OFF"

View File

@ -1,53 +0,0 @@
diff -uNr src/CMakeLists.txt src.mod/CMakeLists.txt
--- src/CMakeLists.txt 2021-05-21 09:22:54.192072000 +0000
+++ src.mod/CMakeLists.txt 2021-05-21 09:29:32.473671000 +0000
@@ -57,11 +57,11 @@
# startlxqt script
set(PREDEF_XDG_DATA_DIRS "$XDG_DATA_HOME")
-if(NOT("${LXQT_DATA_DIR}" MATCHES "^/usr(/local)?/share$"))
+if(NOT("${LXQT_DATA_DIR}" MATCHES "^@TERMUX_PREFIX@(/local)?/share$"))
set(PREDEF_XDG_DATA_DIRS "${PREDEF_XDG_DATA_DIRS}:${LXQT_DATA_DIR}")
endif()
-set(PREDEF_XDG_DATA_DIRS "${PREDEF_XDG_DATA_DIRS}:/usr/local/share:/usr/share")
-set(PREDEF_XDG_CONFIG_DIRS "/etc:${LXQT_ETC_XDG_DIR}:/usr/share")
+set(PREDEF_XDG_DATA_DIRS "${PREDEF_XDG_DATA_DIRS}:@TERMUX_PREFIX@/local/share:@TERMUX_PREFIX@/share")
+set(PREDEF_XDG_CONFIG_DIRS "@TERMUX_PREFIX@/etc:${LXQT_ETC_XDG_DIR}:@TERMUX_PREFIX@/share")
configure_file(startlxqt.in startlxqt @ONLY)
install(PROGRAMS
"${CMAKE_CURRENT_BINARY_DIR}/startlxqt"
diff -uNr src/lxqt-config-session/autostartedit.cpp src.mod/lxqt-config-session/autostartedit.cpp
--- src/lxqt-config-session/autostartedit.cpp 2021-04-16 16:36:14.000000000 +0000
+++ src.mod/lxqt-config-session/autostartedit.cpp 2021-05-21 09:27:08.762448000 +0000
@@ -58,7 +58,7 @@
void AutoStartEdit::browse()
{
- QString filePath = QFileDialog::getOpenFileName(this, tr("Select Application"), QSL("/usr/bin/"));
+ QString filePath = QFileDialog::getOpenFileName(this, tr("Select Application"), QSL("@TERMUX_PREFIX@/bin/"));
if (!filePath.isEmpty())
ui->commandEdit->setText(filePath);
}
diff -uNr src/lxqt-config-session/sessionconfigwindow.cpp src.mod/lxqt-config-session/sessionconfigwindow.cpp
--- src/lxqt-config-session/sessionconfigwindow.cpp 2021-04-16 16:36:14.000000000 +0000
+++ src.mod/lxqt-config-session/sessionconfigwindow.cpp 2021-05-21 09:26:22.519701000 +0000
@@ -115,7 +115,7 @@
const QString &prompt
)
{
- QString fname = QFileDialog::getOpenFileName(cb, prompt, QSL("/usr/bin/"));
+ QString fname = QFileDialog::getOpenFileName(cb, prompt, QSL("@TERMUX_PREFIX@/bin/"));
if (fname.isEmpty())
return;
diff -uNr src/lxqt-session/src/wmselectdialog.cpp src.mod/lxqt-session/src/wmselectdialog.cpp
--- src/lxqt-session/src/wmselectdialog.cpp 2021-04-16 16:36:14.000000000 +0000
+++ src.mod/lxqt-session/src/wmselectdialog.cpp 2021-05-21 09:25:20.941811000 +0000
@@ -117,7 +117,7 @@
if (item->data(1, TYPE_ROLE) != SELECT_DLG_TYPE)
return;
- QString fname = QFileDialog::getOpenFileName(this, QString(), QSL("/usr/bin/"));
+ QString fname = QFileDialog::getOpenFileName(this, QString(), QSL("@TERMUX_PREFIX@/bin/"));
if (fname.isEmpty())
return;

View File

@ -1,48 +0,0 @@
--- src/CMakeLists.txt 2021-04-16 16:36:14.000000000 +0000
+++ src.mod/CMakeLists.txt 2021-05-20 14:57:23.675649000 +0000
@@ -32,12 +32,7 @@
find_package(X11 REQUIRED)
message(STATUS "Building with Qt${Qt5Core_VERSION}")
find_package(PkgConfig REQUIRED)
-if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
- pkg_search_module(PROCPS REQUIRED libprocps)
-endif()
-
-# Please don't move, must be after lxqt
-find_package(XdgUserDirs REQUIRED)
+pkg_search_module(PROCPS REQUIRED libprocps)
# Patch Version
set(LXQT_SESSION_PATCH_VERSION 1)
--- src/lxqt-session/CMakeLists.txt 2021-04-16 16:36:14.000000000 +0000
+++ src.mod/lxqt-session/CMakeLists.txt 2021-05-20 15:00:28.556372000 +0000
@@ -9,11 +9,9 @@
include_directories(
${X11_INCLUDE_DIR}
)
-if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
- include_directories(
- ${PROCPS_INCLUDE_DIRS}
- )
-endif()
+include_directories(
+ ${PROCPS_INCLUDE_DIRS}
+)
set(lxqt-session_HDRS "")
@@ -67,11 +65,9 @@
${X11_LIBRARIES}
KF5::WindowSystem
)
-if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
- target_link_libraries(lxqt-session
- ${PROCPS_LIBRARIES}
- )
-endif()
+target_link_libraries(lxqt-session
+ ${PROCPS_LIBRARIES}
+)
if (WITH_LIBUDEV)
target_link_libraries(lxqt-session ${UDEV_LIBS})

View File

@ -1,11 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://lxqt.github.io
TERMUX_PKG_DESCRIPTION="Themes, graphics and icons for LXQt"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=0.17.0
TERMUX_PKG_REVISION=2
TERMUX_PKG_SRCURL="https://github.com/lxqt/lxqt-themes/releases/download/${TERMUX_PKG_VERSION}/lxqt-themes-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=3ff1960f593ffb591ebf8ce48a54953f30e6f7fac4880ad6eb1dbe9ecd67bb4e
TERMUX_PKG_DEPENDS="hicolor-icon-theme"
TERMUX_PKG_BUILD_DEPENDS="lxqt-build-tools"
TERMUX_PKG_PLATFORM_INDEPENDENT=true

View File

@ -1,12 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://github.com/termux/x11-packages
TERMUX_PKG_DESCRIPTION="A metapackage that installs all parts of the LXQt desktop environment"
TERMUX_PKG_LICENSE="Public Domain"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=0.17.0
TERMUX_PKG_REVISION=4
TERMUX_PKG_SKIP_SRC_EXTRACT=true
TERMUX_PKG_DEPENDS="pcmanfm-qt, qterminal, lxqt-session, lxqt-panel, lxqt-runner, lxqt-openssh-askpass, lxqt-notificationd, lxqt-globalkeys, lxqt-config, lxqt-archiver, lxqt-about, lximage-qt, obconf-qt, lxqt-qtplugin, lxqt-themes, pavucontrol-qt"
TERMUX_PKG_RECOMMENDS="kvantum"
TERMUX_PKG_SUGGESTS="papirus-icon-theme"
TERMUX_PKG_METAPACKAGE=true
TERMUX_PKG_PLATFORM_INDEPENDENT=true

View File

@ -1,24 +0,0 @@
TERMUX_PKG_HOMEPAGE=http://www.lyx.org
TERMUX_PKG_DESCRIPTION="WYSIWYM (What You See Is What You Mean) Document Processor"
TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=2.3.6.1
TERMUX_PKG_REVISION=3
TERMUX_PKG_SRCURL="https://ftp.lip6.fr/pub/lyx/stable/2.3.x/lyx-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=c6bed2633419898e01a7cc350310d7d934bf591cab7259fc2581aa4c00eafa78
TERMUX_PKG_DEPENDS="qt5-qtbase, qt5-qtsvg, zlib, imagemagick, ghostscript, texlive-bin, hunspell"
TERMUX_PKG_BUILD_DEPENDS="boost, qt5-qtbase-cross-tools"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
--enable-build-type=rel
--enable-qt5
--without-included-boost
--without-aspell
--with-hunspell
"
TERMUX_PKG_RM_AFTER_INSTALL="share/lyx/examples"
termux_step_pre_configure() {
# This is to allow the build script find the `moc` on cross-build host
export PATH+=":${TERMUX_PREFIX}/opt/qt/cross/bin"
}

View File

@ -1,11 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://lxqt.github.io
TERMUX_PKG_DESCRIPTION="OpenBox window manager configuration tool"
TERMUX_PKG_LICENSE="LGPL-2.1"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=0.16.1
TERMUX_PKG_REVISION=4
TERMUX_PKG_SRCURL="https://github.com/lxqt/obconf-qt/releases/download/${TERMUX_PKG_VERSION}/obconf-qt-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=458d96b63dca8a09a4f477d42030d829e8090aae0ea39b3994fcf0b8da8e8b42
TERMUX_PKG_DEPENDS="qt5-qtbase, qt5-qtx11extras, glib, openbox, liblxqt, hicolor-icon-theme"
TERMUX_PKG_BUILD_DEPENDS="lxqt-build-tools, qt5-qtbase-cross-tools, qt5-qttools-cross-tools"

View File

@ -1,50 +0,0 @@
diff --color -uNr src/3rdparty/breakpad/src/client/linux/crash_generation/crash_generation_server.cc src.mod/3rdparty/breakpad/src/client/linux/crash_generation/crash_generation_server.cc
--- src/3rdparty/breakpad/src/client/linux/crash_generation/crash_generation_server.cc 2020-12-21 21:34:21.000000000 +0000
+++ src.mod/3rdparty/breakpad/src/client/linux/crash_generation/crash_generation_server.cc 2021-05-22 17:09:44.802941078 +0100
@@ -72,7 +72,7 @@
if (dump_path)
dump_dir_ = *dump_path;
else
- dump_dir_ = "/tmp";
+ dump_dir_ = "@TERMUX_PREFIX@/tmp";
}
CrashGenerationServer::~CrashGenerationServer()
diff --color -uNr src/3rdparty/breakpad/src/client/linux/minidump_writer/minidump_writer.cc src.mod/3rdparty/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
--- src/3rdparty/breakpad/src/client/linux/minidump_writer/minidump_writer.cc 2020-12-21 21:34:21.000000000 +0000
+++ src.mod/3rdparty/breakpad/src/client/linux/minidump_writer/minidump_writer.cc 2021-05-22 17:08:14.343199518 +0100
@@ -229,7 +229,7 @@
dir.CopyIndex(dir_index++, &dirent);
dirent.stream_type = MD_LINUX_LSB_RELEASE;
- if (!WriteFile(&dirent.location, "/etc/lsb-release"))
+ if (!WriteFile(&dirent.location, "@TERMUX_PREFIX@/etc/lsb-release"))
NullifyDirectoryEntry(&dirent);
dir.CopyIndex(dir_index++, &dirent);
diff --color -uNr src/3rdparty/libmimeapps/Tools.cpp src.mod/3rdparty/libmimeapps/Tools.cpp
--- src/3rdparty/libmimeapps/Tools.cpp 2020-12-21 21:34:21.000000000 +0000
+++ src.mod/3rdparty/libmimeapps/Tools.cpp 2021-05-22 17:05:20.315735013 +0100
@@ -166,8 +166,8 @@
std::map<std::string, std::string> defaultVariableValues;
defaultVariableValues["XDG_DATA_HOME"] = std::string("$HOME/.local/share");
defaultVariableValues["XDG_CONFIG_HOME"] = std::string("$HOME/.config");
- defaultVariableValues["XDG_DATA_DIRS"] = std::string("/usr/local/share/:/usr/share/");
- defaultVariableValues["XDG_CONFIG_DIRS"] = std::string("/etc/xdg");
+ defaultVariableValues["XDG_DATA_DIRS"] = std::string("@TERMUX_PREFIX@/local/share/:@TERMUX_PREFIX@/share/");
+ defaultVariableValues["XDG_CONFIG_DIRS"] = std::string("@TERMUX_PREFIX@/etc/xdg");
if (defaultVariableValues.find(name) != defaultVariableValues.end())
{
diff --color -uNr src/3rdparty/sonnet/src/plugins/hunspell/hunspellclient.cpp src.mod/3rdparty/sonnet/src/plugins/hunspell/hunspellclient.cpp
--- src/3rdparty/sonnet/src/plugins/hunspell/hunspellclient.cpp 2020-12-21 21:34:21.000000000 +0000
+++ src.mod/3rdparty/sonnet/src/plugins/hunspell/hunspellclient.cpp 2021-05-22 17:06:28.327518090 +0100
@@ -57,7 +57,7 @@
#ifdef Q_OS_MAC
directories << QLatin1String("/System/Library/Spelling/");
#else
- directories << QLatin1String("/usr/share/hunspell/") << QLatin1String("/usr/local/share/hunspell/") << QLatin1String("/usr/share/myspell/") << QLatin1String("/usr/share/myspell/dicts/") << QLatin1String("/usr/local/share/mozilla-dicts/");
+ directories << QLatin1String("@TERMUX_PREFIX@/share/hunspell/") << QLatin1String("@TERMUX_PREFIX@/local/share/hunspell/") << QLatin1String("@TERMUX_PREFIX@/share/myspell/") << QLatin1String("@TERMUX_PREFIX@/share/myspell/dicts/") << QLatin1String("@TERMUX_PREFIX@/local/share/mozilla-dicts/");
#endif
const QString otterDirectory(qgetenv("OTTER_DICTIONARIES"));

View File

@ -1,11 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://otter-browser.org
TERMUX_PKG_DESCRIPTION="Web browser with aspects of Opera (12.x)"
TERMUX_PKG_LICENSE="GPL-3.0"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=1.0.02
TERMUX_PKG_REVISION=5
TERMUX_PKG_SRCURL="https://github.com/OtterBrowser/otter-browser/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz"
TERMUX_PKG_SHA256=d1e090a80fa736cd128f594184817078a08cac31614e85e7838ff1b64511d62d
TERMUX_PKG_DEPENDS="qt5-qtbase, qt5-qtsvg, qt5-qtxmlpatterns, qt5-qtwebkit, qt5-qtmultimedia, hunspell"
TERMUX_PKG_NO_STATICSPLIT=true
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DENABLE_QTWEBENGINE=OFF -DENABLE_QTWEBKIT=ON -DENABLE_CRASHREPORTS=OFF -DENABLE_SPELLCHECK=ON"

View File

@ -1,11 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://lxqt.github.io
TERMUX_PKG_DESCRIPTION="Qt port of volume control of sound server PulseAudio"
TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=0.17.0
TERMUX_PKG_REVISION=4
TERMUX_PKG_SRCURL="https://github.com/lxqt/pavucontrol-qt/releases/download/${TERMUX_PKG_VERSION}/pavucontrol-qt-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=6c274cd3a80a699c4b3f4dbf4eccaef3fafdc677c6240e2b45672bafe46da170
TERMUX_PKG_DEPENDS="qt5-qtbase, kwindowsystem, liblxqt, pulseaudio-glib"
TERMUX_PKG_BUILD_DEPENDS="lxqt-build-tools, qt5-qtbase-cross-tools, qt5-qttools-cross-tools"

View File

@ -1,11 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://lxqt.github.io
TERMUX_PKG_DESCRIPTION="PCManFM-Qt is the file manager of LXQt"
TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=0.17.0
TERMUX_PKG_REVISION=5
TERMUX_PKG_SRCURL="https://github.com/lxqt/pcmanfm-qt/releases/download/${TERMUX_PKG_VERSION}/pcmanfm-qt-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=74acbf55cdb22bd4d0068ef22ba298254ce6de72374624fcf3087c016d3bbaab
TERMUX_PKG_DEPENDS="qt5-qtbase, qt5-qtx11extras, libfm-qt, liblxqt, lxmenu-data"
TERMUX_PKG_BUILD_DEPENDS="lxqt-build-tools, qt5-qtbase-cross-tools, qt5-qttools-cross-tools"

View File

@ -1,16 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://github.com/tibirna/qgit
TERMUX_PKG_DESCRIPTION="A git GUI viewer"
TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION=2.9
TERMUX_PKG_REVISION=22
TERMUX_PKG_SRCURL=https://github.com/tibirna/qgit/archive/qgit-${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=69788efda7d434d1bc094bb414bd92c269dc7894326320634500b05d63c008e8
TERMUX_PKG_DEPENDS="git, hicolor-icon-theme, qt5-qtbase"
TERMUX_PKG_BUILD_DEPENDS="qt5-qtbase-cross-tools"
TERMUX_PKG_BUILD_IN_SRC=true
termux_step_configure() {
"${TERMUX_PREFIX}/opt/qt/cross/bin/qmake" \
-spec "${TERMUX_PREFIX}/lib/qt/mkspecs/termux-cross"
}

View File

@ -1,32 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://riverbankcomputing.com/software/qscintilla
TERMUX_PKG_DESCRIPTION="QScintilla is a port to Qt of the Scintilla editing component"
TERMUX_PKG_LICENSE="GPL-3.0"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=2.12.1
TERMUX_PKG_REVISION=5
TERMUX_PKG_SRCURL="https://www.riverbankcomputing.com/static/Downloads/QScintilla/${TERMUX_PKG_VERSION}/QScintilla_src-${TERMUX_PKG_VERSION}.tar.gz"
TERMUX_PKG_SHA256=a7331c44b5d7320cbf58cb2382c38857e9e9f4fa52c405bd7776c8b6649836c2
TERMUX_PKG_DEPENDS="qt5-qtbase"
# qttools is only needed to build Qt Designer's plugins
TERMUX_PKG_BUILD_DEPENDS="qt5-qtbase-cross-tools, qt5-qttools"
TERMUX_PKG_BUILD_IN_SRC=true
TERMUX_PKG_NO_STATICSPLIT=true
TERMUX_PKG_EXTRA_MAKE_ARGS="-C src"
termux_step_configure () {
for i in src designer; do
cd "${TERMUX_PKG_SRCDIR}/${i}" && {
"${TERMUX_PREFIX}/opt/qt/cross/bin/qmake" \
-spec "${TERMUX_PREFIX}/lib/qt/mkspecs/termux-cross"
}
done
unset i
}
termux_step_post_make_install() {
cd "${TERMUX_PKG_SRCDIR}/designer" && {
make -j "${TERMUX_MAKE_PROCESSES}"
make install
}
}

View File

@ -1,12 +0,0 @@
qt5-qtbase in Termux doesn't build accessibility
--- src/src/qscintilla.pro 2021-05-09 12:23:05.233865021 +0000
+++ src.mod/src/qscintilla.pro 2021-05-09 12:22:58.033891538 +0000
@@ -23,6 +23,8 @@
TEMPLATE = lib
CONFIG += qt warn_off thread exceptions hide_symbols
+DEFINES += QT_NO_ACCESSIBILITY
+
CONFIG(debug, debug|release) {
mac: {
TARGET = qscintilla2_qt$${QT_MAJOR_VERSION}_debug

View File

@ -1,22 +0,0 @@
excinfo.h is not available on Termux environment
Add an extra macro check for __ANDROID__ so it's excluded
--- src/src/plugins/debugger/shared/backtrace.cpp 2020-07-07 06:44:20.000000000 +0000
+++ src.mod/src/plugins/debugger/shared/backtrace.cpp 2021-05-24 10:38:54.023502983 +0000
@@ -27,7 +27,7 @@
#include <QDebug>
#include <QProcess>
-#if defined(Q_OS_LINUX)
+#if defined(Q_OS_LINUX) && !defined(__ANDROID__)
#include <stdio.h>
#include <signal.h>
#include <execinfo.h>
@@ -40,7 +40,7 @@
{
if (maxdepth == -1)
maxdepth = 200;
-#if defined(Q_OS_LINUX)
+#if defined(Q_OS_LINUX) && !defined(__ANDROID__)
void *bt[200] = {nullptr};
qDebug() << "BACKTRACE:";
int size = backtrace(bt, sizeof(bt) / sizeof(bt[0]));

View File

@ -1,41 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://www.qt.io/
TERMUX_PKG_DESCRIPTION="Integrated Development Environment for Qt"
TERMUX_PKG_LICENSE="LGPL-3.0"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=4.12.4
TERMUX_PKG_REVISION=6
TERMUX_PKG_SRCURL="https://github.com/qt-creator/qt-creator/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz"
TERMUX_PKG_SHA256=2469a19ee230eb600467e614c23ed678b1b414adc16efdedcfc0404bf40d8015
TERMUX_PKG_DEPENDS="qt5-qtbase, qt5-qtdeclarative, qt5-qtxmlpatterns, qt5-qttools, qt5-qtx11extras, qt5-qtsvg, llvm, clang"
TERMUX_PKG_BUILD_DEPENDS="qt5-qtbase-cross-tools, qt5-qtdeclarative-cross-tools, qt5-qttools-cross-tools"
TERMUX_PKG_RECOMMENDS="gdb, git, make, cmake, valgrind"
TERMUX_PKG_SUGGESTS="cvs, subversion"
TERMUX_PKG_BUILD_IN_SRC=true
TERMUX_PKG_NO_STATICSPLIT=true
termux_step_configure () {
# -r to force Makefile generations for all subdirs at this step so process_stub can be patched
# Disable QML Designer plugin which requires OpenGL
# Disable clang refactoring plugin which has odd linking issues at the moment
export QTC_DO_NOT_BUILD_QMLDESIGNER=1
export QTC_DISABLE_CLANG_REFACTORING=1
"${TERMUX_PREFIX}/opt/qt/cross/bin/qmake" -r \
-spec "${TERMUX_PREFIX}/lib/qt/mkspecs/termux-cross"
}
termux_step_post_configure() {
# process_stub's Makefile has the incorrect LINK executable (it should've been QMAKE_CXX)
sed -i "s|^LINK = clang|LINK = ${CXX}|" \
${TERMUX_PKG_SRCDIR}/src/libs/utils/Makefile.process_stub
# clangbackend's Makefile lacks -lc++_shared to link against libc++ on x86_64
sed -i 's|^LIBS = $(SUBLIBS)|LIBS = $(SUBLIBS) -lc++_shared|' \
${TERMUX_PKG_SRCDIR}/src/tools/clangbackend/Makefile
# make sure clangtools link against libc++_shared on x86_64
sed -i 's|^LIBS = $(SUBLIBS)|LIBS = $(SUBLIBS) -lc++_shared|' \
${TERMUX_PKG_SRCDIR}/src/plugins/clangtools//Makefile
# required by make install, otherwise it installs to '/'
export INSTALL_ROOT="${TERMUX_PREFIX}"
}

View File

@ -1,11 +0,0 @@
--- src/src/tools/clangpchmanagerbackend/source/generatepchactionfactory.h 2020-07-07 06:44:20.000000000 +0000
+++ src.mod//src/tools/clangpchmanagerbackend/source/generatepchactionfactory.h 2021-05-24 12:46:08.430407000 +0000
@@ -44,7 +44,7 @@
bool BeginInvocation(clang::CompilerInstance &compilerInstance) override
{
- compilerInstance.getPreprocessorOpts().DisablePCHValidation = true;
+ // compilerInstance.getPreprocessorOpts().DisablePCHValidation = true;
compilerInstance.getPreprocessorOpts().AllowPCHWithCompilerErrors = true;
compilerInstance.getDiagnosticOpts().ErrorLimit = 0;
compilerInstance.getFrontendOpts().SkipFunctionBodies = true;

View File

@ -1,44 +0,0 @@
--- src/src/plugins/plugins.pro 2021-05-24 18:00:34.384117000 +0000
+++ src.mod/src/plugins/plugins.pro 2021-05-24 18:01:03.292691000 +0000
@@ -16,7 +16,6 @@
bookmarks \
projectexplorer \
vcsbase \
- perforce \
subversion \
git \
cvs \
@@ -35,9 +34,6 @@
qmlprojectmanager \
glsleditor \
python \
- nim \
- mercurial \
- bazaar \
classview \
tasklist \
qmljstools \
@@ -46,13 +42,8 @@
android \
valgrind \
todo \
- qnx \
- clearcase \
- baremetal \
- ios \
beautifier \
modeleditor \
- winrt \
updateinfo \
scxmleditor \
welcome \
@@ -61,9 +52,6 @@
cppcheck \
compilationdatabaseprojectmanager \
qmlpreview \
- studiowelcome \
- webassembly \
- mcusupport \
marketplace
qtHaveModule(serialport) {

View File

@ -1,18 +0,0 @@
Host bin should be used instead of the target bin (QT_INSTALL_BINS)
--- src/share/qtcreator/translations/translations.pro 2020-07-07 06:44:20.000000000 +0000
+++ src.mod/share/qtcreator/translations/translations.pro 2021-05-24 13:16:43.593579000 +0000
@@ -12,10 +12,10 @@
return($$result)
}
-XMLPATTERNS = $$shell_path($$[QT_INSTALL_BINS]/xmlpatterns)
-LUPDATE = $$shell_path($$[QT_INSTALL_BINS]/lupdate) -locations relative -no-ui-lines -no-sort
-LRELEASE = $$shell_path($$[QT_INSTALL_BINS]/lrelease)
-LCONVERT = $$shell_path($$[QT_INSTALL_BINS]/lconvert)
+XMLPATTERNS = $$shell_path($$[QT_HOST_BINS]/xmlpatterns)
+LUPDATE = $$shell_path($$[QT_HOST_BINS]/lupdate) -locations relative -no-ui-lines -no-sort
+LRELEASE = $$shell_path($$[QT_HOST_BINS]/lrelease)
+LCONVERT = $$shell_path($$[QT_HOST_BINS]/lconvert)
wd = $$replace(IDE_SOURCE_TREE, /, $$QMAKE_DIR_SEP)

View File

@ -1,14 +0,0 @@
Android or not, let Qt consider it compatible as long as other criteria met
--- src/src/plugins/projectexplorer/abi.cpp 2021-05-24 17:41:06.487058000 +0000
+++ src.mod/src/plugins/projectexplorer/abi.cpp 2021-05-24 17:44:21.724678000 +0000
@@ -654,10 +654,6 @@
isCompat = true;
}
- // Make Android matching more strict than the generic Linux matches so far:
- if (isCompat && (osFlavor() == AndroidLinuxFlavor || other.osFlavor() == AndroidLinuxFlavor))
- isCompat = (architecture() == other.architecture()) && (osFlavor() == other.osFlavor());
-
if (!isCompat && wordWidth() == other.wordWidth()
&& compatibleMSVCFlavors(osFlavor(), other.osFlavor())) {
isCompat = true;

View File

@ -1,36 +0,0 @@
--- src/src/shared/qtsingleapplication/qtsingleapplication.cpp 2020-07-07 06:44:20.000000000 +0000
+++ src.mod/src/shared/qtsingleapplication/qtsingleapplication.cpp 2021-05-24 10:25:32.415055562 +0000
@@ -53,6 +53,10 @@
{
this->appId = appId;
+#ifdef QT_NO_SHAREDMEMORY
+ instances = 0;
+ return;
+#else
const QString appSessionId = QtLocalPeer::appSessionId(appId);
// This shared memory holds a zero-terminated array of active (or crashed) instances
@@ -94,12 +98,14 @@
connect(pidPeer, &QtLocalPeer::messageReceived, this, &QtSingleApplication::messageReceived);
pidPeer->isClient();
lockfile.unlock();
+#endif
}
QtSingleApplication::~QtSingleApplication()
{
if (!instances)
return;
+#ifndef QT_NO_SHAREDMEMORY
const qint64 appPid = QCoreApplication::applicationPid();
QtLockedFile lockfile(instancesLockFilename(QtLocalPeer::appSessionId(appId)));
lockfile.open(QtLockedFile::ReadWrite);
@@ -113,6 +119,7 @@
}
*newpids = 0;
lockfile.unlock();
+#endif
}
bool QtSingleApplication::event(QEvent *event)

View File

@ -1,49 +0,0 @@
Make sure RPATH is enabled regardless of the OS detection.
--- src/src/rpath.pri 2020-07-07 06:44:20.000000000 +0000
+++ src.mod/src/rpath.pri 2021-05-24 14:00:48.228091000 +0000
@@ -8,7 +8,7 @@
macos {
QMAKE_LFLAGS += -Wl,-rpath,@loader_path/$$REL_PATH_TO_LIBS,-rpath,@loader_path/$$REL_PATH_TO_PLUGINS
-} else:linux-* {
+} else {
QMAKE_RPATHDIR += \$\$ORIGIN
QMAKE_RPATHDIR += \$\$ORIGIN/$$REL_PATH_TO_LIBS
QMAKE_RPATHDIR += \$\$ORIGIN/$$REL_PATH_TO_PLUGINS
--- src/src/qtcreatorplugin.pri 2020-07-07 06:44:20.000000000 +0000
+++ src.mod/src/qtcreatorplugin.pri 2021-05-24 14:01:30.264902000 +0000
@@ -96,7 +96,7 @@
TEMPLATE = lib
CONFIG += plugin plugin_with_soname
-linux*:QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
+QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
target.path = $$INSTALL_PLUGIN_PATH
INSTALLS += target
--- src/src/tools/qtcreatorwidgets/qtcreatorwidgets.pro 2020-07-07 06:44:20.000000000 +0000
+++ src.mod/src/tools/qtcreatorwidgets/qtcreatorwidgets.pro 2021-05-24 14:02:28.788142000 +0000
@@ -13,17 +13,13 @@
IDE_LIBRARY_BASENAME = lib
}
-linux-*||win32 {
- # form abs path to qtcreator lib dir
- QTC_LIBS=$$dirname(OUT_PWD)
- QTC_LIBS=$$dirname(QTC_LIBS)
- QTC_LIBS=$$dirname(QTC_LIBS)
- QTC_LIBS=$$QTC_LIBS/$$IDE_LIBRARY_BASENAME/qtcreator
-}
+# form abs path to qtcreator lib dir
+QTC_LIBS=$$dirname(OUT_PWD)
+QTC_LIBS=$$dirname(QTC_LIBS)
+QTC_LIBS=$$dirname(QTC_LIBS)
+QTC_LIBS=$$QTC_LIBS/$$IDE_LIBRARY_BASENAME/qtcreator
-linux-*{
- QMAKE_RPATHDIR *= $$QTC_LIBS
-}
+QMAKE_RPATHDIR *= $$QTC_LIBS
INCLUDEPATH += ../../../src/libs
macx {

View File

@ -1,29 +0,0 @@
--- src/src/plugins/plugins.pro 2020-07-07 06:44:20.000000000 +0000
+++ src.mod/src/plugins/plugins.pro 2021-05-24 11:08:50.489277117 +0000
@@ -72,12 +72,6 @@
warning("SerialTerminal plugin has been disabled since the Qt SerialPort module is not available.")
}
-qtHaveModule(quick) {
- SUBDIRS += qmlprofiler perfprofiler ctfvisualizer
-} else {
- warning("QmlProfiler, PerfProfiler and CTF Visualizer plugins have been disabled since the Qt Quick module is not available.")
-}
-
qtHaveModule(help) {
SUBDIRS += help
} else {
--- src/src/libs/libs.pro 2020-07-07 06:44:20.000000000 +0000
+++ src.mod/src/libs/libs.pro 2021-05-24 10:03:26.192640937 +0000
@@ -18,11 +18,6 @@
languageserverprotocol \
sqlite
-qtHaveModule(quick) {
- SUBDIRS += \
- tracing
-}
-
QTC_DO_NOT_BUILD_QMLDESIGNER = $$(QTC_DO_NOT_BUILD_QMLDESIGNER)
isEmpty(QTC_DO_NOT_BUILD_QMLDESIGNER):qtHaveModule(quick-private) {
exists($$[QT_INSTALL_QML]/QtQuick/Controls/qmldir) {

View File

@ -1,218 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://www.qt.io/
TERMUX_PKG_DESCRIPTION="A cross-platform application and UI framework"
TERMUX_PKG_LICENSE="LGPL-3.0"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=5.12.11
TERMUX_PKG_REVISION=3
TERMUX_PKG_SRCURL="https://download.qt.io/official_releases/qt/5.12/${TERMUX_PKG_VERSION}/submodules/qtbase-everywhere-src-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=1c1b4e33137ca77881074c140d54c3c9747e845a31338cfe8680f171f0bc3a39
TERMUX_PKG_DEPENDS="dbus, double-conversion, harfbuzz, libandroid-shmem, libc++, libice, libicu, libjpeg-turbo, libpng, libsm, libuuid, libx11, libxcb, libxi, libxkbcommon, openssl, pcre2, ttf-dejavu, freetype, xcb-util-image, xcb-util-keysyms, xcb-util-renderutil, xcb-util-wm, zlib, glib"
# gtk3 dependency is a run-time dependency only for the gtk platformtheme subpackage
TERMUX_PKG_BUILD_DEPENDS="gtk3"
TERMUX_PKG_BUILD_IN_SRC=true
TERMUX_PKG_NO_STATICSPLIT=true
TERMUX_PKG_RM_AFTER_INSTALL="
bin/fixqt4headers.pl
bin/syncqt.pl
"
# Replacing the old qt5-base packages
TERMUX_PKG_REPLACES="qt5-base"
TERMUX_PKG_BREAKS="qt5-x11extras, qt5-tools, qt5-declarative"
termux_step_pre_configure () {
if [ "${TERMUX_ARCH}" = "arm" ]; then
## -mfpu=neon causes build failure on ARM.
CFLAGS="${CFLAGS/-mfpu=neon/} -mfpu=vfp"
CXXFLAGS="${CXXFLAGS/-mfpu=neon/} -mfpu=vfp"
fi
## Create qmake.conf suitable for cross-compiling.
sed \
-e "s|@TERMUX_PREFIX@|${TERMUX_PREFIX}|g" \
-e "s|@TERMUX_CC@|${TERMUX_HOST_PLATFORM}-clang|" \
-e "s|@TERMUX_CXX@|${TERMUX_HOST_PLATFORM}-clang++|" \
-e "s|@TERMUX_AR@|${TERMUX_HOST_PLATFORM}-ar|" \
-e "s|@TERMUX_NM@|${TERMUX_HOST_PLATFORM}-nm|" \
-e "s|@TERMUX_OBJCOPY@|${TERMUX_HOST_PLATFORM}-objcopy|" \
-e "s|@TERMUX_PKGCONFIG@|${TERMUX_HOST_PLATFORM}-pkg-config|" \
-e "s|@TERMUX_STRIP@|${TERMUX_HOST_PLATFORM}-strip|" \
-e "s|@TERMUX_CFLAGS@|${CPPFLAGS} ${CFLAGS}|" \
-e "s|@TERMUX_CXXFLAGS@|${CPPFLAGS} ${CXXFLAGS}|" \
-e "s|@TERMUX_LDFLAGS@|${LDFLAGS}|" \
"${TERMUX_PKG_BUILDER_DIR}/qmake.conf" > "${TERMUX_PKG_SRCDIR}/mkspecs/termux-cross/qmake.conf"
}
termux_step_configure () {
unset CC CXX LD CFLAGS LDFLAGS PKG_CONFIG_PATH
"${TERMUX_PKG_SRCDIR}"/configure -v \
-opensource \
-confirm-license \
-release \
-optimized-tools \
-xplatform termux-cross \
-shared \
-no-rpath \
-no-use-gold-linker \
-prefix "${TERMUX_PREFIX}" \
-docdir "${TERMUX_PREFIX}/share/doc/qt" \
-archdatadir "${TERMUX_PREFIX}/lib/qt" \
-datadir "${TERMUX_PREFIX}/share/qt" \
-plugindir "${TERMUX_PREFIX}/libexec/qt" \
-hostbindir "${TERMUX_PREFIX}/opt/qt/cross/bin" \
-hostlibdir "${TERMUX_PREFIX}/opt/qt/cross/lib" \
-I "${TERMUX_PREFIX}/include" \
-I "${TERMUX_PREFIX}/include/glib-2.0" \
-I "${TERMUX_PREFIX}/lib/glib-2.0/include" \
-I "${TERMUX_PREFIX}/include/gio-unix-2.0" \
-I "${TERMUX_PREFIX}/include/cairo" \
-I "${TERMUX_PREFIX}/include/pango-1.0" \
-I "${TERMUX_PREFIX}/include/fribidi" \
-I "${TERMUX_PREFIX}/include/harfbuzz" \
-I "${TERMUX_PREFIX}/include/atk-1.0" \
-I "${TERMUX_PREFIX}/include/pixman-1" \
-I "${TERMUX_PREFIX}/include/uuid" \
-I "${TERMUX_PREFIX}/include/libxml2" \
-I "${TERMUX_PREFIX}/include/freetype2" \
-I "${TERMUX_PREFIX}/include/gdk-pixbuf-2.0" \
-I "${TERMUX_PREFIX}/include/gtk-3.0" \
-L "${TERMUX_PREFIX}/lib" \
-nomake examples \
-no-pch \
-no-accessibility \
-glib \
-gtk \
-icu \
-system-doubleconversion \
-system-pcre \
-system-zlib \
-system-freetype \
-ssl \
-openssl-linked \
-no-system-proxies \
-no-cups \
-system-harfbuzz \
-no-opengl \
-no-vulkan \
-qpa xcb \
-no-eglfs \
-no-gbm \
-no-kms \
-no-linuxfb \
-no-mirclient \
-no-libudev \
-no-evdev \
-no-libinput \
-no-mtdev \
-no-tslib \
-system-xcb \
-no-xcb-xinput \
-gif \
-system-libpng \
-system-libjpeg \
-system-sqlite \
-sql-sqlite \
-no-feature-systemsemaphore
}
termux_step_post_make_install() {
#######################################################
##
## Compiling necessary libraries for target.
##
#######################################################
cd "${TERMUX_PKG_SRCDIR}/src/tools/bootstrap" && {
make clean
"${TERMUX_PREFIX}/opt/qt/cross/bin/qmake" \
-spec "${TERMUX_PKG_SRCDIR}/mkspecs/termux-cross" \
DEFINES+="QT_NO_SYSTEMSEMAPHORE"
make -j "${TERMUX_MAKE_PROCESSES}"
install -Dm644 ../../../lib/libQt5Bootstrap.a "${TERMUX_PREFIX}/lib/libQt5Bootstrap.a"
install -Dm644 ../../../lib/libQt5Bootstrap.prl "${TERMUX_PREFIX}/lib/libQt5Bootstrap.prl"
}
cd "${TERMUX_PKG_SRCDIR}/src/tools/bootstrap-dbus" && {
# create the dbus bootstrap archieve but we don't need to install this
make clean
"${TERMUX_PREFIX}/opt/qt/cross/bin/qmake" \
-spec "${TERMUX_PKG_SRCDIR}/mkspecs/termux-cross"
make -j "${TERMUX_MAKE_PROCESSES}"
}
#######################################################
##
## Compiling necessary programs for target.
##
#######################################################
## Note: qmake can be built only on host so it is omitted here.
for i in moc qlalr qvkgen rcc uic qdbuscpp2xml qdbusxml2cpp; do
cd "${TERMUX_PKG_SRCDIR}/src/tools/${i}" && {
make clean
"${TERMUX_PREFIX}/opt/qt/cross/bin/qmake" \
-spec "${TERMUX_PKG_SRCDIR}/mkspecs/termux-cross"
## Ensure that no '-lpthread' specified in makefile.
sed \
-i 's@-lpthread@@g' \
Makefile
## Fix build failure on at least 'i686'.
sed \
-i 's@$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)@$(LINK) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) $(LFLAGS) -lz@g' \
Makefile
make -j "${TERMUX_MAKE_PROCESSES}"
install -Dm700 "../../../bin/${i}" "${TERMUX_PREFIX}/bin/${i}"
}
done
unset i
## Unpacking prebuilt qmake from archive.
cd "${TERMUX_PKG_SRCDIR}" && {
tar xf "${TERMUX_PKG_BUILDER_DIR}/prebuilt.tar.xz"
install \
-Dm700 "${TERMUX_PKG_SRCDIR}/bin/qmake-${TERMUX_HOST_PLATFORM}" \
"${TERMUX_PREFIX}/bin/qmake"
}
#######################################################
##
## Fixes & cleanup.
##
#######################################################
# Limit the scope, otherwise it'll touch other Qt files in a dirty host env
for i in Bootstrap Concurrent Core DBus DeviceDiscoverySupport EdidSupport EventDispatcherSupport FbSupport FontDatabaseSupport Gui InputSupport Network PrintSupport ServiceSupport Sql Test ThemeSupport Widget XcbQpa XkbCommonSupport Xml Zlib; do
## Drop QMAKE_PRL_BUILD_DIR because reference the build dir.
find "${TERMUX_PREFIX}/lib" -type f -name "libQt5${i}.prl" \
-exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' "{}" \;
done
unset i
sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' "${TERMUX_PREFIX}/opt/qt/cross/lib/libQt5Bootstrap.prl"
## Remove *.la files.
find "${TERMUX_PREFIX}/lib" -iname \*.la -delete
find "${TERMUX_PREFIX}/opt/qt/cross/lib" -iname \*.la -delete
## Create qmake.conf suitable for compiling host tools (for other modules)
install -Dm644 \
"${TERMUX_PKG_BUILDER_DIR}/qplatformdefs.host.h" \
"${TERMUX_PREFIX}/lib/qt/mkspecs/termux-host/qplatformdefs.h"
sed \
-e "s|@TERMUX_PREFIX@|${TERMUX_PREFIX}|g" \
"${TERMUX_PKG_BUILDER_DIR}/qmake.host.conf" > "${TERMUX_PREFIX}/lib/qt/mkspecs/termux-host/qmake.conf"
}
termux_step_create_debscripts() {
# Some clean-up is happening via `postinst`
# Because we're using this package in both host (Ubuntu glibc) and device (Termux)
cp -f "${TERMUX_PKG_BUILDER_DIR}/postinst" ./
}

View File

@ -1,24 +0,0 @@
--- src/src/corelib/configure.json 2020-09-21 13:16:21.000000000 +0000
+++ src.mod/src/corelib/configure.json 2021-05-18 13:05:04.670547308 +0000
@@ -44,7 +44,8 @@
},
"headers": "glib.h",
"sources": [
- { "type": "pkgConfig", "args": "glib-2.0 gthread-2.0" }
+ { "type": "pkgConfig", "args": "glib-2.0 gthread-2.0" },
+ { "libs": "-lgthread-2.0 -lglib-2.0" }
]
},
"posix_iconv": {
--- src/src/widgets/configure.json 2020-09-21 13:16:21.000000000 +0000
+++ src.mod/src/widgets/configure.json 2021-05-18 13:07:19.325327327 +0000
@@ -21,7 +21,8 @@
"gtk3": {
"label": "GTK+ >= 3.6",
"sources": [
- { "type": "pkgConfig", "args": "gtk+-3.0 >= 3.6" }
+ { "type": "pkgConfig", "args": "gtk+-3.0 >= 3.6" },
+ { "libs": "-lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0" }
]
}
},

View File

@ -1,34 +0,0 @@
#!/data/data/com.termux/files/usr/bin/sh
PREFIX="/data/data/com.termux/files/usr"
if [ `uname -o` = 'Android' ]; then
echo "Patching Qt installation configuration files ..."
## Set qt spec path suitable for target.
sed -i \
's|/lib/qt//mkspecs/termux-cross"|/lib/qt/mkspecs/termux"|g' \
"${PREFIX}/lib/cmake/Qt5Core/Qt5CoreConfigExtrasMkspecDir.cmake"
## Make sure the cmake configurations point to the on-device programs instead of the host tools
for i in Core DBus Widgets; do
sed -i \
's|install_prefix}/opt/qt/cross/|install_prefix}/|g' \
"${PREFIX}/lib/cmake/Qt5${i}/Qt5${i}ConfigExtras.cmake"
done
unset i
fi
## FIXME: Qt should be built with fontconfig somehow instead
## of using direct path to fonts.
## Currently, using post-installation script to create symlink
## from /system/bin/fonts to $PREFIX/lib/fonts if possible.
if [ ! -e "${PREFIX}/lib/fonts" ]; then
ln -sf "${PREFIX}/share/fonts/TTF" "${PREFIX}/lib/fonts"
else
if [ -h "${PREFIX}/lib/fonts" ]; then
rm -f "${PREFIX}/lib/fonts"
ln -sf "${PREFIX}/share/fonts/TTF" "${PREFIX}/lib/fonts"
fi
fi

View File

@ -1,34 +0,0 @@
QT_QPA_DEFAULT_PLATFORM = xcb
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/clang.conf)
QMAKE_INCDIR += @TERMUX_PREFIX@/include/glib-2.0
QMAKE_INCDIR += @TERMUX_PREFIX@/lib/glib-2.0/include
QMAKE_CC = @TERMUX_CC@
QMAKE_CXX = @TERMUX_CXX@
QMAKE_LINK = $${QMAKE_CXX}
QMAKE_LINK_SHLIB = $${QMAKE_CXX}
QMAKE_AR = @TERMUX_AR@ cqs
QMAKE_NM = @TERMUX_NM@ -P
QMAKE_OBJCOPY = @TERMUX_OBJCOPY@
QMAKE_PKG_CONFIG = @TERMUX_PKGCONFIG@
QMAKE_STRIP = @TERMUX_STRIP@
QMAKE_CFLAGS += @TERMUX_CFLAGS@
QMAKE_CXXFLAGS += @TERMUX_CXXFLAGS@
QMAKE_LFLAGS += -landroid-shmem @TERMUX_LDFLAGS@
QMAKE_LFLAGS_SHLIB += -shared
QMAKE_LFLAGS_PLUGIN += -shared
## Should be -lpthread, but Termux does not provide
## libpthread.so library.
QMAKE_LIBS_THREAD =
load(qt_config)

View File

@ -1,16 +0,0 @@
# This configuration is for the termux builder (Ubuntu glibc)
QT_QPA_DEFAULT_PLATFORM = xcb
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
QMAKE_INCDIR += @TERMUX_PREFIX@/include
QMAKE_INCDIR += @TERMUX_PREFIX@/include/glib-2.0
QMAKE_INCDIR += @TERMUX_PREFIX@/lib/glib-2.0/include
load(qt_config)

View File

@ -1,4 +0,0 @@
#include "../android-clang/qplatformdefs.h"
#define fseeko64 fseeko
#define ftello64 ftello
#define fopen64 fopen

View File

@ -1,8 +0,0 @@
TERMUX_SUBPKG_DESCRIPTION="Tools for cross build on the host (NOT for Termux)"
TERMUX_SUBPKG_DEPENDS="qt5-qtbase"
TERMUX_SUBPKG_INCLUDE="
opt/qt/cross/bin/*
opt/qt/cross/lib/*
lib/qt/mkspecs/termux-cross/*
lib/qt/mkspecs/termux-host/*
"

View File

@ -1,6 +0,0 @@
TERMUX_SUBPKG_DESCRIPTION="GTK+ 3 platform theme for Qt 5"
TERMUX_SUBPKG_DEPENDS="qt5-qtbase, gtk3"
TERMUX_SUBPKG_INCLUDE="
libexec/qt/platformthemes/libqgtk3.so
lib/cmake/Qt5Gui/Qt5Gui_QGtk3ThemePlugin.cmake
"

View File

@ -1,47 +0,0 @@
--- src/src/corelib/io/qfilesystemengine_unix.cpp 2020-09-21 13:16:21.000000000 +0000
+++ src.mod/src/corelib/io/qfilesystemengine_unix.cpp 2021-05-06 16:16:02.735214214 +0000
@@ -95,7 +95,7 @@
#endif
#endif
-#if defined(Q_OS_ANDROID)
+#if defined(Q_OS_ANDROID) || defined(__ANDROID__)
// statx() is disabled on Android because quite a few systems
// come with sandboxes that kill applications that make system calls outside a
// whitelist and several Android vendors can't be bothered to update the list.
@@ -109,7 +109,7 @@
QT_BEGIN_NAMESPACE
enum {
-#ifdef Q_OS_ANDROID
+#if defined(Q_OS_ANDROID) || defined(__ANDROID__)
// On Android, the link(2) system call has been observed to always fail
// with EACCES, regardless of whether there are permission problems or not.
SupportsHardlinking = false
@@ -690,7 +690,7 @@
if (entry.isRoot())
return entry;
-#if !defined(Q_OS_MAC) && !defined(Q_OS_QNX) && !defined(Q_OS_ANDROID) && !defined(Q_OS_HAIKU) && _POSIX_VERSION < 200809L
+#if !defined(Q_OS_MAC) && !defined(Q_OS_QNX) && !defined(Q_OS_ANDROID) && !defined(__ANDROID__) && !defined(Q_OS_HAIKU) && _POSIX_VERSION < 200809L
// realpath(X,0) is not supported
Q_UNUSED(data);
return QFileSystemEntry(slowCanonicalized(absoluteName(entry).filePath()));
@@ -704,7 +704,7 @@
errno = savedErrno;
ret = 0;
}
-# elif defined(Q_OS_ANDROID)
+# elif defined(Q_OS_ANDROID) || defined(__ANDROID__)
// On some Android versions, realpath() will return a path even if it does not exist
// To work around this, we check existence in advance.
if (!data.hasFlags(QFileSystemMetaData::ExistsAttribute))
@@ -854,7 +854,7 @@
#if !defined(Q_OS_INTEGRITY) && !defined(Q_OS_WASM)
struct group *gr = 0;
-#if QT_CONFIG(thread) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD) && !defined(Q_OS_VXWORKS) && (!defined(Q_OS_ANDROID) || defined(Q_OS_ANDROID) && (__ANDROID_API__ >= 24))
+#if QT_CONFIG(thread) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD) && !defined(Q_OS_VXWORKS) && (!defined(Q_OS_ANDROID) || !defined(__ANDROID__) || defined(Q_OS_ANDROID) && (__ANDROID_API__ >= 24))
size_max = sysconf(_SC_GETGR_R_SIZE_MAX);
if (size_max == -1)
size_max = 1024;

View File

@ -1,8 +0,0 @@
diff -uNr qtbase/mkspecs/termux-cross/qplatformdefs.h qtbase.mod/mkspecs/termux-cross/qplatformdefs.h
--- qtbase/mkspecs/termux-cross/qplatformdefs.h 1970-01-01 03:00:00.000000000 +0300
+++ qtbase.mod/mkspecs/termux-cross/qplatformdefs.h 2018-09-21 16:25:01.055329471 +0300
@@ -0,0 +1,4 @@
+#include "../android-clang/qplatformdefs.h"
+#define fseeko64 fseeko
+#define ftello64 ftello
+#define fopen64 fopen

View File

@ -1,35 +0,0 @@
diff -uNr qtbase/mkspecs/termux/qmake.conf qtbase.mod/mkspecs/termux/qmake.conf
--- qtbase/mkspecs/termux/qmake.conf 1970-01-01 03:00:00.000000000 +0300
+++ qtbase.mod/mkspecs/termux/qmake.conf 2018-09-21 16:26:18.042253449 +0300
@@ -0,0 +1,31 @@
+QT_QPA_DEFAULT_PLATFORM = xcb
+
+MAKEFILE_GENERATOR = UNIX
+CONFIG += incremental
+QMAKE_INCREMENTAL_STYLE = sublib
+
+include(../common/linux.conf)
+include(../common/gcc-base-unix.conf)
+include(../common/clang.conf)
+
+QMAKE_CC = clang
+QMAKE_CXX = clang++
+QMAKE_LINK = $${QMAKE_CXX}
+QMAKE_LINK_SHLIB = $${QMAKE_CXX}
+QMAKE_AR = ar cqs
+QMAKE_NM = nm -P
+QMAKE_OBJCOPY = objcopy
+QMAKE_PKG_CONFIG = pkg-config
+QMAKE_STRIP = strip
+
+QMAKE_CFLAGS += -I/data/data/com.termux/files/usr/include
+QMAKE_CXXFLAGS += -I/data/data/com.termux/files/usr/include
+QMAKE_LFLAGS += -L/data/data/com.termux/files/usr/lib
+QMAKE_LFLAGS_SHLIB += -shared
+QMAKE_LFLAGS_PLUGIN += -shared
+
+## Should be -lpthread, but Termux does not provide
+## libpthread.so library.
+QMAKE_LIBS_THREAD =
+
+load(qt_config)

View File

@ -1,8 +0,0 @@
diff -uNr qtbase/mkspecs/termux/qplatformdefs.h qtbase.mod/mkspecs/termux/qplatformdefs.h
--- qtbase/mkspecs/termux/qplatformdefs.h 1970-01-01 03:00:00.000000000 +0300
+++ qtbase.mod/mkspecs/termux/qplatformdefs.h 2018-09-21 16:25:01.055329471 +0300
@@ -0,0 +1,4 @@
+#include "../android-clang/qplatformdefs.h"
+#define fseeko64 fseeko
+#define ftello64 ftello
+#define fopen64 fopen

View File

@ -1,11 +0,0 @@
--- src/src/corelib/global/qsystemdetection.h.orig 2021-05-06 14:36:25.054047886 +0000
+++ src.mod/src/corelib/global/qsystemdetection.h 2021-05-06 14:43:45.917806447 +0000
@@ -109,7 +109,7 @@
# error "Qt has not been ported to this Apple platform - see http://www.qt.io/developers"
# endif
#elif defined(__ANDROID__) || defined(ANDROID)
-# define Q_OS_ANDROID
+# define Q_OS_ANDROID_EMBEDDED
# define Q_OS_LINUX
#elif defined(__CYGWIN__)
# define Q_OS_CYGWIN

View File

@ -1,48 +0,0 @@
diff -uNr qtbase/src/corelib/thread/qthread_unix.cpp qtbase.mod/src/corelib/thread/qthread_unix.cpp
--- qtbase/src/corelib/thread/qthread_unix.cpp 2018-09-13 07:25:10.000000000 +0300
+++ qtbase.mod/src/corelib/thread/qthread_unix.cpp 2018-09-21 16:25:01.058662816 +0300
@@ -92,7 +92,7 @@
# define SCHED_IDLE 5
#endif
-#if defined(Q_OS_DARWIN) || !defined(Q_OS_ANDROID) && !defined(Q_OS_OPENBSD) && defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING-0 >= 0)
+#if !defined(__ANDROID__) && (defined(Q_OS_DARWIN) || !defined(Q_OS_OPENBSD) && defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING-0 >= 0))
#define QT_HAS_THREAD_PRIORITY_SCHEDULING
#endif
@@ -312,7 +312,7 @@
void *QThreadPrivate::start(void *arg)
{
-#if !defined(Q_OS_ANDROID)
+#if !defined(__ANDROID__)
pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL);
#endif
pthread_cleanup_push(QThreadPrivate::finish, arg);
@@ -360,7 +360,7 @@
#endif
emit thr->started(QThread::QPrivateSignal());
-#if !defined(Q_OS_ANDROID)
+#if !defined(__ANDROID__)
pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
pthread_testcancel();
#endif
@@ -747,7 +747,7 @@
void QThread::terminate()
{
-#if !defined(Q_OS_ANDROID)
+#if !defined(__ANDROID__)
Q_D(QThread);
QMutexLocker locker(&d->mutex);
@@ -789,7 +789,7 @@
"Current thread was not started with QThread.");
Q_UNUSED(thr)
-#if defined(Q_OS_ANDROID)
+#if defined(__ANDROID__)
Q_UNUSED(enabled);
#else
pthread_setcancelstate(enabled ? PTHREAD_CANCEL_ENABLE : PTHREAD_CANCEL_DISABLE, NULL);

View File

@ -1,69 +0,0 @@
diff -uNr qtbase/src/network/kernel/qdnslookup_unix.cpp qtbase.mod/src/network/kernel/qdnslookup_unix.cpp
--- qtbase/src/network/kernel/qdnslookup_unix.cpp 2018-09-13 07:25:10.000000000 +0300
+++ qtbase.mod/src/network/kernel/qdnslookup_unix.cpp 2018-09-21 16:25:01.061996160 +0300
@@ -65,9 +65,63 @@
#if QT_CONFIG(library)
-#if defined(Q_OS_OPENBSD)
-typedef struct __res_state* res_state;
+#include <sys/types.h>
+#include <linux/in.h>
+
+/* res_state: the global state used by the resolver stub. */
+#define MAXNS 3 /* max # name servers we'll track */
+#define MAXDFLSRCH 3 /* # default domain levels to try */
+#define MAXDNSRCH 6 /* max # domains in search path */
+#define MAXRESOLVSORT 10 /* number of net to sort on */
+
+struct __res_state {
+ int retrans; /* retransmition time interval */
+ int retry; /* number of times to retransmit */
+ unsigned long options; /* option flags - see below. */
+ int nscount; /* number of name servers */
+ struct sockaddr_in
+ nsaddr_list[MAXNS]; /* address of name server */
+ unsigned short id; /* current message id */
+ /* 2 byte hole here. */
+ char *dnsrch[MAXDNSRCH+1]; /* components of domain to search */
+ char defdname[256]; /* default domain (deprecated) */
+ unsigned long pfcode; /* RES_PRF_ flags - see below. */
+ unsigned ndots:4; /* threshold for initial abs. query */
+ unsigned nsort:4; /* number of elements in sort_list[] */
+ unsigned ipv6_unavail:1; /* connecting to IPv6 server failed */
+ unsigned unused:23;
+ struct {
+ struct in_addr addr;
+ uint32_t mask;
+ } sort_list[MAXRESOLVSORT];
+ /* 4 byte hole here on 64-bit architectures. */
+ void * __glibc_unused_qhook;
+ void * __glibc_unused_rhook;
+ int res_h_errno; /* last one set for this context */
+ int _vcsock; /* PRIVATE: for res_send VC i/o */
+ unsigned int _flags; /* PRIVATE: see below */
+ /* 4 byte hole here on 64-bit architectures. */
+ union {
+ char pad[52]; /* On an i386 this means 512b total. */
+ struct {
+ uint16_t nscount;
+ uint16_t nsmap[MAXNS];
+ int nssocks[MAXNS];
+ uint16_t nscount6;
+ uint16_t nsinit;
+ struct sockaddr_in6 *nsaddrs[MAXNS];
+#ifdef _LIBC
+ unsigned long long int __glibc_extension_index
+ __attribute__((packed));
+#else
+ unsigned int __glibc_reserved[2];
#endif
+ } _ext;
+ } _u;
+};
+
+typedef struct __res_state* res_state;
+
typedef int (*dn_expand_proto)(const unsigned char *, const unsigned char *, const unsigned char *, char *, int);
static dn_expand_proto local_dn_expand = 0;
typedef void (*res_nclose_proto)(res_state);

View File

@ -1,65 +0,0 @@
diff -uNr qtbase/src/network/kernel/qhostinfo_unix.cpp qtbase.mod/src/network/kernel/qhostinfo_unix.cpp
--- qtbase/src/network/kernel/qhostinfo_unix.cpp 2018-09-13 07:25:10.000000000 +0300
+++ qtbase.mod/src/network/kernel/qhostinfo_unix.cpp 2018-09-21 16:25:01.061996160 +0300
@@ -84,6 +84,61 @@
NeedResNInit
};
+#include <sys/types.h>
+#include <linux/in.h>
+
+/* res_state: the global state used by the resolver stub. */
+#define MAXNS 3 /* max # name servers we'll track */
+#define MAXDFLSRCH 3 /* # default domain levels to try */
+#define MAXDNSRCH 6 /* max # domains in search path */
+#define MAXRESOLVSORT 10 /* number of net to sort on */
+
+struct __res_state {
+ int retrans; /* retransmition time interval */
+ int retry; /* number of times to retransmit */
+ unsigned long options; /* option flags - see below. */
+ int nscount; /* number of name servers */
+ struct sockaddr_in
+ nsaddr_list[MAXNS]; /* address of name server */
+ unsigned short id; /* current message id */
+ /* 2 byte hole here. */
+ char *dnsrch[MAXDNSRCH+1]; /* components of domain to search */
+ char defdname[256]; /* default domain (deprecated) */
+ unsigned long pfcode; /* RES_PRF_ flags - see below. */
+ unsigned ndots:4; /* threshold for initial abs. query */
+ unsigned nsort:4; /* number of elements in sort_list[] */
+ unsigned ipv6_unavail:1; /* connecting to IPv6 server failed */
+ unsigned unused:23;
+ struct {
+ struct in_addr addr;
+ uint32_t mask;
+ } sort_list[MAXRESOLVSORT];
+ /* 4 byte hole here on 64-bit architectures. */
+ void * __glibc_unused_qhook;
+ void * __glibc_unused_rhook;
+ int res_h_errno; /* last one set for this context */
+ int _vcsock; /* PRIVATE: for res_send VC i/o */
+ unsigned int _flags; /* PRIVATE: see below */
+ /* 4 byte hole here on 64-bit architectures. */
+ union {
+ char pad[52]; /* On an i386 this means 512b total. */
+ struct {
+ uint16_t nscount;
+ uint16_t nsmap[MAXNS];
+ int nssocks[MAXNS];
+ uint16_t nscount6;
+ uint16_t nsinit;
+ struct sockaddr_in6 *nsaddrs[MAXNS];
+#ifdef _LIBC
+ unsigned long long int __glibc_extension_index
+ __attribute__((packed));
+#else
+ unsigned int __glibc_reserved[2];
+#endif
+ } _ext;
+ } _u;
+};
+
typedef struct __res_state *res_state_ptr;
typedef int (*res_init_proto)(void);

View File

@ -1,11 +0,0 @@
--- src/src/corelib/io/qtemporaryfile_p.h 2021-05-09 10:40:38.972403873 +0100
+++ src.mod/src/corelib/io/qtemporaryfile_p.h 2021-05-09 10:40:32.520423082 +0100
@@ -58,7 +58,7 @@
#include "private/qfile_p.h"
#include "qtemporaryfile.h"
-#if defined(Q_OS_LINUX) && QT_CONFIG(linkat)
+#if defined(Q_OS_LINUX) && !defined(__ANDROID__) && QT_CONFIG(linkat)
# include <fcntl.h>
# ifdef O_TMPFILE
// some early libc support had the wrong values for O_TMPFILE

View File

@ -1,24 +0,0 @@
diff --color -uNr qtbase-everywhere-src-5.12.10/src/network/ssl/qsslsocket.cpp qtbase-everywhere-src-5.12.10.mod/src/network/ssl/qsslsocket.cpp
--- qtbase-everywhere-src-5.12.10/src/network/ssl/qsslsocket.cpp 2020-09-21 14:16:21.000000000 +0100
+++ qtbase-everywhere-src-5.12.10.mod/src/network/ssl/qsslsocket.cpp 2021-05-15 21:38:31.770873374 +0100
@@ -2800,7 +2800,8 @@
<< "/usr/local/ssl/certs/" // Solaris
<< "/etc/openssl/certs/" // BlackBerry
<< "/opt/openssl/certs/" // HP-UX
- << "/etc/ssl/"; // OpenBSD
+ << "/etc/ssl/" // OpenBSD
+ << "@TERMUX_PREFIX@/etc/tls/"; // Termux
}
/*!
diff --color -uNr qtbase-everywhere-src-5.12.10/src/network/ssl/qsslsocket_openssl.cpp qtbase-everywhere-src-5.12.10.mod/src/network/ssl/qsslsocket_openssl.cpp
--- qtbase-everywhere-src-5.12.10/src/network/ssl/qsslsocket_openssl.cpp 2020-09-21 14:16:21.000000000 +0100
+++ qtbase-everywhere-src-5.12.10.mod/src/network/ssl/qsslsocket_openssl.cpp 2021-05-15 21:36:38.303135420 +0100
@@ -670,6 +670,7 @@
systemCerts.append(QSslCertificate::fromPath(QLatin1String("/etc/pki/tls/certs/ca-bundle.crt"), QSsl::Pem)); // Fedora, Mandriva
systemCerts.append(QSslCertificate::fromPath(QLatin1String("/usr/local/share/certs/ca-root-nss.crt"), QSsl::Pem)); // FreeBSD's ca_root_nss
# endif
+ systemCerts.append(QSslCertificate::fromPath(QLatin1String("@TERMUX_PREFIX@/etc/tls/cert.pem"), QSsl::Pem)); // Termux ca-certificates
}
#endif
#ifdef QSSLSOCKET_DEBUG

View File

@ -1,123 +0,0 @@
#!/data/data/com.termux/files/usr/bin/bash
##
## A script for building qmake on device.
## Use in Termux only !
##
## Usage:
##
## ./termux-build-qmake.sh
set -e
TERMUX_PREFIX=/data/data/com.termux/files/usr
if [ $(uname -o) != Android ]; then
echo "This script should be run in Termux !"
exit 1
fi
if [ -e "build.sh" ]; then
source ./build.sh
fi
apt update
apt upgrade -y
apt install -y coreutils clang curl debianutils make
hash -r
## Override function from build.sh since we are
## building for host.
termux_step_configure () {
export PKG_CONFIG_SYSROOT_DIR="${TERMUX_PREFIX}"
./configure -v \
-opensource \
-confirm-license \
-release \
-platform termux \
-shared \
-no-rpath \
-no-use-gold-linker \
-prefix "${TERMUX_PREFIX}" \
-docdir "${TERMUX_PREFIX}/share/doc/qt" \
-archdatadir "${TERMUX_PREFIX}/lib/qt" \
-datadir "${TERMUX_PREFIX}/share/qt" \
-plugindir "${TERMUX_PREFIX}/libexec/qt" \
-nomake examples \
-no-pch \
-no-accessibility \
-no-glib \
-icu \
-system-pcre \
-system-zlib \
-system-freetype \
-ssl \
-openssl-linked \
-no-system-proxies \
-no-cups \
-system-harfbuzz \
-no-opengl \
-no-vulkan \
-qpa xcb \
-no-eglfs \
-no-gbm \
-no-kms \
-no-linuxfb \
-no-mirclient \
-no-libudev \
-no-evdev \
-no-libinput \
-no-mtdev \
-no-tslib \
-system-xcb \
-no-xcb-xinput \
-gif \
-system-libpng \
-system-libjpeg \
-system-sqlite \
-sql-sqlite \
-no-feature-systemsemaphore
}
if [ ! -e "qtbase-everywhere-src-${TERMUX_PKG_VERSION}.tar.xz" ]; then
echo "[*] Downloading Qt sources..."
curl -L --output "qtbase-everywhere-src-${TERMUX_PKG_VERSION}.tar.xz" "${TERMUX_PKG_SRCURL}"
fi
echo "[*] Unpacking Qt sources..."
rm -rf "qtbase-everywhere-src-${TERMUX_PKG_VERSION}"
tar xf "qtbase-everywhere-src-${TERMUX_PKG_VERSION}.tar.xz"
cd "qtbase-everywhere-src-${TERMUX_PKG_VERSION}" && {
## Patch the source
for i in `ls ../*.patch`; do
patch -p1 -Ni "${i}"
done
unset i
## We need only qmake generated by configure, so ignoring
## errors here.
set +e
echo "[*] Running ./configure..."
termux_step_configure
set -e
cd qmake && {
## Bootstrap qmake.
echo "[*] Bootstrapping qmake..."
../bin/qmake -spec termux -o Makefile.qmake-aux qmake-aux.pro
make -f Makefile.qmake-aux
## Just verify.
echo "[*] Verifying..."
./qmake -spec termux -o Makefile.qmake-aux qmake-aux.pro
make -f Makefile.qmake-aux
cd -
}
cd ../
}
echo "[*] Done. Check file './qmake-$(uname -m)-linux-android'."
cp "qtbase-everywhere-src-${TERMUX_PKG_VERSION}/qmake/qmake" "./qmake-$(uname -m)-linux-android"

View File

@ -1,133 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://www.qt.io/
TERMUX_PKG_DESCRIPTION="The Qt Declarative module provides classes for using GUIs created using QML"
TERMUX_PKG_LICENSE="LGPL-3.0"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=5.12.11
TERMUX_PKG_REVISION=3
TERMUX_PKG_SRCURL="https://download.qt.io/official_releases/qt/5.12/${TERMUX_PKG_VERSION}/submodules/qtdeclarative-everywhere-src-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=1267e029abc8424424c419bc1681db069ec76e51270cc220994e0f442c9f78d3
TERMUX_PKG_DEPENDS="qt5-qtbase"
TERMUX_PKG_BUILD_DEPENDS="qt5-qtbase-cross-tools"
TERMUX_PKG_BUILD_IN_SRC=true
TERMUX_PKG_NO_STATICSPLIT=true
# Ignore bootstrap changes because of the hijacking
TERMUX_PKG_RM_AFTER_INSTALL="
opt/qt/cross/lib/libQt5Bootstrap.*
"
# Replacing the old qt5-base packages
TERMUX_PKG_REPLACES="qt5-declarative"
termux_step_pre_configure () {
#######################################################
##
## Hijack the bootstrap library for cross building
##
#######################################################
for i in a prl; do
cp -p "${TERMUX_PREFIX}/opt/qt/cross/lib/libQt5Bootstrap.${i}" \
"${TERMUX_PREFIX}/opt/qt/cross/lib/libQt5Bootstrap.${i}.bak"
ln -s -f "${TERMUX_PREFIX}/lib/libQt5Bootstrap.${i}" \
"${TERMUX_PREFIX}/opt/qt/cross/lib/libQt5Bootstrap.${i}"
done
unset i
}
termux_step_configure () {
"${TERMUX_PREFIX}/opt/qt/cross/bin/qmake" \
-spec "${TERMUX_PREFIX}/lib/qt/mkspecs/termux-cross"
}
termux_step_post_make_install () {
#######################################################
##
## Compiling necessary binaries for target.
##
#######################################################
## Qt Declarative utilities.
for i in qmlcachegen qmlimportscanner qmllint qmlmin; do
cd "${TERMUX_PKG_SRCDIR}/tools/${i}" && {
"${TERMUX_PREFIX}/opt/qt/cross/bin/qmake" \
-spec "${TERMUX_PREFIX}/lib/qt/mkspecs/termux-cross"
make -j "${TERMUX_MAKE_PROCESSES}"
install -Dm700 "../../bin/${i}" "${TERMUX_PREFIX}/bin/${i}"
}
done
# Install the QmlDevTools for target (needed by some packages such as qttools)
install -Dm644 ${TERMUX_PKG_SRCDIR}/lib/libQt5QmlDevTools.a "${TERMUX_PREFIX}/lib/libQt5QmlDevTools.a"
install -Dm644 ${TERMUX_PKG_SRCDIR}/lib/libQt5QmlDevTools.prl "${TERMUX_PREFIX}/lib/libQt5QmlDevTools.prl"
sed -i 's|/opt/qt/cross/|/|g' "${TERMUX_PREFIX}/lib/libQt5QmlDevTools.prl"
#######################################################
##
## Restore the bootstrap library
##
#######################################################
for i in a prl; do
rm -f "${TERMUX_PREFIX}/opt/qt/cross/lib/libQt5Bootstrap.${i}"
cp -p "${TERMUX_PREFIX}/opt/qt/cross/lib/libQt5Bootstrap.${i}.bak" \
"${TERMUX_PREFIX}/opt/qt/cross/lib/libQt5Bootstrap.${i}"
rm -f "${TERMUX_PREFIX}/opt/qt/cross/lib/libQt5Bootstrap.${i}.bak"
done
unset i
#######################################################
##
## Compiling necessary binaries for the host
##
#######################################################
## libQt5QmlDevTools.a (qt5-declarative)
cd "${TERMUX_PKG_SRCDIR}/src/qmldevtools" && {
make clean
"${TERMUX_PREFIX}/opt/qt/cross/bin/qmake" \
-spec "${TERMUX_PREFIX}/lib/qt/mkspecs/termux-host"
make -j "${TERMUX_MAKE_PROCESSES}"
install -Dm644 ../../lib/libQt5QmlDevTools.a "${TERMUX_PREFIX}/opt/qt/cross/lib/libQt5QmlDevTools.a"
install -Dm644 ../../lib/libQt5QmlDevTools.prl "${TERMUX_PREFIX}/opt/qt/cross/lib/libQt5QmlDevTools.prl"
}
## Qt Declarative utilities.
for i in qmlcachegen qmlimportscanner qmllint qmlmin; do
cd "${TERMUX_PKG_SRCDIR}/tools/${i}" && {
make clean
"${TERMUX_PREFIX}/opt/qt/cross/bin/qmake" \
-spec "${TERMUX_PREFIX}/lib/qt/mkspecs/termux-host"
make -j "${TERMUX_MAKE_PROCESSES}"
install -Dm700 "../../bin/${i}" "${TERMUX_PREFIX}/opt/qt/cross/bin/${i}"
}
done
#######################################################
##
## Fixes & cleanup.
##
#######################################################
# Limit the scope, otherwise it'll touch qtbase files
for pref in Qml Quick Packet; do
## Drop QMAKE_PRL_BUILD_DIR because reference the build dir.
find "${TERMUX_PREFIX}/lib" -type f -name "libQt5${pref}*.prl" \
-exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' "{}" \;
done
unset pref
sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' "${TERMUX_PREFIX}/opt/qt/cross/lib/libQt5QmlDevTools.prl"
## Remove *.la files.
find "${TERMUX_PREFIX}/lib" -iname \*.la -delete
find "${TERMUX_PREFIX}/opt/qt/cross/lib" -iname \*.la -delete
}
termux_step_create_debscripts() {
# Some clean-up is happening via `postinst`
# Because we're using this package in both host (Ubuntu glibc) and device (Termux)
cp -f "${TERMUX_PKG_BUILDER_DIR}/postinst" ./
}

View File

@ -1,12 +0,0 @@
#!/data/data/com.termux/files/usr/bin/sh
PREFIX="/data/data/com.termux/files/usr"
if [ `uname -o` = 'Android' ]; then
echo "Patching Qt installation configuration files ..."
## Make sure the cmake configurations point to the on-device programs instead of the host tools
sed -i \
's|install_prefix}/opt/qt/cross/|install_prefix}/|g' \
"${PREFIX}/lib/cmake/Qt5QuickCompiler/Qt5QuickCompilerConfig.cmake"
fi

View File

@ -1,5 +0,0 @@
TERMUX_SUBPKG_DESCRIPTION="Qt declarative module for cross build (NOT for Termux)"
TERMUX_SUBPKG_DEPENDS="qt5-qtdeclarative"
TERMUX_SUBPKG_INCLUDE="
opt/qt/cross/*
"

View File

@ -1,35 +0,0 @@
TERMUX_PKG_HOMEPAGE=https://www.qt.io/
TERMUX_PKG_DESCRIPTION="Qt 5 Location Library"
TERMUX_PKG_LICENSE="LGPL-3.0"
TERMUX_PKG_MAINTAINER="Simeon Huang <symeon@librehat.com>"
TERMUX_PKG_VERSION=5.12.11
TERMUX_PKG_REVISION=3
TERMUX_PKG_SRCURL="https://download.qt.io/official_releases/qt/5.12/${TERMUX_PKG_VERSION}/submodules/qtlocation-everywhere-src-${TERMUX_PKG_VERSION}.tar.xz"
TERMUX_PKG_SHA256=a3384357703f76fa2e352e4dfaa30d197098b77a3672ea85bd8925dbe357f00b
TERMUX_PKG_DEPENDS="qt5-qtbase, qt5-qtdeclarative"
TERMUX_PKG_BUILD_DEPENDS="qt5-qtbase-cross-tools"
TERMUX_PKG_BUILD_IN_SRC=true
TERMUX_PKG_NO_STATICSPLIT=true
termux_step_configure () {
"${TERMUX_PREFIX}/opt/qt/cross/bin/qmake" \
-spec "${TERMUX_PREFIX}/lib/qt/mkspecs/termux-cross"
}
termux_step_post_make_install() {
#######################################################
##
## Fixes & cleanup.
##
#######################################################
## Drop QMAKE_PRL_BUILD_DIR because reference the build dir.
find "${TERMUX_PREFIX}/lib" -type f -name "libQt5Location*.prl" \
-exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' "{}" \;
find "${TERMUX_PREFIX}/lib" -type f -name "libQt5Position*.prl" \
-exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' "{}" \;
## Remove *.la files.
find "${TERMUX_PREFIX}/lib" -iname \*.la -delete
}

Some files were not shown because too many files have changed in this diff Show More