Commit Graph

219 Commits

Author SHA1 Message Date
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
github-actions[bot]
fc17fe6417
Merge master into staging-next 2022-04-02 18:01:07 +00:00
Alyssa Ross
fd78240ac8
treewide: use lib.getLib for OpenSSL libraries
At some point, I'd like to make another attempt at
71f1f4884b ("openssl: stop static binaries referencing libs"), which
was reverted in 195c7da07d.  One problem with my previous attempt is
that I moved OpenSSL's libraries to a lib output, but many dependent
packages were hardcoding the out output as the location of the
libraries.  This patch fixes every such case I could find in the tree.
It won't have any effect immediately, but will mean these packages
will automatically use an OpenSSL lib output if it is reintroduced in
future.

This patch should cause very few rebuilds, because it shouldn't make
any change at all to most packages I'm touching.  The few rebuilds
that are introduced come from when I've changed a package builder not
to use variable names like openssl.out in scripts / substitution
patterns, which would be confusing since they don't hardcode the
output any more.

I started by making the following global replacements:

    ${pkgs.openssl.out}/lib -> ${lib.getLib pkgs.openssl}/lib
    ${openssl.out}/lib -> ${lib.getLib openssl}/lib

Then I removed the ".out" suffix when part of the argument to
lib.makeLibraryPath, since that function uses lib.getLib internally.

Then I fixed up cases where openssl was part of the -L flag to the
compiler/linker, since that unambigously is referring to libraries.

Then I manually investigated and fixed the following packages:

 - pycurl
 - citrix-workspace
 - ppp
 - wraith
 - unbound
 - gambit
 - acl2

I'm reasonably confindent in my fixes for all of them.

For acl2, since the openssl library paths are manually provided above
anyway, I don't think openssl is required separately as a build input
at all.  Removing it doesn't make a difference to the output size, the
file list, or the closure.

I've tested evaluation with the OfBorg meta checks, to protect against
introducing evaluation failures.
2022-03-30 15:10:00 +00:00
Maximilian Bosch
940f4547fe
Merge pull request #150262 from Ma27/qtwayland-app_id
qtwayland: declare proper `app_id` for wrapped executables
2022-03-14 12:23:41 +01:00
Thomas Tuegel
df046661ac
Merge pull request #158144 from gbpdt/fix/qtwebkit_python3
qtwebkit: use python38 to build instead of python2
2022-02-11 10:41:14 -06:00
Jonathan Ringer
4bcdfdfc71
qt5.qtwebengine: pin ffmpeg to 4.x 2022-02-06 17:38:57 -08:00
Graham Bennett
52ea4e5e58 qtwebkit: use python38 to build instead of python2
python38 appears to work just as well, so it seems better to use that rather
than python2.  This also resolves some build flakiness seen due to parallel
invocations of python2 that are fixed in python3.

Note that the scripts aren't compatible with python39 or later, some patching
would be required to resolve that.
2022-02-04 10:33:00 -05:00
toonn
4f1480eb29
Qt5: WebEngine turn off warning causing errors 2022-01-17 13:29:46 +01:00
Pavol Rusnak
5581f0f82f
qt5.qtwebengine: clarify on which platform is the package broken 2021-12-25 18:48:44 +01:00
Pavol Rusnak
af8c095665
qt5{12,14,15}: mark broken on aarch64-darwin 2021-12-25 18:48:44 +01:00
Maximilian Bosch
b3823a35e5
qtwayland: declare proper app_id for wrapped executables
Since NixOS 21.11 it seems as if QT uses Wayland if possible[1].
However, my `pinentry-qt` flavor stopped floating because it's now
running in Wayland-mode rather than in XWayland mode where this seems to
be fine.

I wanted to add a rule to my `sway(1)`-config for that, but realized
that `pinentry` is missing an `app_id` to match:

    $ swaymsg -t get_tree | jq '.nodes[2].nodes[1].nodes[1].nodes[1].app_id'
    ""

This is because `QWaylandWindow::initWindow()` uses the application's
`baseName` to determine the app window. Unfortunately the `baseName`
drops all chars of the filename after the first dot[2]. This means that
every wrapped Nix package (i.e. `pkgs.foo` with `$out/bin/.foo-wrapped`)
will have an empty-string as baseName because the first character of the
filename is a dot. Since we're using the `wrapQtAppsHook` quite
excessively, a lot of programs are affected by this.

In order to work around this, I implemented a small patch for
`qtwayland` that strips away the `nixpkgs`-specific `.(name)-wrapped` of
a filename if needed and then sets the `app_id` to the expected
`baseName`. This is useful to make e.g. `sway`-configs with
`for_window`[3]-expressions from other distros compatible.

With this change, the `app_id` is set as I'd expect it:

    $ swaymsg -t get_tree | jq '.nodes[2].nodes[1].nodes[1].nodes[1].app_id'
    "pinentry-qt"

