Commit Graph

164 Commits

Author SHA1 Message Date
K900
e44cf032bc qt5, qt6: fix QML path search order
QQmlImportDatabase::addImportPath _prepends_ to the search path,
so our version specific search paths need to be added in last.
2024-01-19 15:34:40 +03:00
K900
ee70129510 qt5, qt6: use versioned QML import paths in wrappers
Qt is smart enough to figure out the target Qt version for native plugins.
However, Qt is _not_ smart enough to figure out the target Qt version for
QML imports, which causes all kinds of funny breakage when you start running
Qt 5 applications from Qt 6 ones and vice versa.

So, do some minimally invasive surgery to make different Qt versions pick up
different QML import path variables, so they don't mess with each other.

This is kind of very cursed, but what can you do.
2024-01-17 11:32:40 +03:00
K900
ca1c914e62 qt5.qtbase: update to latest patchset, includes CVE-2023-51714 fix 2024-01-03 10:17:30 +03:00
K900
e9109dc7d3 qt5: 5.15.{11,15} -> 5.15.{12,16} 2024-01-01 12:45:32 +03:00
Adam Joseph
80472e3754 treewide: add __attrsFailEvaluation and __recurseIntoDerivationForReleaseJobs 2023-12-15 05:13:46 -08:00
Artturi
7cc4f72999
Merge pull request #251671 from dotlambda/qutebrowser-qt5
qutebrowser-qt5: replace qt5.qutebrowser
2023-11-24 14:30:25 +02:00
Robert Schütz
d248a1e7f7 qutebrowser-qt5: replace qt5.qutebrowser
Applications don't belong in the qt5 scope.
2023-11-21 01:31:58 +02:00
Randy Eckenrode
e526bb7756
qt5.qtwebengine: pin clang version to clang 15
The version of Chromium used by Qt WebEngine 5.15.x does not build with
clang 16 due to the following errors:

* -Wenum-constexpr-conversion: This is a downgradable error in clang 16,
  but it is planned to be made into a hard error in a future version of
  clang. Patches are not available for the version of v8 used by
  Chromium in Qt WebEngine, and fixing the code is non-trivial.
* -Wincompatible-function-pointer-types: This is also a downgradable
  error generated starting with clang 16. Patches are available upstream
  that can be backported.

Because the first error is non-trivial to fix and suppressing it risks
future breakage, clang is pinned to clang 15, which also makes fixing
the incompatible function pointer conversion errors unnecessary.

The derivation is also updated to use the `overrideLibcxx` adapter.
Using it links qt5.qtwebengine against the same versions of libc++ and
libc++abi as qt5.qtbase even though they are built with different
versions of clang, avoiding the compatibility problems that can cause.

Also, reenable x86_64-darwin because it builds successfully too.
2023-11-05 20:26:28 -05:00
github-actions[bot]
da4d99e016
Merge master into staging-next 2023-11-05 06:00:55 +00:00
Adam Joseph
347a63777c qt5.qmake-hook: move libs to depsTargetTargetPropagated 2023-11-05 00:55:16 +00:00
Adam Joseph
c591f4d635 qt5.qttranslations: disable if cross to prevent infinite recursion 2023-11-05 00:55:16 +00:00
Adam Joseph
9180573837 qutebrowser: repair vandalism
Our qutebrowser package has been vandalized by various commits, such
as c9cc3a2e3e and
ad0bbaf1d2, which made erroneous
assertions such as "since qutebrowser 3.0.0 the derivation is only
building for qt6."

This commit repairs the vandalism.
2023-11-05 00:55:16 +00:00
github-actions[bot]
cbec6b85a3
Merge master into staging-next 2023-11-03 03:07:31 +00:00
Weijia Wang
4a46353a3c qt5.qtlocation: fix build with clang 16 2023-11-02 18:42:54 +01:00
Artturin
bd02bf1ea3 qt5: remove with self;
The `self` does not contain spliced packages, callPackage works
properly.
2023-11-02 01:30:14 +02:00
Artturin
19e047434c qt5: fix splicing
and simplify some things

