Commit graph

75 commits

Author SHA1 Message Date
Nick Cao 9f3998d62f
Merge pull request #204724 from wegank/qtpbfimageplugin
qt6, python3Packages.pyqt6: unbreak on darwin
2023-01-18 07:36:26 +08:00
Nick Cao 78a377ed28
Merge pull request #210290 from NickCao/qt642
qt6: 6.4.1 -> 6.4.2
2023-01-16 10:52:28 +08:00
Weijia Wang 54452b041d qt6.qtbase: detect if file exists 2023-01-15 03:38:03 +01:00
Weijia Wang 100cf5700d qt6.qtbase: enable sandbox builds 2023-01-15 03:23:11 +01:00
Weijia Wang 2de4b6139e qt6.qtbase: enable framework builds 2023-01-15 03:20:38 +01:00
Weijia Wang 95df79b063 qt6.qtbase: disable cxx17 features on darwin 2023-01-15 03:19:09 +01:00
Nick Cao 86f80c8f1b
Merge pull request #208440 from NickCao/qt6-closure
Reduce the closure size of various qt6 packages
2023-01-13 06:43:19 +08:00
Nick Cao dffa549063
qt6: 6.4.1 -> 6.4.2 2023-01-12 10:08:21 +08:00
Adam Joseph 250e410a92
qt-6/modules/qtbase: add systemdSupport parameter (#192057) 2023-01-12 01:06:36 +02:00
Nick Cao 496a2f43b4
qt6.qtbase: patch QTEST_ASSERT and other macros to remove reference to qtbase.dev via __FILE__ macro
This is safe because they are only used for printing debug messages, alternatives are setting -fmacro-prefix-map=${qtbase.dev}=qtbase.dev in NIX_CFLAGS_COMPILE or injecting #line directives in all header files, but they would interfere with other usages of __FILE__ macro that might depend on the the path to actually point to a file.
2022-12-31 19:35:04 +08:00
Nick Cao 01c8e3d8bb
Revert "qt6.qtdeclarative: reduce closure size by removing reference to qtbase.dev"
This reverts commit cec6862940.
2022-12-31 19:33:39 +08:00
Nick Cao 753da128bd
qt6.qtvirtualkeyboard: add dev output 2022-12-31 19:33:38 +08:00
Nick Cao 60f6a46bbd
qt6.qtbase: remove valgrind from propagatedBuildInputs
reduces the build-time closure and the runtime closure of packages accidentally referencing qtbase.dev by nearly 600M
2022-12-31 19:33:28 +08:00
Artturi bb0949f4e2
Merge pull request #202625 from NickCao/qt6-paths
fixes https://github.com/NixOS/nixpkgs/issues/202622
2022-12-30 14:26:16 +02:00
Sergei Trofimovich 36b4518364
Merge pull request #204689 from trofi/qt6Packages.qtwayland-without-xlibsWrapper
qt6Packages.qtwayland: drop unused xlibsWrapper
2022-12-06 19:24:34 +00:00
Sergei Trofimovich 87818caa00 qt6Packages.qtwayland: drop unused xlibsWrapper
Validated as no change in `out` output with `diffoscope`.
2022-12-05 21:49:11 +00:00
Sergei Trofimovich 12850888ab qt6Packages.qtbase: drop unused xlibsWrapper 2022-12-05 21:38:43 +00:00
Weijia Wang c0d8c84f40 qt6.qtbase: add aarch64-darwin support 2022-11-29 00:41:33 +01:00
Weijia Wang 5821ec2478 qt6.qtquick3dphysics: fix build on x86_64-darwin 2022-11-28 23:51:41 +01:00
Weijia Wang c44dd89bef qt6.qtbase: fix build on x86_64-darwin 2022-11-28 23:51:41 +01:00
Weijia Wang df46edff3e qt6.qtwebview: add aarch64-darwin support 2022-11-28 23:51:41 +01:00
Weijia Wang dfb9d038c5 qt6.qttools: fix build on aarch64-darwin 2022-11-28 23:51:41 +01:00
Weijia Wang 65a2669c01 qt6.qtspeech: unbreak on aarch64-darwin 2022-11-28 23:51:41 +01:00
Weijia Wang 2e7f0a84c0 qt6.qtserialport: unbreak on aarch64-darwin 2022-11-28 23:51:41 +01:00
Weijia Wang 8091739d36 qt6.qtmultimedia: unbreak on aarch64-darwin 2022-11-28 23:51:41 +01:00
Weijia Wang 1b23119f21 qt6.qtconnectivity: fix build on aarch64-darwin 2022-11-28 23:51:40 +01:00
Nick Cao a1f9413602
qt6.qttools: set devTools 2022-11-24 11:10:02 +08:00
Nick Cao fe2b297ca4
qt6.qtbase: do not unconditionally move $out/bin to $dev/bin 2022-11-24 11:09:23 +08:00
Nick Cao fc0008053f
qt6.qtbase: update cmake patch to not move bin directory to dev output 2022-11-24 11:08:03 +08:00
Peter Hoeg dc7783ece2 qt6Packages.qttools: fix tool path 2022-11-23 09:27:49 +08:00
Timothy DeHerrera 782bf687ca
Merge pull request #202086 from LibreCybernetics/update-qt6
qt6: 6.4.0 → 6.4.1
2022-11-20 19:57:15 -07:00
Fabián Heredia Montiel d4eb8afee2 qt6.qtwebengine: remove no longer needed patch 2022-11-20 14:40:29 -06:00
Fabián Heredia Montiel 0cd2e8f533 qt6: 6.4.0 → 6.4.1
Release Notes: https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/6.4.1/release-note.md
2022-11-20 14:28:20 -06:00
Jörg Thalheim 42c5aedcde
Merge pull request #181730 from Mic92/qt6
qt6.full: add
2022-11-20 20:12:14 +01:00
Artturin 341e6fd558 splice.nix: start deprecating nativeDrv and crossDrv 2022-11-19 00:04:54 +02:00
github-actions[bot] 020ea91183
Merge master into staging-next 2022-11-10 00:02:27 +00:00
Sandro d9c3f3c0dc
Merge pull request #196007 from wegank/fdl11-remove 2022-11-09 22:31:50 +01:00
github-actions[bot] 6e1c7f74c7
Merge master into staging-next 2022-11-08 12:01:29 +00:00
Mario Rodas f84d890770
Merge pull request #199530 from NickCao/stellarium_11
stellarium: 1.0 -> 1.1
2022-11-08 03:15:29 -05:00
github-actions[bot] 917a1408b8
Merge master into staging-next 2022-11-08 06:01:15 +00:00
Nick Cao 7a509caabd
qt6.qtwebengine: unmark broken on aarch64-linux 2022-11-07 23:51:21 +08:00
Nick Cao e177a194c0
qt6.qtmultimedia: add and propagate the required/recommended gst plugins
reference: https://doc.qt.io/qt-6/videooverview.html#linux
2022-11-05 21:39:11 +08:00
Nick Cao 423d2dada0
qt6.qtbase: add patch for correctly loading tzdata 2022-11-05 21:39:05 +08:00
Weijia Wang 79f5174455 licenses: remove fdl13 2022-10-27 22:48:13 +02:00
Thomas Watson 8fb885a19e qt{5,6}: disable QML disk cache by default
Qt QML is a language for designing user interfaces. QML (and related
JavaScript) source files are compiled into bytecode at runtime before
execution. To save time, this bytecode is cached on disk.

The cache is keyed primarily off the application name and mtime of the
source file. Since application names rarely change, source files that
have passed through the store have their mtimes fixed at 1, and
SOURCE_DATE_EPOCH is also set to 1 during builds, compiled bytecode in
this cache for Qt programs built by Nix is rarely or never invalidated.

This results in programs running with QML bytecode that does not match
their source code, which manifests as a constant source of random and
unreproducible glitches, oddities, and crashes in Qt applications when
they are upgraded. For applications like SDDM and Plasma, the user may
be left with a completely broken system, and sometimes even rolling back
doesn't fix the issue.

This patch resolves the issue by simply patching Qt's QML module in all
supported versions to disable the disk cache by default as if the
environment variable QML_DISABLE_DISK_CACHE were always 1. Patching the
code ensures consistent behavior for all Qt applications in all
environments, including non-NixOS uses.

Simple benchmarking suggests an approximate 10% CPU time penalty when
launching QML-heavy applications, and no measurable penalty to booting
into Plasma. This is considerably more benign than the earlier behavior.

For testing or the performance conscious, use of the cache can be
re-enabled after understanding the risks by setting the environment
variable QML_FORCE_DISK_CACHE to 1. This can be done system-wide using
e.g. the `environment.sessionVariables` NixOS option.

Future work could change the cache key through source code changes or
automatic generation of an appropriate SOURCE_DATE_EPOCH. Until then,
this is a simple change which removes a large class of user frustration
and headache for little penalty.
2022-10-20 22:15:04 -05:00
Timothy DeHerrera 3303cf254c
Merge pull request #196224 from NickCao/qtwebengine
qt6.qtwebengine: correct how NIX_BUILD_CORES is propagated to the gn …
2022-10-16 10:45:50 -06:00
Nick Cao cec6862940
qt6.qtdeclarative: reduce closure size by removing reference to qtbase.dev
before: /nix/store/g7k03425nzhlwcldc85fyw4bly7bwk9a-qtdeclarative-6.3.2    1.7G
after:  /nix/store/x08j7c378j6a8i1vam4iqgk4lk6sqzm0-qtdeclarative-6.3.2  566.7M
2022-10-16 15:27:34 +08:00
Nick Cao 0badfc4936
qt6.qtwebengine: correct how NIX_BUILD_CORES is propagated to the gn ninja
port of https://github.com/NixOS/nixpkgs/pull/37889
2022-10-16 10:11:51 +08:00
Timothy DeHerrera ae28acabb0
webengine: fix github crashes with upstream patch 2022-10-08 14:21:01 -06:00
Luna Nova b5f31454a3
qt-6: Port hooks from qt-5 2022-10-05 22:09:13 -07:00