Commit Graph

102 Commits

Author SHA1 Message Date
Jan Tojnar
7c4188ac9a qt5.overrideScope': only add when allowAliases is enabled
Otherwise it will spam pkgs traversal (e.g. update.nix).

Introduced in 2cbbef006b
2023-03-24 19:13:48 +01:00
Artturin
2cbbef006b qt5: use makeScopeWithSplicing
if there is more than one qt5 attr and this file is copied then the arg
to generateSplicesForMkScope should be changed
2023-03-09 21:16:03 +02:00
Artturin
4e3dcf364e treewide: makeSetupHook deps -> propagatedBuildInputs 2023-02-07 21:02:00 +02:00
K900
a25786f76f qt5/qtwebengine: pick patch to fix build with gcc 12 2023-02-04 23:10:53 +03:00
K900
e2d48792c5 qt5/qtwebengine: 5.15.11 -> 5.15.12 2023-02-04 23:10:51 +03:00
github-actions[bot]
d7e7d75f99
Merge master into staging-next 2023-01-26 06:01:24 +00:00
Weijia Wang
a37e8e1a3e qt5.qtwebengine: unbreak on aarch64-darwin 2023-01-26 02:12:49 +01:00
Alyssa Ross
0ae87d514f treewide: add names to all setup hooks 2023-01-19 15:00:36 +00:00
Nick Cao
5d2dc46263
qt5: update source hashes to include submodules 2023-01-16 08:35:18 +08:00
Nick Cao
0567815a11
qt5: fetch submodules 2023-01-16 08:35:18 +08:00
Nick Cao
231d0821c7
Revert "qt5.qt3d: override src to include submodules"
This reverts commit 886104ad30e88fb37e2b93cac0fd41d469625860.
2023-01-16 08:35:17 +08:00
Nick Cao
c140730d40
qt5.qt3d: override src to include submodules 2023-01-15 17:15:21 +08:00
K900
251474b8cd qt5/qtwebengine: use homebrew version of python3 patches
It works on Mac
2023-01-12 11:34:40 +03:00
K900
3084056119 qt5/qtwebengine: try patching out more Darwin platform checks 2023-01-12 11:34:40 +03:00
K900
5802c30687 qt5: build with SDK 11.0 on all Darwins (hopefully) 2023-01-12 11:34:40 +03:00
K900
6159128386 qt5: 5.15.7 -> 5.15.8 2023-01-05 21:42:00 +03:00
Robert Schütz
523a65c91e libsForQt5.qtwebengine: build using python3 2022-11-24 10:15:41 -08:00
K900
202fff431f qt5.15: update to latest KDE patches 2022-11-17 20:18:35 +03:00
Sandro
fad5f168d2
Merge pull request #197010 from tpwrules/disable-qt-cache 2022-11-01 16:09:35 +01:00
K900
8fdc1765a9 qt5: 5.15.6 -> 5.15.7 2022-10-29 13:02:32 +03: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
Kazutoshi Noguchi
bf677a72e8 qt5.qtwebengine: 5.15.8 -> 5.15.11 2022-10-20 17:42:54 +09:00
Vladimír Čunát
7cce28d594
qt5.qtscript: drop the version override
It really was updated in commit 697a72e8a and refused to build.
(You can think of this as a revert of commit dd4afc7c0055.)
2022-10-09 08:16:59 +02:00
K900
697a72e8a9
qt5: 5.15.5 -> 5.15.6 2022-10-08 21:30:55 +02:00
Zaripov Kamil
10f06f9ae7 qtbase: remove mkspecs/features/mac/sdk.mk 2022-08-14 11:05:54 +03:00
Vladimír Čunát
9cfb24af2d
Merge #180327: qtbase: Fix build for aarch64-darwin
...into staging
2022-07-29 19:35:36 +02:00
Zaripov Kamil
940b020fe7 qtbase: Fix build for aarch64-darwin 2022-07-20 22:44:46 +03:00
Artturin
0da1362ff9 qt5.qtlottie: init 2022-07-20 18:26:50 +03:00
Dmitry Kalinkin
9cc2920558
qt515: fix on darwin 2022-07-18 23:08:31 -04:00
K900
e093226cfb qt5: refresh darwin patches 2022-07-15 11:04:50 +03:00
K900
dd4afc7c00 qt5.15: restore the version override
I am bad at this.
2022-07-13 14:57:10 +03:00
K900
091129a2ae qt5.15: update to latest KDE patchsets
Fixes a bunch of minor annoyances, especially around Wayland.
2022-07-11 19:15:04 +03:00
Robert Schütz
5344965f85 libsForQt5.wrapQtAppsHook: fix cross 2022-06-13 06:40:45 +00:00
Fabián Heredia Montiel
fb73942a4e qt5: inherit stdenv for modules and override gcc version for qt512 and qt514 2022-04-16 10:56:03 -05:00
Thomas Tuegel
35e673dda2
qtwayland: include app_id patch in module definition 2022-04-06 08:53:47 -05:00
Thomas Tuegel
a4fbb92be0
qt515: update KDE patches 2022-04-06 08:52:07 -05:00
Vladimír Čunát
db57a90dcc
qt5*.qtwayland: deconflict patching
This fixes build in qt514 case.