remove now unnecessary use of buildPackages
2023-11-02 01:30:11 +02:00
Weijia Wang
f0a33c775e qt5.qtmultimedia: fix build with clang 16 2023-10-31 21:17:08 +01:00
K900
57c2850386 qt5: update to latest upstream patchset
Fixes build with libxkbcommon 1.6.0, includes crash fix upstream.
2023-10-19 14:26:37 +03:00
K900
bdbf70625a qt5: 5.15.10 -> 5.15.11
Also move qtscript to a separate override, as it follows qtwebengine tags
2023-10-06 09:38:06 +03:00
K900
6470affffe qt5.full: remove qtwebkit
It's been broken long enough and having qt5.full is convenient for testing
2023-10-06 09:38:05 +03:00
Theodore Ni
c173b99c6c
Merge branch 'master' into staging-next
Resolve correctly the three-way merge between https://github.com/NixOS/nixpkgs/pull/251681,
https://github.com/NixOS/nixpkgs/pull/227900, and https://github.com/NixOS/nixpkgs/pull/246022
2023-08-26 19:00:58 -07:00
Samuel Dionne-Riel
6e8985702c
Revert "qt5.qtbase: fix cross" 2023-08-26 19:08:53 -04:00
Theodore Ni
80a74ec050
Merge branch 'master' into staging-next
Manually fixed a merge conflict between https://github.com/NixOS/nixpkgs/pull/227900
and https://github.com/NixOS/nixpkgs/pull/246022.
2023-08-26 16:08:02 -07:00
Adam Joseph
a6187bbbcb
Merge pull request #227900 from amjoseph-nixpkgs/pr/qtbase/fixcross
qt5.qtbase: fix cross
2023-08-26 21:31:39 +00:00
Adam Joseph
1430b56362 qt5.qtbase: fix cross compilation
This commit fixes builds of `pkgsCross.*.qt5.qtbase` by:

- Adding the buildPlatform compiler to depsBuildBuild in qtbase.nix
  and qtModule.nix.  The `qtbase` build machinery expects to find it
  in the $PATH in unprefixed form.

- Setting the `PKG_CONFIG_SYSROOT_DIR` and `PKG_CONFIG_LIBDIR`
  environment variables when compiling a cross-targeted `qmake`.
  This is required; if these environment variables are unset,
  `qmake` won't even try to use `pkg-config`.

- Adding the `-device` and `-device-option` flags necessary for
  cross compilation to `configureFlags`.

- Adding the (one-entry at the moment) Rosetta Stone for QT-5 as a
  `let`-defined `qtPlatform` function which takes a nixpkgs platform
  and returns a QT-5 `mkspecs`-string.

Co-authored-by: Christoph Neidahl <christoph.neidahl@gmail.com>
2023-08-20 21:41:19 -07:00
Theodore Ni
d494084017
Merge branch 'staging-next' into staging
Merging https://github.com/NixOS/nixpkgs/pull/245957 with https://github.com/NixOS/nixpkgs/pull/246022.
2023-08-20 20:09:45 -07:00
Theodore Ni
dab839357e
Merge branch 'master' into staging-next
Had to merge https://github.com/NixOS/nixpkgs/pull/245957 and
https://github.com/NixOS/nixpkgs/pull/247245.
2023-08-20 12:01:22 -07:00
K900
2d21b73a7f
Merge pull request #249604 from PaulSalden/submit/qt5-qtremoteobjects
libsForQt5.qt5.qtremoteobjects: init at 5.15.9
2023-08-20 20:43:11 +03:00
Artturi
bde196dde9
Merge pull request #245957 from amjoseph-nixpkgs/pr/lib/customization/makeScopeWithSplicing2 2023-08-20 18:57:05 +03:00
Theodore Ni
ece0953571
Merge branch 'staging-next' into staging 2023-08-18 16:02:27 -07:00
Paul Salden
0396748c12 libsForQt5.qt5.qtremoteobjects: init at 5.15.9
https://doc.qt.io/qt-5/qtremoteobjects-index.html
2023-08-16 21:40:14 +02:00
github-actions[bot]
583df4e091
Merge master into staging-next 2023-08-16 18:01:01 +00:00
K900
c85be71df4
Merge pull request #247726 from vlaci/qtwebengine-pulse
qtwebengine: link to pulseaudio
2023-08-16 18:13:17 +03:00
K900
e7ced4364b
Merge pull request #249182 from K900/qt5-dbus-crash-backport
qt5.qtbase: backport patch to fix things crashing on exit
2023-08-15 22:18:56 +03:00
K900
68cc02588d qt5: include qttranslations properly
Qt loads its own translations from a hardcoded path, and those are used
(among other things) for determining RTL layout preferences in applications,
so they are definitely something we want to have.