Even though we'll need the patch to get e.g. `foo` from `.foo-wrapped`,
I decided to file a bug-report against upstream[4].

[1] https://nixos.org/manual/nixos/stable/release-notes.html#sec-release-21.11
[2] https://doc.qt.io/qt-5/qfileinfo.html#baseName
[3] https://man.archlinux.org/man/sway.5.en
[4] https://bugreports.qt.io/browse/QTBUG-99137
2021-12-24 15:36:52 +01:00
github-actions[bot]
39d035c4cf
Merge master into staging-next 2021-12-22 00:01:35 +00:00
Dmitry Kalinkin
88171cca9b
qt5.qtbase: reinstate -Wno-error=unguarded-availability on darwin 2021-12-20 11:48:22 -05:00
Dmitry Kalinkin
e1aaaa90fe
llvmPackages.libcxx: unset _LIBCPP_USE_AVAILABILITY_APPLE 2021-12-18 10:09:25 -05:00
Dmitry Kalinkin
12ba3bc6eb
qt5.qtgamepad: add darwin support 2021-12-17 13:25:28 -05:00
Dmitry Kalinkin
5f5bc79a1b
qt5{14,15}.qtbase: fix build on darwin 2021-12-15 09:57:32 -05:00
toonn
b1b5b40c8d Qt5: WebEngine turn off warning causing errors
Co-authored-by: Jonathan Ringer <jonringer117@gmail.com>
2021-11-24 15:17:13 -08:00
github-actions[bot]
0ca0546665
Merge master into staging-next 2021-11-14 06:01:05 +00:00
Dmitry Kalinkin
b507efd2bc
qt51{4,5}.qtwebengine: mark as broken on darwin 2021-11-13 20:14:18 -05:00
Thomas Tuegel
5b22f14d38
qtbase: avoid rebuilding versions < 5.15 2021-10-31 12:02:20 -05:00
Thomas Tuegel
8475a67e7d
qtbase: bootstrap with syncqt.pl 2021-10-30 09:52:38 -05:00
github-actions[bot]
150dc67b3c
Merge master into staging-next 2021-10-04 18:01:07 +00:00
figsoda
3109ff5765 treewide: avoid use of lib.optional with list in inputs 2021-10-04 13:02:42 -04:00
github-actions[bot]
c836da689f
Merge staging-next into staging 2021-09-23 00:03:12 +00:00
Vladimír Čunát
314e0f22d8
qt512: fixup build of qtwayland
https://github.com/NixOS/nixpkgs/pull/138268#issuecomment-923135098
It's now not commonly used in Linux NixPkgs; I suppose it will be better
this way than failing.
2021-09-23 01:39:24 +02:00
adisbladis
6edb3d3001
Merge pull request #136493 from tweag/qtbase-parallel-build
qt5.qtbase: Enable parallel building
2021-09-20 16:47:55 -05:00
adisbladis
54a62ba008
qt5.qtbase: Enable parallel building 2021-09-02 14:03:33 -05:00
Artturin
1e8752a150 qt5: add at-spi2-core to qtbase 2021-09-02 17:10:53 +03:00
adisbladis
a7432ad311
qt5.qt3d: init module 2021-08-30 15:10:49 -05:00
github-actions[bot]
eec0175f9e
Merge staging-next into staging 2021-07-28 18:01:57 +00:00
Yuka
3ff7100f05
qt5.qtwebengine: 5.15.3 -> 5.15.5 (#131123) 2021-07-28 14:43:08 +02:00
Sandro Jäckel
3095193e7e
qtbase: format, cleanup, remove darwin from inputs 2021-07-27 15:17:41 +02:00
Pavol Rusnak
ce14ca10a6
qt5: use xcbuild on darwin, cleanup 2021-07-22 21:59:02 +02:00
Pavol Rusnak
afb3563bdc
qt5: don't use dontUseXcbuild in qtwebengine
dontUseXcbuild was dropped in 0534ceac81
2021-07-22 21:59:02 +02:00
AndersonTorres
e9e5f5f84d Change all alsaLib references to alsa-lib 2021-06-10 01:12:49 -03:00
Florian Klink
ac078761ce
Merge pull request #124078 from flokli/qtwebengine-conditional-pipewire
qtwebengine: only set -webengine-webrtc-pipewire with qt >= 5.15
2021-05-23 12:36:28 +02:00
Florian Klink
4cbb20402a qtwebengine: only set -webengine-webrtc-pipewire with qt >= 5.15
This fails the build of qt514.qtwebengine otherwise:

```
QMAKEPATH=/nix/store/29n056mi3pji6si51b128pa67b1qr7wq-qtbase-5.14.2-dev:/nix/store/g7wady1f1r23wlmy4q1f3b8j2fj5q2sq-qtdeclarative-dev:/nix/store/xfqnh2pma99915d4gsanls68z1jikcpx-qtsvg-dev:/nix/store/zlnsjdj5yv1ivi1miq49j9gp382byl35-qtlocation-dev:/nix/store/lb7cidi60cabpa7swv51xnss9045vqzi-qtmultimedia-dev:/nix/store/jrk6bcqihxwsszwy6rwy2vnfc2sb4rv9-qtwebchannel-dev
qmake PREFIX=/nix/store/pa3jhipp59f6ykh9k8l8z8jf88k52bz8-qtwebengine NIX_OUTPUT_OUT=/nix/store/pa3jhipp59f6ykh9k8l8z8jf88k52bz8-qtwebengine NIX_OUTPUT_DEV=/nix/store/jngs3qilw9iiv97rawb9sb9sd6qdbp2s-qtwebengine-dev NIX_OUTPUT_BIN=/nix/store/91hqv88qvg2wb91lv1h1pd4d8wwrkd5d-qtwebengine-bin NIX_OUTPUT_DOC=/nix/store/jngs3qilw9iiv97rawb9sb9sd6qdbp2s-qtwebengine-dev/share/doc/qt-5.14.2 NIX_OUTPUT_QML=/nix/store/91hqv88qvg2wb91lv1h1pd4d8wwrkd5d-qtwebengine-bin/lib/qt-5.14.2/qml NIX_OUTPUT_PLUGIN=/nix/store/91hqv88qvg2wb91lv1h1pd4d8wwrkd5d-qtwebengine-bin/lib/qt-5.14.2/plugins CONFIG+=release -- -system-ffmpeg -webengine-webrtc-pipewire -proprietary-codecs
Info: creating stash file /build/qtwebengine-everywhere-src-5.14.2/.qmake.stash
Info: creating cache file /build/qtwebengine-everywhere-src-5.14.2/.qmake.cache
ERROR: Unknown command line option '-webengine-webrtc-pipewire'.
builder for '/nix/store/g6dvr7789sswmahlxc6zs5pr8k2g5pgy-qtwebengine.drv' failed with exit code 3
```

Also, only bring in pipewire_0_2 if we enable pipewire support.
2021-05-23 00:44:43 +02:00
github-actions[bot]
2b12bace86
Merge master into staging-next 2021-05-21 06:22:09 +00:00
John Axel Eriksson
7a714e8ed2
qtwebengine: enable pipewire/webrtc 2021-05-20 07:58:50 +02:00
Thomas Tuegel
e45c0ea4cd
Restore version in Qt derivation names 2021-05-14 05:53:30 -05:00
OPNA2608
77b148ddd7 qt5.qtwebengine: remove syncqt workaround 2021-05-08 20:40:44 -07:00
Robert Schütz
6ba83717fe libsForQt5.qtwebengine: always use system ffmpeg 2021-05-01 16:10:26 +02:00
Robert Schütz
6de7e0d758 libsForQt5.qtwebengine: use ffmpeg instead of ffmpeg_3 2021-04-25 23:08:55 +02:00
Vladimír Čunát
b0dae10ba7
qt5.qtwebengine, webkitgtk: try harder to avoid timeouts
I hope this will improve the situation on aarch64-linux.
I don't think it could make anything worse.
Recent staging-next timeouts:
https://hydra.nixos.org/build/141551270
https://hydra.nixos.org/build/141547098

For now let's not touch meta.timeout, as there's less consensus and the
setting seems less reliable in practice, too.
2021-04-19 13:21:48 +02:00
rnhmjoj
97904f8424
qt5.qtwebengine: fix Qt version number in cmake
This fixes the build failures in packages depending on qtwebengine and
using cmake to find the Qt dependencies (like libsForQt5.messagelib).
2021-03-31 12:32:21 +02:00
rnhmjoj
3aba63ab29 qt5.qtwebengine: 5.15.2 -> 5.15.3-a059e740
This updates the base chromium branch from 83 to 87, which fixes
approximately a few hundreds CVEs.
2021-03-27 12:35:06 +01:00
Andrew Childs
a5979a4f99 qtwebengine: switch to pure sandbox on darwin 2021-03-20 11:32:32 -04:00
github-actions[bot]
79b7a67b55
Merge master into staging-next 2021-02-17 00:36:31 +00:00
Robert Hensing
46a4d53063 qtwebengine: Increase build timeout to 24h
The default 10h timeout caused the cancellation of builds on
aarch64-linux builders.
Perhaps counterintuitively, this wastes resources because it
requires a restart, but never completes.

https://hydra.nixos.org/build/136917190
2021-02-16 10:17:55 +01:00
github-actions[bot]
30dddce5e8
Merge master into staging-next 2021-02-09 06:16:02 +00:00