Commit Graph

914 Commits

Author SHA1 Message Date
Sandro Jäckel
1b84946f07
qt5.qtbase: remove ? null asserts 2022-12-21 23:35:56 +01:00
K900
3ee2fd4af0
Merge pull request #202661 from K900/goodbye-my-qt-goodbye
treewide: drop Qt5 < 5.15
2022-12-03 10:51:44 +03:00
K900
06624cd934 qt5: drop 5.12, 5.14 2022-12-03 10:49:53 +03:00
Weijia Wang
b91a56cc61 qt515.qt3d: fix build on aarch64-darwin 2022-12-03 00:24:59 +01:00
Robert Schütz
523a65c91e libsForQt5.qtwebengine: build using python3 2022-11-24 10:15:41 -08:00
github-actions[bot]
ad6918218b
Merge master into staging-next 2022-11-19 06:01:10 +00:00
Vladimír Čunát
d10e3216b8
qt*.qtwayland: fix build of versions before 5.15
/cc the PR adding this patch: #200872
2022-11-18 17:24:02 +01:00
K900
202fff431f qt5.15: update to latest KDE patches 2022-11-17 20:18:35 +03:00
Martin Weinelt
a505704e8f
qtwebkit: Mark known vulnerable
The browser engine is based off an old Webkit version, receives no
security backports, does no releases.

The WebKitGTK people have counted over 500 CVEs they fixed since 2016.

Adding known vulnerable to make people aware they're using a browser
engine that is not up to todays standards and could very likely be
easily compromised.

Projects are recomended to migrate to qtwebengine instead.

https://blogs.gnome.org/mcatanzaro/2017/02/08/an-update-on-webkit-security-updates/
https://github.com/qutebrowser/qutebrowser/issues/4039#issue-338246939
https://blogs.gnome.org/mcatanzaro/2022/11/04/stop-using-qtwebkit/
2022-11-13 14:41:26 +01:00
Lorenz Brun
fd94629a32 qt5/qtwayland: fix popups being placed outside the screen
QT 5 did not set layout constraints on their popups. This causes some
compositors like GNOME to place the popups partially outside the screen.
This change backports the corresponding fix, but with an exclusion for
KDE as its current version does not work well with layout constraints.
2022-11-12 16:30:40 +01: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
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
Weijia Wang
79f5174455 licenses: remove fdl13 2022-10-27 22:48:13 +02:00
Weijia Wang
c1fbfda9b2
qt5.qtwebengine: mark as broken on darwin (#197131) 2022-10-23 00:08:32 -04:00
Martin Weinelt
80fc469031 Merge remote-tracking branch 'origin/master' into staging-next 2022-10-21 22:33:42 +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
Kazutoshi Noguchi
bf677a72e8 qt5.qtwebengine: 5.15.8 -> 5.15.11 2022-10-20 17:42:54 +09:00
Artturin
7e49471316 treewide: optional -> optionals where the argument is a list
the argument to optional should not be list
2022-10-10 15:40:21 +03: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
github-actions[bot]
fff1023111
Merge staging-next into staging 2022-05-22 12:02:07 +00:00
Thomas Tuegel
339c5dc5db
Merge pull request #170399 from chuangzhu/qtbase
qtbase: use -pthread instead of -lpthread
2022-05-22 06:57:58 -05:00
Ben Wolsieffer
6e769a6a95 libsForQt5.qtspeech: add speechd dependency
Without a speech synthesizer, qtspeech is useless.
2022-05-21 20:38:59 -04:00
Vladimír Čunát
cec6e7362c
Merge branch 'master' into staging-next-2022-04-23 2022-05-01 14:26:52 +02:00
github-actions[bot]
dc0ace8d6e
Merge master into staging-next 2022-05-01 06:01:14 +00:00
Adam Joseph
cf3d9c3cf1 qtwebengine: implement meta.platforms correctly 2022-04-30 17:17:06 -07:00
Chuang Zhu
235c1c1766 qtbase: use -pthread instead of -lpthread
This fixes "undefined reference to `__atomic_*'" errors when building
qt5.qtdeclarative on riscv64-linux.
2022-04-28 12:54:49 +08:00
Artturi
785373a76f
Merge pull request #166605 from siraben/remove-redundant-stdenv 2022-04-22 20:25:38 +03:00
Andrew Childs
85020dcbda qtmultimedia: restrict libpulseaudio to linux
libpulseaudio doesn't currently build on darwin after a recent
upgrade (#160097). When looking closely at the darwin build, it
appeared that it wasn't being used at all.

❯ nix log $(nix-build --no-out-link  channel:nixpkgs-unstable --argstr system x86_64-darwin -A qt512.qtmultimedia) | grep PulseAudio
Checking for PulseAudio >= 0.9.10... no
  PulseAudio ............................. no

❯ nix log $(nix-build --no-out-link  channel:nixpkgs-unstable --argstr system x86_64-darwin -A qt514.qtmultimedia) | grep PulseAudio
Checking for PulseAudio >= 0.9.10... no
  PulseAudio ............................. no

❯ nix log $(nix-build --no-out-link  channel:nixpkgs-unstable --argstr system x86_64-darwin -A qt515.qtmultimedia) | grep PulseAudio
Checking for PulseAudio >= 0.9.10... no
  PulseAudio ............................. no
2022-04-20 00:01:14 +03:00
Ben Siraphob
259fa13d53 treewide: remove nativeBuildInputs that are in stdenv 2022-04-16 21:46:46 +03: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
github-actions[bot]
795332a20e
Merge staging-next into staging 2022-04-14 18:01:48 +00:00
Vladimír Čunát
d5d94127fd
Merge branch 'staging-next' into staging
Minor conflicts; I hope I didn't mess up:
	pkgs/development/tools/misc/binutils/default.nix
	pkgs/games/openjk/default.nix
2022-04-14 09:53:21 +02:00
Will Cohen
c55f61061e libsForQt5.qt5.qtserialbus: enable for qt 5.14 2022-04-13 17:18:24 -04:00
Thomas Tuegel
45f6ec7332
Merge pull request #166933 from ttuegel/staging-qt-5-patches
Update Qt 5.15 patches
2022-04-13 09:04:42 -05:00
Adam Joseph
8660a09197 qtbase: use more than one core to build qmake
The qtbase package's `configurePhase` builds the `qmake` tool.  In the
current nixpkgs expression it does this single-threadedly, by invoking
`make` without a `-j` flag.

Let's thread `NIX_BUILD_CORES` through to `./configure`'s invocation
of `make` via the `MAKEFLAGS` variable.

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2022-04-12 13:33:51 -07:00
Adam Joseph
bd3b4c5483
qtwebengine: honor pipewireSupport (#161018) 2022-04-12 00:47:41 +02:00
Thomas Tuegel
35e673dda2
qtwayland: include app_id patch in module definition 2022-04-06 08:53:47 -05:00
Thomas Tuegel
40b789cfbb
qtbase: build with libdrm
qtwayland requires qtbase to be built with libdrm support, and other modules
might benefit from it, too.
2022-04-06 08:53:47 -05:00