diff options
Diffstat (limited to 'pkgs/development/libraries/qt-5')
7 files changed, 56 insertions, 24 deletions
diff --git a/pkgs/development/libraries/qt-5/5.15/default.nix b/pkgs/development/libraries/qt-5/5.15/default.nix index dabb77ea0c85d..af2f431dfb402 100644 --- a/pkgs/development/libraries/qt-5/5.15/default.nix +++ b/pkgs/development/libraries/qt-5/5.15/default.nix @@ -23,7 +23,7 @@ Check for any minor version changes. let - srcs = import ./srcs.nix { inherit lib fetchgit fetchFromGitHub; } // { __attrsFailEvaluation = true; }; + srcs = import ./srcs.nix { inherit lib fetchgit fetchFromGitHub; }; qtCompatVersion = srcs.qtbase.version; @@ -36,14 +36,6 @@ let ./qtbase.patch.d/0012-qtbase-tbd-frameworks.patch ./qtbase.patch.d/0014-aarch64-darwin.patch - - # Fix typo that breaks build on Darwin - # FIXME: remove this once merged upstream - # See: https://invent.kde.org/qt/qt/qtbase/-/merge_requests/325 - (fetchpatch { - url = "https://invent.kde.org/qt/qt/qtbase/-/commit/e84c0df50f51c61aa49b47823582b0f8de406e3d.patch"; - hash = "sha256-d1RIY03E71aMzOOVtcIaMeariki/72QRekUne6P2D3M="; - }) ] ++ [ ./qtbase.patch.d/0003-qtbase-mkspecs.patch ./qtbase.patch.d/0004-qtbase-replace-libdir.patch @@ -322,7 +314,7 @@ let in if stdenv'.isDarwin then overrideSDK stdenv' "11.0" else stdenv'; inherit (srcs.qtwebengine) version; python = python3; - inherit (darwin) cctools xnu; + inherit (darwin) xnu; inherit (darwin.apple_sdk_11_0) libpm libunwind; inherit (darwin.apple_sdk_11_0.libs) sandbox; inherit (darwin.apple_sdk_11_0.frameworks) ApplicationServices AVFoundation Foundation ForceFeedback GameController AppKit diff --git a/pkgs/development/libraries/qt-5/5.15/srcs-generated.json b/pkgs/development/libraries/qt-5/5.15/srcs-generated.json index f3281a17170ee..96c3621307c6a 100644 --- a/pkgs/development/libraries/qt-5/5.15/srcs-generated.json +++ b/pkgs/development/libraries/qt-5/5.15/srcs-generated.json @@ -16,8 +16,8 @@ }, "qtbase": { "url": "https://invent.kde.org/qt/qt/qtbase.git", - "rev": "0e1ff2f06ddac7c32c5a5e0b65e402c9332e56f8", - "sha256": "1pfby0ilkikq8802diaslnkxw8qzbp4r0f80v696wfynn973mhdd" + "rev": "2b9835f5c9bcfe3105b60a8dd33c1db7d8611378", + "sha256": "1yms1r42yps06bg8gjbzb5y7x03ks11vg97s2j7r1aplp7kjf7wm" }, "qtcharts": { "url": "https://invent.kde.org/qt/qt/qtcharts.git", diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix index d92287feb1511..7f3079d5add5b 100644 --- a/pkgs/development/libraries/qt-5/modules/qtbase.nix +++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix @@ -152,8 +152,8 @@ stdenv.mkDerivation (finalAttrs: ({ --replace "/System/Library/Frameworks/AGL.framework/" "${AGL}/Library/Frameworks/AGL.framework/" '' else lib.optionalString libGLSupported '' sed -i mkspecs/common/linux.conf \ - -e "/^QMAKE_INCDIR_OPENGL/ s|$|${libGL.dev or libGL}/include|" \ - -e "/^QMAKE_LIBDIR_OPENGL/ s|$|${libGL.out}/lib|" + -e "/^QMAKE_INCDIR_OPENGL/ s|$|${lib.getDev libGL}/include|" \ + -e "/^QMAKE_LIBDIR_OPENGL/ s|$|${lib.getLib libGL}/lib|" '' + lib.optionalString (stdenv.hostPlatform.isx86_32 && stdenv.cc.isGNU) '' sed -i mkspecs/common/gcc-base-unix.conf \ -e "/^QMAKE_LFLAGS_SHLIB/ s/-shared/-shared -static-libgcc/" diff --git a/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix b/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix index f4249b7f9505a..39a6b84bf2383 100644 --- a/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix +++ b/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix @@ -1,6 +1,4 @@ -{ lib -, stdenv -, qtModule, python3, qtbase, qtsvg }: +{ qtModule, python3, qtbase, qtsvg }: qtModule { pname = "qtdeclarative"; diff --git a/pkgs/development/libraries/qt-5/modules/qtimageformats.nix b/pkgs/development/libraries/qt-5/modules/qtimageformats.nix index 4775bb0b0383f..ae9b62ddc35d9 100644 --- a/pkgs/development/libraries/qt-5/modules/qtimageformats.nix +++ b/pkgs/development/libraries/qt-5/modules/qtimageformats.nix @@ -1,5 +1,4 @@ { lib -, stdenv , qtModule , qtbase , libwebp diff --git a/pkgs/development/libraries/qt-5/modules/qtspeech.nix b/pkgs/development/libraries/qt-5/modules/qtspeech.nix index 94e66cf400447..17bc16dab4fc0 100644 --- a/pkgs/development/libraries/qt-5/modules/qtspeech.nix +++ b/pkgs/development/libraries/qt-5/modules/qtspeech.nix @@ -1,9 +1,9 @@ -{ lib, qtModule, stdenv, speechd, pkg-config }: +{ lib, qtModule, stdenv, speechd-minimal, pkg-config }: qtModule { pname = "qtspeech"; propagatedBuildInputs = [ ]; - buildInputs = lib.optionals stdenv.isLinux [ speechd ]; + buildInputs = lib.optionals stdenv.isLinux [ speechd-minimal ]; nativeBuildInputs = [ pkg-config ]; outputs = [ "out" "dev" ]; } diff --git a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix index b2715fbe7502c..68f3772a9976c 100644 --- a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix +++ b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix @@ -1,5 +1,7 @@ { qtModule , qtdeclarative, qtquickcontrols, qtlocation, qtwebchannel +, fetchpatch +, fetchpatch2 , bison, flex, git, gperf, ninja, pkg-config, python, which , nodejs, perl @@ -23,12 +25,12 @@ , ImageCaptureCore, CoreBluetooth, IOBluetooth, CoreWLAN, Quartz, Cocoa, LocalAuthentication , MediaPlayer, MediaAccessibility, SecurityInterface, Vision, CoreML, OpenDirectory, Accelerate , cups, openbsm, xcbuild, writeScriptBin -, ffmpeg_4 ? null +, ffmpeg_7 ? null , lib, stdenv , version ? null , qtCompatVersion , pipewireSupport ? stdenv.isLinux -, pipewire_0_2 +, pipewire , postPatch ? "" , nspr , lndir @@ -76,11 +78,52 @@ qtModule ({ # which cannot be set at the same time as -Wformat-security hardeningDisable = [ "format" ]; + patches = [ + # Support FFmpeg 5 + (fetchpatch2 { + url = "https://gitlab.archlinux.org/archlinux/packaging/packages/qt5-webengine/-/raw/14074e4d789167bd776939037fe6df8d4d7dc0b3/qt5-webengine-ffmpeg5.patch"; + hash = "sha256-jTbJFXBPwRMzr8IeTxrv9dtS+/xDS/zR4dysV/bRg3I="; + stripLen = 1; + extraPrefix = "src/3rdparty/"; + }) + + # Support FFmpeg 7 + (fetchpatch2 { + url = "https://gitlab.archlinux.org/archlinux/packaging/packages/qt5-webengine/-/raw/e8fb4f86104243b90966b69cdfaa967273d834b6/qt5-webengine-ffmpeg7.patch"; + hash = "sha256-YNeHmOVp0M5HB+b91AOxxJxl+ktBtLYVdHlq13F7xtY="; + stripLen = 1; + extraPrefix = "src/3rdparty/chromium/"; + }) + + # Support PipeWire ≥ 0.3 + (fetchpatch2 { + url = "https://gitlab.archlinux.org/archlinux/packaging/packages/qt5-webengine/-/raw/c9db2cd9e144bd7a5e9246f5f7a01fe52fd089ba/qt5-webengine-pipewire-0.3.patch"; + hash = "sha256-mGexRfVDF3yjNzSi9BjavhzPtsXI0BooSr/rZ1z/BDo="; + stripLen = 1; + extraPrefix = "src/3rdparty/"; + }) + ]; + postPatch = '' # Patch Chromium build tools ( cd src/3rdparty/chromium; + patch -p2 < ${ + (fetchpatch { # support for building with python 3.12 + name = "python312-imp.patch"; + url = "https://codereview.qt-project.org/gitweb?p=qt/qtwebengine-chromium.git;a=patch;h=3664134f749f4851a14ab1953a9ee460a1fe0b68"; + hash = "sha256-XY0dEdeuOTRMR7onmuNg1Axld8+pquKAzOfDAGSIzI4="; + }) + } + patch -p1 < ${ + (fetchpatch { # support for building with python 3.12 + name = "python312-six.patch"; + url = "https://gitlab.archlinux.org/archlinux/packaging/packages/qt5-webengine/-/raw/6b0c0e76e0934db2f84be40cb5978cee47266e78/python3.12-six.patch"; + hash = "sha256-YgP9Sq5+zTC+U7+0hQjZokwb+fytk0UEIJztUXFhTkI="; + }) + } + # Manually fix unsupported shebangs substituteInPlace third_party/harfbuzz-ng/src/src/update-unicode-tables.make \ --replace "/usr/bin/env -S make -f" "/usr/bin/make -f" || true @@ -185,7 +228,7 @@ qtModule ({ harfbuzz icu libevent - ffmpeg_4 + ffmpeg_7 ] ++ lib.optionals (!stdenv.isDarwin) [ dbus zlib minizip snappy nss protobuf jsoncpp @@ -205,7 +248,7 @@ qtModule ({ ] ++ lib.optionals pipewireSupport [ # Pipewire - pipewire_0_2 + pipewire ] # FIXME These dependencies shouldn't be needed but can't find a way |