Replaced the deprecated get_pkgconfig_variable with get_variable.
Moved the meson_version to 0.51.0 for get_variable.
Replaced the incorrect version comparison with the correct
.version_compare method.
Using the new driver build actions in X11Libre/actions-build-driver repo,
instead of having lots of duplicated pipeline and script in all the
individual driver repos.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
The module directory has changed to a per ABI folder in the xlibre-xserver.
Now the default value of `xorg-module-dir` will be detected from the `moduledir` variable in xorg-server.pc.
Signed-off-by: b-aaz <b-aazbsd.proton.me>
Since recent commits require xserver-1.18.0 or later to build against,
there's no reason leaving behind big chunks of code that can only build
against the XAA support removed in xserver-1.13.0 (released in 2012).
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
The <micoord.h> file is deprecated and this is the only driver actually
using it, so define them on our own.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
It's always defined to 4, so extra check necessary.
See: xserver commit 17c3347f14822b9f7da4253c71f6ed51be2b38d1
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
> sna_video.c: In function 'sna_video_init':
> sna_video.c:956:13: error: 'noXvExtension' undeclared (first use in this function); did you mean 'XvExtension'?
> 956 | if (noXvExtension)
> | ^~~~~~~~~~~~~
> | XvExtension
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
There's really no need to duplicate fd to a trivial sysfs file, neither
any need to explicitly mark it as close-on-exec. There's no locking
whatsoever involved, even parallel writes are fully supported for
sysfs attribute files.
And the way it was done was really weird and fragile: it just brutely
overwrote fd # MAXCLIENTS. The MAXCLIENTS define is internal to the
Xserver, outside of individual driver's concern, and drivers really
shouldn't directly mess with the fd table that way - they have no way
to make sure it's really done right.
Therefore, just drop this all and leave the fd as it is.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Include <sys/select.h> to provide timer_tv. Fixes the missing definition
when sna is enabled and udev is disabled in configure.
Fixes: #10
Signed-off-by: callmetango <callmetango@users.noreply.github.com>
The module directory has changed to a per ABI folder in the xlibre-xserver.
Now the default value of `xorg-module-dir` will be detected from the `moduledir` variable in xorg-server.pc.
Signed-off-by: b-aaz <b-aazbsd.proton.me>
This pipeline builds the driver against the latest Xserver stable
release as well as current master.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Add the following forms for issue creation:
* Bug report
* Feature request
* Code change
* Documentation update
* Organizational task
* add issue type selection page on "New Issue" call
* mention Github Discussions and the mailing list where appropriate
Part-of: X11Libre/misc#156
Signed-off-by: callmetango <callmetango@users.noreply.github.com>
The AllocateFontPrivateIndex() is gone from Xserver since about a decade
ago, but the driver doensn't correctly detect it. Since there's really
no need to support an over a decade old Xserver anymore, just drop the
whole detection logic and use xfont2_allocate_font_private_index()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This driver is the only one still using xf86nameCompare() and so
blocking it's removal from Xserver module ABI.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Some (non-BSD) platforms don't have <byteswap.h>, so better use the
Xserver's bswap_32() implementation here.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
xnfcalloc is just an alias for XNFcallocarray() that doesn't seem to serve
any practical purpose, so it can go away once all drivers stopped using it.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
xnfalloc is just an alias for XNFalloc() that doesn't seem to serve
any practical purpose, so it can go away once all drivers stopped using it.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
These are just wrappers for calling input_lock()/input_unlock() and marked
deprecated for quite a while now.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Adding a gitlab pipeline building this driver against Xserver major releases
since 1.18, including current master branch, on Debian as well as FreeBSD.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Adding a bunch of common scripts for building xorg drivers on different
platforms (for now Debian and FreeBSD) against different server versions.
Also designed to be executed locally (eg. within a VM), so one doesn't
always have to employ f.d.o gitlab.
For now, these are synced manually across various driver repos, until we've
found a viable solution for a central place.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Xserver includes have explicit pointer types for quite all kind of structs
(at least those used by drivers), which are used all over the Xserver.
Thus it's much cleaner to use those everywhere.
This commit also clears the road to fix a horrible nightmare of hacks just
needed to circumvent naming clashes between Xserver and Xlib (affecting all
DDXes that are painting on another Xserver): we can simply rename Xserver's
own "GC" type to "GCRec" (the usual naming convention here) and so no trouble
with Xlib's "GC" type anymore. Once this has landed, we're free to do that
without breaking this driver.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
The Xserver's System() function is a special wrapper for calling a program
(xkbcomp) as an unprivileged user, when the Xserver is running as suid-root.
(which today only needed on a few platforms, eg. Solaris). Therefore it's
not suited for being called by arbitrary drivers.
In this specific context it doesn't even much sense, since it's just used
for checking whether pkexec command is present at all (and just should be
used), while the actual exec'ing of the helper is done directly by fork()
and exec() syscalls.
Thus we can safely use standard system() call instead - clearing the road
for dropping System() from Xserver's public/driver API.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>