Commit Graph

80 Commits

Author SHA1 Message Date
Sergei Trofimovich
b9b1d958d0 Merge remote-tracking branch 'origin/staging-next' into staging
Conflicts:
	pkgs/development/libraries/qt-6/modules/qtbase.nix
	pkgs/stdenv/linux/make-bootstrap-tools.nix
2023-01-20 21:56:57 +00:00
Alyssa Ross
0ae87d514f treewide: add names to all setup hooks 2023-01-19 15:00:36 +00:00
Nick Cao
9f3998d62f
Merge pull request #204724 from wegank/qtpbfimageplugin
qt6, python3Packages.pyqt6: unbreak on darwin
2023-01-18 07:36:26 +08:00
github-actions[bot]
76839f69b4
Merge staging-next into staging 2023-01-16 06:01:40 +00: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
github-actions[bot]
9e72ff5c31
Merge staging-next into staging 2023-01-13 00:02:48 +00: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
Lily Foster
4fc551f4dd
qt6.qtbase: fix the libexecdir in the pkg-config config file
A few lines above this change, libexec is explicitly moved to the dev
output. Therefore the pkg-config should point to it too.
2023-01-10 19:08:54 -05: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