The usual way here is to provide patches for each qt5 version
separately.  No other module adds them in this generic way.
The problem is when you combine the approaches; qtModule will only
take the list from the module and ignore the version-specific list.
2022-04-05 15:11:56 +02:00
Martin Weinelt
dd6b901a38
qt515.qtwebengine: drop obsoleted patch regarding glibc2.34 compat
It does not apply anymore, which makes the build fail.
2022-03-14 14:36:43 +01:00
Maximilian Bosch
b9078e581b
qt515.qtwebengine: fix build w/glibc-2.34
Derived from Fedora 35: d122c01163
Failing Hydra build: https://hydra.nixos.org/build/153232768
2022-02-27 10:25:37 +01:00
Luna Nova
adb8208581
qt515: Update KDE Qt 5.15 patches (20220208)
https://invent.kde.org/qt/qt/qtwayland/-/merge_requests/35
2022-02-08 17:01:56 -08:00
Luna Nova
a4e8f00de1
qt515: Update KDE Qt 5.15 patches (20220205) 2022-02-08 16:25:05 -08:00
Luna Nova
f730b8fa36
qt515: Update KDE Qt 5.15 patches 2022-02-08 16:25:05 -08:00
Luna Nova
6f0ae5f6f3
qt515 qtwayland: update to latest KDE patch 2022-02-08 16:25:05 -08:00
Luna Nova
db3df8802c
qt515: Update KDE Qt 5.15 patches 2022-02-08 16:25:05 -08:00
rnhmjoj
00f80f36d2
qtwebengine: 5.15.7 -> 5.15.8 2022-02-01 21:09:46 +01:00
Will Cohen
7ec99ea7cf
qt5.qtwebkit: add disambiguate handle for darwin (#156809) 2022-01-27 13:00:11 -05:00
Jan Tojnar
f7aa55946b Merge branch 'staging-next' into staging
; Conflicts:
;	nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
;	nixos/doc/manual/release-notes/rl-2205.section.md
;	pkgs/build-support/libredirect/default.nix
2022-01-10 01:26:05 +01:00
Ben Wolsieffer
f3386ca8cc qt5: apply makeScope overrides to qtModule
qtModule was defined outside of addPackages, which caused it to use a self
variable that isn't affected by updates using overrideScope. This caused
overrides to qtbase to be incompletely applied. I also entirely removed the
outer self variable to prevent it from being accidently used again.
2022-01-08 01:08:23 -05:00
Dmitry Kalinkin
9820587b93
qt5.qtbase: build without GTK support on darwin 2022-01-01 19:09:59 -05:00
Pavol Rusnak
ca00abc407
qt5{12,14,15}: use default stdenv on darwin 2021-12-25 18:48:44 +01:00