forgejo-lts: 7.0.10 -> 7.0.11
[NixPkgs.git] / pkgs / development / libraries / qt-6 / modules / qtmultimedia.nix
blobae02112475f03bffa195d07517fb04cbb815d171
1 { qtModule
2 , lib
3 , stdenv
4 , qtbase
5 , qtdeclarative
6 , qtquick3d
7 , qtshadertools
8 , qtsvg
9 , pkg-config
10 , alsa-lib
11 , gstreamer
12 , gst-plugins-base
13 , gst-plugins-good
14 , gst-libav
15 , gst-vaapi
16 , ffmpeg
17 , libva
18 , libpulseaudio
19 , wayland
20 , libXrandr
21 , elfutils
22 , libunwind
23 , orc
24 , pkgsBuildBuild
27 qtModule {
28   pname = "qtmultimedia";
29   nativeBuildInputs = [ pkg-config ];
30   buildInputs = [ ffmpeg ]
31     ++ lib.optionals (!stdenv.hostPlatform.isMinGW) [ libunwind orc ]
32     ++ lib.optionals stdenv.hostPlatform.isLinux [ libpulseaudio alsa-lib wayland libXrandr libva ]
33     ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform elfutils) [ elfutils ];
34   propagatedBuildInputs = [ qtbase qtdeclarative qtsvg qtshadertools ]
35     ++ lib.optionals (!stdenv.hostPlatform.isMinGW) [ qtquick3d ]
36     ++ lib.optionals stdenv.hostPlatform.isLinux [ gstreamer gst-plugins-base gst-plugins-good gst-libav gst-vaapi ];
38   patches = [
39     ../patches/fix-qtgui-include-incorrect-case.patch
40   ] ++ lib.optionals stdenv.hostPlatform.isMinGW [
41     ../patches/qtmultimedia-windows-no-uppercase-libs.patch
42     ../patches/qtmultimedia-windows-resolve-function-name.patch
43   ];
45   cmakeFlags = [
46     "-DENABLE_DYNAMIC_RESOLVE_VAAPI_SYMBOLS=0"
47     "-DQt6ShaderToolsTools_DIR=${pkgsBuildBuild.qt6.qtshadertools}/lib/cmake/Qt6ShaderToolsTools"
48   ];
50   env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin
51     "-include AudioToolbox/AudioToolbox.h";
52   NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin
53     "-framework AudioToolbox";