292 Commits

Author SHA1 Message Date
Mirko Vogt 8c825c6477 qt5*: include qmake(5).mk file directly from the qt5 package 2025-05-22 10:58:15 +00:00
Mirko Vogt 8155ef231f qt5base: do not copy qmake.mk file into staging-dir anymore
Packages should now include the file directly from within the qt5
directory part of the feed..
2025-05-22 10:58:15 +00:00
Mirko Vogt 6783ae0a9d qt5base: allow more fine-grained builds, enable building with gles2 2025-05-22 10:58:15 +00:00
Mirko Vogt 484911f1b9 qt5base: introduce build config options, starting with support for inotify 2025-05-22 10:58:15 +00:00
Mirko Vogt 15d50e1605 qt5base: explicitly disable KMS support 2025-05-22 10:58:15 +00:00
Mirko Vogt af2dc0b0d4 qt5base: restructure Makefile a bit (only cosmetics) 2025-05-22 10:58:15 +00:00
Mirko Vogt 10cefd1467 qt5base: disable udev / input auto-discovery by default
Under certain circumstances udev appears to be responsible (or part of)
a race condition, where input devices are treated and behave differently
than expected.

An attempt of documenting this issue:
https://bugreports.qt.io/browse/QTBUG-86630
2025-05-22 10:58:15 +00:00
Mirko Vogt 9e0912ac7e qt5declarative: also install cmake and pkgconfig files for qt5quick 2025-05-22 10:58:15 +00:00
Mirko Vogt 68d48f0ef8 qt5base: introduce rule to install pkgconfig *.pc files
and use that for files coming out of an qt5base install already.
2025-05-22 10:58:15 +00:00
Mirko Vogt 36d9961785 qt5base: install all built plugin binaries into $(STAGING_DIR)
They shouldn't be necessary, as nothing will or at least should link
against the resulting shared objects, as they aren't regular ones but
plug-ins.
However cmake-based projects complain about them missing - hence
provide/install them.
2025-05-22 10:58:15 +00:00
Mirko Vogt 416b5e13f9 qt5base: expand Install/Plugins func in qmake.mk
Allow installing all plugins via wildcard ("*")
2025-05-22 10:58:15 +00:00
Mirko Vogt baf773fd28 qt5base: install cmake files
Allow 3rd party software to use cmake to build against Qt5
2025-05-22 10:58:15 +00:00
Mirko Vogt 3682c598e5 qt5quick2: Symlink $PATH/qmlplugindump to /bin/true
qmlplugindump appears to be called at the end of `make`-invocation for
qmake generated projects.

If it fails with exit code != 0 the OpenWrt build fails.

qmlplugindump is apparently needed as a host tool, but can not be
(easily) packaged as a host tool.

The project file states:

  "qmlplugindump cannot be a build tool, because it loads target plugins."

which seems pretty mysterious to me.

So it's needed as a requirement on the host system, and/but natively
installed (newer) versions - at with my Debian's version - started to
fail with:

  "QQmlComponent: Component is not ready"

I have no idea what qmlplugindump actually does or why it's needed.

It seems to do no harm to not invoke qmlplugindump - so
hack-not-even-fix it by just overriding each qmlplugindump invocation.
2025-05-22 10:58:15 +00:00
Mirko Vogt 6244c3ab91 qt5base - add missing includes for newer gcc versions (limits.h)
With gcc11+ certain headers are not included by default anymore - see:
https://www.gnu.org/software/gcc/gcc-11/porting_to.html#header-dep-changes
2025-05-22 10:58:15 +00:00
Mirko Vogt 844452a0ff qt5base: do not use OpenWrt's pkg-config wrapper
Qt takes care of wrapping cross compiling paths by its own
2025-05-22 10:58:15 +00:00
Mirko Vogt 220ce15648 qt5base: force-build "input"-component
Without that patch the build rule including the input component depends
on other options being enabled, such as e.g. GUI support.
Since our host build is headless and we only need the input component
which actually does not have any such dependencies, we patch to force-
build it.