This adds a qtbase/qttools rebuild to the chain, but it's fast enough that it's
probably fine.

Another approach would be to load translation paths from the environment,
and inject it in wrapQtAppsHook, but that seems like more complexity
for very questionable build time savings.
2023-08-15 22:11:10 +03:00
K900
0f5c7b4827 qt5.qtbase: backport patch to fix things crashing on exit
This is kind of experimental, and we decided after a conversation
with upstream to keep it vendored for a bit and then upstream if
nothing explodes.

666ce51d4e
2023-08-15 00:53:12 +03:00
László Vaskó
e4dcdb133a qtwebengine: link to pulseaudio
Nix builds of QTWebEngine doesn't support sound output via Pulse, only
through ALSA, unless sandboxing is disabled and LD_LIBRARY_PATH
contains a reference to the Pulse libraries.

By default, Chromium won't link to PulseAudio, but dlopens it in
run-time. It is tricky to make this work because of the nontrivial
sandbox configuration. Nix builds of Chromium already link against
Pulse directly, so it makes sense to copy this behavior in
QTWebEngine.
2023-08-14 19:33:19 +02:00
Adam Joseph
cbc8aa437c treewide: use uncurried version of makeScopeWithSplicing 2023-08-14 02:51:10 +03:00
K900
13bd5d4dbd qt5.qtscript: fix version
No upstream changes so the version number stayed at 5.15.9 I guess?
2023-08-13 09:25:48 +03:00
K900
0aaf677516 qtwebengine: 5.15.13 -> 5.15.14, remove hack 2023-08-11 09:15:07 +03:00
K900
e9b39616ec qt5: 5.15.9 -> 5.15.10 2023-08-10 17:23:34 +03:00
Silvan Mosberger
a0b8caf3bc
Revert "lib.customisation: uncurry makeScopeWithSplicing" 2023-07-28 23:04:09 +02:00
lelgenio
f6a944e359 qt5: remove overrideScope' 2023-07-28 13:54:14 -03:00
Artturin
3716ef19d8 lib.makeScopeWithSplicing: provide default for keep,extra
These are often unneeded by the user.
2023-07-28 17:41:01 +03:00
Adam Joseph
cb13669b00 lib.customisation: uncurry makeScopeWithSplicing
Deeply-curried functions are pretty error-prone in untyped languages
like Nix.  This is a particularly bad case because
`top-level/splice.nix` *also* declares a makeScopeWithSplicing, but
it takes *two fewer arguments*.

Let's switch to attrset-passing form, to provide some minimal level
of sanity-checking.
2023-07-27 21:31:59 -07:00
K900
53c4a1381f qt5: update patches
Pull in some qtbase security fixes
2023-05-28 14:05:33 +03:00
Christoph Neidahl
434cd1057f
libsForQt5.qtpim: init at unstable-2020-11-02 (#214164)
* libsForQt5.qtpim: init at unstable-2020-11-02

* libsForQt5.qtpim: Move to pkgs/development/libraries/qt-5

* libsForQt5.qtpim: unstable-2020-11-02 -> unstable-2021-04-09

By try reverting Qt6 commits instead of pulling in Qt5-compatible ones

* Revert "libsForQt5.qtpim: unstable-2020-11-02 -> unstable-2021-04-09"

This reverts commit 9384825791.
2023-05-25 21:44:39 +02:00
Weijia Wang
09aba852bf libsForQt5.qtconnectivity: fix build on darwin 2023-05-08 21:16:38 +03:00
K900
40cac1db49
Merge pull request #224356 from panicgh/qtdatavis3d
qt5.qtdatavis3d: init module
2023-05-05 09:55:57 +03:00
Nicolas Benes
df49d775de qt5.qtdatavis3d: init module 2023-04-24 18:22:03 +02:00