diff --git a/package/kernel/mac80211/ath.mk b/package/kernel/mac80211/ath.mk index 64aac41b4d..fb2b4b3010 100644 --- a/package/kernel/mac80211/ath.mk +++ b/package/kernel/mac80211/ath.mk @@ -262,6 +262,7 @@ define KernelPackage/ath10k/config depends on PACKAGE_kmod-ath10k config ATH10K_THERMAL + default y bool "Enable thermal sensors and throttling support" depends on PACKAGE_kmod-ath10k diff --git a/package/lean/qBittorrent/Makefile b/package/lean/qBittorrent/Makefile index a42e8e1b93..9fe3898bc6 100644 --- a/package/lean/qBittorrent/Makefile +++ b/package/lean/qBittorrent/Makefile @@ -1,14 +1,14 @@ include $(TOPDIR)/rules.mk -PKG_NAME:=qBittorrent +PKG_NAME:=qbittorrent PKG_VERSION:=4.1.9.1 PKG_RELEASE=1 -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/qbittorrent/qBittorrent.git -PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE_VERSION:=eea38e7c9ecb1e1df5e889cb42fc93d3f79d429f -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE:=$(PKG_NAME)-release-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://codeload.github.com/qbittorrent/qBittorrent/tar.gz/release-$(PKG_VERSION)? +PKG_HASH:=18688c4bf50eb285d5ee1bdae771f301308059b31ac9f1b4aeff117ae7a12db2 + +PKG_BUILD_DIR:=$(BUILD_DIR)/qBittorrent-release-$(PKG_VERSION) PKG_LICENSE:=GPL-2.0+ PKG_LICENSE_FILES:=COPYING @@ -42,6 +42,7 @@ CONFIGURE_VARS += \ CONFIGURE_ARGS += \ --disable-gui \ + --enable-stacktrace=no \ --with-boost=$(STAGING_DIR)/usr MAKE_VARS += \ diff --git a/package/lean/qt5/files/qplatformdefs.h b/package/lean/qt5/files/qplatformdefs.h deleted file mode 100644 index aedffeb1ef..0000000000 --- a/package/lean/qt5/files/qplatformdefs.h +++ /dev/null @@ -1,40 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the qmake spec of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "../linux-g++/qplatformdefs.h" diff --git a/package/lean/qt5/qt5/Makefile b/package/lean/qt5/qt5/Makefile new file mode 100644 index 0000000000..89ffa4efa2 --- /dev/null +++ b/package/lean/qt5/qt5/Makefile @@ -0,0 +1,204 @@ +# +# Copyright (C) 2017-2019 Entware +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +# ported to Entware from +# https://github.com/KryptonLee/qBittorrent-openwrt-package and +# https://github.com/pawelkn/qt5-openwrt-package + +include $(TOPDIR)/rules.mk + +PKG_NAME:=qt5 +PKG_VERSION:=5.9.8 +PKG_RELEASE:=1 + +PKG_SOURCE:=qt-everywhere-opensource-src-$(PKG_VERSION).tar.xz +PKG_SOURCE_URL:=http://download.qt-project.org/archive/qt/5.9/$(PKG_VERSION)/single +PKG_HASH:=86aca7dc37f161fc730a9d4f6bddf684962ca560327682e282ff61bf8b859c36 + +PKG_BUILD_PARALLEL:=1 +PKG_USE_MIPS16:=0 + +PKG_BUILD_DIR=$(BUILD_DIR)/qt-everywhere-opensource-src-$(PKG_VERSION) + +include $(INCLUDE_DIR)/package.mk + +ifndef CONFIG_USE_GLIBC +# not using sstrip here as this fucks up the .so's somehow +STRIP:=/bin/true +RSTRIP:= \ + NM="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)nm" \ + STRIP="$(STRIP)" \ + STRIP_KMOD="$(STRIP)" \ + $(SCRIPT_DIR)/rstrip.sh +endif + +define Package/qt5/Default + SECTION:=libs + CATEGORY:=Libraries + SUBMENU:=Qt5 + TITLE:=qt5 + URL:=http://qt-project.org + DEPENDS:=+librt +libstdcpp +libpthread @!LINUX_2_6_36 +endef + +define Package/qt5-core + $(call Package/qt5/Default) + TITLE+=core + DEPENDS+=+libatomic +zlib +libpcre2-16 +libdouble-conversion +endef + +define Package/qt5-network + $(call Package/qt5/Default) + TITLE+=network + DEPENDS+=+qt5-core +libopenssl +endef + +define Package/qt5-xml + $(call Package/qt5/Default) + TITLE+=xml + DEPENDS+=+qt5-core +endef + +CONFIGURE_ARGS = \ + -prefix /usr \ + -sysroot $(STAGING_DIR) \ + -plugindir /usr/lib/Qt/plugins \ + -R /usr/lib \ + -I $(STAGING_DIR)/usr/include \ + -L $(STAGING_DIR)/usr/lib \ + -xplatform linux-openwrt-g++ \ + -release \ + -shared \ + -opensource \ + -confirm-license \ + -no-use-gold-linker \ + -strip \ + -ltcg \ + -optimized-qmake \ + -system-doubleconversion \ + -no-glib \ + -no-icu \ + -system-pcre \ + -system-zlib \ + -no-slog2 \ + -openssl-runtime \ + -no-cups \ + -no-freetype \ + -no-harfbuzz \ + -no-gtk \ + -no-opengl \ + -no-opengles3 \ + -no-angle \ + -no-openvg \ + -no-directfb \ + -no-eglfs \ + -no-egl \ + -no-iconv \ + -no-gbm \ + -no-kms \ + -no-xcb \ + -no-pch \ + -no-libudev \ + -no-mtdev \ + -no-tslib \ + -no-xkbcommon-evdev \ + -no-libpng \ + -no-libjpeg \ + -no-sql-db2 \ + -no-sql-ibase \ + -no-sql-mysql \ + -no-sql-oci \ + -no-sql-odbc \ + -no-sql-psql \ + -no-sql-sqlite \ + -no-sql-sqlite2 \ + -no-sqlite \ + -no-sql-tds \ + -no-gui \ + -no-widgets \ + -no-dbus \ + -no-qml-debug \ + -make libs \ + -nomake examples \ + -nomake tests \ + -nomake tools \ + -no-compile-examples \ + -skip qt3d \ + -skip qtactiveqt \ + -skip qtandroidextras \ + -skip qtcanvas3d \ + -skip qtcharts \ + -skip qtconnectivity \ + -skip qtdatavis3d \ + -skip qtdeclarative \ + -skip qtdoc \ + -skip qtgamepad \ + -skip qtgraphicaleffects \ + -skip qtimageformats \ + -skip qtlocation \ + -skip qtmacextras \ + -skip qtmultimedia \ + -skip qtnetworkauth \ + -skip qtpurchasing \ + -skip qtquickcontrols \ + -skip qtquickcontrols2 \ + -skip qtremoteobjects \ + -skip qtscript \ + -skip qtscxml \ + -skip qtsensors \ + -skip qtserialbus \ + -skip qtserialport \ + -skip qtspeech \ + -skip qtsvg \ + -skip qttranslations \ + -skip qtvirtualkeyboard \ + -skip qtwayland \ + -skip qtwebchannel \ + -skip qtwebengine \ + -skip qtwebsockets \ + -skip qtwebview \ + -skip qtwinextras \ + -skip qtx11extras \ + -skip qtxmlpatterns \ + -v + +define Build/Configure + $(SED) 's@$$$$(TARGET_CROSS)@$(TARGET_CROSS)@g' $(PKG_BUILD_DIR)/qtbase/mkspecs/linux-openwrt-g++/qmake.conf + $(SED) 's@$$$$(TARGET_CFLAGS)@$(TARGET_CFLAGS)@g' $(PKG_BUILD_DIR)/qtbase/mkspecs/linux-openwrt-g++/qmake.conf + $(SED) 's@$$$$(TARGET_CXXFLAGS)@$(TARGET_CXXFLAGS)@g' $(PKG_BUILD_DIR)/qtbase/mkspecs/linux-openwrt-g++/qmake.conf + $(SED) 's@$$$$(TARGET_LDFLAGS)@$(TARGET_LDFLAGS)@g' $(PKG_BUILD_DIR)/qtbase/mkspecs/linux-openwrt-g++/qmake.conf + + $(call Build/Configure/Default) +endef + +define Build/Compile + $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) +endef + +define Build/InstallDev + $(MAKE) -C $(PKG_BUILD_DIR) install + $(INSTALL_CONF) $(PKG_BUILD_DIR)/qtbase/bin/qt.conf $(STAGING_DIR)/usr/bin + $(RM) $(STAGING_DIR)/usr/bin/qt{attributionsscanner,paths,plugininfo} +endef + +define Package/qt5-core/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_BUILD_DIR)/qtbase/lib/libQt5Core.so* $(1)/usr/lib +endef + +define Package/qt5-network/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_BUILD_DIR)/qtbase/lib/libQt5Network.so* $(1)/usr/lib +endef + +define Package/qt5-xml/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_BUILD_DIR)/qtbase/lib/libQt5Xml.so* $(1)/usr/lib +endef + +$(eval $(call BuildPackage,qt5-core,+zlib,+libpcre2-16,+libdouble-conversion)) +$(eval $(call BuildPackage,qt5-network)) +$(eval $(call BuildPackage,qt5-xml)) diff --git a/package/lean/qt5/qt5/patches/010-pre_3.6_kernels_fix.patch b/package/lean/qt5/qt5/patches/010-pre_3.6_kernels_fix.patch new file mode 100644 index 0000000000..818e4efcdd --- /dev/null +++ b/package/lean/qt5/qt5/patches/010-pre_3.6_kernels_fix.patch @@ -0,0 +1,74 @@ +--- a/qtserialbus/src/plugins/canbus/socketcan/socketcanbackend.cpp ++++ b/qtserialbus/src/plugins/canbus/socketcan/socketcanbackend.cpp +@@ -33,7 +33,6 @@ + ** $QT_END_LICENSE$ + ** + ****************************************************************************/ +- + #include "socketcanbackend.h" + + #include +@@ -50,29 +49,7 @@ + #include + #include + +-#ifndef CANFD_MTU +-// CAN FD support was added by Linux kernel 3.6 +-// For prior kernels we redefine the missing defines here +-// they are taken from linux/can/raw.h & linux/can.h +- +-enum { +- CAN_RAW_FD_FRAMES = 5 +-}; +- +-#define CAN_MAX_DLEN 8 +-#define CANFD_MAX_DLEN 64 +-struct canfd_frame { +- canid_t can_id; /* 32 bit CAN_ID + EFF/RTR/ERR flags */ +- __u8 len; /* frame payload length in byte */ +- __u8 flags; /* additional flags for CAN FD */ +- __u8 __res0; /* reserved / padding */ +- __u8 __res1; /* reserved / padding */ +- __u8 data[CANFD_MAX_DLEN] __attribute__((aligned(8))); +-}; +-#define CAN_MTU (sizeof(struct can_frame)) +-#define CANFD_MTU (sizeof(struct canfd_frame)) + +-#endif + + #ifndef CANFD_BRS + # define CANFD_BRS 0x01 /* bit rate switch (second bitrate for payload data) */ +--- a/qtserialbus/src/plugins/canbus/socketcan/socketcanbackend.h ++++ b/qtserialbus/src/plugins/canbus/socketcan/socketcanbackend.h +@@ -45,6 +45,31 @@ + #include + #include + ++#ifndef CANFD_MTU ++// CAN FD support was added by Linux kernel 3.6 ++// For prior kernels we redefine the missing defines here ++// they are taken from linux/can/raw.h & linux/can.h ++ ++enum { ++ CAN_RAW_FD_FRAMES = 5 ++}; ++ ++#define CAN_MAX_DLEN 8 ++#define CANFD_MAX_DLEN 64 ++struct canfd_frame { ++ canid_t can_id; /* 32 bit CAN_ID + EFF/RTR/ERR flags */ ++ __u8 len; /* frame payload length in byte */ ++ __u8 flags; /* additional flags for CAN FD */ ++ __u8 __res0; /* reserved / padding */ ++ __u8 __res1; /* reserved / padding */ ++ __u8 data[CANFD_MAX_DLEN] __attribute__((aligned(8))); ++}; ++#define CAN_MTU (sizeof(struct can_frame)) ++#define CANFD_MTU (sizeof(struct canfd_frame)) ++ ++#endif ++ ++ + QT_BEGIN_NAMESPACE + + class SocketCanBackend : public QCanBusDevice diff --git a/package/lean/qt5/qt5/patches/020-disable_unused_libs.patch b/package/lean/qt5/qt5/patches/020-disable_unused_libs.patch new file mode 100644 index 0000000000..e32bae7647 --- /dev/null +++ b/package/lean/qt5/qt5/patches/020-disable_unused_libs.patch @@ -0,0 +1,91 @@ +This patch disables prinstsupport, sql, concurrent, testlib base libs compilation +--- a/qtbase/src/src.pro ++++ b/qtbase/src/src.pro +@@ -66,22 +66,10 @@ src_dbus.target = sub-dbus + src_dbus.depends = src_corelib + force_dbus_bootstrap: src_dbus.depends += src_tools_bootstrap_dbus # avoid syncqt race + +-src_concurrent.subdir = $$PWD/concurrent +-src_concurrent.target = sub-concurrent +-src_concurrent.depends = src_corelib +- +-src_sql.subdir = $$PWD/sql +-src_sql.target = sub-sql +-src_sql.depends = src_corelib +- + src_network.subdir = $$PWD/network + src_network.target = sub-network + src_network.depends = src_corelib + +-src_testlib.subdir = $$PWD/testlib +-src_testlib.target = sub-testlib +-src_testlib.depends = src_corelib # testlib links only to corelib, but see below for the headers +- + src_3rdparty_pcre2.subdir = $$PWD/3rdparty/pcre2 + src_3rdparty_pcre2.target = sub-3rdparty-pcre2 + +@@ -125,13 +113,6 @@ src_openglextensions.subdir = $$PWD/open + src_openglextensions.target = sub-openglextensions + src_openglextensions.depends = src_gui + +-src_printsupport.subdir = $$PWD/printsupport +-src_printsupport.target = sub-printsupport +-src_printsupport.depends = src_corelib src_gui src_widgets src_tools_uic +- +-src_plugins.subdir = $$PWD/plugins +-src_plugins.target = sub-plugins +- + src_android.subdir = $$PWD/android + + # this order is important +@@ -152,14 +133,8 @@ TOOLS = src_tools_moc src_tools_rcc src_ + win32:SUBDIRS += src_winmain + qtConfig(network) { + SUBDIRS += src_network +- src_plugins.depends += src_network +-} +-qtConfig(sql) { +- SUBDIRS += src_sql +- src_plugins.depends += src_sql + } + qtConfig(xml): SUBDIRS += src_xml +-qtConfig(testlib): SUBDIRS += src_testlib + qtConfig(dbus) { + force_dbus_bootstrap|qtConfig(private_tests): \ + SUBDIRS += src_tools_bootstrap_dbus +@@ -167,9 +142,7 @@ qtConfig(dbus) { + TOOLS += src_tools_qdbusxml2cpp src_tools_qdbuscpp2xml + qtConfig(accessibility-atspi-bridge): \ + src_platformsupport.depends += src_dbus src_tools_qdbusxml2cpp +- src_plugins.depends += src_dbus src_tools_qdbusxml2cpp src_tools_qdbuscpp2xml + } +-qtConfig(concurrent): SUBDIRS += src_concurrent + qtConfig(gui) { + qtConfig(harfbuzz):!qtConfig(system-harfbuzz) { + SUBDIRS += src_3rdparty_harfbuzzng +@@ -190,24 +163,17 @@ qtConfig(gui) { + } + SUBDIRS += src_gui src_platformsupport src_platformheaders + qtConfig(opengl): SUBDIRS += src_openglextensions +- src_plugins.depends += src_gui src_platformsupport src_platformheaders +- src_testlib.depends += src_gui # if QtGui is enabled, QtTest requires QtGui's headers + qtConfig(widgets) { + SUBDIRS += src_tools_uic src_widgets + !android-embedded: SUBDIRS += src_printsupport + TOOLS += src_tools_uic +- src_plugins.depends += src_widgets +- !android-embedded: src_plugins.depends += src_printsupport +- src_testlib.depends += src_widgets # if QtWidgets is enabled, QtTest requires QtWidgets's headers + qtConfig(opengl) { + SUBDIRS += src_opengl +- src_plugins.depends += src_opengl + } + } + } +-SUBDIRS += src_plugins + +-nacl: SUBDIRS -= src_network src_testlib ++nacl: SUBDIRS -= src_network + + android:!android-embedded: SUBDIRS += src_android src_3rdparty_gradle + diff --git a/package/lean/qt5/files/qmake.conf b/package/lean/qt5/qt5/src/qtbase/mkspecs/linux-openwrt-g++/qmake.conf similarity index 66% rename from package/lean/qt5/files/qmake.conf rename to package/lean/qt5/qt5/src/qtbase/mkspecs/linux-openwrt-g++/qmake.conf index 20491903ac..8aec5b857f 100644 --- a/package/lean/qt5/files/qmake.conf +++ b/package/lean/qt5/qt5/src/qtbase/mkspecs/linux-openwrt-g++/qmake.conf @@ -14,20 +14,18 @@ include(../common/g++-unix.conf) QMAKE_CC = $(TARGET_CROSS)gcc QMAKE_CXX = $(TARGET_CROSS)g++ -QMAKE_CFLAGS += $$(TARGET_CFLAGS) -QMAKE_CXXFLAGS += $$(TARGET_CXXFLAGS) -QMAKE_LFLAGS += $$(TARGET_LDFLAGS) +QMAKE_CFLAGS += $(TARGET_CFLAGS) +QMAKE_CXXFLAGS += $(TARGET_CXXFLAGS) +QMAKE_LFLAGS += $(TARGET_LDFLAGS) -QMAKE_LINK_C = $$QMAKE_CC -QMAKE_LINK_C_SHLIB = $$QMAKE_CC -QMAKE_LINK = $$QMAKE_CXX -QMAKE_LINK_SHLIB = $$QMAKE_CXX +QMAKE_LINK_C = $(TARGET_CROSS)gcc +QMAKE_LINK_C_SHLIB = $(TARGET_CROSS)gcc +QMAKE_LINK = $(TARGET_CROSS)g++ +QMAKE_LINK_SHLIB = $(TARGET_CROSS)g++ # modifications to linux.conf QMAKE_AR = $(TARGET_CROSS)ar cqs QMAKE_OBJCOPY = $(TARGET_CROSS)objcopy QMAKE_NM = $(TARGET_CROSS)nm -P QMAKE_STRIP = $(TARGET_CROSS)strip - - load(qt_config) diff --git a/package/lean/qt5/qt5/src/qtbase/mkspecs/linux-openwrt-g++/qplatformdefs.h b/package/lean/qt5/qt5/src/qtbase/mkspecs/linux-openwrt-g++/qplatformdefs.h new file mode 100644 index 0000000000..02e77c9a37 --- /dev/null +++ b/package/lean/qt5/qt5/src/qtbase/mkspecs/linux-openwrt-g++/qplatformdefs.h @@ -0,0 +1,9 @@ +#include "../linux-g++/qplatformdefs.h" + +#undef QT_SOCKLEN_T + +#if defined(__GLIBC__) && (__GLIBC__ < 2) +#define QT_SOCKLEN_T int +#else +#define QT_SOCKLEN_T socklen_t +#endif