input component being present is a requirement for e.g. qt5tools
building certain host tools - such as 'kmap2qmap'.
2025-05-22 10:58:15 +00:00
Mirko Vogt e9618104f7 qt5base/qmake.conf: clear optimization related compiler flags 2025-05-22 10:58:15 +00:00
Mirko Vogt e8e789efc3 qt5*: adjust Qt5 suite to previously applied path/name changes 2025-05-22 10:58:15 +00:00
Mirko Vogt aae52e9b46 qt5base: change dir/file structure for Qt5 install in staging-dirs
Main objective is to make sure every Qt5 related file is clearly about
Qt version *5*. For files which do not contain the version number, make
sure the path contains it (e.g. suffixing the directory paths with
"/qt5"). This is done for host and target builds and accounts for the
following paths:
/bin -> /bin/qt5
/share -> /share/qt5
Every file inside /lib (except /lib/qt5/* which is covered by the
archdata-directory) is already versioned by its respective file names.
Keep target specific host builds inside $(STAGING_DIR)/host.
2025-05-22 10:58:15 +00:00
Mirko Vogt 6655386d5c qt5*: update complete Qt5 suite to latest version: 5.15.16 2025-05-22 10:58:15 +00:00
Mirko Vogt 5418a44bc8 qt5: move qt5 modules into its own sub-directory 2025-05-22 10:58:15 +00:00
Mirko Vogt 76fbcf9871 qt5base: compile host build without xkbcommon support 2025-05-22 10:58:15 +00:00
Mirko Vogt 28b4c46324 Merge pull request #68 from mirko/allow-no-clc-without-llvm
mesa: setting meson opt mesa-clc to 'auto' if LLVM support disabled
2025-05-20 03:02:11 +02:00
Rosen Penev c2984e5d28 xkeyboard-config: update to 2.44
Remove intltool/host dependency. Not needed.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2025-05-20 00:21:22 +01:00
Mirko Vogt f2d60f5719 mesa: setting meson opt mesa-clc to 'auto' if LLVM support disabled
mesa-clc set to 'system' requires the system tool 'mesa-clc' which gets
built as part of the mesa/host build.

The mesa/host build however depends on LLVM and others - hence we're
trying to avoid pulling this in where possible if target configuration
allows.

meson option 'mesa-clc' allows for 3 options: enabled, system, auto.

While 'auto' sounds like it will only automagically go for either
'enabled' or 'system', it will also disable CLC support entirely, if
only drivers are enabled which don't need it (resulting in
`with_clc=false`) - which is exactly what we want.

This relies on only drivers being selectable, which don't automatically
enable CLC - if LLVM support is disabled.
2025-05-19 21:34:37 +00:00
Daniel Golle 2ebf064c05 mesa: update to 25.0.5
Improve build and make dependency on LLVM conditional.

Fixes: #60
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-12 19:01:45 +01:00
Daniel Golle 1c22abb81a vulkan-loader: update to 1.4.309
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-12 19:01:45 +01:00
Daniel Golle b3ea058fd4 vulkan-headers: update to 1.4.309
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-12 19:01:45 +01:00
Daniel Golle 5ef4d49753 glslang: update to 15.3.0
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-12 19:01:45 +01:00
Daniel Golle 094921da16 llvm: update to 20.1.3
Update spirv-llvm-translator subproject to 20.1.2.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-12 19:01:45 +01:00
Daniel Golle df2c1f47af spirv-tools: update to 1.4.309.0
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-12 19:01:45 +01:00
Daniel Golle 95f45fff64 spirv-headers: update to 1.4.309.0
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-12 19:01:45 +01:00
Daniel Golle f3f70b11b7 sdl2-doom: use updated fork
Use an updated fork of sdl2-doom which fixes compiler errors when
using recent GCC.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-03 04:41:11 +01:00
Daniel Golle 462c951053 wpewebkit: update to version 2.46.7
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-03-21 00:20:13 +00:00
Daniel Golle 1234953638 wpebackend-fdo: update to version 1.14.4
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-03-21 00:20:13 +00:00
Daniel Golle 6582ecaa5d libwpe: update to version 1.16.2
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-03-21 00:20:13 +00:00
Christian Marangi d41d8b1aa8 qt5base: fix wrong PKG_HASH
Fix wrong PKG_HASH this has probably changed after xz vulnerability
discovery. Update to new PKG_HASH version.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-02-02 13:25:34 +01:00
Daniel Golle 44424d479a wpewebkit: update to version 2.46.5
See https://wpewebkit.org/security/WSA-2024-0008.html

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-12-23 01:32:44 +00:00
Daniel Golle c23446c720 gzdoom: update to 4.13.2
Update to new release.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-12-20 20:59:48 +00:00
Daniel Golle 3880c96903 mesa: update to version 24.3.1
Include libs in /usr/lib/gbm/dri_gbm.so as well as /usr/lib/dri/*.so in
libmesa packages.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-12-20 12:22:24 +00:00
Daniel Golle c2c7549bc3 mesa: add package decriptions
Add descriptions for all generated packages.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-12-13 14:50:27 +00:00
Daniel Golle 98444e090b wpewebkit: portability fixes
* Use JavaScript JIT only on supported platforms.
 * Fix ARM Thumb2 detection to allow using JavaScript JIT on ARMv7.
 * Add inline assembly implementation returning the current stack pointer
   on PPC64 (or PPC).

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-12-13 03:35:31 +00:00
Daniel Golle 68ccbbb3b6 mesa: remove useless OpenCL libraries
Clover only implements OpenCL API for nouveau, r600 and radeon-si GPUs.
Remove OpenCL library packages for targets which anyway implement 0% of
the API and are hence useless.

See also https://mesamatrix.net

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-12-13 03:34:22 +00:00
Daniel Golle 8add6bc3b6 gzdoom: only build for 64-bit architectures
Only LP64/LLP64 builds are officially supported. Please do not attempt
to build for other platforms; even if the program succeeds in a MAP01
smoke test, there are e.g. known visual artifacts that lead to a bad
user experience.

Still allow build on 32-bit platforms in case BROKEN is selected, so
users can try if it would work on their system as forum claims a fix
had actually been applied long ago.

Link: https://forum.zdoom.org/viewtopic.php?f=7&t=75673
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-12-09 03:33:13 +00:00
Daniel Golle b24439f50b mesa: clean up dependencies
Define all CONFIG_PACKAGE_* symbols which may change build configuration
and only build broadcom drivers on ARM targets with FPU.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-12-08 22:55:29 +00:00
Daniel Golle bed571414a seatd: import upstream patch to fix build for PowerPC
Backport patch merged upstream
https://git.sr.ht/~kennylevinsen/seatd/commit/d57109285591594de5d37d9ad158e2616875be7c

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-12-08 12:40:08 +00:00
Daniel Golle d66b60264d gtk: depends on libgst1player
Add missing dependency on libgst1player.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-12-08 02:09:00 +00:00
Daniel Golle 88bf1425a1 sdl2: get rid of libunwind for good
Previous attempts to prevent linking against libunwind were incomplete.
Simply don't call CheckLibUnwind macro.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-12-08 02:08:48 +00:00
Daniel Golle d91f0b4823 mesa: fix dependencies and always prefer LLVM subproject
Make sure build dependency to mesa/host is set for x86 and x86/64 builds,
add missing dependency on Python ply and make sure to always prefer LLVM
subproject to avoid picking up LLVM from the build host (which may not
match SPIR-V converter tool version).

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-12-07 21:58:31 +00:00
Daniel Golle 1025032ab8 gzdoom: stage host binaries
Install host-built binaries to STAGING_DIR_HOSTPKG as HOST_BUILD_DIR gets
cleared and should not be referenced after host build has completed.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-12-07 21:57:43 +00:00