seatd answers CLIENT_OPEN_SEAT by buffering the response and the enable
event together, so both reach libseat in one read. libseat parses only
the response and leaves the event in its connection buffer, with nothing
left on the socket for a client watching the fd to be woken by, so a
client that follows the documented contract never activates its seat.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Start seatd to manage physical consoles directly in case CONFIG_VT is
disabled by passing SEATD_VTBOUND=0 env variable.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
A hardware driver renders through /dev/dri/renderD*, which is 0600
root:root until accel-support allocates the render group and ships the
rule that puts the node into it.
The software rasterisers are the exception and keep no such dependency:
libmesa-softpipe, libmesa-llvmpipe and libvulkan-lvp run on the CPU and
open no device. Because the gate sits on each driver, an image built
around a software rasteriser stays out of the render group, while one
that picks a hardware driver pulls the group in with it.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Nothing depends on the libwpe API any more: wpewebkit is built against
WPEPlatform, and wpebackend-fdo and cog are gone.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
The only consumers were wpewebkit, which is now built with
ENABLE_WPE_LEGACY_API=OFF, and cog, which is gone.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Cog is a launcher built on the libwpe API and wpebackend-fdo, which
wpewebkit no longer provides now that it is built against WPEPlatform
only. MiniBrowser covers the testing role, and applications should use
the WPE API directly.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Switch to WPEPlatform only: ENABLE_WPE_LEGACY_API=OFF drops the libwpe
API and with it the wpebackend-fdo backend, which served no other
package. MiniBrowser builds against WPEPlatform without them.
WPEWebKit now needs 128-bit atomics, so add libatomic. libstdcpp and
libxkbcommon used to arrive through libwpe and are linked directly, so
declare them.
Patch 122 is upstream and is dropped; 126 keeps only its DWARF register
mapping hunk. 138 and 147 are ported to the refactored atomic op macros,
where upstream hoisted 63 inline bodies out into named macros, and 147's
compare-exchange slow path gains the expected-value argument and the
result move it was missing.
Eight patches are new. The WebDriver log channel is read unguarded while
it is only declared when logging is compiled in. WPE reports
prefers-reduced-motion inverted, so animations are disabled by default.
WebKit cannot resolve a WebCore header that another WebCore header
includes by bare name, which stops the prefix header compiling as the
translation unit of its own that a precompiled header needs. libpas picks
a __uint128_t for pas_pair wherever the compiler is not Clang and the
target is not 32-bit ARM, which leaves 32-bit x86 without a type, and its
pair atomics then need the same unreachable stub that 32-bit ARM already
uses.
The remaining four are RISCV64. The offlineasm backend cannot lower a call
to a local label, nor a floating-point branch to a global label, both of
which the LLInt asm emits. B3 declares u64 inside the ARM64 and X86_64
arms of isValidFPImm64Form and reads it after the #endif, which no other
architecture compiles. The MacroAssembler is missing the
store64(TrustedImm32, BaseIndex) and immediate-valued moveConditionally32
forms that DFGSpeculativeJIT calls.
Add test-version.sh: nothing the packages install reports the version, so
the generic test cannot probe for it. The helper processes take no
arguments and print nothing, WPEWebDriver has no --version, and the .pc
file that carries the version belongs to Build/InstallDev.
Regenerate the whole series with git format-patch so every patch carries
a git-am header and a description, refresh it for the new line numbers,
and correct two descriptions that referred to WebKitGTK.
Link: https://wpewebkit.org/release/wpewebkit-2.54.0.html
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
State machine for a VT220 terminal emulator, with no rendering or input
handling of its own. kmscon builds on it.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
The package builds xkeyboard-config-2.pc and a compatibility symlink
to it, but installs neither into the staging directory, so anything
asking pkg-config for xkeyboard-config fails to configure. plymouth
does, for the xkb_base path.
Install both names; the symlink alone leaves a dangling link.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Make SVG documents loadable and renderable from ucode. A document is a
resource type that reports its intrinsic size, computes the extents of
the whole drawing or of one element by id, and renders either onto a
plutovg canvas or into a fresh surface. CSS currentColor is passed as
an ordinary colour value and colour variables resolve through a ucode
object or callback invoked during rendering.
Script data handed to the loader is copied because the parser keeps
pointers into it for the lifetime of the document; the copy is released
through the destroy callback. An element id is dereferenced in the
frame that owns the argument, as a short ucode string lives inside the
variable holding the value.
Surfaces returned by the renderer are plutovg resources, so the plutovg
module is loaded on demand when it is not already present.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Make the plutovg drawing API usable from ucode. Surfaces, canvases,
paths, paints and font faces become ucode resource types with method
tables, while colours, points, rectangles, matrices and gradient stops
cross the boundary as plain ucode objects or arrays, so a whole scene
can be built and mutated from script. Enumerations are spelled as
strings rather than opaque integers.
Each resource holds one plutovg reference and drops it from the type
destructor; getters that return a borrowed pointer take a reference
before wrapping it, so a canvas keeps its surface alive and nothing is
released twice at collection time.
The value conversion helpers live in a separate header installed into
the staging directory because the plutosvg binding needs the same
colour and rectangle marshalling.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Parses SVG and draws it through plutovg, which lets a theme ship its
artwork as text rather than as rendered bitmaps. 33 KiB on aarch64, and
it needs nothing beyond plutovg and libc.
freetype is disabled: it only serves OpenType SVG glyphs, and pulling it
in for that would outweigh the library several times over. The bundled
plutovg wrap is refused so a failed dependency check cannot stage a
second copy over the packaged one.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Software rasteriser for paths, strokes, gradients and transforms onto a
32-bit premultiplied ARGB surface, which it can create over memory the
caller already owns. Needed to draw a boot splash procedurally rather
than from a baked frame sequence.
Links against nothing but libc, and comes to 172 KiB on aarch64. The
font face cache is disabled along with the examples and tests, since
nothing here renders text.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Update LLVM and SPIRV-LLVM-Translator, which are used for the Mesa
build, to the latest release. libclc is no longer a standalone LLVM
project and is no longer built either, as the Intel GPU drivers do not
need it any more. Give the refreshed ARC patch the git header the
OpenWrt patch guidelines require.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
26.2.0 was a development release which upstream advised against using;
26.2.1 is the first stable point release on the 26.2 branch and 26.2.2
adds further bug fixes on top of it, among them the armhf build fix and
one potential security issue. Drop patch 400, whose fix is now present
upstream, and refresh the remaining patches. Add a new patch adapting
the gallivm ORCJIT object linking layer creator to the signature change
in LLVM 23, which targets without MCJIT support such as riscv64 need.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Some of test programs packaged as sdl3-tests dynamically link against
some of FFmpeg's libraries in case their presence is detected.
In the case sdl3-tests fails to be packaged as the linker dependency
isn't reflected as a package dependency.
Add the missing dependency, so the tests for FFmpeg are always built,
and building sdl3-tests always succeeds.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
The libraries depend on libatomic on every architecture, link it only
on mips through an open-coded LDFLAGS addition, and still name the
removed arc architecture in their dependencies. ATOMIC64_DEPENDS
restricts the dependency to the targets whose compiler calls libatomic
for 64-bit atomics, and the link flag follows the same symbol, which
also covers the ARMv5 targets.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
libatomic is only needed where the compiler does not inline 64-bit
atomics, but the package depends on it on every target.
ATOMIC64_DEPENDS restricts the dependency to those targets.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
16.4.0 references the same commit as the vulkan-sdk-1.4.357.0 release
tag; use the semver tag as before to keep package-manager version
comparisons monotonic. Part of a joint bump across vulkan-headers/
loader/tools, spirv-headers/tools and glslang to LunarG's latest
released Vulkan SDK.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Track LunarG's latest released Vulkan SDK (1.4.357.0), part of a joint
bump across vulkan-headers/loader/tools, spirv-headers/tools and
glslang.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Track LunarG's latest released Vulkan SDK (1.4.357.0), part of a joint
bump across vulkan-headers/loader/tools, spirv-headers/tools and
glslang.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Track LunarG's latest released Vulkan SDK (1.4.357.0), part of a joint
bump across vulkan-headers/loader/tools, spirv-headers/tools and
glslang.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Track LunarG's latest released Vulkan SDK (1.4.357.0), part of a joint
bump across vulkan-headers/loader/tools, spirv-headers/tools and
glslang.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Track LunarG's latest released Vulkan SDK (1.4.357.0), part of a joint
bump across vulkan-headers/loader/tools, spirv-headers/tools and
glslang.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2.24.0: added the VA_PICTURE_H264_NON_EXISTING flag; security hardening
(use secure_getenv instead of getenv in va_x11.c); expanded tracing/
logging for protected session operations (dump input/output data in
va_TraceProtectedSessionExecute); fixed the AV1 Doxygen documentation
link.
2.24.1: include <unistd.h> for getuid/getgid in the secure_getenv
fallback (build fix following the 2.24.0 secure_getenv change).
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
From 14.2.1, via minor point releases in between:
- fixed AAT insertion at the end of the text
- fixed various rendering bugs in the experimental GPU library
- the WASM shaper can now read user features
- various fuzzing, build and subsetting fixes
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
1.58.0: PangoFontDescription gained a width attribute (like stretch,
but allowing intermediate values); PangoRenderer can now render only
selected layout components (overlines/underlines/strikethrough/text).
1.58.1: raised minimum harfbuzz to 11 and glib to 2.88 (both already
satisfied by this feed/packages); CoreText variations and font
features from descriptions; renderer keeps over/under/through lines
in sync; assorted undefined-behaviour fixes.
1.58.2: no functional changes, version bump only.
Hash verified against two independent GNOME mirrors.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
From 0.3.0. Notable changes:
- added DisplayID v2 CTA-861 data block support (parsing and
di-edid-decode printing), with CTA data now searchable from DisplayID
v2 extensions
- added DisplayID type IV timing support
- regenerated the CTA VIC table for CTA-861-I and added a reverse
timing-to-code lookup
- wrapped DMT/VIC codes in typed structs instead of bare uint8_t
- fixed a double free of cta_vics in displayid, an out-of-bounds VIC
array access, a potential overflow in a shift operation, and several
failed-allocation/uninitialised-variable issues (helped by adding
gcc's static analyzer to CI)
- cta error handling switched from errno to negative error numbers,
with several "do not fail on a single bad/erroring block" fixes
- disabled most v4l-utils build options by default
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3.4.12 (stable bugfix release):
- fixed an assert on Windows in SDL_SetWindowOpacity()
- improved support for external surfaces under Wayland
- fixed visual artifacts when switching render targets with the Vulkan
renderer; fixed a crash rendering YUV textures on NVIDIA drivers with
the Vulkan renderer
- added SDL_HINT_ENABLE_STEAM_SCREEN_KEYBOARD to customise behaviour on
Steam Deck
- improved gamepad support under Emscripten; added hotplug detection
for libusb-based HIDAPI controllers
- fixed flipped Xbox 360 controller axes on macOS
- fixed truncated long text input sequences when using sdl2-compat
3.4.14 (stable bugfix release):
- GPU buffers and textures can now have multiple read usages
- fixed an X11 crash if the IME service was shut down in the background
- fixed a hang when hiding an X11 window on some window managers
- fixed being unable to get clipboard text on older macOS versions
- fixed the 8BitDo Pro 3 controller showing up twice on macOS
- fixed Xbox controllers not being detected when SDL is built with
GameInput support
- fixed pen input creating phantom mouse events in relative mode on
Android
(3.4.11 and 3.4.13 also shipped between these but no further detail
was available from upstream's release notes.)
PKG_RELEASE reset to 1 with the version bump, per the previous commit's
PKG_BUILD_DEPENDS fix.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
PKG_BUILD_DEPENDS must reference the dependency's package directory
name (PKG_NAME), used for build-order resolution, not one of its
generated BuildPackage() sub-package names. wayland's own Makefile
(frameworks/wayland) has PKG_NAME:=wayland and builds two sub-packages,
libwayland and wayland-scanner; there is no package directory named
"libwayland". Fix the entry to reference the correct directory name.
Verified the dependency resolution itself: package/sdl3/compile now
correctly builds frameworks/wayland as part of the chain (confirmed in
the build log). sdl3's own final compile could not be verified end to
end in this environment due to an unrelated, pre-existing host
python3/ncurses build failure that blocks every meson-based package in
this feed (tracked separately, not caused by or related to this fix).
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2.44.7:
- xpm: fixed loading the xpm module if built-in
- glycin: fixed the build on 32-bit; use fwrite to avoid problems with
saving; added a signature for webp; made filename tricks work in pid
namespaces
2.44.8:
- glycin: support x-/y-dpi options for png, tiff and jpeg
Not build-verified end to end in this environment: blocked by an
unrelated, pre-existing host python3/ncurses build failure that
affects every meson-based package in this feed (tracked separately).
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
SDL3's CheckLibUnwind cmake macro autodetects libunwind for the
SDL3_test library and offers no option to disable it. On the buildbots
libunwind is present in staging, so the test programs end up linked
against it and packaging libsdl3-tests fails:
Package libsdl3-tests is missing dependencies for the following libraries:
libunwind-x86_64.so.8
libunwind.so.8
This aborts the whole sdl3 build before anything is staged, taking
down every package depending on SDL3 or SDL2 (sdl2-compat, sdl2-image,
sdl2-mixer, sdl3-image, sdl3-mixer, sdl3-doom, gzdoom, vice).
Preseed the three detection cache variables to OFF so the result no
longer depends on whether libunwind happens to be staged; it is only
used for symbolised backtraces in test leak reports.
Fixes: 51549dadd5 ("sdl3: add SDL3 3.4.10")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Build PNG, JPEG, TIFF and WebP support against the libpng, libjpeg,
libtiff and libwebp packages rather than the bundled stb_image backend.
Listing them as dependencies ensures the cross-built target libraries
are picked up instead of host libraries.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
SDL3-native image loading library (libSDL3_image), built directly
against SDL3 so it coexists with sdl2-image's libSDL2_image. PNG, JPEG,
TIFF and WebP are handled by the libpng, libjpeg, libtiff and libwebp
packages, listed as dependencies so the cross-built target libraries
are used instead of host libraries; the bundled stb backend is disabled.
https://github.com/libsdl-org/SDL_image/releases/tag/release-3.4.4
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
sdl2-compat implements the SDL2 API on top of SDL3, shipping the
libSDL2-2.0 shared library and SDL2 development files. The package is
named libsdl2-compat and only PROVIDES libsdl2, so existing SDL2
consumers resolve to it without a package name collision while the
single SDL3 build backs both APIs.
https://github.com/libsdl-org/sdl2-compat/releases/tag/release-2.32.70
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
The SDL2 library is now provided by the sdl2-compat package built on top
of SDL3, so the standalone SDL2 2.32.x package is no longer needed.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Core Simple DirectMedia Layer 3 library, the base for the SDL2 to SDL3
transition. CMake build with the same backend selection as the SDL2
package (KMSDRM, Wayland, Vulkan, OpenGL/ES, ALSA and PulseAudio with
dlopen, HIDAPI, dummy video/audio; X11 and dbus off). Provides
libSDL3.so and the SDL3 development files, plus a libsdl3-tests package
with the upstream installed-tests (SDL_INSTALL_TESTS).
https://github.com/libsdl-org/SDL/releases/tag/release-3.4.10
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Pass the xkb-config extensions path options explicitly: 1.13.2 adds
versioned and unversioned extensions directories, and tools/info.c
references DFLT_XKB_CONFIG_*_EXTENSIONS_PATH unconditionally while meson
only defines them when an xkeyboard-config root is detected, which broke
the build otherwise. Refresh 100-no-python.patch for the new source.
https://github.com/xkbcommon/libxkbcommon/blob/xkbcommon-1.13.2/NEWS.md
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Package libsdl2-image (SDL_image 2.8.12) using the bundled stb_image
backend, so it depends only on libsdl2. Required by the vice SDL2 UI.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>