diff --git a/common/shlibs b/common/shlibs index 863776568fb916..e76022804ee59f 100644 --- a/common/shlibs +++ b/common/shlibs @@ -2054,10 +2054,10 @@ libQt6MultimediaQuick.so.6 qt6-multimedia-6.3.1_1 libQt6Multimedia.so.6 qt6-multimedia-6.3.1_1 libQt6SpatialAudio.so.6 qt6-multimedia-6.3.1_1 libQt6WebEngineQuick.so.6 qt6-webengine-6.3.1_1 -libQt6PdfWidgets.so.6 qt6-webengine-6.3.1_1 -libQt6PdfQuick.so.6 qt6-webengine-6.3.1_1 +libQt6PdfWidgets.so.6 qt6-pdf-6.6.0_3 +libQt6PdfQuick.so.6 qt6-pdf-6.6.0_3 +libQt6Pdf.so.6 qt6-pdf-6.6.0_3 libQt6WebEngineCore.so.6 qt6-webengine-6.3.1_1 -libQt6Pdf.so.6 qt6-webengine-6.3.1_1 libQt6WebEngineQuickDelegatesQml.so.6 qt6-webengine-6.3.1_1 libQt6WebEngineWidgets.so.6 qt6-webengine-6.3.1_1 libQt6TextToSpeech.so.6 qt6-speech-6.6.0_1 diff --git a/srcpkgs/qt6-pdf-devel b/srcpkgs/qt6-pdf-devel new file mode 120000 index 00000000000000..63f19af447844c --- /dev/null +++ b/srcpkgs/qt6-pdf-devel @@ -0,0 +1 @@ +qt6-pdf \ No newline at end of file diff --git a/srcpkgs/qt6-pdf-examples b/srcpkgs/qt6-pdf-examples new file mode 120000 index 00000000000000..63f19af447844c --- /dev/null +++ b/srcpkgs/qt6-pdf-examples @@ -0,0 +1 @@ +qt6-pdf \ No newline at end of file diff --git a/srcpkgs/qt6-webengine/patches/0001-None-no-debug.patch b/srcpkgs/qt6-pdf/patches/0001-None-no-debug.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0001-None-no-debug.patch rename to srcpkgs/qt6-pdf/patches/0001-None-no-debug.patch diff --git a/srcpkgs/qt6-webengine/patches/0003-cross-hack.patch b/srcpkgs/qt6-pdf/patches/0003-cross-hack.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0003-cross-hack.patch rename to srcpkgs/qt6-pdf/patches/0003-cross-hack.patch diff --git a/srcpkgs/qt6-webengine/patches/0004-riscv-angle.patch b/srcpkgs/qt6-pdf/patches/0004-riscv-angle.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0004-riscv-angle.patch rename to srcpkgs/qt6-pdf/patches/0004-riscv-angle.patch diff --git a/srcpkgs/qt6-webengine/patches/0004-riscv-angle.patch.args b/srcpkgs/qt6-pdf/patches/0004-riscv-angle.patch.args similarity index 100% rename from srcpkgs/qt6-webengine/patches/0004-riscv-angle.patch.args rename to srcpkgs/qt6-pdf/patches/0004-riscv-angle.patch.args diff --git a/srcpkgs/qt6-webengine/patches/0005-riscv-crashpad.patch b/srcpkgs/qt6-pdf/patches/0005-riscv-crashpad.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0005-riscv-crashpad.patch rename to srcpkgs/qt6-pdf/patches/0005-riscv-crashpad.patch diff --git a/srcpkgs/qt6-webengine/patches/0005-riscv-crashpad.patch.args b/srcpkgs/qt6-pdf/patches/0005-riscv-crashpad.patch.args similarity index 100% rename from srcpkgs/qt6-webengine/patches/0005-riscv-crashpad.patch.args rename to srcpkgs/qt6-pdf/patches/0005-riscv-crashpad.patch.args diff --git a/srcpkgs/qt6-webengine/patches/0006-riscv-dav1d.patch b/srcpkgs/qt6-pdf/patches/0006-riscv-dav1d.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0006-riscv-dav1d.patch rename to srcpkgs/qt6-pdf/patches/0006-riscv-dav1d.patch diff --git a/srcpkgs/qt6-webengine/patches/0006-riscv-dav1d.patch.args b/srcpkgs/qt6-pdf/patches/0006-riscv-dav1d.patch.args similarity index 100% rename from srcpkgs/qt6-webengine/patches/0006-riscv-dav1d.patch.args rename to srcpkgs/qt6-pdf/patches/0006-riscv-dav1d.patch.args diff --git a/srcpkgs/qt6-webengine/patches/0007-riscv-sandbox.patch b/srcpkgs/qt6-pdf/patches/0007-riscv-sandbox.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0007-riscv-sandbox.patch rename to srcpkgs/qt6-pdf/patches/0007-riscv-sandbox.patch diff --git a/srcpkgs/qt6-webengine/patches/0007-riscv-sandbox.patch.args b/srcpkgs/qt6-pdf/patches/0007-riscv-sandbox.patch.args similarity index 100% rename from srcpkgs/qt6-webengine/patches/0007-riscv-sandbox.patch.args rename to srcpkgs/qt6-pdf/patches/0007-riscv-sandbox.patch.args diff --git a/srcpkgs/qt6-webengine/patches/0008-rsicv-allocator.patch b/srcpkgs/qt6-pdf/patches/0008-rsicv-allocator.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0008-rsicv-allocator.patch rename to srcpkgs/qt6-pdf/patches/0008-rsicv-allocator.patch diff --git a/srcpkgs/qt6-webengine/patches/0010-chromium-musl-tid-caching.patch b/srcpkgs/qt6-pdf/patches/0010-chromium-musl-tid-caching.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0010-chromium-musl-tid-caching.patch rename to srcpkgs/qt6-pdf/patches/0010-chromium-musl-tid-caching.patch diff --git a/srcpkgs/qt6-webengine/patches/0050-no-glibc-cmake-check.patch b/srcpkgs/qt6-pdf/patches/0050-no-glibc-cmake-check.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0050-no-glibc-cmake-check.patch rename to srcpkgs/qt6-pdf/patches/0050-no-glibc-cmake-check.patch diff --git a/srcpkgs/qt6-webengine/patches/0105-chromium-revert-drop-of-system-java.patch b/srcpkgs/qt6-pdf/patches/0105-chromium-revert-drop-of-system-java.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0105-chromium-revert-drop-of-system-java.patch rename to srcpkgs/qt6-pdf/patches/0105-chromium-revert-drop-of-system-java.patch diff --git a/srcpkgs/qt6-webengine/patches/0106-chromium-system-nodejs.patch b/srcpkgs/qt6-pdf/patches/0106-chromium-system-nodejs.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0106-chromium-system-nodejs.patch rename to srcpkgs/qt6-pdf/patches/0106-chromium-system-nodejs.patch diff --git a/srcpkgs/qt6-webengine/patches/0107-chromium-cross-build.patch b/srcpkgs/qt6-pdf/patches/0107-chromium-cross-build.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0107-chromium-cross-build.patch rename to srcpkgs/qt6-pdf/patches/0107-chromium-cross-build.patch diff --git a/srcpkgs/qt6-webengine/patches/0108-chromium-cursed^Uscoped_file.patch b/srcpkgs/qt6-pdf/patches/0108-chromium-cursed^Uscoped_file.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0108-chromium-cursed^Uscoped_file.patch rename to srcpkgs/qt6-pdf/patches/0108-chromium-cursed^Uscoped_file.patch diff --git a/srcpkgs/qt6-webengine/patches/0109-chromium-aarch64-musl-memory-tagging.patch b/srcpkgs/qt6-pdf/patches/0109-chromium-aarch64-musl-memory-tagging.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0109-chromium-aarch64-musl-memory-tagging.patch rename to srcpkgs/qt6-pdf/patches/0109-chromium-aarch64-musl-memory-tagging.patch diff --git a/srcpkgs/qt6-webengine/patches/0110-chromium-fix-missing-TEMP_FAILURE_RETRY-macro.patch b/srcpkgs/qt6-pdf/patches/0110-chromium-fix-missing-TEMP_FAILURE_RETRY-macro.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0110-chromium-fix-missing-TEMP_FAILURE_RETRY-macro.patch rename to srcpkgs/qt6-pdf/patches/0110-chromium-fix-missing-TEMP_FAILURE_RETRY-macro.patch diff --git a/srcpkgs/qt6-webengine/patches/0111-chromium-cstdint.patch b/srcpkgs/qt6-pdf/patches/0111-chromium-cstdint.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0111-chromium-cstdint.patch rename to srcpkgs/qt6-pdf/patches/0111-chromium-cstdint.patch diff --git a/srcpkgs/qt6-webengine/patches/0112-chromium-unistd.h.patch b/srcpkgs/qt6-pdf/patches/0112-chromium-unistd.h.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0112-chromium-unistd.h.patch rename to srcpkgs/qt6-pdf/patches/0112-chromium-unistd.h.patch diff --git a/srcpkgs/qt6-webengine/patches/0116-chromium-musl-get-thread-name.patch b/srcpkgs/qt6-pdf/patches/0116-chromium-musl-get-thread-name.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0116-chromium-musl-get-thread-name.patch rename to srcpkgs/qt6-pdf/patches/0116-chromium-musl-get-thread-name.patch diff --git a/srcpkgs/qt6-webengine/patches/0117-chromium-musl-resolver.patch b/srcpkgs/qt6-pdf/patches/0117-chromium-musl-resolver.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0117-chromium-musl-resolver.patch rename to srcpkgs/qt6-pdf/patches/0117-chromium-musl-resolver.patch diff --git a/srcpkgs/qt6-webengine/patches/0120-chromium-libc-malloc.patch b/srcpkgs/qt6-pdf/patches/0120-chromium-libc-malloc.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0120-chromium-libc-malloc.patch rename to srcpkgs/qt6-pdf/patches/0120-chromium-libc-malloc.patch diff --git a/srcpkgs/qt6-webengine/patches/0122-chromium-condition_var.patch b/srcpkgs/qt6-pdf/patches/0122-chromium-condition_var.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0122-chromium-condition_var.patch rename to srcpkgs/qt6-pdf/patches/0122-chromium-condition_var.patch diff --git a/srcpkgs/qt6-webengine/patches/0123-chromium-musl-no-getcontext.patch b/srcpkgs/qt6-pdf/patches/0123-chromium-musl-no-getcontext.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0123-chromium-musl-no-getcontext.patch rename to srcpkgs/qt6-pdf/patches/0123-chromium-musl-no-getcontext.patch diff --git a/srcpkgs/qt6-webengine/patches/0126-chromium-no-cdefs.patch b/srcpkgs/qt6-pdf/patches/0126-chromium-no-cdefs.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0126-chromium-no-cdefs.patch rename to srcpkgs/qt6-pdf/patches/0126-chromium-no-cdefs.patch diff --git a/srcpkgs/qt6-webengine/patches/0129-chromium-sandbox-shed_getparam.patch b/srcpkgs/qt6-pdf/patches/0129-chromium-sandbox-shed_getparam.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0129-chromium-sandbox-shed_getparam.patch rename to srcpkgs/qt6-pdf/patches/0129-chromium-sandbox-shed_getparam.patch diff --git a/srcpkgs/qt6-webengine/patches/0150-chromium-unbundle-ffmpeg-av_stream_get_first_dts.patch b/srcpkgs/qt6-pdf/patches/0150-chromium-unbundle-ffmpeg-av_stream_get_first_dts.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0150-chromium-unbundle-ffmpeg-av_stream_get_first_dts.patch rename to srcpkgs/qt6-pdf/patches/0150-chromium-unbundle-ffmpeg-av_stream_get_first_dts.patch diff --git a/srcpkgs/qt6-webengine/patches/0151-chromium-unbundled-cross-toolchain.patch b/srcpkgs/qt6-pdf/patches/0151-chromium-unbundled-cross-toolchain.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0151-chromium-unbundled-cross-toolchain.patch rename to srcpkgs/qt6-pdf/patches/0151-chromium-unbundled-cross-toolchain.patch diff --git a/srcpkgs/qt6-webengine/patches/0152-chromium-webrtc-size_t.patch b/srcpkgs/qt6-pdf/patches/0152-chromium-webrtc-size_t.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0152-chromium-webrtc-size_t.patch rename to srcpkgs/qt6-pdf/patches/0152-chromium-webrtc-size_t.patch diff --git a/srcpkgs/qt6-webengine/patches/0153-chromium-webrtc-size_t.patch b/srcpkgs/qt6-pdf/patches/0153-chromium-webrtc-size_t.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0153-chromium-webrtc-size_t.patch rename to srcpkgs/qt6-pdf/patches/0153-chromium-webrtc-size_t.patch diff --git a/srcpkgs/qt6-webengine/patches/0154-chromium-uit_t.patch b/srcpkgs/qt6-pdf/patches/0154-chromium-uit_t.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0154-chromium-uit_t.patch rename to srcpkgs/qt6-pdf/patches/0154-chromium-uit_t.patch diff --git a/srcpkgs/qt6-webengine/patches/0155-systypes.patch b/srcpkgs/qt6-pdf/patches/0155-systypes.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0155-systypes.patch rename to srcpkgs/qt6-pdf/patches/0155-systypes.patch diff --git a/srcpkgs/qt6-webengine/patches/0300-chromium-musl-hacks.patch b/srcpkgs/qt6-pdf/patches/0300-chromium-musl-hacks.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0300-chromium-musl-hacks.patch rename to srcpkgs/qt6-pdf/patches/0300-chromium-musl-hacks.patch diff --git a/srcpkgs/qt6-webengine/patches/0301-chromium-musl-sandbox.patch b/srcpkgs/qt6-pdf/patches/0301-chromium-musl-sandbox.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0301-chromium-musl-sandbox.patch rename to srcpkgs/qt6-pdf/patches/0301-chromium-musl-sandbox.patch diff --git a/srcpkgs/qt6-webengine/patches/0302-chromium-no-mallinfo.patch b/srcpkgs/qt6-pdf/patches/0302-chromium-no-mallinfo.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0302-chromium-no-mallinfo.patch rename to srcpkgs/qt6-pdf/patches/0302-chromium-no-mallinfo.patch diff --git a/srcpkgs/qt6-webengine/patches/0700-armv7l-neon.patch b/srcpkgs/qt6-pdf/patches/0700-armv7l-neon.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0700-armv7l-neon.patch rename to srcpkgs/qt6-pdf/patches/0700-armv7l-neon.patch diff --git a/srcpkgs/qt6-webengine/patches/0750-chromium-musl-cross-no-asm_ptrace_h.patch b/srcpkgs/qt6-pdf/patches/0750-chromium-musl-cross-no-asm_ptrace_h.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0750-chromium-musl-cross-no-asm_ptrace_h.patch rename to srcpkgs/qt6-pdf/patches/0750-chromium-musl-cross-no-asm_ptrace_h.patch diff --git a/srcpkgs/qt6-webengine/patches/0751-chromium-musl-arm-user_vfp.patch b/srcpkgs/qt6-pdf/patches/0751-chromium-musl-arm-user_vfp.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0751-chromium-musl-arm-user_vfp.patch rename to srcpkgs/qt6-pdf/patches/0751-chromium-musl-arm-user_vfp.patch diff --git a/srcpkgs/qt6-webengine/patches/0752-chromium-musl-arm-elf_auxv_t.patch b/srcpkgs/qt6-pdf/patches/0752-chromium-musl-arm-elf_auxv_t.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0752-chromium-musl-arm-elf_auxv_t.patch rename to srcpkgs/qt6-pdf/patches/0752-chromium-musl-arm-elf_auxv_t.patch diff --git a/srcpkgs/qt6-pdf/patches/0753-chromium-musl-32-bit-fstat.patch b/srcpkgs/qt6-pdf/patches/0753-chromium-musl-32-bit-fstat.patch new file mode 100644 index 00000000000000..09239a8198417a --- /dev/null +++ b/srcpkgs/qt6-pdf/patches/0753-chromium-musl-32-bit-fstat.patch @@ -0,0 +1,13 @@ +--- a/src/3rdparty/chromium/third_party/lss/linux_syscall_support.h ++++ b/src/3rdparty/chromium/third_party/lss/linux_syscall_support.h +@@ -293,6 +293,10 @@ struct kernel_rusage { + long ru_nivcsw; + }; + ++#ifdef fstatat64 ++#undef fstatat64 ++#endif ++ + #if defined(__i386__) || defined(__ARM_EABI__) || defined(__ARM_ARCH_3__) \ + || defined(__PPC__) || (defined(__s390__) && !defined(__s390x__)) \ + || defined(__e2k__) diff --git a/srcpkgs/qt6-webengine/patches/0998-cross.patch b/srcpkgs/qt6-pdf/patches/0998-cross.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0998-cross.patch rename to srcpkgs/qt6-pdf/patches/0998-cross.patch diff --git a/srcpkgs/qt6-webengine/patches/0999-python3.12.patch b/srcpkgs/qt6-pdf/patches/0999-python3.12.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/0999-python3.12.patch rename to srcpkgs/qt6-pdf/patches/0999-python3.12.patch diff --git a/srcpkgs/qt6-pdf/patches/1000-we-know-what-will-be-supported.patch b/srcpkgs/qt6-pdf/patches/1000-we-know-what-will-be-supported.patch new file mode 100644 index 00000000000000..d9dd1c753527a3 --- /dev/null +++ b/srcpkgs/qt6-pdf/patches/1000-we-know-what-will-be-supported.patch @@ -0,0 +1,34 @@ +--- a/src/3rdparty/chromium/BUILD.gn ++++ b/src/3rdparty/chromium/BUILD.gn +@@ -1647,9 +1647,7 @@ if (!is_ios && !is_qtwebengine) { + } + + # TODO(cassew): Add more OS's that don't support x86. +-is_valid_x86_target = +- target_os != "ios" && target_os != "mac" && +- (target_os != "linux" || use_libfuzzer || !build_with_chromium) ++is_valid_x86_target = true + + # Note: v8_target_cpu == arm allows using the V8 arm simulator on x86 for fuzzing. + assert( +--- a/src/host/CMakeLists.txt ++++ b/src/host/CMakeLists.txt +@@ -48,18 +48,3 @@ if(QT_FEATURE_qtpdf_build) + DESTINATION ${WEBENGINE_ROOT_BUILD_DIR}/src/pdf/v8_toolchain + ) + endif() +- +-# TODO: this could be run as part of main configure with execute_process +- +-if(CMAKE_CXX_COMPILER_ID STREQUAL GNU AND TEST_architecture_arch STREQUAL "x86_64" +-AND GN_TARGET_CPU STREQUAL "arm") +- try_compile( +- has32HostCompiler +- "${CMAKE_CURRENT_BINARY_DIR}/config.tests/hostcompiler" +- "${CMAKE_CURRENT_SOURCE_DIR}/config.tests/hostcompiler" +- hostcompiler +- ) +- if(NOT has32HostCompiler) +- MESSAGE(FATAL_ERROR "Compiler does not support 32bit compilation") +- endif() +-endif() diff --git a/srcpkgs/qt6-webengine/patches/Partial-migration-from-imp-to-importlib.patch b/srcpkgs/qt6-pdf/patches/Partial-migration-from-imp-to-importlib.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/Partial-migration-from-imp-to-importlib.patch rename to srcpkgs/qt6-pdf/patches/Partial-migration-from-imp-to-importlib.patch diff --git a/srcpkgs/qt6-webengine/patches/pipewire-fcntl-call.patch b/srcpkgs/qt6-pdf/patches/pipewire-fcntl-call.patch similarity index 100% rename from srcpkgs/qt6-webengine/patches/pipewire-fcntl-call.patch rename to srcpkgs/qt6-pdf/patches/pipewire-fcntl-call.patch diff --git a/srcpkgs/qt6-pdf/template b/srcpkgs/qt6-pdf/template new file mode 100644 index 00000000000000..e04fed2c10b851 --- /dev/null +++ b/srcpkgs/qt6-pdf/template @@ -0,0 +1,254 @@ +# Template file for 'qt6-pdf' +pkgname=qt6-pdf +version=6.6.0 +revision=3 +build_style=cmake +configure_args="-DQT_FEATURE_qtpdf_build=ON + -DQT_FEATURE_qtpdf_widgets_build=ON + -DQT_FEATURE_qtpdf_quick_build=ON + -DNinja_EXECUTABLE=$XBPS_WRAPPERDIR/ninja + -DQT_BUILD_EXAMPLES=ON" +hostmakedepends="qt6-base-devel perl pkg-config nodejs python3-html5lib + qt6-declarative-host-tools gperf bison flex nss-devel" +makedepends="qt6-base-devel qt6-declarative-devel qt6-svg-devel zlib-devel + pciutils-devel opus-devel libxslt-devel libxml2-devel ffmpeg-devel + lcms2-devel libwebp-devel icu-devel re2-devel snappy-devel libevent-devel + libvpx-devel minizip-devel tiff-devel libpng-devel harfbuzz-devel + freetype-devel libjpeg-turbo-devel nss-devel libxshmfence-devel" +depends="qt6-svg" +short_desc="Cross-platform application and UI framework - Pdf" +maintainer="John " +license="GPL-3.0-only, GPL-2.0-only, LGPL-3.0-only, BSD-3-Clause" +homepage="https://www.qt.io" +distfiles="https://download.qt.io/official_releases/qt/${version%.*}/${version}/submodules/qtwebengine-everywhere-src-${version}.tar.xz" +checksum=d5dc9ff05a2c57adbf99cbf0c7cb6f19527f67216caf627b0cc160a1d253b780 + +if [ "$XBPS_LIBC" = "musl" ]; then + hostmakedepends+=" musl-legacy-compat" +fi + +if [ "$XBPS_TARGET_LIBC" = "musl" ]; then + makedepends+=" musl-legacy-compat" +fi + +if [ "$XBPS_WORDSIZE" = "$XBPS_TARGET_WORDSIZE" ]; then + configure_args+=" -DQT_FEATURE_pdf_v8=ON" + _have_webengine=yes +else + configure_args+=" -DQT_FEATURE_pdf_v8=OFF" + _have_webengine=no +fi + +if [ "$XBPS_WORDSIZE" = 32 ]; then + _have_webengine=no +fi + +case "$XBPS_TARGET_MACHINE" in + riscv64*) broken="Patchset needs updating";; + ppc*) broken="not ported" ;; + armv5* | armv6*) broken="need yield" ;; +esac + +subpackages="qt6-pdf-devel qt6-pdf-examples" + +if [ "$_have_webengine" = yes ]; then + subpackages+=" qt6-webengine qt6-webengine-devel qt6-webengine-examples" + configure_args+=" + -DQT_FEATURE_qtwebengine_build=ON + -DQT_FEATURE_qtwebengine_core_build=ON + -DQT_FEATURE_qtwebengine_widgets_build=ON + -DQT_FEATURE_qtwebengine_quick_build=ON + -DQT_FEATURE_webengine_system_ffmpeg=ON + -DQT_FEATURE_webengine_system_libevent=ON + -DQT_FEATURE_webengine_system_gn=ON + -DQT_FEATURE_webengine_system_icu=ON + -DQT_FEATURE_webengine_webrtc_pipewire=ON + -DQT_FEATURE_webengine_embedded_build=OFF + -DQT_FEATURE_webengine_proprietary_codecs=ON" + hostmakedepends+=" protobuf libwebp-devel icu-devel + libevent-devel qt6-tools" + makedepends+=" qt6-webchannel-devel qt6-websockets-devel qt6-tools-devel + qt6-location-devel qt6-webchannel-devel pulseaudio-devel libflac-devel + alsa-lib-devel cups-devel libXcursor-devel libXcomposite-devel + libXScrnSaver-devel protobuf-devel pipewire-devel libxkbfile-devel" +else + configure_args+=" + -DQT_FEATURE_qtwebengine_build=OFF + -DQT_FEATURE_qtwebengine_core_build=OFF + -DQT_FEATURE_qtwebengine_widgets_build=OFF + -DQT_FEATURE_qtwebengine_quick_build=OFF" +fi + + +_bootstrap_gn() { + # Bootstrap gn (generate ninja) + echo "Bootstrapping 'gn'" + cd ${wrksrc}/src/3rdparty/gn + CFLAGS="$CFLAGS_host" CXXFLAGS="$CXXFLAGS_host" LDFLAGS="$LDFLAGS_host" \ + PKGCONFIG=/usr/bin/pkgconfig PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/share/pkgconfig" \ + python3 build/gen.py --no-last-commit-position --out-path \ + ${wrksrc}/src/3rdparty/gn/out/Release --cc "${CC_host:-$CC}" \ + --cxx "${CXX_host:-$CXX}" --ld "${CXX_host:-$CXX}" --ar "${AR_host:-$AR}" \ + --qt-version "${version}.qtwebengine.qt.io" + ninja -C out/Release gn + cd ${wrksrc} +} + +_unbundle_libs() { + cd ${wrksrc}/src/3rdparty/chromium + echo Dropping bundled libs from chromium + # Use system-provided libraries. + # TODO: use_system_hunspell (upstream changes needed). + # TODO: use_system_libsrtp. + # TODO: use_system_libusb (http://crbug.com/266149). + # TODO: use_system_ssl (http://crbug.com/58087). + # TODO: use_system_sqlite (http://crbug.com/22208). + # TODO: use_system_icu (segfaults) + # use_system_protobuf + # use_system_v8=1 + # use_system_zlib=1 + # bzip2 jsoncpp minizip xdg_utils speex + system=" + ffmpeg + flac + fontconfig + freetype + harfbuzz-ng + icu + libdrm + libevent + libjpeg + libpng + libwebp + libxml + libxslt + opus + re2 + snappy + " + build/linux/unbundle/replace_gn_files.py --system-libraries ${system} +} + +# Provide a wrapper to run ./xbps-src -j 1 build later +_wrap_ninja() { + cat <<-'_EOF' >"$XBPS_WRAPPERDIR"/ninja + #!/bin/sh + + exec /usr/bin/ninja $NINJAFLAGS "$@" + _EOF + chmod +x "$XBPS_WRAPPERDIR"/ninja +} + +pre_configure() { + rm src/3rdparty/chromium/third_party/six/src/six.py + rm src/3rdparty/chromium/third_party/catapult/third_party/six/six.py + rm src/3rdparty/chromium/third_party/wpt_tools/wpt/tools/third_party/six/six.py + + ln -s ${py3_sitelib}/six.py src/3rdparty/chromium/third_party/six/src/six.py + ln -s ${py3_sitelib}/six.py src/3rdparty/chromium/third_party/catapult/third_party/six/six.py + ln -s ${py3_sitelib}/six.py src/3rdparty/chromium/third_party/wpt_tools/wpt/tools/third_party/six/six.py + + _bootstrap_gn + # _unbundle_libs + _wrap_ninja + export PATH="$PATH:${wrksrc}/src/3rdparty/gn/out/Release" + export PKG_CONFIG_HOST=${PKG_CONFIG_FOR_BUILD} +} + +pre_build() { + export PATH="$PATH:${wrksrc}/src/3rdparty/gn/out/Release" + export NINJAFLAGS="$makejobs" + +} + +pre_install() { + export PATH="$PATH:${wrksrc}/src/3rdparty/gn/out/Release" +} + +post_install() { + local _file + find "${DESTDIR}"/usr/lib/qt6/examples \ + -path '*/lib/qt6/**/lib/qt6/*' -type f | + while read _file; do + mv "$_file" "${_file%/lib/qt6/*}" + done + vlicense src/3rdparty/chromium/third_party/pdfium/LICENSE +} + +qt6-pdf-devel_package() { + depends="qt6-pdf>=${version}_${revision} qt6-base-devel + qt6-declarative-devel" + short_desc+=" - development files" + pkg_install() { + vmove "usr/include/qt6/QtPdf*" + # Below items are kept in qt6-webengine + # vmove "usr/lib/cmake/Qt6" + # vmove "usr/lib/cmake/Qt6BuildInternals" + vmove "usr/lib/cmake/Qt6Gui/Qt6QPdf*" + vmove "usr/lib/cmake/Qt6Pdf*" + vmove "usr/lib/cmake/Qt6Qml/QmlPlugins/Qt6Pdf*" + vmove "usr/lib/libQt6Pdf*.prl" + vmove "usr/lib/libQt6Pdf*.so" + vmove "usr/lib/pkgconfig/Qt6Pdf*" + vmove "usr/lib/qt6/mkspecs/modules/qt_lib_pdf*" + vmove "usr/lib/qt6/modules/Pdf*" + } +} + +qt6-pdf-examples_package() { + short_desc+=" - examples" + pkg_install() { + vmove "usr/lib/qt6/examples/pdf*" + } +} + +qt6-webengine_package() { + # Historically, qt6-webengine includes pdf supports + depends="qt6-pdf>=${version}_${revision} + qt6-plugin-tls-openssl qt6-plugin-tls-qcertonly" + short_desc="${short_desc/Pdf/WebEngine}" + pkg_install() { + vmove "usr/lib/cmake/Qt6WebEngineCore" + vmove "usr/lib/libQt6WebEngine*.so.*" + vmove "usr/lib/qt6/libexec" + vmove "usr/lib/qt6/metatypes/qt6webengine*" + vmove "usr/lib/qt6/plugins/designer/libqwebengineview.so" + vmove "usr/lib/qt6/qml/QtWebEngine" + vmove "usr/share/qt6/resources/qtwebengine*" + vmove "usr/share/qt6/resources/v8*" + vmove "usr/share/qt6/translations/qtwebengine*" + vlicense src/3rdparty/chromium/LICENSE + } +} + +qt6-webengine-devel_package() { + depends="qt6-webengine>=${version}_${revision} + qt6-pdf-devel>=${version}_${revision} + qt6-webchannel-devel>=${version}_1 + qt6-declarative-devel>=${version}_1 + qt6-location-devel>=${version}_1" + short_desc="${short_desc/Pdf/WebEngine - development files}" + pkg_install() { + vmove "usr/include/qt6/QtWebEngine*" + vmove "usr/lib/cmake/Qt6Designer/Qt6QWebEngine*" + vmove "usr/lib/cmake/Qt6Qml/QmlPlugins/Qt6qtwebengine*" + vmove "usr/lib/cmake/Qt6WebEngineCore" + # Below item goes to qt6-webengine + # vmove "usr/lib/cmake/Qt6WebEngineCore" + vmove "usr/lib/cmake/Qt6WebEngineQuick*" + vmove "usr/lib/cmake/Qt6WebEngineWidgets*" + vmove "usr/lib/libQt6WebEngine*.prl" + vmove "usr/lib/libQt6WebEngine*.so" + vmove "usr/lib/pkgconfig/Qt6Web*" + vmove "usr/lib/qt6/mkspecs/modules/qt_lib_webengine*" + vmove "usr/lib/qt6/modules/WebEngine*" + } +} + +qt6-webengine-examples_package() { + short_desc+=" - sample browsers" + depends="qt6-pdf-examples" + pkg_install() { + vmove "usr/lib/qt6/examples/webengine*" + } +} diff --git a/srcpkgs/qt6-webengine/update b/srcpkgs/qt6-pdf/update similarity index 100% rename from srcpkgs/qt6-webengine/update rename to srcpkgs/qt6-pdf/update diff --git a/srcpkgs/qt6-webengine b/srcpkgs/qt6-webengine new file mode 120000 index 00000000000000..63f19af447844c --- /dev/null +++ b/srcpkgs/qt6-webengine @@ -0,0 +1 @@ +qt6-pdf \ No newline at end of file diff --git a/srcpkgs/qt6-webengine-devel b/srcpkgs/qt6-webengine-devel index 8e4d1b99c587d9..63f19af447844c 120000 --- a/srcpkgs/qt6-webengine-devel +++ b/srcpkgs/qt6-webengine-devel @@ -1 +1 @@ -qt6-webengine \ No newline at end of file +qt6-pdf \ No newline at end of file diff --git a/srcpkgs/qt6-webengine-examples b/srcpkgs/qt6-webengine-examples index 8e4d1b99c587d9..63f19af447844c 120000 --- a/srcpkgs/qt6-webengine-examples +++ b/srcpkgs/qt6-webengine-examples @@ -1 +1 @@ -qt6-webengine \ No newline at end of file +qt6-pdf \ No newline at end of file diff --git a/srcpkgs/qt6-webengine/template b/srcpkgs/qt6-webengine/template deleted file mode 100644 index 98cdc680481b3b..00000000000000 --- a/srcpkgs/qt6-webengine/template +++ /dev/null @@ -1,190 +0,0 @@ -# Template file for 'qt6-webengine' -pkgname=qt6-webengine -version=6.6.0 -revision=2 -build_style=cmake -configure_args=" - -DQT_FEATURE_webengine_system_ffmpeg=ON - -DQT_FEATURE_webengine_system_libevent=ON - -DQT_FEATURE_webengine_system_gn=ON - -DQT_FEATURE_webengine_system_icu=ON - -DQT_FEATURE_webengine_webrtc_pipewire=ON - -DQT_FEATURE_webengine_embedded_build=OFF - -DQT_FEATURE_webengine_proprietary_codecs=ON - -DQT_FEATURE_pdf_v8=ON - -DNinja_EXECUTABLE=$XBPS_WRAPPERDIR/ninja - -DQT_BUILD_EXAMPLES=ON" -hostmakedepends="qt6-base-devel perl pkg-config nodejs python3-html5lib - qt6-declarative-host-tools protobuf gperf flex nss-devel libwebp-devel - qt6-tools icu-devel libevent-devel" -makedepends="qt6-base-devel qt6-declarative-devel pulseaudio-devel - qt6-tools-devel qt6-websockets-devel libflac-devel qt6-svg-devel - alsa-lib-devel libvpx-devel pciutils-devel opus-devel libxslt-devel - libxml2-devel freetype-devel lcms2-devel libwebp-devel icu-devel - re2-devel zlib-devel libpng-devel minizip-devel harfbuzz-devel cups-devel - nss-devel libXcursor-devel libXcomposite-devel libXScrnSaver-devel - protobuf-devel ffmpeg-devel snappy-devel libevent-devel pipewire-devel - libxkbfile-devel qt6-location-devel qt6-webchannel-devel libxshmfence-devel" -# Not working properly with HTTPS without those packages -# Not strict dependencies, though -depends="qt6-plugin-tls-openssl qt6-plugin-tls-qcertonly" -short_desc="Cross-platform application and UI framework - Webengine" -maintainer="John " -license="GPL-3.0-only, GPL-2.0-only, LGPL-3.0-only, BSD-3-Clause" -homepage="https://www.qt.io" -distfiles="https://download.qt.io/official_releases/qt/${version%.*}/${version}/submodules/qtwebengine-everywhere-src-${version}.tar.xz" -checksum=d5dc9ff05a2c57adbf99cbf0c7cb6f19527f67216caf627b0cc160a1d253b780 - -case "$XBPS_TARGET_MACHINE" in - riscv64*) broken="Patchset needs updating";; -esac - -if [ "$XBPS_LIBC" = "musl" ]; then - hostmakedepends+=" musl-legacy-compat" -fi - -if [ "$XBPS_TARGET_LIBC" = "musl" ]; then - makedepends+=" musl-legacy-compat" -fi - -if [ ! "$XBPS_WORDSIZE" = "$XBPS_TARGET_WORDSIZE" ]; then - broken="webengine can be built only if word size matches" -fi - -if [ "$XBPS_WORDSIZE" = 32 ]; then - CFLAGS=-g1 - CXXFLAGS=-g1 - LDFLAGS="-Wl,--no-keep-memory" - broken="nodejs compress js files failure" -fi - -case "$XBPS_TARGET_MACHINE" in - ppc*) broken="not ported" ;; -esac - -#build_options="examples" -#build_options_default="examples" -#desc_option_examples="Build examples" - -subpackages="qt6-webengine-devel" - -#if [ "$build_option_examples" ]; then - subpackages+=" qt6-webengine-examples" -#fi - -_bootstrap_gn() { - # Bootstrap gn (generate ninja) - echo "Bootstrapping 'gn'" - cd ${wrksrc}/src/3rdparty/gn - CFLAGS="$CFLAGS_host" CXXFLAGS="$CXXFLAGS_host" LDFLAGS="$LDFLAGS_host" \ - PKGCONFIG=/usr/bin/pkgconfig PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/share/pkgconfig" \ - python3 build/gen.py --no-last-commit-position --out-path \ - ${wrksrc}/src/3rdparty/gn/out/Release --cc "${CC_host:-$CC}" \ - --cxx "${CXX_host:-$CXX}" --ld "${CXX_host:-$CXX}" --ar "${AR_host:-$AR}" \ - --qt-version "${version}.qtwebengine.qt.io" - ninja -C out/Release gn - cd ${wrksrc} -} - -_unbundle_libs() { - cd ${wrksrc}/src/3rdparty/chromium - echo Dropping bundled libs from chromium - # Use system-provided libraries. - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp. - # TODO: use_system_libusb (http://crbug.com/266149). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - # TODO: use_system_icu (segfaults) - # use_system_protobuf - # use_system_v8=1 - # use_system_zlib=1 - # bzip2 jsoncpp minizip xdg_utils speex - system=" - ffmpeg - flac - fontconfig - freetype - harfbuzz-ng - icu - libdrm - libevent - libjpeg - libpng - libwebp - libxml - libxslt - opus - re2 - snappy - " - build/linux/unbundle/replace_gn_files.py --system-libraries ${system} -} - -# Provide a wrapper to run ./xbps-src -j 1 build later -_wrap_ninja() { - cat <<-'_EOF' >"$XBPS_WRAPPERDIR"/ninja - #!/bin/sh - - exec /usr/bin/ninja $NINJAFLAGS "$@" - _EOF - chmod +x "$XBPS_WRAPPERDIR"/ninja -} - -pre_configure() { - rm src/3rdparty/chromium/third_party/six/src/six.py - rm src/3rdparty/chromium/third_party/catapult/third_party/six/six.py - rm src/3rdparty/chromium/third_party/wpt_tools/wpt/tools/third_party/six/six.py - - ln -s ${py3_sitelib}/six.py src/3rdparty/chromium/third_party/six/src/six.py - ln -s ${py3_sitelib}/six.py src/3rdparty/chromium/third_party/catapult/third_party/six/six.py - ln -s ${py3_sitelib}/six.py src/3rdparty/chromium/third_party/wpt_tools/wpt/tools/third_party/six/six.py - - _bootstrap_gn - # _unbundle_libs - _wrap_ninja - export PATH="$PATH:${wrksrc}/src/3rdparty/gn/out/Release" - export PKG_CONFIG_HOST=${PKG_CONFIG_FOR_BUILD} -} - -pre_build() { - export PATH="$PATH:${wrksrc}/src/3rdparty/gn/out/Release" - export NINJAFLAGS="$makejobs" - -} - -pre_install() { - export PATH="$PATH:${wrksrc}/src/3rdparty/gn/out/Release" -} - -post_install() { - local _file - find "${DESTDIR}"/usr/lib/qt6/examples \ - -path '*/lib/qt6/**/lib/qt6/*' -type f | - while read _file; do - mv "$_file" "${_file%/lib/qt6/*}" - done -} - -qt6-webengine-devel_package() { - depends="${sourcepkg}>=${version}_${revision} qt6-webchannel-devel>=${version}_1 - qt6-declarative-devel>=${version}_1 qt6-location-devel>=${version}_1" - short_desc+=" - development files" - pkg_install() { - vmove usr/include - vmove usr/lib/cmake - vmove usr/lib/pkgconfig - vmove usr/lib/qt6/mkspecs - vmove "usr/lib/*.so" - vmove "usr/lib/*.prl" - vmove usr/lib/qt6/modules - } -} - -qt6-webengine-examples_package() { - short_desc+=" - sample browsers" - depends="qt6-svg" - pkg_install() { - vmove usr/lib/qt6/examples - } -}