diff options
author | github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | 2022-11-08 12:01:29 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-08 12:01:29 +0000 |
commit | 6e1c7f74c7fd8c29c625f63c0e0a608b33e1d2a1 (patch) | |
tree | df81ece143c93f1da4e4e57598be58bba16fed63 /pkgs/development/libraries/qt-6 | |
parent | c35a930454f97d7fe134c71a7ffa75faa1d89aea (diff) | |
parent | f8b1eb8f697d8b34583f7d87a3fae958e0064545 (diff) |
Merge master into staging-next
Diffstat (limited to 'pkgs/development/libraries/qt-6')
-rw-r--r-- | pkgs/development/libraries/qt-6/default.nix | 6 | ||||
-rw-r--r-- | pkgs/development/libraries/qt-6/modules/qtmultimedia.nix | 6 | ||||
-rw-r--r-- | pkgs/development/libraries/qt-6/patches/qtbase-tzdir.patch | 48 |
3 files changed, 58 insertions, 2 deletions
diff --git a/pkgs/development/libraries/qt-6/default.nix b/pkgs/development/libraries/qt-6/default.nix index 754436cb0b962..5d17df8028d2e 100644 --- a/pkgs/development/libraries/qt-6/default.nix +++ b/pkgs/development/libraries/qt-6/default.nix @@ -17,6 +17,9 @@ , writeText , gstreamer , gst-plugins-base +, gst-plugins-good +, gst-libav +, gst-vaapi , gtk3 , dconf , buildPackages @@ -51,6 +54,7 @@ let inherit bison cups harfbuzz libGL dconf gtk3 developerBuild cmake; patches = [ ./patches/qtbase-qmake-pkg-config.patch + ./patches/qtbase-tzdir.patch ]; }; @@ -66,7 +70,7 @@ let qtlanguageserver = callPackage ./modules/qtlanguageserver.nix { }; qtlottie = callPackage ./modules/qtlottie.nix { }; qtmultimedia = callPackage ./modules/qtmultimedia.nix { - inherit gstreamer gst-plugins-base; + inherit gstreamer gst-plugins-base gst-plugins-good gst-libav gst-vaapi; }; qtnetworkauth = callPackage ./modules/qtnetworkauth.nix { }; qtpositioning = callPackage ./modules/qtpositioning.nix { }; diff --git a/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix b/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix index 5e6dace906dcd..bfd33cadf395f 100644 --- a/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix +++ b/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix @@ -9,6 +9,9 @@ , alsa-lib , gstreamer , gst-plugins-base +, gst-plugins-good +, gst-libav +, gst-vaapi , libpulseaudio , wayland , elfutils @@ -20,5 +23,6 @@ qtModule { pname = "qtmultimedia"; qtInputs = [ qtbase qtdeclarative qtsvg qtshadertools ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gstreamer gst-plugins-base libpulseaudio elfutils libunwind alsa-lib wayland orc ]; + buildInputs = [ libpulseaudio elfutils libunwind alsa-lib wayland orc ]; + propagatedBuildInputs = [ gstreamer gst-plugins-base gst-plugins-good gst-libav gst-vaapi ]; } diff --git a/pkgs/development/libraries/qt-6/patches/qtbase-tzdir.patch b/pkgs/development/libraries/qt-6/patches/qtbase-tzdir.patch new file mode 100644 index 0000000000000..fc36130c7aad5 --- /dev/null +++ b/pkgs/development/libraries/qt-6/patches/qtbase-tzdir.patch @@ -0,0 +1,48 @@ +diff --git a/src/corelib/time/qtimezoneprivate_tz.cpp b/src/corelib/time/qtimezoneprivate_tz.cpp +index 627a4a81..a5f50acc 100644 +--- a/src/corelib/time/qtimezoneprivate_tz.cpp ++++ b/src/corelib/time/qtimezoneprivate_tz.cpp +@@ -51,7 +51,11 @@ typedef QHash<QByteArray, QTzTimeZone> QTzTimeZoneHash; + // Parse zone.tab table, assume lists all installed zones, if not will need to read directories + static QTzTimeZoneHash loadTzTimeZones() + { +- QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); ++ // Try TZDIR first, in case we're running on NixOS. ++ QString path = QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/zone.tab"); ++ // Fallback to traditional paths in case we are not on NixOS. ++ if (!QFile::exists(path)) ++ path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); + if (!QFile::exists(path)) + path = QStringLiteral("/usr/lib/zoneinfo/zone.tab"); + +@@ -727,18 +731,21 @@ QTzTimeZoneCacheEntry QTzTimeZoneCache::findEntry(const QByteArray &ianaId) + if (!tzif.open(QIODevice::ReadOnly)) + return ret; + } else { +- // Open named tz, try modern path first, if fails try legacy path +- tzif.setFileName("/usr/share/zoneinfo/"_L1 + QString::fromLocal8Bit(ianaId)); ++ // Try TZDIR first, in case we're running on NixOS ++ tzif.setFileName(QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/") + QString::fromLocal8Bit(ianaId)); + if (!tzif.open(QIODevice::ReadOnly)) { +- tzif.setFileName("/usr/lib/zoneinfo/"_L1 + QString::fromLocal8Bit(ianaId)); ++ tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId)); + if (!tzif.open(QIODevice::ReadOnly)) { +- // ianaId may be a POSIX rule, taken from $TZ or /etc/TZ +- auto check = validatePosixRule(ianaId); +- if (check.isValid) { +- ret.m_hasDst = check.hasDst; +- ret.m_posixRule = ianaId; ++ tzif.setFileName("/usr/lib/zoneinfo/"_L1 + QString::fromLocal8Bit(ianaId)); ++ if (!tzif.open(QIODevice::ReadOnly)) { ++ // ianaId may be a POSIX rule, taken from $TZ or /etc/TZ ++ auto check = validatePosixRule(ianaId); ++ if (check.isValid) { ++ ret.m_hasDst = check.hasDst; ++ ret.m_posixRule = ianaId; ++ } ++ return ret; + } +- return ret; + } + } + } |