diff --git a/package/lean/qt5/Makefile b/package/lean/qt5/Makefile index 739bfb33f4..ffe5866d03 100644 --- a/package/lean/qt5/Makefile +++ b/package/lean/qt5/Makefile @@ -19,8 +19,8 @@ PKG_BUILD_DIR=$(BUILD_DIR)/qt-everywhere-src-$(PKG_VERSION).$(PKG_RELEASE) PKG_BUILD_PARALLEL:=1 PKG_USE_MIPS16:=0 - include $(INCLUDE_DIR)/package.mk +-include $(if $(DUMP),,./files/qmake.mk) # not using sstrip here as this fucks up the .so's somehow STRIP:=/bin/true @@ -36,7 +36,7 @@ define Package/qt5/Default SUBMENU:=Qt5 TITLE:=qt5 URL:=http://qt-project.org - DEPENDS:=+libatomic +libstdcpp +libopenssl +zlib +icu @!LINUX_2_6 + DEPENDS:=+icu +librt +zlib +libpcre2-16 +libstdcpp +libpthread +libatomic +libopenssl @!LINUX_2_6 endef define Package/qt5-core @@ -74,12 +74,6 @@ define Package/qt5-xml DEPENDS+=+qt5-core endef -define Package/qt5-serialport - $(call Package/qt5/Default) - TITLE+=serialport - DEPENDS+=+qt5-core -endef - define Package/qt5-xmlpatterns $(call Package/qt5/Default) TITLE+=xmlpatterns @@ -93,13 +87,31 @@ define Package/qt5-test endef define Build/Configure + $(INSTALL_DIR) $(PKG_BUILD_DIR)/qtbase/lib/fonts $(INSTALL_DIR) $(PKG_BUILD_DIR)/qtbase/mkspecs/linux-openwrt-g++ + $(CP) ./files/fonts/* $(PKG_BUILD_DIR)/qtbase/lib/fonts/ $(CP) ./files/qplatformdefs.h $(PKG_BUILD_DIR)/qtbase/mkspecs/linux-openwrt-g++/qplatformdefs.h $(CP) ./files/qmake.conf $(PKG_BUILD_DIR)/qtbase/mkspecs/linux-openwrt-g++/qmake.conf $(SED) 's@$$$$(TARGET_CROSS)@$(TARGET_CROSS)@g' $(PKG_BUILD_DIR)/qtbase/mkspecs/linux-openwrt-g++/qmake.conf ( cd $(PKG_BUILD_DIR) ; \ + TARGET_CC="$(TARGET_CROSS)gcc" \ + TARGET_CXX="$(TARGET_CROSS)g++" \ + TARGET_AR="$(TARGET_CROSS)ar cqs" \ + TARGET_OBJCOPY="$(TARGET_CROSS)objcopy" \ + TARGET_RANLIB="$(TARGET_CROSS)ranlib" \ + TARGET_CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \ + TARGET_CXXFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \ + TARGET_LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS) -lpthread -lrt" \ + TARGET_INCDIRS="$(TARGET_INCDIRS)" \ + TARGET_LIBDIRS="$(TARGET_LIBDIRS) $(STAGING_DIR)/usr/lib/" \ + CFLAGS= \ + CXXFLAGS= \ + LDFLAGS= \ ./configure \ - -prefix $(TOOLCHAIN_DIR) \ + -prefix /usr \ + -extprefix $(TOOLCHAIN_DIR) \ + -sysroot $(TOOLCHAIN_DIR) \ + -plugindir /usr/lib/Qt/plugins \ -xplatform linux-openwrt-g++ \ -opensource \ -confirm-license \ @@ -116,11 +128,9 @@ define Build/Configure -no-xcb \ -openssl-runtime \ -qt-zlib \ - -qt-pcre \ -qt-freetype \ -make libs \ -nomake examples \ - -nomake tools \ -nomake tests \ -skip qtdeclarative \ -skip qtmultimedia \ @@ -134,7 +144,20 @@ define Build/Configure endef define Build/Compile - $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) + TARGET_CC="$(TARGET_CROSS)gcc" \ + TARGET_CXX="$(TARGET_CROSS)g++" \ + TARGET_AR="$(TARGET_CROSS)ar cqs" \ + TARGET_OBJCOPY="$(TARGET_CROSS)objcopy" \ + TARGET_RANLIB="$(TARGET_CROSS)ranlib" \ + TARGET_CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \ + TARGET_CXXFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \ + TARGET_LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS) -ldl -lpthread -lrt" \ + TARGET_INCDIRS="$(TARGET_INCDIRS)" \ + TARGET_LIBDIRS="$(TARGET_LIBDIRS) $(STAGING_DIR)/usr/lib/" \ + STAGING_DIR="$(STAGING_DIR)" \ + STAGING_DIR_HOST="$(STAGING_DIR)/../host" \ + PKG_CONFIG_SYSROOT="$(STAGING_DIR)" \ + $(MAKE) -j4 -C $(PKG_BUILD_DIR) endef define Build/InstallDev @@ -201,13 +224,6 @@ define Package/qt5-xml/install $(CP) $(PKG_BUILD_DIR)/qtbase/lib/libQt5Xml.la $(1)/usr/lib/ endef -define Package/qt5-serialport/install - $(INSTALL_DIR) $(1)/usr/lib/ - $(CP) $(PKG_BUILD_DIR)/qtserialport/lib/libQt5SerialPort.so* $(1)/usr/lib/ - $(CP) $(PKG_BUILD_DIR)/qtserialport/lib/libQt5SerialPort.prl $(1)/usr/lib/ - $(CP) $(PKG_BUILD_DIR)/qtserialport/lib/libQt5SerialPort.la $(1)/usr/lib/ -endef - define Package/qt5-xmlpatterns/install $(INSTALL_DIR) $(1)/usr/lib/ $(CP) $(PKG_BUILD_DIR)/qtxmlpatterns/lib/libQt5XmlPatterns.so* $(1)/usr/lib/ @@ -228,6 +244,5 @@ $(eval $(call BuildPackage,qt5-network)) $(eval $(call BuildPackage,qt5-widgets)) $(eval $(call BuildPackage,qt5-sql)) $(eval $(call BuildPackage,qt5-xml)) -$(eval $(call BuildPackage,qt5-serialport)) $(eval $(call BuildPackage,qt5-xmlpatterns)) $(eval $(call BuildPackage,qt5-test)) diff --git a/package/lean/qt5/files/fonts/DejaVuSans-Bold.ttf b/package/lean/qt5/files/fonts/DejaVuSans-Bold.ttf new file mode 100644 index 0000000000..040bb9d317 Binary files /dev/null and b/package/lean/qt5/files/fonts/DejaVuSans-Bold.ttf differ diff --git a/package/lean/qt5/files/fonts/DejaVuSans-BoldOblique.ttf b/package/lean/qt5/files/fonts/DejaVuSans-BoldOblique.ttf new file mode 100644 index 0000000000..d0fc12f08c Binary files /dev/null and b/package/lean/qt5/files/fonts/DejaVuSans-BoldOblique.ttf differ diff --git a/package/lean/qt5/files/fonts/DejaVuSans-Oblique.ttf b/package/lean/qt5/files/fonts/DejaVuSans-Oblique.ttf new file mode 100644 index 0000000000..19f9f749b9 Binary files /dev/null and b/package/lean/qt5/files/fonts/DejaVuSans-Oblique.ttf differ diff --git a/package/lean/qt5/files/fonts/DejaVuSans.ttf b/package/lean/qt5/files/fonts/DejaVuSans.ttf new file mode 100644 index 0000000000..7e411a71be Binary files /dev/null and b/package/lean/qt5/files/fonts/DejaVuSans.ttf differ diff --git a/package/lean/qt5/files/fonts/DejaVuSansMono-Bold.ttf b/package/lean/qt5/files/fonts/DejaVuSansMono-Bold.ttf new file mode 100644 index 0000000000..86f9722627 Binary files /dev/null and b/package/lean/qt5/files/fonts/DejaVuSansMono-Bold.ttf differ diff --git a/package/lean/qt5/files/fonts/DejaVuSansMono-BoldOblique.ttf b/package/lean/qt5/files/fonts/DejaVuSansMono-BoldOblique.ttf new file mode 100644 index 0000000000..b1439380af Binary files /dev/null and b/package/lean/qt5/files/fonts/DejaVuSansMono-BoldOblique.ttf differ diff --git a/package/lean/qt5/files/fonts/DejaVuSansMono-Oblique.ttf b/package/lean/qt5/files/fonts/DejaVuSansMono-Oblique.ttf new file mode 100644 index 0000000000..81208a6cfd Binary files /dev/null and b/package/lean/qt5/files/fonts/DejaVuSansMono-Oblique.ttf differ diff --git a/package/lean/qt5/files/fonts/DejaVuSansMono.ttf b/package/lean/qt5/files/fonts/DejaVuSansMono.ttf new file mode 100644 index 0000000000..029fcac35f Binary files /dev/null and b/package/lean/qt5/files/fonts/DejaVuSansMono.ttf differ diff --git a/package/lean/qt5/files/qmake.conf b/package/lean/qt5/files/qmake.conf index 20491903ac..f013cca4fb 100644 --- a/package/lean/qt5/files/qmake.conf +++ b/package/lean/qt5/files/qmake.conf @@ -13,21 +13,12 @@ include(../common/g++-unix.conf) # modifications to g++.conf QMAKE_CC = $(TARGET_CROSS)gcc QMAKE_CXX = $(TARGET_CROSS)g++ - -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 = $(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/files/qmake.mk b/package/lean/qt5/files/qmake.mk new file mode 100644 index 0000000000..417cfb223f --- /dev/null +++ b/package/lean/qt5/files/qmake.mk @@ -0,0 +1,56 @@ +# +# Copyright (C) 2010 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +QMAKE_SPECFILE:=$(STAGING_DIR)/usr/mkspecs/linux-openwrt-g++ + +TARGET_INCDIRS +=\ + $(STAGING_DIR)/include \ + $(STAGING_DIR)/usr/include + +TARGET_LIBDIRS += \ + $(STAGING_DIR)/lib \ + $(STAGING_DIR)/usr/lib + +define Build/Configure/Qmake + TARGET_CC="$(TARGET_CROSS)gcc" \ + TARGET_CXX="$(TARGET_CROSS)g++" \ + TARGET_AR="$(TARGET_CROSS)ar cqs" \ + TARGET_OBJCOPY="$(TARGET_CROSS)objcopy" \ + TARGET_RANLIB="$(TARGET_CROSS)ranlib" \ + TARGET_CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \ + TARGET_CXXFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \ + TARGET_LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)" \ + TARGET_INCDIRS="$(TARGET_INCDIRS)" \ + TARGET_LIBDIRS="$(TARGET_LIBDIRS)" \ + TARGET_LIBS="$(TARGET_LIBS)" \ + STAGING_DIR_HOST="$(STAGING_DIR)/../host" \ + STAGING_DIR="$(STAGING_DIR)" \ + qmake \ + -spec $(QMAKE_SPECFILE) \ + -o $(PKG_BUILD_DIR)/Makefile \ + $(2) \ + $(PKG_BUILD_DIR)/$(1).pro +endef + +# we need to pass everything to $(MAKE) as well, as Makefiles may invoke qmake once again for creating further Makefiles +define Build/Compile/Default + TARGET_CC="$(TARGET_CROSS)gcc" \ + TARGET_CXX="$(TARGET_CROSS)g++" \ + TARGET_AR="$(TARGET_CROSS)ar cqs" \ + TARGET_OBJCOPY="$(TARGET_CROSS)objcopy" \ + TARGET_RANLIB="$(TARGET_CROSS)ranlib" \ + TARGET_CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \ + TARGET_CXXFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \ + TARGET_LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)" \ + TARGET_INCDIRS="$(TARGET_INCDIRS)" \ + TARGET_LIBDIRS="$(TARGET_LIBDIRS)" \ + TARGET_LIBS="$(TARGET_LIBS)" \ + STAGING_DIR_HOST="$(STAGING_DIR)/../host" \ + STAGING_DIR="$(STAGING_DIR)" \ + $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \ + $(1); +endef diff --git a/package/lean/qt5/files/qplatformdefs.h b/package/lean/qt5/files/qplatformdefs.h index aedffeb1ef..02e77c9a37 100644 --- a/package/lean/qt5/files/qplatformdefs.h +++ b/package/lean/qt5/files/qplatformdefs.h @@ -1,40 +1,9 @@ -/**************************************************************************** -** -** 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" + +#undef QT_SOCKLEN_T + +#if defined(__GLIBC__) && (__GLIBC__ < 2) +#define QT_SOCKLEN_T int +#else +#define QT_SOCKLEN_T socklen_t +#endif