diff --git a/board/loongson/ls2k300/rootfs_overlay/usr/lib/firmware/regulatory.db b/board/loongson/ls2k300/rootfs_overlay/usr/lib/firmware/regulatory.db new file mode 100644 index 00000000..1c1131b4 Binary files /dev/null and b/board/loongson/ls2k300/rootfs_overlay/usr/lib/firmware/regulatory.db differ diff --git a/board/loongson/ls2k300/rootfs_overlay/usr/lib/firmware/regulatory.db.p7s b/board/loongson/ls2k300/rootfs_overlay/usr/lib/firmware/regulatory.db.p7s new file mode 100644 index 00000000..01a1c661 Binary files /dev/null and b/board/loongson/ls2k300/rootfs_overlay/usr/lib/firmware/regulatory.db.p7s differ diff --git a/configs/loongarch64_2k300_all_defconfig b/configs/loongarch64_2k300_all_defconfig index 29a29fac..47ad10fb 100644 --- a/configs/loongarch64_2k300_all_defconfig +++ b/configs/loongarch64_2k300_all_defconfig @@ -38,13 +38,14 @@ BR2_PACKAGE_FFMPEG_FFPROBE=y BR2_PACKAGE_FFMPEG_POSTPROC=y BR2_PACKAGE_MPV=y BR2_PACKAGE_V4L2GRAB=y -BR2_PACKAGE_BROTLI=y BR2_PACKAGE_GZIP=y BR2_PACKAGE_PIGZ=y +BR2_PACKAGE_PIXZ=y BR2_PACKAGE_UNRAR=y BR2_PACKAGE_UNZIP=y BR2_PACKAGE_ZIP=y BR2_PACKAGE_COREMARK=y +BR2_PACKAGE_COREMARK_PRO=y BR2_PACKAGE_DHRYSTONE=y BR2_PACKAGE_FIO=y BR2_PACKAGE_GDB=y @@ -62,16 +63,22 @@ BR2_PACKAGE_STRACE=y BR2_PACKAGE_STRESS=y BR2_PACKAGE_STRESS_NG=y BR2_PACKAGE_STRESSAPPTEST=y +BR2_PACKAGE_CHECK=y BR2_PACKAGE_DIFFUTILS=y +BR2_PACKAGE_DOS2UNIX=y +BR2_PACKAGE_FINDUTILS=y BR2_PACKAGE_GAWK=y BR2_PACKAGE_GREP=y +BR2_PACKAGE_PATCH=y BR2_PACKAGE_SED=y BR2_PACKAGE_TREE=y +BR2_PACKAGE_CPIO=y BR2_PACKAGE_DOSFSTOOLS=y BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y -BR2_PACKAGE_E2FSPROGS=y +BR2_PACKAGE_E2TOOLS=y +BR2_PACKAGE_EXFAT=y BR2_PACKAGE_NFS_UTILS=y BR2_PACKAGE_SOURCEHANSERIF=y BR2_PACKAGE_SOURCEHANSERIF_CN_REGULAR=y @@ -82,9 +89,17 @@ BR2_PACKAGE_FBSET=y BR2_PACKAGE_PSPLASH=y BR2_PACKAGE_SDL=y BR2_PACKAGE_SDL_IMAGE=y +BR2_PACKAGE_SDL_IMAGE_GIF=y BR2_PACKAGE_SDL_IMAGE_JPEG=y +BR2_PACKAGE_SDL_IMAGE_LBM=y +BR2_PACKAGE_SDL_IMAGE_PCX=y BR2_PACKAGE_SDL_IMAGE_PNG=y +BR2_PACKAGE_SDL_IMAGE_PNM=y +BR2_PACKAGE_SDL_IMAGE_TIFF=y BR2_PACKAGE_SDL_MIXER=y +BR2_PACKAGE_SDL_NET=y +BR2_PACKAGE_SDL_SOUND=y +BR2_PACKAGE_SDL_SOUND_PLAYSOUND=y BR2_PACKAGE_SDL_TTF=y BR2_PACKAGE_SDL2_KMSDRM=y BR2_PACKAGE_SDL2_GFX=y @@ -93,7 +108,6 @@ BR2_PACKAGE_SDL2_MIXER=y BR2_PACKAGE_SDL2_NET=y BR2_PACKAGE_SDL2_TTF=y BR2_PACKAGE_QT5=y -BR2_PACKAGE_QT5BASE_CONCURRENT=y BR2_PACKAGE_QT5BASE_MYSQL=y BR2_PACKAGE_QT5BASE_SQLITE_QT=y BR2_PACKAGE_QT5BASE_DEFAULT_QPA="linuxfb" @@ -117,6 +131,10 @@ BR2_PACKAGE_QT5VIRTUALKEYBOARD_HANDWRITING=y BR2_PACKAGE_QT5VIRTUALKEYBOARD_ARROW_KEY_NAVIGATION=y BR2_PACKAGE_QT5WEBCHANNEL=y BR2_PACKAGE_QT5XMLPATTERNS=y +BR2_PACKAGE_DBUS_CPP=y +BR2_PACKAGE_DBUS_CXX=y +BR2_PACKAGE_DBUS_GLIB=y +BR2_PACKAGE_DBUS_PYTHON=y BR2_PACKAGE_DT_UTILS=y BR2_PACKAGE_HDPARM=y BR2_PACKAGE_I2C_TOOLS=y @@ -131,6 +149,7 @@ BR2_PACKAGE_SPI_TOOLS=y BR2_PACKAGE_SYSSTAT=y BR2_PACKAGE_USBUTILS=y BR2_PACKAGE_PYTHON3=y +BR2_PACKAGE_PYTHON3_BERKELEYDB=y BR2_PACKAGE_PYTHON3_BZIP2=y BR2_PACKAGE_PYTHON3_CURSES=y BR2_PACKAGE_PYTHON3_DECIMAL=y @@ -155,15 +174,45 @@ BR2_PACKAGE_PYTHON_SOCKETIO=y BR2_PACKAGE_PYTHON_URLLIB3=y BR2_PACKAGE_PYTHON_W1THERMSENSOR=y BR2_PACKAGE_PYTHON_LUMAOLED=y +BR2_PACKAGE_LZ4=y +BR2_PACKAGE_LZ4_PROGS=y +BR2_PACKAGE_LZO=y BR2_PACKAGE_SQLITE_STAT4=y BR2_PACKAGE_SQLITE_ENABLE_FTS3=y BR2_PACKAGE_SQLITE_ENABLE_JSON1=y BR2_PACKAGE_SQLITE_ENABLE_UNLOCK_NOTIFY=y BR2_PACKAGE_SQLITE_SECURE_DELETE=y BR2_PACKAGE_SQLITECPP=y +BR2_PACKAGE_IMLIB2=y +BR2_PACKAGE_IMLIB2_JPEG=y +BR2_PACKAGE_IMLIB2_PNG=y +BR2_PACKAGE_IMLIB2_GIF=y +BR2_PACKAGE_IMLIB2_TIFF=y +BR2_PACKAGE_IMLIB2_ID3=y BR2_PACKAGE_JPEG_TURBO=y +BR2_PACKAGE_JPEG_TURBO_TOOLS=y BR2_PACKAGE_LIBDRM=y BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y +BR2_PACKAGE_LIBSVG_CAIRO=y +BR2_PACKAGE_OPENCV4=y +BR2_PACKAGE_OPENCV4_WITH_QT5=y +BR2_PACKAGE_OPENCV4_LIB_SHAPE=y +BR2_PACKAGE_OPENCV4_LIB_STITCHING=y +BR2_PACKAGE_OPENCV4_LIB_SUPERRES=y +BR2_PACKAGE_OPENCV4_LIB_TS=y +BR2_PACKAGE_OPENCV4_LIB_VIDEOSTAB=y +BR2_PACKAGE_OPENCV4_BUILD_TESTS=y +BR2_PACKAGE_OPENCV4_BUILD_PERF_TESTS=y +BR2_PACKAGE_OPENCV4_WITH_FFMPEG=y +BR2_PACKAGE_OPENCV4_WITH_GSTREAMER1=y +BR2_PACKAGE_OPENCV4_WITH_JPEG=y +BR2_PACKAGE_OPENCV4_WITH_PNG=y +BR2_PACKAGE_OPENCV4_WITH_TBB=y +BR2_PACKAGE_OPENCV4_WITH_TIFF=y +BR2_PACKAGE_OPENCV4_WITH_V4L=y +BR2_PACKAGE_OPENCV4_WITH_WEBP=y +BR2_PACKAGE_OPENCV4_INSTALL_DATA=y +BR2_PACKAGE_LIBDISPLAY_INFO=y BR2_PACKAGE_LIBGPIOD2=y BR2_PACKAGE_LIBGPIOD2_TOOLS=y BR2_PACKAGE_LIBXKBCOMMON=y @@ -201,14 +250,21 @@ BR2_PACKAGE_LFTP_PROTO_FISH=y BR2_PACKAGE_LFTP_PROTO_HTTP=y BR2_PACKAGE_LFTP_PROTO_SFTP=y BR2_PACKAGE_LIGHTTPD=y +BR2_PACKAGE_LIGHTTPD_BROTLI=y BR2_PACKAGE_LIGHTTPD_BZIP2=y +BR2_PACKAGE_LIGHTTPD_KRB5=y +BR2_PACKAGE_LIGHTTPD_LDAP=y +BR2_PACKAGE_LIGHTTPD_MAXMINDDB=y +BR2_PACKAGE_LIGHTTPD_MYSQL=y BR2_PACKAGE_LIGHTTPD_OPENSSL=y -# BR2_PACKAGE_LIGHTTPD_PAM is not set BR2_PACKAGE_LIGHTTPD_PCRE=y BR2_PACKAGE_LIGHTTPD_WEBDAV=y BR2_PACKAGE_LIGHTTPD_ZLIB=y +BR2_PACKAGE_LIGHTTPD_ZSTD=y BR2_PACKAGE_LRZSZ=y BR2_PACKAGE_MJPG_STREAMER=y +BR2_PACKAGE_MODEM_MANAGER_LIBMBIM=y +BR2_PACKAGE_MODEM_MANAGER_LIBQRTR=y BR2_PACKAGE_NETWORK_MANAGER=y BR2_PACKAGE_NETWORK_MANAGER_TUI=y BR2_PACKAGE_NETWORK_MANAGER_CLI=y @@ -216,6 +272,7 @@ BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER=y BR2_PACKAGE_NETWORK_MANAGER_PPPD=y BR2_PACKAGE_NETWORK_MANAGER_OVS=y BR2_PACKAGE_OPENSSH=y +BR2_PACKAGE_PPPD_FILTER=y BR2_PACKAGE_SSHPASS=y BR2_PACKAGE_WIRELESS_TOOLS=y BR2_PACKAGE_WIRELESS_TOOLS_LIB=y @@ -239,6 +296,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_DBUS=y BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y BR2_PACKAGE_FILE=y BR2_PACKAGE_COREUTILS=y +BR2_PACKAGE_COREUTILS_INDIVIDUAL_BINARIES=y BR2_PACKAGE_DEBIANUTILS=y BR2_PACKAGE_HTOP=y BR2_PACKAGE_PROCPS_NG=y @@ -255,6 +313,7 @@ BR2_PACKAGE_UTIL_LINUX_NOLOGIN=y BR2_PACKAGE_UTIL_LINUX_PARTX=y BR2_PACKAGE_UTIL_LINUX_RFKILL=y BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS=y +BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y BR2_PACKAGE_VIM=y BR2_PACKAGE_BOOT_RUN=y BR2_PACKAGE_LS_DEFAULT_ETH_CONFIG=y @@ -267,7 +326,8 @@ BR2_PACKAGE_LOONGSON_KERNEL=y BR2_PACKAGE_LOONGSON_KERNEL_PATH="~/tmp/bsp/test/2K300/abi2/kernel/" BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_ROOTFS_EXT2_SIZE="512M" +BR2_TARGET_ROOTFS_IMG_WITH_PARTITION_SIZE=1024 +BR2_TARGET_ROOTFS_EXT2_SIZE="1024M" BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O ^64bit -O ^metadata_csum" BR2_TARGET_ROOTFS_EXT2_PIGZ=y BR2_TARGET_ROOTFS_TAR_PIGZ=y diff --git a/configs/loongarch64_2k300_defconfig b/configs/loongarch64_2k300_defconfig index c0adc547..ed2fd158 100644 --- a/configs/loongarch64_2k300_defconfig +++ b/configs/loongarch64_2k300_defconfig @@ -152,6 +152,8 @@ BR2_PACKAGE_PYTHON_URLLIB3=y BR2_PACKAGE_PYTHON_WRAPT=y BR2_PACKAGE_PYTHON_W1THERMSENSOR=y BR2_PACKAGE_PYTHON_LUMAOLED=y +BR2_PACKAGE_LIBOPENSSL_BIN=y +BR2_PACKAGE_LIBOPENSSL_ENGINES=y BR2_PACKAGE_SQLITE_STAT4=y BR2_PACKAGE_SQLITE_ENABLE_FTS3=y BR2_PACKAGE_SQLITE_ENABLE_JSON1=y @@ -164,6 +166,10 @@ BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y BR2_PACKAGE_LIBGPIOD2=y BR2_PACKAGE_LIBGPIOD2_TOOLS=y BR2_PACKAGE_LIBXKBCOMMON=y +BR2_PACKAGE_LIBCURL=y +BR2_PACKAGE_LIBCURL_CURL=y +BR2_PACKAGE_LIBCURL_VERBOSE=y +BR2_PACKAGE_LIBCURL_WEBSOCKETS_SUPPORT=y BR2_PACKAGE_PCRE2_32=y BR2_PACKAGE_COLLECTD=y BR2_PACKAGE_COLLECTD_EXEC=y @@ -246,6 +252,7 @@ BR2_PACKAGE_UTIL_LINUX_RFKILL=y BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS=y BR2_PACKAGE_VIM=y BR2_PACKAGE_BOOT_RUN=y +# BR2_PACKAGE_QT_MOVIE_AUTOBOOT is not set BR2_PACKAGE_LS_DEFAULT_ETH_CONFIG=y BR2_PACKAGE_LS3_SYSTEM_TOOL=y BR2_PACKAGE_LS3_SYSTEM_TOOL_QT=y diff --git a/configs/loongarch64_2k300_qt6_defconfig b/configs/loongarch64_2k300_qt6_defconfig new file mode 100644 index 00000000..262f1010 --- /dev/null +++ b/configs/loongarch64_2k300_qt6_defconfig @@ -0,0 +1,267 @@ +BR2_loongarch=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_PATH="/opt/loongarch64-linux-gnu-gcc13.3" +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="$(ARCH)-loongson-linux-gnu" +BR2_TOOLCHAIN_EXTERNAL_GCC_13=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_6=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +# BR2_TOOLCHAIN_EXTERNAL_INET_RPC is not set +BR2_TOOLCHAIN_EXTERNAL_CXX=y +BR2_PACKAGE_HOST_GDB=y +BR2_PACKAGE_HOST_GDB_TUI=y +BR2_PACKAGE_HOST_GDB_PYTHON3=y +BR2_GDB_VERSION_15=y +BR2_TARGET_LDFLAGS="-Wl,--copy-dt-needed-entries" +BR2_CPAN_MIRROR="https://mirrors.tuna.tsinghua.edu.cn/CPAN" +BR2_SHARED_STATIC_LIBS=y +BR2_TARGET_GENERIC_HOSTNAME="LS-GD" +BR2_TARGET_GENERIC_ISSUE="Welcome to Loongson-gd" +BR2_TARGET_GENERIC_PASSWD_SHA512=y +BR2_INIT_SYSTEMD=y +BR2_TARGET_GENERIC_ROOT_PASSWD="123" +BR2_SYSTEM_BIN_SH_BASH=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y +BR2_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin" +BR2_SYSTEM_ENABLE_NLS=y +BR2_TARGET_LOCALTIME="Asia/Shanghai" +BR2_ROOTFS_OVERLAY="board/loongson/ls2k300/rootfs_overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" +BR2_PACKAGE_ALSA_UTILS=y +BR2_PACKAGE_ALSA_UTILS_AMIXER=y +BR2_PACKAGE_ALSA_UTILS_APLAY=y +BR2_PACKAGE_FFMPEG_GPL=y +# BR2_PACKAGE_FFMPEG_FFMPEG is not set +BR2_PACKAGE_FFMPEG_FFPLAY=y +BR2_PACKAGE_FFMPEG_ENCODERS="" +BR2_PACKAGE_FFMPEG_DECODERS="" +BR2_PACKAGE_FFMPEG_MUXERS="" +BR2_PACKAGE_FFMPEG_DEMUXERS="" +BR2_PACKAGE_FFMPEG_PARSERS="" +BR2_PACKAGE_FFMPEG_BSFS="" +BR2_PACKAGE_FFMPEG_PROTOCOLS="" +BR2_PACKAGE_FFMPEG_FILTERS="" +# BR2_PACKAGE_FFMPEG_INDEVS is not set +# BR2_PACKAGE_FFMPEG_OUTDEVS is not set +BR2_PACKAGE_MPV=y +BR2_PACKAGE_V4L2GRAB=y +BR2_PACKAGE_GZIP=y +BR2_PACKAGE_UNRAR=y +BR2_PACKAGE_UNZIP=y +BR2_PACKAGE_ZIP=y +BR2_PACKAGE_COREMARK=y +BR2_PACKAGE_DHRYSTONE=y +BR2_PACKAGE_FIO=y +BR2_PACKAGE_GDB=y +BR2_PACKAGE_GDB_SERVER=y +BR2_PACKAGE_GDB_DEBUGGER=y +BR2_PACKAGE_GDB_TUI=y +BR2_PACKAGE_GDB_PYTHON=y +BR2_PACKAGE_IOZONE=y +BR2_PACKAGE_LATENCYTOP=y +BR2_PACKAGE_LMBENCH=y +BR2_PACKAGE_NETPERF=y +BR2_PACKAGE_PV=y +BR2_PACKAGE_RT_TESTS=y +BR2_PACKAGE_STRACE=y +BR2_PACKAGE_STRESS=y +BR2_PACKAGE_STRESS_NG=y +BR2_PACKAGE_STRESSAPPTEST=y +BR2_PACKAGE_DIFFUTILS=y +BR2_PACKAGE_GAWK=y +BR2_PACKAGE_GREP=y +BR2_PACKAGE_SED=y +BR2_PACKAGE_TREE=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y +BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y +BR2_PACKAGE_E2FSPROGS=y +BR2_PACKAGE_NFS_UTILS=y +BR2_PACKAGE_NTFS_3G=y +BR2_PACKAGE_SOURCEHANSERIF=y +BR2_PACKAGE_SOURCEHANSERIF_CN_REGULAR=y +BR2_PACKAGE_FSWEBCAM=y +BR2_PACKAGE_FBDUMP=y +BR2_PACKAGE_FBGRAB=y +BR2_PACKAGE_FBSET=y +BR2_PACKAGE_PSPLASH=y +BR2_PACKAGE_SDL2_KMSDRM=y +BR2_PACKAGE_QT6=y +BR2_PACKAGE_QT6BASE_CONCURRENT=y +BR2_PACKAGE_QT6BASE_DBUS=y +BR2_PACKAGE_QT6BASE_FONTCONFIG=y +BR2_PACKAGE_QT6BASE_HARFBUZZ=y +BR2_PACKAGE_QT6BASE_GIF=y +BR2_PACKAGE_QT6BASE_JPEG=y +BR2_PACKAGE_QT6BASE_PNG=y +BR2_PACKAGE_QT6BASE_PRINTSUPPORT=y +BR2_PACKAGE_QT6BASE_SQL=y +BR2_PACKAGE_QT6BASE_SQLITE=y +BR2_PACKAGE_QT6BASE_SYSLOG=y +BR2_PACKAGE_QT6BASE_TSLIB=y +BR2_PACKAGE_QT6CHARTS=y +BR2_PACKAGE_QT6CORE5COMPAT=y +BR2_PACKAGE_QT6GRAPHS=y +BR2_PACKAGE_QT6LANGUAGESERVER=y +BR2_PACKAGE_QT6MQTT=y +BR2_PACKAGE_QT6MULTIMEDIA=y +BR2_PACKAGE_QT6OPCUA=y +BR2_PACKAGE_QT6QUICKTIMELINE=y +BR2_PACKAGE_QT6SCXML=y +BR2_PACKAGE_QT6SERIALBUS=y +BR2_PACKAGE_QT6VIRTUALKEYBOARD=y +BR2_PACKAGE_QT6WEBSOCKETS=y +BR2_PACKAGE_DT_UTILS=y +BR2_PACKAGE_HDPARM=y +BR2_PACKAGE_I2C_TOOLS=y +BR2_PACKAGE_LINUX_SERIAL_TEST=y +BR2_PACKAGE_LM_SENSORS=y +BR2_PACKAGE_LM_SENSORS_PWMCONFIG=y +BR2_PACKAGE_LSHW=y +BR2_PACKAGE_MEMTESTER=y +BR2_PACKAGE_RS485CONF=y +BR2_PACKAGE_RTC_TOOLS=y +BR2_PACKAGE_SPI_TOOLS=y +BR2_PACKAGE_SYSSTAT=y +BR2_PACKAGE_USBUTILS=y +BR2_PACKAGE_PYTHON3=y +BR2_PACKAGE_PYTHON3_BZIP2=y +BR2_PACKAGE_PYTHON3_CURSES=y +BR2_PACKAGE_PYTHON3_DECIMAL=y +BR2_PACKAGE_PYTHON3_OSSAUDIODEV=y +BR2_PACKAGE_PYTHON3_READLINE=y +BR2_PACKAGE_PYTHON3_XZ=y +BR2_PACKAGE_PYTHON_DATEUTIL=y +BR2_PACKAGE_PYTHON_FLASK=y +BR2_PACKAGE_PYTHON_MODBUS_TK=y +BR2_PACKAGE_PYTHON_PACKAGING=y +BR2_PACKAGE_PYTHON_PAHO_MQTT=y +BR2_PACKAGE_PYTHON_PIP=y +BR2_PACKAGE_PYTHON_PYMODBUS=y +BR2_PACKAGE_PYTHON_PYMYSQL=y +BR2_PACKAGE_PYTHON_PYQRCODE=y +BR2_PACKAGE_PYTHON_PYTZ=y +BR2_PACKAGE_PYTHON_PYUSB=y +BR2_PACKAGE_PYTHON_SIMPLESQLITE=y +BR2_PACKAGE_PYTHON_SOCKETIO=y +BR2_PACKAGE_PYTHON_TYPING_EXTENSIONS=y +BR2_PACKAGE_PYTHON_URLLIB3=y +BR2_PACKAGE_PYTHON_WRAPT=y +BR2_PACKAGE_PYTHON_W1THERMSENSOR=y +BR2_PACKAGE_PYTHON_LUMAOLED=y +BR2_PACKAGE_LIBOPENSSL_BIN=y +BR2_PACKAGE_LIBOPENSSL_ENGINES=y +BR2_PACKAGE_SQLITE_STAT4=y +BR2_PACKAGE_SQLITE_ENABLE_FTS3=y +BR2_PACKAGE_SQLITE_ENABLE_JSON1=y +BR2_PACKAGE_SQLITE_ENABLE_UNLOCK_NOTIFY=y +BR2_PACKAGE_SQLITE_SECURE_DELETE=y +BR2_PACKAGE_SQLITECPP=y +BR2_PACKAGE_JPEG_TURBO=y +BR2_PACKAGE_LIBDRM=y +BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y +BR2_PACKAGE_LIBGPIOD2=y +BR2_PACKAGE_LIBGPIOD2_TOOLS=y +BR2_PACKAGE_LIBXKBCOMMON=y +BR2_PACKAGE_LIBCURL=y +BR2_PACKAGE_LIBCURL_CURL=y +BR2_PACKAGE_LIBCURL_VERBOSE=y +BR2_PACKAGE_LIBCURL_WEBSOCKETS_SUPPORT=y +BR2_PACKAGE_PCRE2_32=y +BR2_PACKAGE_COLLECTD=y +BR2_PACKAGE_COLLECTD_EXEC=y +BR2_PACKAGE_COLLECTD_NFS=y +BR2_PACKAGE_BIND=y +BR2_PACKAGE_BRIDGE_UTILS=y +BR2_PACKAGE_CAN_UTILS=y +BR2_PACKAGE_DHCP=y +BR2_PACKAGE_DHCP_SERVER=y +BR2_PACKAGE_DHCP_SERVER_DELAYED_ACK=y +BR2_PACKAGE_DHCP_RELAY=y +BR2_PACKAGE_DHCP_CLIENT=y +BR2_PACKAGE_ETHTOOL=y +BR2_PACKAGE_HOSTAPD=y +BR2_PACKAGE_IFTOP=y +BR2_PACKAGE_IFUPDOWN=y +BR2_PACKAGE_IPERF3=y +BR2_PACKAGE_IPROUTE2=y +BR2_PACKAGE_IW=y +BR2_PACKAGE_LFTP=y +BR2_PACKAGE_LFTP_CMD_TORRENT=y +BR2_PACKAGE_LFTP_PROTO_FISH=y +BR2_PACKAGE_LFTP_PROTO_HTTP=y +BR2_PACKAGE_LFTP_PROTO_SFTP=y +BR2_PACKAGE_LIGHTTPD=y +BR2_PACKAGE_LIGHTTPD_BZIP2=y +BR2_PACKAGE_LIGHTTPD_OPENSSL=y +# BR2_PACKAGE_LIGHTTPD_PAM is not set +BR2_PACKAGE_LIGHTTPD_PCRE=y +BR2_PACKAGE_LIGHTTPD_WEBDAV=y +BR2_PACKAGE_LIGHTTPD_ZLIB=y +BR2_PACKAGE_LRZSZ=y +BR2_PACKAGE_MJPG_STREAMER=y +BR2_PACKAGE_NETWORK_MANAGER=y +BR2_PACKAGE_NETWORK_MANAGER_TUI=y +BR2_PACKAGE_NETWORK_MANAGER_CLI=y +BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER=y +BR2_PACKAGE_NETWORK_MANAGER_PPPD=y +BR2_PACKAGE_NETWORK_MANAGER_OVS=y +BR2_PACKAGE_OPENSSH=y +BR2_PACKAGE_SSHPASS=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WIRELESS_TOOLS_LIB=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_WEXT=y +BR2_PACKAGE_WPA_SUPPLICANT_WIRED=y +BR2_PACKAGE_WPA_SUPPLICANT_IBSS_RSN=y +BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y +BR2_PACKAGE_WPA_SUPPLICANT_WIFI_DISPLAY=y +BR2_PACKAGE_WPA_SUPPLICANT_MESH_NETWORKING=y +BR2_PACKAGE_WPA_SUPPLICANT_OVERRIDES=y +BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y +BR2_PACKAGE_WPA_SUPPLICANT_HOTSPOT=y +BR2_PACKAGE_WPA_SUPPLICANT_DEBUG_SYSLOG=y +BR2_PACKAGE_WPA_SUPPLICANT_WPS=y +BR2_PACKAGE_WPA_SUPPLICANT_WPA3=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y +BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y +BR2_PACKAGE_WPA_SUPPLICANT_DBUS=y +BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y +BR2_PACKAGE_FILE=y +BR2_PACKAGE_COREUTILS=y +BR2_PACKAGE_DEBIANUTILS=y +BR2_PACKAGE_HTOP=y +BR2_PACKAGE_PROCPS_NG=y +BR2_PACKAGE_PROCPS_NS_ORIGINAL_TOP=y +BR2_PACKAGE_START_STOP_DAEMON=y +BR2_PACKAGE_SYSTEMD_ANALYZE=y +# BR2_PACKAGE_SYSTEMD_HWDB is not set +BR2_PACKAGE_UTIL_LINUX_BINARIES=y +BR2_PACKAGE_UTIL_LINUX_HWCLOCK=y +BR2_PACKAGE_UTIL_LINUX_KILL=y +BR2_PACKAGE_UTIL_LINUX_LOGIN=y +BR2_PACKAGE_UTIL_LINUX_MORE=y +BR2_PACKAGE_UTIL_LINUX_MOUNTPOINT=y +BR2_PACKAGE_UTIL_LINUX_NOLOGIN=y +BR2_PACKAGE_UTIL_LINUX_PARTX=y +BR2_PACKAGE_UTIL_LINUX_RFKILL=y +BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS=y +BR2_PACKAGE_VIM=y +BR2_PACKAGE_BOOT_RUN=y +BR2_PACKAGE_LS_DEFAULT_ETH_CONFIG=y +BR2_PACKAGE_LS3_SYSTEM_TOOL=y +BR2_PACKAGE_LOONGSON_RESIZE=y +BR2_PACKAGE_QUECTEL_CM=y +BR2_PACKAGE_LOONGSON_KERNEL=y +BR2_PACKAGE_LOONGSON_KERNEL_PATH="~/tmp/bsp/test/2K300/abi2/kernel/" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="512M" +BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O ^64bit -O ^metadata_csum" +BR2_TARGET_ROOTFS_EXT2_PIGZ=y +BR2_TARGET_ROOTFS_TAR_PIGZ=y +BR2_PACKAGE_HOST_KMOD=y diff --git a/configs/loongarch64_compile_gcc13_defconfig b/configs/loongarch64_compile_gcc13_defconfig index 34c844e7..02f61a38 100644 --- a/configs/loongarch64_compile_gcc13_defconfig +++ b/configs/loongarch64_compile_gcc13_defconfig @@ -6,6 +6,7 @@ BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_PACKAGE_HOST_GDB=y BR2_PACKAGE_HOST_GDB_TUI=y BR2_PACKAGE_HOST_GDB_PYTHON3=y +BR2_GDB_VERSION_15=y BR2_SHARED_STATIC_LIBS=y BR2_INIT_NONE=y # BR2_TARGET_ENABLE_ROOT_LOGIN is not set diff --git a/configs/loongarch64_ramdisk_defconfig b/configs/loongarch64_ramdisk_defconfig index 774a4c2f..76fb4ad1 100644 --- a/configs/loongarch64_ramdisk_defconfig +++ b/configs/loongarch64_ramdisk_defconfig @@ -41,6 +41,7 @@ BR2_PACKAGE_UTIL_LINUX_LOSETUP=y BR2_PACKAGE_UTIL_LINUX_MOUNT=y BR2_PACKAGE_UTIL_LINUX_MOUNTPOINT=y BR2_PACKAGE_UTIL_LINUX_PARTX=y +# BR2_PACKAGE_MDIO is not set # BR2_PACKAGE_LS2_SYS_CONFIG_TOOL is not set BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_SIZE="32M" diff --git a/package/Config.in b/package/Config.in index 175d6928..b70cd6fe 100644 --- a/package/Config.in +++ b/package/Config.in @@ -2923,6 +2923,7 @@ menu "Loongson board software" source "package/loongson_custom_vimrc/Config.in" source "package/loongson_custom_timesyncd_conf/Config.in" source "package/qt_virtual_keyboard_emb/Config.in" + source "package/loongson_timesyncd_config/Config.in" endmenu endmenu diff --git a/package/gcc/gcc.mk b/package/gcc/gcc.mk index c65d8137..c465ad0b 100644 --- a/package/gcc/gcc.mk +++ b/package/gcc/gcc.mk @@ -383,6 +383,8 @@ define HOST_GCC_INSTALL_WRAPPER_AND_SIMPLE_SYMLINKS esac; \ done + $(Q)cd $(HOST_DIR) && ln -sf $(ARCH)-$(TARGET_VENDOR)-linux-$(GCC_STD_LIB_NAME) $(ARCH)-linux-$(GCC_STD_LIB_NAME) + $(Q)cd $(HOST_DIR) && ln -sf ./$(ARCH)-$(TARGET_VENDOR)-linux-$(GCC_STD_LIB_NAME)/sysroot sysroot endef include $(sort $(wildcard package/gcc/*/*.mk)) diff --git a/package/loongson_timesyncd_config/Config.in b/package/loongson_timesyncd_config/Config.in new file mode 100644 index 00000000..f18f8819 --- /dev/null +++ b/package/loongson_timesyncd_config/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_LOONGSON_TIMESYNCD_CONFIG + bool "Run 'timedatectl set-ntp 0' when first boot" + depends on BR2_PACKAGE_SYSTEMD_TIMESYNCD + default y + help + disable ntp timesync + diff --git a/package/loongson_timesyncd_config/loongson_timesyncd_config.mk b/package/loongson_timesyncd_config/loongson_timesyncd_config.mk new file mode 100644 index 00000000..703b2924 --- /dev/null +++ b/package/loongson_timesyncd_config/loongson_timesyncd_config.mk @@ -0,0 +1,7 @@ +define LOONGSON_TIMESYNCD_CONFIG_INSTALL_TARGET_CMDS + cp $(TOPDIR)/package/loongson_timesyncd_config/loongson_timesyncd_config.sh $(TARGET_DIR)/usr/local/ + cp $(TOPDIR)/package/loongson_timesyncd_config/loongson_timesyncd_config.service $(TARGET_DIR)/usr/lib/systemd/system/ + cd $(TARGET_DIR)/usr/lib/systemd/system/multi-user.target.wants && ln -sf ../loongson_timesyncd_config.service loongson_timesyncd_config.service +endef + +$(eval $(generic-package)) diff --git a/package/loongson_timesyncd_config/loongson_timesyncd_config.service b/package/loongson_timesyncd_config/loongson_timesyncd_config.service new file mode 100644 index 00000000..6e5a513a --- /dev/null +++ b/package/loongson_timesyncd_config/loongson_timesyncd_config.service @@ -0,0 +1,12 @@ +[Unit] +Description=disable ntp when first boot and delete all service and shell script after config +After=systemd-timesyncd@.service + +[Service] +Type=oneshot +ExecStart=/usr/local/loongson_timesyncd_config.sh +TimeoutSec=0 +RemainAfterExit=no + +[Install] +WantedBy=multi-user.target diff --git a/package/loongson_timesyncd_config/loongson_timesyncd_config.sh b/package/loongson_timesyncd_config/loongson_timesyncd_config.sh new file mode 100755 index 00000000..f0c66c99 --- /dev/null +++ b/package/loongson_timesyncd_config/loongson_timesyncd_config.sh @@ -0,0 +1,8 @@ +#! /bin/bash + +systemctl disable loongson_timesyncd_config +rm /usr/lib/systemd/system/multi-user.target.wants/loongson_timesyncd_config.service +rm /usr/lib/systemd/system/loongson_timesyncd_config.service +timedatectl set-ntp 0 +rm /usr/local/loongson_timesyncd_config.sh + diff --git a/package/qt6/Config.in b/package/qt6/Config.in index 29c1c25c..9e50856b 100644 --- a/package/qt6/Config.in +++ b/package/qt6/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_QT6_ARCH_SUPPORTS default y if BR2_ARM_CPU_ARMV5 || BR2_ARM_CPU_ARMV6 || BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A default y if BR2_i386 default y if BR2_x86_64 + default y if BR2_loongarch default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le # sparc 32-bit is supposedly supported, but has issues due to @@ -44,11 +45,17 @@ menuconfig BR2_PACKAGE_QT6 if BR2_PACKAGE_QT6 source "package/qt6/qt6base/Config.in" +source "package/qt6/qt6charts/Config.in" source "package/qt6/qt6core5compat/Config.in" source "package/qt6/qt6declarative/Config.in" +source "package/qt6/qt6graphs/Config.in" source "package/qt6/qt6languageserver/Config.in" source "package/qt6/qt6mqtt/Config.in" +source "package/qt6/qt6multimedia/Config.in" source "package/qt6/qt6opcua/Config.in" +source "package/qt6/qt6quick3d/Config.in" +source "package/qt6/qt6quicktimeline/Config.in" +source "package/qt6/qt6scxml/Config.in" source "package/qt6/qt6serialbus/Config.in" source "package/qt6/qt6serialport/Config.in" source "package/qt6/qt6shadertools/Config.in" diff --git a/package/qt6/Config.in.host b/package/qt6/Config.in.host index dfe7865c..fa5c39cc 100644 --- a/package/qt6/Config.in.host +++ b/package/qt6/Config.in.host @@ -1,5 +1,6 @@ if BR2_PACKAGE_QT6 source "package/qt6/qt6base/Config.in.host" +source "package/qt6/qt6tools/Config.in.host" endif diff --git a/package/qt6/qt6.mk b/package/qt6/qt6.mk index f2e0186f..33cbf755 100644 --- a/package/qt6/qt6.mk +++ b/package/qt6/qt6.mk @@ -4,8 +4,8 @@ # ################################################################################ -QT6_VERSION_MAJOR = 6.7 -QT6_VERSION = $(QT6_VERSION_MAJOR).2 +QT6_VERSION_MAJOR = 6.8 +QT6_VERSION = $(QT6_VERSION_MAJOR).1 QT6_SOURCE_TARBALL_PREFIX = everywhere-src QT6_SITE = https://download.qt.io/archive/qt/$(QT6_VERSION_MAJOR)/$(QT6_VERSION)/submodules diff --git a/package/qt6/qt6base/0001-fix-CVE-2024-39936.patch b/package/qt6/qt6base/0001-fix-CVE-2024-39936.patch deleted file mode 100644 index a6778ce1..00000000 --- a/package/qt6/qt6base/0001-fix-CVE-2024-39936.patch +++ /dev/null @@ -1,247 +0,0 @@ -From fc1b8814f38c7d925d4590e9bdb16a02ca824025 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= -Date: Tue, 25 Jun 2024 17:09:35 +0200 -Subject: [PATCH] HTTP2: Delay any communication until encrypted() can be - responded to - -We have the encrypted() signal that lets users do extra checks on the -established connection. It is emitted as BlockingQueued, so the HTTP -thread stalls until it is done emitting. Users can potentially call -abort() on the QNetworkReply at that point, which is passed as a Queued -call back to the HTTP thread. That means that any currently queued -signal emission will be processed before the abort() call is processed. - -In the case of HTTP2 it is a little special since it is multiplexed and -the code is built to start requests as they are available. This means -that, while the code worked fine for HTTP1, since one connection only -has one request, it is not working for HTTP2, since we try to send more -requests in-between the encrypted() signal and the abort() call. - -This patch changes the code to delay any communication until the -encrypted() signal has been emitted and processed, for HTTP2 only. -It's done by adding a few booleans, both to know that we have to return -early and so we can keep track of what events arose and what we need to -resume once enough time has passed that any abort() call must have been -processed. - -Fixes: QTBUG-126610 -Pick-to: 6.5 6.2 5.15 5.12 -Change-Id: Ic25a600c278203256e35f541026f34a8783235ae -Reviewed-by: Marc Mutz -Reviewed-by: Volker Hilsheimer -(cherry picked from commit b1e75376cc3adfc7da5502a277dfe9711f3e0536) -Reviewed-by: Qt Cherry-pick Bot -(cherry picked from commit 0fb43e4395da34d561814242a0186999e4956e28) - -Upstream: https://github.com/qt/qtbase/commit/2b1e36e183ce75c224305c7a94457b92f7a5cf58 -Signed-off-by: Roy Kollen Svendsen ---- - src/network/access/qhttp2protocolhandler.cpp | 6 +-- - .../access/qhttpnetworkconnectionchannel.cpp | 48 ++++++++++++++++++- - .../access/qhttpnetworkconnectionchannel_p.h | 6 +++ - tests/auto/network/access/http2/tst_http2.cpp | 44 +++++++++++++++++ - 4 files changed, 99 insertions(+), 5 deletions(-) - -diff --git a/src/network/access/qhttp2protocolhandler.cpp b/src/network/access/qhttp2protocolhandler.cpp -index 0abd99b9bc..3631b13dc8 100644 ---- a/src/network/access/qhttp2protocolhandler.cpp -+++ b/src/network/access/qhttp2protocolhandler.cpp -@@ -303,12 +303,12 @@ bool QHttp2ProtocolHandler::sendRequest() - } - } - -- if (!prefaceSent && !sendClientPreface()) -- return false; -- - if (!requests.size()) - return true; - -+ if (!prefaceSent && !sendClientPreface()) -+ return false; -+ - m_channel->state = QHttpNetworkConnectionChannel::WritingState; - // Check what was promised/pushed, maybe we do not have to send a request - // and have a response already? -diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp -index 6766989690..1e4161d1fd 100644 ---- a/src/network/access/qhttpnetworkconnectionchannel.cpp -+++ b/src/network/access/qhttpnetworkconnectionchannel.cpp -@@ -209,6 +209,10 @@ void QHttpNetworkConnectionChannel::abort() - bool QHttpNetworkConnectionChannel::sendRequest() - { - Q_ASSERT(protocolHandler); -+ if (waitingForPotentialAbort) { -+ needInvokeSendRequest = true; -+ return false; // this return value is unused -+ } - return protocolHandler->sendRequest(); - } - -@@ -221,21 +225,28 @@ bool QHttpNetworkConnectionChannel::sendRequest() - void QHttpNetworkConnectionChannel::sendRequestDelayed() - { - QMetaObject::invokeMethod(this, [this] { -- Q_ASSERT(protocolHandler); - if (reply) -- protocolHandler->sendRequest(); -+ sendRequest(); - }, Qt::ConnectionType::QueuedConnection); - } - - void QHttpNetworkConnectionChannel::_q_receiveReply() - { - Q_ASSERT(protocolHandler); -+ if (waitingForPotentialAbort) { -+ needInvokeReceiveReply = true; -+ return; -+ } - protocolHandler->_q_receiveReply(); - } - - void QHttpNetworkConnectionChannel::_q_readyRead() - { - Q_ASSERT(protocolHandler); -+ if (waitingForPotentialAbort) { -+ needInvokeReadyRead = true; -+ return; -+ } - protocolHandler->_q_readyRead(); - } - -@@ -1239,7 +1250,18 @@ void QHttpNetworkConnectionChannel::_q_encrypted() - if (!h2RequestsToSend.isEmpty()) { - // Similar to HTTP/1.1 counterpart below: - const auto &pair = std::as_const(h2RequestsToSend).first(); -+ waitingForPotentialAbort = true; - emit pair.second->encrypted(); -+ -+ // We don't send or handle any received data until any effects from -+ // emitting encrypted() have been processed. This is necessary -+ // because the user may have called abort(). We may also abort the -+ // whole connection if the request has been aborted and there is -+ // no more requests to send. -+ QMetaObject::invokeMethod(this, -+ &QHttpNetworkConnectionChannel::checkAndResumeCommunication, -+ Qt::QueuedConnection); -+ - // In case our peer has sent us its settings (window size, max concurrent streams etc.) - // let's give _q_receiveReply a chance to read them first ('invokeMethod', QueuedConnection). - } -@@ -1257,6 +1279,28 @@ void QHttpNetworkConnectionChannel::_q_encrypted() - QMetaObject::invokeMethod(connection, "_q_startNextRequest", Qt::QueuedConnection); - } - -+ -+void QHttpNetworkConnectionChannel::checkAndResumeCommunication() -+{ -+ Q_ASSERT(connection->connectionType() == QHttpNetworkConnection::ConnectionTypeHTTP2 -+ || connection->connectionType() == QHttpNetworkConnection::ConnectionTypeHTTP2Direct); -+ -+ // Because HTTP/2 requires that we send a SETTINGS frame as the first thing we do, and respond -+ // to a SETTINGS frame with an ACK, we need to delay any handling until we can ensure that any -+ // effects from emitting encrypted() have been processed. -+ // This function is called after encrypted() was emitted, so check for changes. -+ -+ if (!reply && h2RequestsToSend.isEmpty()) -+ abort(); -+ waitingForPotentialAbort = false; -+ if (needInvokeReadyRead) -+ _q_readyRead(); -+ if (needInvokeReceiveReply) -+ _q_receiveReply(); -+ if (needInvokeSendRequest) -+ sendRequest(); -+} -+ - void QHttpNetworkConnectionChannel::requeueHttp2Requests() - { - const auto h2RequestsToSendCopy = std::exchange(h2RequestsToSend, {}); -diff --git a/src/network/access/qhttpnetworkconnectionchannel_p.h b/src/network/access/qhttpnetworkconnectionchannel_p.h -index c42290feca..061f20fd42 100644 ---- a/src/network/access/qhttpnetworkconnectionchannel_p.h -+++ b/src/network/access/qhttpnetworkconnectionchannel_p.h -@@ -74,6 +74,10 @@ public: - QAbstractSocket *socket; - bool ssl; - bool isInitialized; -+ bool waitingForPotentialAbort = false; -+ bool needInvokeReceiveReply = false; -+ bool needInvokeReadyRead = false; -+ bool needInvokeSendRequest = false; - ChannelState state; - QHttpNetworkRequest request; // current request, only used for HTTP - QHttpNetworkReply *reply; // current reply for this request, only used for HTTP -@@ -146,6 +150,8 @@ public: - void closeAndResendCurrentRequest(); - void resendCurrentRequest(); - -+ void checkAndResumeCommunication(); -+ - bool isSocketBusy() const; - bool isSocketWriting() const; - bool isSocketWaiting() const; -diff --git a/tests/auto/network/access/http2/tst_http2.cpp b/tests/auto/network/access/http2/tst_http2.cpp -index 00efbc9832..c02e7b7b5b 100644 ---- a/tests/auto/network/access/http2/tst_http2.cpp -+++ b/tests/auto/network/access/http2/tst_http2.cpp -@@ -106,6 +106,8 @@ private slots: - - void duplicateRequestsWithAborts(); - -+ void abortOnEncrypted(); -+ - protected slots: - // Slots to listen to our in-process server: - void serverStarted(quint16 port); -@@ -1479,6 +1481,48 @@ void tst_Http2::duplicateRequestsWithAborts() - QCOMPARE(finishedCount, ExpectedSuccessfulRequests); - } - -+void tst_Http2::abortOnEncrypted() -+{ -+#if !QT_CONFIG(ssl) -+ QSKIP("TLS support is needed for this test"); -+#else -+ clearHTTP2State(); -+ serverPort = 0; -+ -+ ServerPtr targetServer(newServer(defaultServerSettings, H2Type::h2Direct)); -+ -+ QMetaObject::invokeMethod(targetServer.data(), "startServer", Qt::QueuedConnection); -+ runEventLoop(); -+ -+ nRequests = 1; -+ nSentRequests = 0; -+ -+ const auto url = requestUrl(H2Type::h2Direct); -+ QNetworkRequest request(url); -+ request.setAttribute(QNetworkRequest::Http2DirectAttribute, true); -+ -+ std::unique_ptr reply{manager->get(request)}; -+ reply->ignoreSslErrors(); -+ connect(reply.get(), &QNetworkReply::encrypted, reply.get(), [reply = reply.get()](){ -+ reply->abort(); -+ }); -+ connect(reply.get(), &QNetworkReply::errorOccurred, this, &tst_Http2::replyFinishedWithError); -+ -+ runEventLoop(); -+ STOP_ON_FAILURE -+ -+ QCOMPARE(nRequests, 0); -+ QCOMPARE(reply->error(), QNetworkReply::OperationCanceledError); -+ -+ const bool res = QTest::qWaitFor( -+ [this, server = targetServer.get()]() { -+ return serverGotSettingsACK || prefaceOK || nSentRequests > 0; -+ }, -+ 500); -+ QVERIFY(!res); -+#endif // QT_CONFIG(ssl) -+} -+ - void tst_Http2::serverStarted(quint16 port) - { - serverPort = port; --- -2.46.0 - diff --git a/package/qt6/qt6base/Config.in b/package/qt6/qt6base/Config.in index 3b15d40c..96a0416d 100644 --- a/package/qt6/qt6base/Config.in +++ b/package/qt6/qt6base/Config.in @@ -200,10 +200,12 @@ comment "MySQL plugin needs a toolchain w/ C++, threads" config BR2_PACKAGE_QT6BASE_PSQL bool "PostgreSQL Plugin" - depends on BR2_USE_MMU - depends on !BR2_STATIC_LIBS - depends on BR2_USE_WCHAR - depends on !BR2_OPTIMIZE_FAST + depends on BR2_USE_MMU # postgresql + depends on BR2_USE_WCHAR # postgresql + depends on BR2_ENABLE_LOCALE # postgresql + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # postgresql + depends on !BR2_STATIC_LIBS # postgresql + depends on !BR2_OPTIMIZE_FAST # postgresql select BR2_PACKAGE_POSTGRESQL help Build PostgreSQL plugin diff --git a/package/qt6/qt6base/Config.in.host b/package/qt6/qt6base/Config.in.host index 46fb6688..e38e99fb 100644 --- a/package/qt6/qt6base/Config.in.host +++ b/package/qt6/qt6base/Config.in.host @@ -1,3 +1,6 @@ +config BR2_PACKAGE_HOST_QT6BASE_CONCURRENT + bool + # Select this if you need host qt6 tools that require the Qt::Gui module (e.g. # Qt Shader Baker(qsb)). config BR2_PACKAGE_HOST_QT6BASE_GUI @@ -17,3 +20,6 @@ config BR2_PACKAGE_HOST_QT6BASE_TEST # (e.g. qhelpgenerator). config BR2_PACKAGE_HOST_QT6BASE_SQL bool + +config BR2_PACKAGE_HOST_QT6BASE_WIDGETS + bool diff --git a/package/qt6/qt6base/qt6base.hash b/package/qt6/qt6base/qt6base.hash index b1b81b49..94269047 100644 --- a/package/qt6/qt6base/qt6base.hash +++ b/package/qt6/qt6base/qt6base.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtbase-everywhere-src-6.7.2.tar.xz.sha256 -sha256 c5f22a5e10fb162895ded7de0963328e7307611c688487b5d152c9ee64767599 qtbase-everywhere-src-6.7.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtbase-everywhere-src-6.8.1.tar.xz.sha256 +sha256 40b14562ef3bd779bc0e0418ea2ae08fa28235f8ea6e8c0cb3bce1d6ad58dcaf qtbase-everywhere-src-6.8.1.tar.xz # Hashes for license files sha256 e3ba223bb1423f0aad8c3dfce0fe3148db48926d41e6fbc3afbbf5ff9e1c89cb LICENSES/Apache-2.0.txt @@ -11,4 +11,4 @@ sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENS sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSES/LGPL-3.0-only.txt sha256 d040359701c01996a017d5c515678929cd1b0625e64cb86db44025fbb6cdf1fc LICENSES/MIT.txt sha256 40678d338ce53cd93f8b22b281a2ecbcaa3ee65ce60b25ffb0c462b0530846b2 LICENSES/Qt-GPL-exception-1.0.txt -sha256 2a886915de4f296cdae5ed67064f86dba01d0c55286d86e8487f2a5caaf40216 src/3rdparty/harfbuzz-ng/COPYING +sha256 ba8f810f2455c2f08e2d56bb49b72f37fcf68f1f4fade38977cfd7372050ad64 src/3rdparty/harfbuzz-ng/COPYING diff --git a/package/qt6/qt6base/qt6base.mk b/package/qt6/qt6base/qt6base.mk index 4c0392f9..a4c56da6 100644 --- a/package/qt6/qt6base/qt6base.mk +++ b/package/qt6/qt6base/qt6base.mk @@ -10,9 +10,6 @@ QT6BASE_SOURCE = qtbase-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6BASE_VERSION).tar.xz QT6BASE_CPE_ID_VENDOR = qt QT6BASE_CPE_ID_PRODUCT = qt -# 0001-fix-CVE-2024-39936.patch -QT6BASE_IGNORE_CVES += CVE-2024-39936 - QT6BASE_CMAKE_BACKEND = ninja QT6BASE_LICENSE = \ @@ -46,7 +43,6 @@ QT6BASE_INSTALL_STAGING = YES QT6BASE_CONF_OPTS = \ -DQT_HOST_PATH=$(HOST_DIR) \ -DINSTALL_ARCHDATADIR=lib/qt6 \ - -DFEATURE_concurrent=OFF \ -DFEATURE_xml=OFF \ -DFEATURE_sql=OFF \ -DFEATURE_testlib=OFF \ @@ -87,8 +83,8 @@ HOST_QT6BASE_DEPENDENCIES = \ host-libb2 \ host-pcre2 \ host-zlib + HOST_QT6BASE_CONF_OPTS = \ - -DFEATURE_concurrent=OFF \ -DFEATURE_xml=ON \ -DFEATURE_dbus=OFF \ -DFEATURE_icu=OFF \ @@ -98,6 +94,12 @@ HOST_QT6BASE_CONF_OPTS = \ -DFEATURE_system_pcre2=ON \ -DFEATURE_system_zlib=ON +ifeq ($(BR2_PACKAGE_HOST_QT6BASE_CONCURRENT),y) +HOST_QT6BASE_CONF_OPTS += -DFEATURE_concurrent=ON +else +HOST_QT6BASE_CONF_OPTS += -DFEATURE_concurrent=OFF +endif + # We need host-qt6base with Gui support when building host-qt6shadertools, # otherwise the build is skipped and no qsb host tool is generated. # qt6shadertools fail to build if qsb is not available. @@ -116,10 +118,16 @@ HOST_QT6BASE_CONF_OPTS += \ -DFEATURE_printsupport=OFF \ -DFEATURE_kms=OFF \ -DFEATURE_fontconfig=OFF \ - -DFEATURE_widgets=OFF \ -DFEATURE_libinput=OFF \ -DFEATURE_tslib=OFF \ -DFEATURE_eglfs=OFF + +ifeq ($(BR2_PACKAGE_HOST_QT6BASE_WIDGETS),y) +HOST_QT6BASE_CONF_OPTS += -DFEATURE_widgets=ON +else +HOST_QT6BASE_CONF_OPTS += -DFEATURE_widgets=OFF +endif + else HOST_QT6BASE_CONF_OPTS += -DFEATURE_gui=OFF endif diff --git a/package/qt6/qt6charts/Config.in b/package/qt6/qt6charts/Config.in new file mode 100644 index 00000000..cf44ce71 --- /dev/null +++ b/package/qt6/qt6charts/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_QT6CHARTS + bool "qt6charts" + select BR2_PACKAGE_QT6BASE_GUI + select BR2_PACKAGE_QT6BASE_WIDGETS + help + This package corresponds the Qt Charts module: + + https://doc.qt.io/qt-6/qtcharts-index.html diff --git a/package/qt6/qt6charts/qt6charts.hash b/package/qt6/qt6charts/qt6charts.hash new file mode 100644 index 00000000..215d18c5 --- /dev/null +++ b/package/qt6/qt6charts/qt6charts.hash @@ -0,0 +1,5 @@ +# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtcharts-everywhere-src-6.8.1.tar.xz.sha256 +sha256 2edea3f16e248ef508d99332798645b7f5ab6edbbf2e3d7d78fb674156f07d29 qtcharts-everywhere-src-6.8.1.tar.xz + +# Hashes for license files +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSES/GPL-3.0-only.txt diff --git a/package/qt6/qt6charts/qt6charts.mk b/package/qt6/qt6charts/qt6charts.mk new file mode 100644 index 00000000..133c4154 --- /dev/null +++ b/package/qt6/qt6charts/qt6charts.mk @@ -0,0 +1,28 @@ +################################################################################ +# +# qt6charts +# +################################################################################ + +QT6CHARTS_VERSION = $(QT6_VERSION) +QT6CHARTS_SITE = $(QT6_SITE) +QT6CHARTS_SOURCE = qtcharts-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6CHARTS_VERSION).tar.xz +QT6CHARTS_INSTALL_STAGING = YES +QT6CHARTS_SUPPORTS_IN_SOURCE_BUILD = NO +QT6CHARTS_CMAKE_BACKEND = ninja +QT6CHARTS_LICENSE = GPL-3.0 +QT6CHARTS_LICENSE_FILES = LICENSES/GPL-3.0-only.txt + +QT6CHARTS_CONF_OPTS = \ + -DQT_HOST_PATH=$(HOST_DIR) \ + -DBUILD_WITH_PCH=OFF \ + -DQT_BUILD_EXAMPLES=OFF \ + -DQT_BUILD_TESTS=OFF + +QT6CHARTS_DEPENDENCIES = qt6base + +ifeq ($(BR2_PACKAGE_QT6DECLARATIVE),y) +QT6CHARTS_DEPENDENCIES += qt6declarative +endif + +$(eval $(cmake-package)) diff --git a/package/qt6/qt6core5compat/qt6core5compat.hash b/package/qt6/qt6core5compat/qt6core5compat.hash index 36421b53..ba13da8d 100644 --- a/package/qt6/qt6core5compat/qt6core5compat.hash +++ b/package/qt6/qt6core5compat/qt6core5compat.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qt5compat-everywhere-src-6.7.2.tar.xz.sha256 -sha256 8826b5189efc4d9bdb64fdb1aa89d0fdf4e53c60948ed7995621ed046e38c003 qt5compat-everywhere-src-6.7.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qt5compat-everywhere-src-6.8.1.tar.xz.sha256 +sha256 05c8c088b4cd8331fa8a9c8b7ff7c42a088cb112e673eae5708048d0131264fc qt5compat-everywhere-src-6.8.1.tar.xz # Hashes for license files: sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt diff --git a/package/qt6/qt6core5compat/qt6core5compat.mk b/package/qt6/qt6core5compat/qt6core5compat.mk index 0b6d9369..aeb5ddd9 100644 --- a/package/qt6/qt6core5compat/qt6core5compat.mk +++ b/package/qt6/qt6core5compat/qt6core5compat.mk @@ -36,4 +36,10 @@ QT6CORE5COMPAT_DEPENDENCIES = \ host-pkgconf \ qt6base +# When Qt::Quick is available, qt6core5compat will build additional +# QML compatibility modules +ifeq ($(BR2_PACKAGE_QT6DECLARATIVE_QUICK),y) +QT6CORE5COMPAT_DEPENDENCIES += qt6declarative +endif + $(eval $(cmake-package)) diff --git a/package/qt6/qt6declarative/0001-Fix-build-with--no-feature-network.patch b/package/qt6/qt6declarative/0001-Fix-build-with--no-feature-network.patch deleted file mode 100644 index bef57942..00000000 --- a/package/qt6/qt6declarative/0001-Fix-build-with--no-feature-network.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 8377691a0998fd84e6fc8349a5db450bf2d79164 Mon Sep 17 00:00:00 2001 -From: Tasuku Suzuki -Date: Tue, 21 Nov 2023 23:58:43 +0900 -Subject: Fix build with -no-feature-network - -Change-Id: Ib21012301da6afb5458f707b39a9a8079d93eb93 -Reviewed-by: Ulf Hermann -Upstream: https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=8377691a0998fd84e6fc8349a5db450bf2d79164 -Signed-off-by: Roy Kollen Svendsen ---- - src/qml/configure.cmake | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/qml/configure.cmake b/src/qml/configure.cmake -index 2d0434643a..d1ff90bd54 100644 ---- a/src/qml/configure.cmake -+++ b/src/qml/configure.cmake -@@ -82,7 +82,7 @@ qt_feature("qml-ssl" PUBLIC - SECTION "QML" - LABEL "QML SSL support" - PURPOSE "Provides ssl support in QML." -- CONDITION QT_FEATURE_ssl -+ CONDITION QT_FEATURE_qml_network AND QT_FEATURE_ssl - ) - - # On arm and arm64 we need a specialization of cacheFlush() for each OS to be --- -cgit v1.2.3 diff --git a/package/qt6/qt6declarative/qt6declarative.hash b/package/qt6/qt6declarative/qt6declarative.hash index 006b49e4..81b8ca92 100644 --- a/package/qt6/qt6declarative/qt6declarative.hash +++ b/package/qt6/qt6declarative/qt6declarative.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtdeclarative-everywhere-src-6.7.2.tar.xz.sha256 -sha256 4c29cba1af8c42d425d8eb6e01bad24cb80f4b983d71eef566a0542dfdb9b999 qtdeclarative-everywhere-src-6.7.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtdeclarative-everywhere-src-6.8.1.tar.xz.sha256 +sha256 95d15d5c1b6adcedb1df6485219ad13b8dc1bb5168b5151f2f1f7246a4c039fc qtdeclarative-everywhere-src-6.8.1.tar.xz # Hashes for license files: sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt diff --git a/package/qt6/qt6declarative/qt6declarative.mk b/package/qt6/qt6declarative/qt6declarative.mk index ecf14d33..edec6764 100644 --- a/package/qt6/qt6declarative/qt6declarative.mk +++ b/package/qt6/qt6declarative/qt6declarative.mk @@ -35,12 +35,6 @@ QT6DECLARATIVE_CONF_OPTS = \ -DQT_BUILD_EXAMPLES=OFF \ -DQT_BUILD_TESTS=OFF -HOST_QT6DECLARATIVE_CONF_OPTS = \ - -DQT_HOST_PATH=$(HOST_DIR) \ - -DBUILD_WITH_PCH=OFF \ - -DQT_BUILD_EXAMPLES=OFF \ - -DQT_BUILD_TESTS=OFF - HOST_QT6DECLARATIVE_DEPENDENCIES = \ host-qt6base diff --git a/package/qt6/qt6graphs/Config.in b/package/qt6/qt6graphs/Config.in new file mode 100644 index 00000000..a99f25d6 --- /dev/null +++ b/package/qt6/qt6graphs/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_QT6GRAPHS + bool "qt6graphs" + select BR2_PACKAGE_QT6DECLARATIVE + select BR2_PACKAGE_QT6QUICK3D + help + This package corresponds to the Qt Graphs module: + + https://doc.qt.io/qt-6/qtgraphs-index.html diff --git a/package/qt6/qt6graphs/qt6graphs.hash b/package/qt6/qt6graphs/qt6graphs.hash new file mode 100644 index 00000000..59d35d9e --- /dev/null +++ b/package/qt6/qt6graphs/qt6graphs.hash @@ -0,0 +1,5 @@ +# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtgraphs-everywhere-src-6.8.1.tar.xz.sha256 +sha256 1e46e3de69936835652ab40ef8caf5824ea71e26871274561fb65ec142d54a80 qtgraphs-everywhere-src-6.8.1.tar.xz + +# Hashes for license files +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSES/GPL-3.0-only.txt diff --git a/package/qt6/qt6graphs/qt6graphs.mk b/package/qt6/qt6graphs/qt6graphs.mk new file mode 100644 index 00000000..488d5acd --- /dev/null +++ b/package/qt6/qt6graphs/qt6graphs.mk @@ -0,0 +1,27 @@ +################################################################################ +# +# qt6graphs +# +################################################################################ + +QT6GRAPHS_VERSION = $(QT6_VERSION) +QT6GRAPHS_SITE = $(QT6_SITE) +QT6GRAPHS_SOURCE = qtgraphs-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6GRAPHS_VERSION).tar.xz +QT6GRAPHS_INSTALL_STAGING = YES +QT6GRAPHS_SUPPORTS_IN_SOURCE_BUILD = NO +QT6GRAPHS_CMAKE_BACKEND = ninja +QT6GRAPHS_LICENSE = GPL-3.0 +QT6GRAPHS_LICENSE_FILES = LICENSES/GPL-3.0-only.txt + +QT6GRAPHS_CONF_OPTS = \ + -DQT_HOST_PATH=$(HOST_DIR) \ + -DBUILD_WITH_PCH=OFF \ + -DQT_BUILD_EXAMPLES=OFF \ + -DQT_BUILD_TESTS=OFF + +QT6GRAPHS_DEPENDENCIES = \ + qt6base \ + qt6declarative \ + qt6quick3d + +$(eval $(cmake-package)) diff --git a/package/qt6/qt6languageserver/qt6languageserver.hash b/package/qt6/qt6languageserver/qt6languageserver.hash index 72664744..a330ecb3 100644 --- a/package/qt6/qt6languageserver/qt6languageserver.hash +++ b/package/qt6/qt6languageserver/qt6languageserver.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtlanguageserver-everywhere-src-6.7.2.tar.xz.sha256 -sha256 b659fe655144ffa061e3ae509eadb42ae373230517295a96935434340e101a92 qtlanguageserver-everywhere-src-6.7.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtlanguageserver-everywhere-src-6.8.1.tar.xz.sha256 +sha256 865e9436c1432a53e38a30625b6cee60bf72553ff508047115513a233c8e6d7e qtlanguageserver-everywhere-src-6.8.1.tar.xz # Hashes for license files: sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt diff --git a/package/qt6/qt6mqtt/qt6mqtt.hash b/package/qt6/qt6mqtt/qt6mqtt.hash index 67ae6d0d..f13fbaab 100644 --- a/package/qt6/qt6mqtt/qt6mqtt.hash +++ b/package/qt6/qt6mqtt/qt6mqtt.hash @@ -1,6 +1,7 @@ -sha256 be2d3f12378a8e2a103c328201b1e308f8c6c09bd752322592b3164cebba5bde qt6mqtt-6.7.2-git4.tar.gz +# Locally computed +sha256 757c96a645b81e858c19b5407d54b3a40ee288d04ffadc9a96dd52e50c6d8d6b qt6mqtt-6.8.1-git4.tar.gz -# Hashes for license files: +# Hashes for license files sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt sha256 110535522396708cea37c72a802c5e7e81391139f5f7985631c93ef242b206a4 LICENSES/GFDL-1.3-no-invariants-only.txt sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSES/GPL-3.0-only.txt diff --git a/package/qt6/qt6multimedia/Config.in b/package/qt6/qt6multimedia/Config.in new file mode 100644 index 00000000..ae555f98 --- /dev/null +++ b/package/qt6/qt6multimedia/Config.in @@ -0,0 +1,111 @@ +config BR2_PACKAGE_QT6MULTIMEDIA + bool "qt6multimedia" + select BR2_PACKAGE_QT6BASE_GUI + select BR2_PACKAGE_QT6BASE_NETWORK + select BR2_PACKAGE_QT6SHADERTOOLS + help + This package provides Qt6 Multimedia: + + https://doc.qt.io/qt-6/qtmultimedia-index.html + https://code.qt.io/cgit/qt/qtmultimedia.git + +if BR2_PACKAGE_QT6MULTIMEDIA + +comment "alsa support requires disabling pulseaudio" + depends on BR2_PACKAGE_QT6MULTIMEDIA_PULSEAUDIO + +config BR2_PACKAGE_QT6MULTIMEDIA_ALSA + bool "alsa support" + # qt6-multimedia audio backend requires selection + # of either PulseAudio or ALSA. + depends on !BR2_PACKAGE_QT6MULTIMEDIA_PULSEAUDIO + select BR2_PACKAGE_ALSA_LIB + help + This option selects Alsa as audio backend. + +config BR2_PACKAGE_QT6MULTIMEDIA_EXAMPLES + bool "examples" + help + This option enables the Qt6 Multimedia examples. + +config BR2_PACKAGE_QT6MULTIMEDIA_FFMPEG + bool "ffmpeg plugin" + depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS + depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC + # qt6-multimedia ffmpeg plugin needs + # qt6base-concurrent, PulseAudio and ffmpeg-swcale. + select BR2_PACKAGE_FFMPEG + select BR2_PACKAGE_FFMPEG_SWSCALE + select BR2_PACKAGE_QT6BASE_CONCURRENT + select BR2_PACKAGE_QT6MULTIMEDIA_PULSEAUDIO + help + This option enables ffmpeg media backend. + +if BR2_PACKAGE_QT6MULTIMEDIA_FFMPEG + +comment "VAAPI support needs OpenGL, EGL, libgbm with dma-buf" + depends on !BR2_PACKAGE_QT6_GL_SUPPORTS || \ + !BR2_PACKAGE_HAS_LIBEGL || \ + !BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF + +config BR2_PACKAGE_QT6MULTIMEDIA_VAAPI + bool "vaapi support" + depends on BR2_PACKAGE_QT6_GL_SUPPORTS + depends on BR2_PACKAGE_HAS_LIBEGL + depends on BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF + select BR2_PACKAGE_LIBVA + # ffmpeg-vaapi support needs qt6base-opengl + select BR2_PACKAGE_QT6BASE_OPENGL + select BR2_PACKAGE_QT6MULTIMEDIA_LINUX_DMA_BUF + help + This option enables the vaapi support. +endif + +config BR2_PACKAGE_QT6MULTIMEDIA_GSTREAMER + bool "gstreamer plugin" + # gstreamer 1.x and gst-plugins-base-app are required + # for gstreamer support in qt6-multimedia + select BR2_PACKAGE_GST1_PLUGINS_BASE + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP + select BR2_PACKAGE_GSTREAMER1 + help + This option enables gstreamer media backend. + +if BR2_PACKAGE_QT6MULTIMEDIA_GSTREAMER + +config BR2_PACKAGE_QT6MULTIMEDIA_GST1_PLUGINS_PHOTOGRAPHY + bool "photography support" + select BR2_PACKAGE_GST1_PLUGINS_BAD + help + This option enables gstreamer-photography support. + +endif + +comment "dma-buf support needs EGM, libgbm with dma-buf" + depends on !BR2_PACKAGE_HAS_LIBEGL || \ + !BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF + +config BR2_PACKAGE_QT6MULTIMEDIA_LINUX_DMA_BUF + bool "linux dma buffer support" + # qt6 configure script needs EGL to check for linux dma buffer + # support + depends on BR2_PACKAGE_HAS_LIBEGL + depends on BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF + help + This option enables the linux dma buffer support. + +config BR2_PACKAGE_QT6MULTIMEDIA_PULSEAUDIO + bool "pulseaudio support" + depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC + select BR2_PACKAGE_PULSEAUDIO + help + This option selects PulseAudio as audio backend. + +config BR2_PACKAGE_QT6MULTIMEDIA_SPATIALAUDIO + bool "spatial audio module" + help + This option enables the Qt6 Spatial Audio module. + + https://doc.qt.io/qt-6/qtspatialaudio-index.html + +endif diff --git a/package/qt6/qt6multimedia/qt6multimedia.hash b/package/qt6/qt6multimedia/qt6multimedia.hash new file mode 100644 index 00000000..cddafb56 --- /dev/null +++ b/package/qt6/qt6multimedia/qt6multimedia.hash @@ -0,0 +1,24 @@ +# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtmultimedia-everywhere-src-6.8.1.tar.xz.sha256 +sha256 75fa87134f9afab7f0a62c55a4744799ac79519560d19c8e1d4c32bdd173f953 qtmultimedia-everywhere-src-6.8.1.tar.xz + +# Hashes for license files +sha256 f32fb3b417a194167cfad068223fc975ba96c5960513a10f66a3c28720aec1df LICENSES/BSD-2-Clause.txt +sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt +sha256 1f1b677d26ab73e159a55c3a914cf12d888e18a9d0d469fedab4aa6e5a48b1c0 LICENSES/BSD-Source-Code.txt +sha256 84c6ef3ea9e3254a54d0acf5d3e0c61ae011b8fef7dd6940591cf060e6380a8f LICENSES/BSL-1.0.txt +sha256 110535522396708cea37c72a802c5e7e81391139f5f7985631c93ef242b206a4 LICENSES/GFDL-1.3-no-invariants-only.txt +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSES/GPL-2.0-only.txt +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSES/GPL-3.0-only.txt +sha256 7658542977bfdced9e1059a6c934ce4281de76d103b831007b825917dc62511a LICENSES/IJG.txt +sha256 f2ec607f67bb0dd3053b49835b02110d5cd0f8eb6da3aac4dc0b142a6b299be9 LICENSES/ISC.txt +sha256 fa6f36630bb1e0c571d34b2bbdf188d08495c9dbf58f28cac112f303fc1f58fb LICENSES/LGPL-2.1-or-later.txt +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSES/LGPL-3.0-only.txt +sha256 b85dcd3e453d05982552c52b5fc9e0bdd6d23c6f8e844b984a88af32570b0cc0 LICENSES/MIT.txt +sha256 66a3107d5ad6a058aab753eaac2047ccb2ed0e39465dd0fe5844da3e300d5172 LICENSES/MPL-2.0.txt +sha256 40678d338ce53cd93f8b22b281a2ecbcaa3ee65ce60b25ffb0c462b0530846b2 LICENSES/Qt-GPL-exception-1.0.txt +sha256 bfb1112d49db5b1daecdfef24bd7e2f3ea0bafb33aa67aa0ab51e2bf8407c03d LICENSES/Zlib.txt +sha256 85da7c29c2d2f2e6b3116b1219584cb513474cab797b3312a779be4c2181e51e src/3rdparty/eigen/COPYING.BSD +sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 src/3rdparty/eigen/COPYING.MPL2 +sha256 8b69cf3ac3ddd34df478c4ae6eaacf5e6c63ea7ee6403c8dad97e4d1438bc3c4 src/3rdparty/eigen/COPYRIGHTS +sha256 b522f821df94da3bad917e98ef04817b3af421c3b8c23e8247ae7e517b289934 src/3rdparty/pffft/COPYRIGHTS +sha256 a46200592eb193853527250da098e6bb0c75424e7a2c7db8da526c4f301c3d88 src/3rdparty/pffft/LICENSE diff --git a/package/qt6/qt6multimedia/qt6multimedia.mk b/package/qt6/qt6multimedia/qt6multimedia.mk new file mode 100644 index 00000000..98ab2ec4 --- /dev/null +++ b/package/qt6/qt6multimedia/qt6multimedia.mk @@ -0,0 +1,131 @@ +################################################################################ +# +# qt6multimedia +# +################################################################################ + +QT6MULTIMEDIA_VERSION = $(QT6_VERSION) +QT6MULTIMEDIA_SITE = $(QT6_SITE) +QT6MULTIMEDIA_SOURCE = qtmultimedia-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6MULTIMEDIA_VERSION).tar.xz +QT6MULTIMEDIA_INSTALL_STAGING = YES +QT6MULTIMEDIA_SUPPORTS_IN_SOURCE_BUILD = NO +QT6MULTIMEDIA_CMAKE_BACKEND = ninja +QT6MULTIMEDIA_LICENSE = GPL-3.0, LGPL-3.0 + +QT6MULTIMEDIA_LICENSE_FILES = \ + LICENSES/BSD-2-Clause.txt \ + LICENSES/BSD-3-Clause.txt \ + LICENSES/BSD-Source-Code.txt \ + LICENSES/BSL-1.0.txt \ + LICENSES/GFDL-1.3-no-invariants-only.txt \ + LICENSES/GPL-2.0-only.txt \ + LICENSES/GPL-3.0-only.txt \ + LICENSES/IJG.txt \ + LICENSES/ISC.txt \ + LICENSES/LGPL-2.1-or-later.txt \ + LICENSES/LGPL-3.0-only.txt \ + LICENSES/MIT.txt \ + LICENSES/MPL-2.0.txt \ + LICENSES/Qt-GPL-exception-1.0.txt \ + LICENSES/Zlib.txt \ + src/3rdparty/eigen/COPYING.BSD \ + src/3rdparty/eigen/COPYING.MPL2 \ + src/3rdparty/eigen/COPYRIGHTS \ + src/3rdparty/pffft/COPYRIGHTS \ + src/3rdparty/pffft/LICENSE + +QT6MULTIMEDIA_CONF_OPTS = \ + -DBUILD_WITH_PCH=OFF \ + -DQT_BUILD_TESTS=OFF \ + -DQT_HOST_PATH=$(HOST_DIR) \ + -DFEATURE_gstreamer_gl=OFF + +QT6MULTIMEDIA_DEPENDENCIES = \ + qt6base \ + qt6shadertools + +# for multimedia quick module +ifeq ($(BR2_PACKAGE_QT6DECLARATIVE),y) +QT6MULTIMEDIA_DEPENDENCIES += qt6declarative +endif + +ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_ALSA),y) +QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_alsa=ON +QT6MULTIMEDIA_DEPENDENCIES += alsa-lib +else +QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_alsa=OFF +endif + +ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_EXAMPLES),y) +QT6MULTIMEDIA_CONF_OPTS += -DQT_BUILD_EXAMPLES=ON +QT6MULTIMEDIA_DEPENDENCIES += qt6svg +else +QT6MULTIMEDIA_CONF_OPTS += -DQT_BUILD_EXAMPLES=OFF +endif + +ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_FFMPEG),y) +QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_ffmpeg=ON +QT6MULTIMEDIA_DEPENDENCIES += ffmpeg +else +QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_ffmpeg=OFF +endif + +ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_GSTREAMER),y) +QT6MULTIMEDIA_CONF_OPTS += \ + -DFEATURE_gstreamer=ON \ + -DFEATURE_gstreamer_1_0=ON \ + -DFEATURE_gstreamer_app=ON +QT6MULTIMEDIA_DEPENDENCIES += \ + gst1-plugins-base \ + gstreamer1 +else +QT6MULTIMEDIA_CONF_OPTS += \ + -DFEATURE_gstreamer=OFF \ + -DFEATURE_gstreamer_1_0=OFF \ + -DFEATURE_gstreamer_app=OFF +endif + +ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_GST1_PLUGINS_PHOTOGRAPHY),y) +QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_gstreamer_photography=ON +QT6MULTIMEDIA_DEPENDENCIES += gst1-plugins-bad +else +QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_gstreamer_photography=OFF +endif + +ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_LINUX_DMA_BUF),y) +QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_linux_dmabuf=ON +QT6MULTIMEDIA_DEPENDENCIES += \ + libgbm \ + libegl +else +QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_linux_dmabuf=OFF +endif + +ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_PULSEAUDIO),y) +QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_pulseaudio=ON +QT6MULTIMEDIA_DEPENDENCIES += pulseaudio +else +QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_pulseaudio=OFF +endif + +ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_SPATIALAUDIO),y) +QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_spatialaudio=ON +ifeq ($(BR2_PACKAGE_QT6QUICK3D),y) +QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_spatialaudio_quick3d=ON +QT6MULTIMEDIA_DEPENDENCIES += qt6quick3d +else +QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_spatialaudio_quick3d=OFF +endif + +else +QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_spatialaudio=OFF +endif + +ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_VAAPI),y) +QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_vaapi=ON +QT6MULTIMEDIA_DEPENDENCIES += libva +else +QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_vaapi=OFF +endif + +$(eval $(cmake-package)) diff --git a/package/qt6/qt6opcua/Config.in b/package/qt6/qt6opcua/Config.in index 68b73f7c..9b5359dd 100644 --- a/package/qt6/qt6opcua/Config.in +++ b/package/qt6/qt6opcua/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_QT6OPCUA bool "qt6opcua" select BR2_PACKAGE_QT6BASE_NETWORK - # qt6opcuda needs host-qt6opcua, and host-qt6opcua needs + # qt6opcua needs host-qt6opcua, and host-qt6opcua needs # network support in qt6base. select BR2_PACKAGE_HOST_QT6BASE_NETWORK diff --git a/package/qt6/qt6opcua/qt6opcua.hash b/package/qt6/qt6opcua/qt6opcua.hash index cf54bef9..627450af 100644 --- a/package/qt6/qt6opcua/qt6opcua.hash +++ b/package/qt6/qt6opcua/qt6opcua.hash @@ -1,6 +1,7 @@ -sha256 653597e2926ddb512f078bab1e5d2a059202ba1bc1f68ff0b4a0e053ab1272b2 qt6opcua-6.7.2-git4.tar.gz +# Locally computed +sha256 0283f634707bf5c88ed30fec604bf7ea3bc22620cd060517812f9fb6304f254b qt6opcua-6.8.1-git4.tar.gz -# Hashes for license files: +# Hashes for license files sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt sha256 110535522396708cea37c72a802c5e7e81391139f5f7985631c93ef242b206a4 LICENSES/GFDL-1.3-no-invariants-only.txt sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSES/GPL-2.0-only.txt diff --git a/package/qt6/qt6opcua/qt6opcua.mk b/package/qt6/qt6opcua/qt6opcua.mk index 6c8ff7af..28771ba8 100644 --- a/package/qt6/qt6opcua/qt6opcua.mk +++ b/package/qt6/qt6opcua/qt6opcua.mk @@ -28,10 +28,6 @@ QT6OPCUA_CONF_OPTS = \ -DQT_HOST_PATH=$(HOST_DIR) \ -DBUILD_WITH_PCH=OFF -HOST_QT6OPCUA_CONF_OPTS = \ - -DQT_HOST_PATH=$(HOST_DIR) \ - -DBUILD_WITH_PCH=OFF - QT6OPCUA_DEPENDENCIES = \ qt6base \ host-qt6opcua diff --git a/package/qt6/qt6quick3d/0001-openxr-Add-loongarch-support.patch b/package/qt6/qt6quick3d/0001-openxr-Add-loongarch-support.patch new file mode 100644 index 00000000..1a1328af --- /dev/null +++ b/package/qt6/qt6quick3d/0001-openxr-Add-loongarch-support.patch @@ -0,0 +1,25 @@ +From c39414988c227d290101a0235080dcaac119c184 Mon Sep 17 00:00:00 2001 +From: loongson-gd +Date: Wed, 5 Mar 2025 18:11:42 +0800 +Subject: [PATCH] openxr:Add loongarch support + +--- + src/3rdparty/openxr/src/common/platform_utils.hpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/3rdparty/openxr/src/common/platform_utils.hpp b/src/3rdparty/openxr/src/common/platform_utils.hpp +index 35369a1..83ede6a 100644 +--- a/src/3rdparty/openxr/src/common/platform_utils.hpp ++++ b/src/3rdparty/openxr/src/common/platform_utils.hpp +@@ -49,6 +49,8 @@ + #define XR_ARCH_ABI "armv7a-vfp" + #elif defined(__ARM_ARCH_5TE__) + #define XR_ARCH_ABI "armv5te" ++#elif defined(__loongarch64) ++#define XR_ARCH_ABI "loongarch64" + #elif defined(__mips64) + #define XR_ARCH_ABI "mips64" + #elif defined(__mips) +-- +2.34.1 + diff --git a/package/qt6/qt6quick3d/Config.in b/package/qt6/qt6quick3d/Config.in new file mode 100644 index 00000000..3ec26773 --- /dev/null +++ b/package/qt6/qt6quick3d/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_QT6QUICK3D + bool "qt6quick3d" + select BR2_PACKAGE_HOST_QT6BASE_CONCURRENT # Host Quick3DRuntimeRender + select BR2_PACKAGE_HOST_QT6BASE_GUI + select BR2_PACKAGE_HOST_QT6BASE_WIDGETS + select BR2_PACKAGE_QT6DECLARATIVE + select BR2_PACKAGE_QT6DECLARATIVE_QUICK + help + This package corresponds to the Qt Quick 3D module: + + https://doc.qt.io/qt-6/qtquick3d-index.html diff --git a/package/qt6/qt6quick3d/qt6quick3d.hash b/package/qt6/qt6quick3d/qt6quick3d.hash new file mode 100644 index 00000000..960cda69 --- /dev/null +++ b/package/qt6/qt6quick3d/qt6quick3d.hash @@ -0,0 +1,14 @@ +# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtquick3d-everywhere-src-6.8.1.tar.xz.sha256 +sha256 3f3d345e6c95fcd40ab37e6a37cd31811e5d239dea8e142e632d4ea41bf20ce7 qtquick3d-everywhere-src-6.8.1.tar.xz + +# Hashes for license files +sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSES/GPL-3.0-only.txt +sha256 d040359701c01996a017d5c515678929cd1b0625e64cb86db44025fbb6cdf1fc LICENSES/MIT.txt +sha256 c3ed04bcbea49f521e4ab32c638fa86b13ebc7b8e1a8972807265079fcd1e6b9 src/3rdparty/assimp/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/embree/LICENSE.txt +sha256 063805e3b8e24ceab4c5dea358b03245ee41c31be87cf65c61d836636cb494bb src/3rdparty/meshoptimizer/LICENSE.md +sha256 2af9d14c7cd67f13c3e7e91dcfe15ec5c8af42923635441e0f5a75bcadadeb33 src/3rdparty/tinyexr/LICENSE +sha256 2c16d5b1c2808277fe975b4f70f0fd9afc9b3bcf04e6c676665a82cb2d5579e3 src/3rdparty/xatlas/LICENSE +sha256 966313e8129db5d0b3b081d1a50ae107da9a3da2d8faa05899e3042a33192525 src/helpers/GODOT_LICENSE.txt +sha256 966313e8129db5d0b3b081d1a50ae107da9a3da2d8faa05899e3042a33192525 src/runtimerender/GODOT_LICENSE.txt diff --git a/package/qt6/qt6quick3d/qt6quick3d.mk b/package/qt6/qt6quick3d/qt6quick3d.mk new file mode 100644 index 00000000..246bd2d8 --- /dev/null +++ b/package/qt6/qt6quick3d/qt6quick3d.mk @@ -0,0 +1,62 @@ +################################################################################ +# +# qt6quick3d +# +################################################################################ + +QT6QUICK3D_VERSION = $(QT6_VERSION) +QT6QUICK3D_SITE = $(QT6_SITE) +QT6QUICK3D_SOURCE = qtquick3d-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6QUICK3D_VERSION).tar.xz +QT6QUICK3D_INSTALL_STAGING = YES +QT6QUICK3D_SUPPORTS_IN_SOURCE_BUILD = NO +QT6QUICK3D_CMAKE_BACKEND = ninja +QT6QUICK3D_LICENSE = GPL-3.0 + +QT6QUICK3D_LICENSE_FILES = \ + LICENSES/BSD-3-Clause.txt \ + LICENSES/GPL-3.0-only.txt \ + LICENSES/MIT.txt \ + src/3rdparty/assimp/LICENSE \ + src/3rdparty/embree/LICENSE.txt \ + src/3rdparty/meshoptimizer/LICENSE.md \ + src/3rdparty/tinyexr/LICENSE \ + src/3rdparty/xatlas/LICENSE \ + src/helpers/GODOT_LICENSE.txt \ + src/runtimerender/GODOT_LICENSE.txt + +QT6QUICK3D_CONF_OPTS = \ + -DQT_HOST_PATH=$(HOST_DIR) \ + -DBUILD_WITH_PCH=OFF \ + -DQT_BUILD_EXAMPLES=OFF \ + -DQT_BUILD_TESTS=OFF + +QT6QUICK3D_DEPENDENCIES = \ + host-qt6quick3d \ + host-qt6shadertools \ + qt6base \ + qt6declarative + +ifeq ($(BR2_PACKAGE_ASSIMP),y) +QT6QUICK3D_CONF_OPTS += -DFEATURE_system_assimp=ON +QT6QUICK3D_DEPENDENCIES += assimp +else +QT6QUICK3D_CONF_OPTS += -DFEATURE_system_assimp=OFF +endif + +ifeq ($(BR2_PACKAGE_QT6QUICKTIMELINE),y) +QT6QUICK3D_DEPENDENCIES += qt6quicktimeline +endif + +ifeq ($(BR2_PACKAGE_QT6SHADERTOOLS),y) +QT6QUICK3D_DEPENDENCIES += qt6shadertools +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +QT6QUICK3D_CONF_OPTS += -DFEATURE_system_zlib=ON +QT6QUICK3D_DEPENDENCIES += zlib +else +QT6QUICK3D_CONF_OPTS += -DFEATURE_system_zlib=OFF +endif + +$(eval $(cmake-package)) +$(eval $(host-cmake-package)) diff --git a/package/qt6/qt6quicktimeline/Config.in b/package/qt6/qt6quicktimeline/Config.in new file mode 100644 index 00000000..466aab23 --- /dev/null +++ b/package/qt6/qt6quicktimeline/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_QT6QUICKTIMELINE + bool "qt6quicktimeline" + select BR2_PACKAGE_QT6DECLARATIVE + select BR2_PACKAGE_QT6DECLARATIVE_QUICK + help + This package corresponds to the Qt Quick Timeline module: + + https://doc.qt.io/qt-6/qtquicktimeline-index.html diff --git a/package/qt6/qt6quicktimeline/qt6quicktimeline.hash b/package/qt6/qt6quicktimeline/qt6quicktimeline.hash new file mode 100644 index 00000000..b042b4e2 --- /dev/null +++ b/package/qt6/qt6quicktimeline/qt6quicktimeline.hash @@ -0,0 +1,5 @@ +# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtquicktimeline-everywhere-src-6.8.1.tar.xz.sha256 +sha256 fdbc198e27fd7bce0801fb3cfa336e81932607e6a36c97ae8394880eedfe12a3 qtquicktimeline-everywhere-src-6.8.1.tar.xz + +# Hashes for license files +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSES/GPL-3.0-only.txt diff --git a/package/qt6/qt6quicktimeline/qt6quicktimeline.mk b/package/qt6/qt6quicktimeline/qt6quicktimeline.mk new file mode 100644 index 00000000..18544a5a --- /dev/null +++ b/package/qt6/qt6quicktimeline/qt6quicktimeline.mk @@ -0,0 +1,26 @@ +################################################################################ +# +# qt6quicktimeline +# +################################################################################ + +QT6QUICKTIMELINE_VERSION = $(QT6_VERSION) +QT6QUICKTIMELINE_SITE = $(QT6_SITE) +QT6QUICKTIMELINE_SOURCE = qtquicktimeline-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6QUICKTIMELINE_VERSION).tar.xz +QT6QUICKTIMELINE_INSTALL_STAGING = YES +QT6QUICKTIMELINE_SUPPORTS_IN_SOURCE_BUILD = NO +QT6QUICKTIMELINE_CMAKE_BACKEND = ninja +QT6QUICKTIMELINE_LICENSE = GPL-3.0 +QT6QUICKTIMELINE_LICENSE_FILES = LICENSES/GPL-3.0-only.txt + +QT6QUICKTIMELINE_CONF_OPTS = \ + -DQT_HOST_PATH=$(HOST_DIR) \ + -DBUILD_WITH_PCH=OFF \ + -DQT_BUILD_EXAMPLES=OFF \ + -DQT_BUILD_TESTS=OFF + +QT6QUICKTIMELINE_DEPENDENCIES = \ + qt6base \ + qt6declarative + +$(eval $(cmake-package)) diff --git a/package/qt6/qt6scxml/Config.in b/package/qt6/qt6scxml/Config.in new file mode 100644 index 00000000..66c2dc22 --- /dev/null +++ b/package/qt6/qt6scxml/Config.in @@ -0,0 +1,17 @@ +config BR2_PACKAGE_QT6SCXML + bool "qt6scxml" + help + Qt is a cross-platform application and UI framework for + developers using C++. + + This package provides two related state machine modules: + + * StateMachine: provides classes for creating and executing + state graphs. + + https://doc.qt.io/qt-6/qtstatemachine-index.html + + * Scxml: provides functionality to create state machines + from SCXML files. + + https://doc.qt.io/qt-6/qtscxml-index.html diff --git a/package/qt6/qt6scxml/qt6scxml.hash b/package/qt6/qt6scxml/qt6scxml.hash new file mode 100644 index 00000000..f239f18d --- /dev/null +++ b/package/qt6/qt6scxml/qt6scxml.hash @@ -0,0 +1,11 @@ +# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtscxml-everywhere-src-6.8.1.tar.xz.sha256 +sha256 2f406f44cfacd6eddb90468012a5d1d99d7a64ec05a21a2a7eda9dfc12614fd6 qtscxml-everywhere-src-6.8.1.tar.xz + +# Hashes for license files: +sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt +sha256 110535522396708cea37c72a802c5e7e81391139f5f7985631c93ef242b206a4 LICENSES/GFDL-1.3-no-invariants-only.txt +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSES/GPL-2.0-only.txt +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSES/GPL-3.0-only.txt +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSES/LGPL-3.0-only.txt +sha256 9b1f50aae6267f9d5e0ceb6775ee86450262c25ec7c0573e151fe5d3f18a4700 LICENSES/LicenseRef-Qt-Commercial.txt +sha256 40678d338ce53cd93f8b22b281a2ecbcaa3ee65ce60b25ffb0c462b0530846b2 LICENSES/Qt-GPL-exception-1.0.txt diff --git a/package/qt6/qt6scxml/qt6scxml.mk b/package/qt6/qt6scxml/qt6scxml.mk new file mode 100644 index 00000000..29e0c752 --- /dev/null +++ b/package/qt6/qt6scxml/qt6scxml.mk @@ -0,0 +1,50 @@ +################################################################################ +# +# qt6scxml +# +################################################################################ + +QT6SCXML_VERSION = $(QT6_VERSION) +QT6SCXML_SITE = $(QT6_SITE) +QT6SCXML_SOURCE = qtscxml-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6SCXML_VERSION).tar.xz +QT6SCXML_INSTALL_STAGING = YES +QT6SCXML_SUPPORTS_IN_SOURCE_BUILD = NO +QT6SCXML_CMAKE_BACKEND = ninja + +QT6SCXML_LICENSE = \ + BSD-3-Clause (buildsystem, examples, snippets) \ + GFDL-1.3-no-invariants (docs), \ + GPL-2.0 or GPL-3.0 or LGPL-3.0, \ + GPL-3.0 with exception (tools), \ + GPL-3.0 (tests) + +QT6SCXML_LICENSE_FILES = \ + LICENSES/BSD-3-Clause.txt \ + LICENSES/GFDL-1.3-no-invariants-only.txt \ + LICENSES/GPL-2.0-only.txt \ + LICENSES/GPL-3.0-only.txt \ + LICENSES/LGPL-3.0-only.txt \ + LICENSES/Qt-GPL-exception-1.0.txt + +QT6SCXML_CONF_OPTS = \ + -DQT_HOST_PATH=$(HOST_DIR) \ + -DBUILD_WITH_PCH=OFF \ + -DQT_BUILD_EXAMPLES=OFF \ + -DQT_BUILD_TESTS=OFF + +QT6SCXML_DEPENDENCIES = \ + host-qt6scxml \ + qt6base + +HOST_QT6SCXML_DEPENDENCIES = \ + host-qt6base + +# When we have support for qt6declarative in target qt6scxml, we also +# need it in the host qt6scxml. +ifeq ($(BR2_PACKAGE_QT6DECLARATIVE),y) +QT6SCXML_DEPENDENCIES += qt6declarative +HOST_QT6SCXML_DEPENDENCIES += host-qt6declarative +endif + +$(eval $(cmake-package)) +$(eval $(host-cmake-package)) diff --git a/package/qt6/qt6serialbus/qt6serialbus.hash b/package/qt6/qt6serialbus/qt6serialbus.hash index 1b854284..9777633b 100644 --- a/package/qt6/qt6serialbus/qt6serialbus.hash +++ b/package/qt6/qt6serialbus/qt6serialbus.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtserialbus-everywhere-src-6.7.2.tar.xz.sha256 -sha256 67641ca99b455746d7d956c516dfaa5f2c48696834c71d5720d63e736d374b2b qtserialbus-everywhere-src-6.7.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtserialbus-everywhere-src-6.8.1.tar.xz.sha256 +sha256 40788d92ec5c3ae297818e9f9eea9d21e398a54fa3fd8ddd530d324548ed15da qtserialbus-everywhere-src-6.8.1.tar.xz # Hashes for license files: sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt diff --git a/package/qt6/qt6serialport/qt6serialport.hash b/package/qt6/qt6serialport/qt6serialport.hash index c8708c22..d30c297d 100644 --- a/package/qt6/qt6serialport/qt6serialport.hash +++ b/package/qt6/qt6serialport/qt6serialport.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtserialport-everywhere-src-6.7.2.tar.xz.sha256 -sha256 21c34cd1161cb5197bcec662d26a17647b59b6fdff5c364576883c42dbd3b4fc qtserialport-everywhere-src-6.7.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtserialport-everywhere-src-6.8.1.tar.xz.sha256 +sha256 098e72a5c06d7db003e3eea1b0ed72d7308e3ea9cb9e89b538816dc96c938395 qtserialport-everywhere-src-6.8.1.tar.xz # Hashes for license files: sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt @@ -7,4 +7,3 @@ sha256 110535522396708cea37c72a802c5e7e81391139f5f7985631c93ef242b206a4 LICENS sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSES/GPL-2.0-only.txt sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSES/GPL-3.0-only.txt sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSES/LGPL-3.0-only.txt -sha256 40678d338ce53cd93f8b22b281a2ecbcaa3ee65ce60b25ffb0c462b0530846b2 LICENSES/Qt-GPL-exception-1.0.txt diff --git a/package/qt6/qt6serialport/qt6serialport.mk b/package/qt6/qt6serialport/qt6serialport.mk index bdb16dd8..4a006d97 100644 --- a/package/qt6/qt6serialport/qt6serialport.mk +++ b/package/qt6/qt6serialport/qt6serialport.mk @@ -23,8 +23,7 @@ QT6SERIALPORT_LICENSE_FILES = \ LICENSES/GFDL-1.3-no-invariants-only.txt \ LICENSES/GPL-2.0-only.txt \ LICENSES/GPL-3.0-only.txt \ - LICENSES/LGPL-3.0-only.txt \ - LICENSES/Qt-GPL-exception-1.0.txt + LICENSES/LGPL-3.0-only.txt QT6SERIALPORT_CONF_OPTS = \ -DQT_HOST_PATH=$(HOST_DIR) \ diff --git a/package/qt6/qt6shadertools/qt6shadertools.hash b/package/qt6/qt6shadertools/qt6shadertools.hash index 9cb423c9..015ec5b9 100644 --- a/package/qt6/qt6shadertools/qt6shadertools.hash +++ b/package/qt6/qt6shadertools/qt6shadertools.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtshadertools-everywhere-src-6.7.2.tar.xz.sha256 -sha256 edfa34c0ac8c00fcaa949df1d8e7a77d89dadd6386e683ce6c3e3b117e2f7cc1 qtshadertools-everywhere-src-6.7.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtshadertools-everywhere-src-6.8.1.tar.xz.sha256 +sha256 55b70cd632473a8043c74ba89310f7ba9c5041d253bc60e7ae1fa789169c4846 qtshadertools-everywhere-src-6.8.1.tar.xz # Hashes for license files: sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt diff --git a/package/qt6/qt6svg/qt6svg.hash b/package/qt6/qt6svg/qt6svg.hash index 7adfd7f2..cd7a148f 100644 --- a/package/qt6/qt6svg/qt6svg.hash +++ b/package/qt6/qt6svg/qt6svg.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtsvg-everywhere-src-6.7.2.tar.xz.sha256 -sha256 fb0d1286a35be3583fee34aeb5843c94719e07193bdf1d4d8b0dc14009caef01 qtsvg-everywhere-src-6.7.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtsvg-everywhere-src-6.8.1.tar.xz.sha256 +sha256 3d0de73596e36b2daa7c48d77c4426bb091752856912fba720215f756c560dd0 qtsvg-everywhere-src-6.8.1.tar.xz # Hashes for license files: sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt diff --git a/package/qt6/qt6svg/qt6svg.mk b/package/qt6/qt6svg/qt6svg.mk index a9d7eaef..08570c7f 100644 --- a/package/qt6/qt6svg/qt6svg.mk +++ b/package/qt6/qt6svg/qt6svg.mk @@ -36,5 +36,8 @@ QT6SVG_DEPENDENCIES = \ host-pkgconf \ qt6base +HOST_QT6SVG_DEPENDENCIES = \ + host-qt6base + $(eval $(cmake-package)) $(eval $(host-cmake-package)) diff --git a/package/qt6/qt6tools/Config.in b/package/qt6/qt6tools/Config.in index 5f52c564..1828e5f0 100644 --- a/package/qt6/qt6tools/Config.in +++ b/package/qt6/qt6tools/Config.in @@ -1,12 +1,8 @@ config BR2_PACKAGE_QT6TOOLS bool "qt6tools" + # The Qt Network module is required select BR2_PACKAGE_QT6BASE_NETWORK - # qt6tools needs host-qt6tools, and host-qt6tools needs - # network support in qt6base. In addition, we also need - # host-qt6base with Sql support to build the qhelpgenerator - # tool, if target support for Sql is present - select BR2_PACKAGE_HOST_QT6BASE_NETWORK - select BR2_PACKAGE_HOST_QT6BASE_SQL if BR2_PACKAGE_QT6BASE_SQL + select BR2_PACKAGE_HOST_QT6TOOLS help Qt is a cross-platform application and UI framework for developers using C++. diff --git a/package/qt6/qt6tools/Config.in.host b/package/qt6/qt6tools/Config.in.host new file mode 100644 index 00000000..7a6f8a51 --- /dev/null +++ b/package/qt6/qt6tools/Config.in.host @@ -0,0 +1,25 @@ +config BR2_PACKAGE_HOST_QT6TOOLS + bool "host qt6tools" + # The Qt Qt Network module is required + select BR2_PACKAGE_HOST_QT6BASE_NETWORK + # Requires the Qt Sql module to build the qhelpgenerator + # tool, if target support for Sql is present + select BR2_PACKAGE_HOST_QT6BASE_SQL if BR2_PACKAGE_QT6BASE_SQL + help + Qt is a cross-platform application and UI framework for + developers using C++. + + Qt Tools provides tools facilitate the development + and design of applications. + + https://github.com/qt/qttools + +if BR2_PACKAGE_HOST_QT6TOOLS + +config BR2_PACKAGE_HOST_QT6TOOLS_LINGUIST_TOOLS + bool "host linguist tools" + help + Translate Qt C++ and Qt Quick applications into local + languages. + +endif diff --git a/package/qt6/qt6tools/qt6tools.hash b/package/qt6/qt6tools/qt6tools.hash index 622df4a0..ede1608e 100644 --- a/package/qt6/qt6tools/qt6tools.hash +++ b/package/qt6/qt6tools/qt6tools.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qttools-everywhere-src-6.7.2.tar.xz.sha256 -sha256 58e855ad1b2533094726c8a425766b63a04a0eede2ed85086860e54593aa4b2a qttools-everywhere-src-6.7.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qttools-everywhere-src-6.8.1.tar.xz.sha256 +sha256 9d43d409be08b8681a0155a9c65114b69c9a3fc11aef6487bb7fdc5b283c432d qttools-everywhere-src-6.8.1.tar.xz # Hashes for license files: sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt diff --git a/package/qt6/qt6tools/qt6tools.mk b/package/qt6/qt6tools/qt6tools.mk index 09c986cf..b063f088 100644 --- a/package/qt6/qt6tools/qt6tools.mk +++ b/package/qt6/qt6tools/qt6tools.mk @@ -41,7 +41,23 @@ ifeq ($(BR2_PACKAGE_QT6DECLARATIVE),y) QT6TOOLS_DEPENDENCIES += qt6declarative endif +HOST_QT6TOOLS_CONF_OPTS = \ + -DQT_BUILD_EXAMPLES=OFF \ + -DQT_BUILD_TESTS=OFF + HOST_QT6TOOLS_DEPENDENCIES = host-qt6base +ifeq ($(BR2_PACKAGE_HOST_QT6TOOLS_LINGUIST_TOOLS),y) +HOST_QT6TOOLS_CONF_OPTS += -DFEATURE_linguist=ON +# When we have qt6declarative for the target, we need to build the +# linguist tool with host-qt6declarative support so that it handles +# QML/JS files +ifeq ($(BR2_PACKAGE_QT6DECLARATIVE),y) +HOST_QT6TOOLS_DEPENDENCIES += host-qt6declarative +endif +else +HOST_QT6TOOLS_CONF_OPTS += -DFEATURE_linguist=OFF +endif + $(eval $(cmake-package)) $(eval $(host-cmake-package)) diff --git a/package/qt6/qt6virtualkeyboard/qt6virtualkeyboard.hash b/package/qt6/qt6virtualkeyboard/qt6virtualkeyboard.hash index f34eb11e..60b9ab08 100644 --- a/package/qt6/qt6virtualkeyboard/qt6virtualkeyboard.hash +++ b/package/qt6/qt6virtualkeyboard/qt6virtualkeyboard.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtvirtualkeyboard-everywhere-src-6.7.2.tar.xz.sha256 -sha256 320664b55a0960ff79c1b822dcf6e8cebe3e08b791147d41b570996d81ce180f qtvirtualkeyboard-everywhere-src-6.7.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtvirtualkeyboard-everywhere-src-6.8.1.tar.xz.sha256 +sha256 1022a3bc4093ec732e85b659158c8a70a31eecbd0dfef4e4f6c67f474f89a264 qtvirtualkeyboard-everywhere-src-6.8.1.tar.xz # Hashes for license files: sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt diff --git a/package/qt6/qt6wayland/qt6wayland.hash b/package/qt6/qt6wayland/qt6wayland.hash index 3d0ded7b..a378097e 100644 --- a/package/qt6/qt6wayland/qt6wayland.hash +++ b/package/qt6/qt6wayland/qt6wayland.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtwayland-everywhere-src-6.7.2.tar.xz.sha256 -sha256 a2a057e1dd644bd44abb9990fecc194b2e25c2e0f39e81aa9fee4c1e5e2a8a5b qtwayland-everywhere-src-6.7.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtwayland-everywhere-src-6.8.1.tar.xz.sha256 +sha256 2226fbde4e2ddd12f8bf4b239c8f38fd706a54e789e63467dfddc77129eca203 qtwayland-everywhere-src-6.8.1.tar.xz # Hashes for license files: sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt diff --git a/package/qt6/qt6websockets/qt6websockets.hash b/package/qt6/qt6websockets/qt6websockets.hash index 5dfeeef0..789f51a7 100644 --- a/package/qt6/qt6websockets/qt6websockets.hash +++ b/package/qt6/qt6websockets/qt6websockets.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtwebsockets-everywhere-src-6.7.2.tar.xz.sha256 -sha256 5bde4af6ec9ce8c8632b782ab77b82d910721be2c714e6d38902521bcd1d215f qtwebsockets-everywhere-src-6.7.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtwebsockets-everywhere-src-6.8.1.tar.xz.sha256 +sha256 e4cfdae8760bedd1c2b00429a6c9bf88cc11c5018dcb46bde277fb1edf341e3f qtwebsockets-everywhere-src-6.8.1.tar.xz # Hashes for license files: sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt diff --git a/package/qt_movie/Config.in b/package/qt_movie/Config.in index 090e95c2..de7f36db 100644 --- a/package/qt_movie/Config.in +++ b/package/qt_movie/Config.in @@ -11,7 +11,7 @@ config BR2_PACKAGE_QT_MOVIE name is logo_player config BR2_PACKAGE_QT_MOVIE_AUTOBOOT - bool "qt movie auto run agter boot" + bool "qt movie auto run after boot" default y depends on BR2_PACKAGE_QT_MOVIE help