Bug 255973 - x11-drivers/xf86-video-qxl deprecated/deleted, yet upstream source builds on freebsd 12.2
Summary: x11-drivers/xf86-video-qxl deprecated/deleted, yet upstream source builds on ...
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Some People
Assignee: freebsd-x11 (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-05-18 11:24 UTC by John Hartley
Modified: 2021-07-20 01:46 UTC (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John Hartley 2021-05-18 11:24:36 UTC
BUG/REQUEST:

The xf86-video-qxl X11 driver has been deprecated due to dependency on Python 2.7

See Fresh Ports: https://www.freshports.org/x11-drivers/xf86-video-qxl/

However on doing upstream source build on FreeBSD 12.2 this builds and runs without any source changes / patches and already supports Python 3.7 dependency.

Could this port please be reinstated and updated with build against Python 3.7

TESTING:

X11 failed to start using: startx

On FreeBSD 12.2 running as Ubuntu 21.04 KVM / QEMU quest did:

1. Package install of build tools
2. Clone of upstream xf86-video-qxl
3. Followed by configure, make and make install

Simple configuration update to allow QEMU EvTouch USB Tablet to work with evdev & utouch package.

Result was:

X11 now starts on FreeBSD 12.2 when run as guest on Ubuntu 21.04 KVM / QEMU host

Build details are:

---
--- Install the build tools
---
$ pkg install git
$ pkg install autoconf
$ pkg install automake
$ pkg install xorg-macros
$ pkg install m4
$ pkg install pkgconf
$ pkg install libtool
$ pkg install python37

---
--- Clone source and make
--- 
$ cd dev
$ git clone https://gitlab.freedesktop.org/xorg/driver/xf86-video-qxl.git
$ cd xf86-video-qxl
$ ./autogen.sh
$ make
$ su
$ make install

NOTE: Other packages installed include: xorg evdev & utouch

Configuration required for evdev/utouch:

# cat /usr/local/etc/X11/xorg.conf.d/99-qemu-input.conf 
#
# Overide libinput
#
Section "InputClass"
        Identifier "evdev touchscreen catchall"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

More details and testing information is documented here:https://tips.graphica.com.au/freebsd-gnome-on-qemu/

X11 now starts via startx

NOTE: gdm & gnome3 not installed as these package are also missing, to I only tested as part as getting X11 running.


SUMMARY:

I have not done build of full "Spice" sub-system but certainly the xf86-video-qxl driver port should be readily updated to build without Python 2.7 dependency.
Comment 1 Niclas Zeising freebsd_committer 2021-05-28 09:29:24 UTC
Hi!
Feel free to submit a patch to update qxl to use python3 instead of python 2, and I'll look into it.
Thanks!
Comment 2 John Hartley 2021-05-30 06:53:14 UTC
Hi Niclas,

as it appears that xf86-video-qxl was removed from the ports repository with branch 2020Q4, I did a fork of entire ports tree (via GitHub) and then checked out the 2020Q3 branch.

# git checkout 2020Q3

I then update of Makefile to use python 3.7 and make.

This built successfully.

Here is diff:
git diff Makefile
diff --git a/x11-drivers/xf86-video-qxl/Makefile b/x11-drivers/xf86-video-qxl/Makefile
index 65dbd1059ebe..fb265dd39d71 100644
--- a/x11-drivers/xf86-video-qxl/Makefile
+++ b/x11-drivers/xf86-video-qxl/Makefile
@@ -17,7 +17,7 @@ BUILD_DEPENDS=        spice-protocol>=0.12.10:devel/spice-protocol \
                ${LOCALBASE}/include/linux/input.h:devel/evdev-proto
 LIB_DEPENDS=   libspice-server.so:devel/libspice-server
 
-USES=          localbase:ldflags pkgconfig python:2.7 shebangfix xorg \
+USES=          localbase:ldflags pkgconfig python:3.7 shebangfix xorg \
                xorg-cat:driver
 USE_XORG=      xfont


Given that the entire sub-directory is removed from port tree, I am not sure what the process is to get it back with updated dependencies.

Cheers,


John Hartley.