diff options
Diffstat (limited to 'repo/xf86-video-qxl')
-rw-r--r-- | repo/xf86-video-qxl/buildfix.patch | 101 | ||||
-rw-r--r-- | repo/xf86-video-qxl/convert-xspice-python3.patch | 154 | ||||
-rw-r--r-- | repo/xf86-video-qxl/xf86-video-qxl.xibuild | 27 |
3 files changed, 282 insertions, 0 deletions
diff --git a/repo/xf86-video-qxl/buildfix.patch b/repo/xf86-video-qxl/buildfix.patch new file mode 100644 index 0000000..d1a8d7e --- /dev/null +++ b/repo/xf86-video-qxl/buildfix.patch @@ -0,0 +1,101 @@ +From 4b083ede3c4a827a84295ff223e34ee3c2e581b2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?= + <zboszor@gmail.com> +Date: Sat, 28 Aug 2021 15:38:40 +0200 +Subject: [PATCH] Fix a build error with Xorg master +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Use xf86ReturnOptValBool() in get_bool_option() instead of +options[option_index].value.bool to fix a compiler error with +current Xorg xserver master branch. + +Also use xf86GetOptValInteger() in get_int_option() and +xf86GetOptValString() in get_str_option() for consistency. + +The change causes a slight performance drop during option parsing +because the passed-in index_value is no longer used as an index +into the options array. + +Instead, it's used as a token now for the standard option getter +functions which works since the index_value to the get_*_option() +functions are identical to the value of options[n].token in the +passed-in OptionInfoRec array. + +Also rename "int option_index" to "int token" for clarity in all +three functions. + +Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com> +--- + src/qxl_option_helpers.c | 13 +++++++------ + src/qxl_option_helpers.h | 6 +++--- + 2 files changed, 10 insertions(+), 9 deletions(-) + +diff --git a/src/qxl_option_helpers.c b/src/qxl_option_helpers.c +index 2aba677..7707b7c 100644 +--- a/src/qxl_option_helpers.c ++++ b/src/qxl_option_helpers.c +@@ -10,31 +10,32 @@ + + #include "qxl_option_helpers.h" + +-int get_int_option(OptionInfoPtr options, int option_index, ++int get_int_option(OptionInfoPtr options, int token, + const char *env_name) + { ++ int value; + if (env_name && getenv(env_name)) { + return atoi(getenv(env_name)); + } +- return options[option_index].value.num; ++ return xf86GetOptValInteger(options, token, &value) ? value : 0; + } + +-const char *get_str_option(OptionInfoPtr options, int option_index, ++const char *get_str_option(OptionInfoPtr options, int token, + const char *env_name) + { + if (getenv(env_name)) { + return getenv(env_name); + } +- return options[option_index].value.str; ++ return xf86GetOptValString(options, token); + } + +-int get_bool_option(OptionInfoPtr options, int option_index, ++int get_bool_option(OptionInfoPtr options, int token, + const char *env_name) + { + const char* value = getenv(env_name); + + if (!value) { +- return options[option_index].value.bool; ++ return xf86ReturnOptValBool(options, token, FALSE); + } + if (strcmp(value, "0") == 0 || + strcasecmp(value, "off") == 0 || +diff --git a/src/qxl_option_helpers.h b/src/qxl_option_helpers.h +index 7c54c72..66d0a17 100644 +--- a/src/qxl_option_helpers.h ++++ b/src/qxl_option_helpers.h +@@ -4,13 +4,13 @@ + #include <xf86Crtc.h> + #include <xf86Opt.h> + +-int get_int_option(OptionInfoPtr options, int option_index, ++int get_int_option(OptionInfoPtr options, int token, + const char *env_name); + +-const char *get_str_option(OptionInfoPtr options, int option_index, ++const char *get_str_option(OptionInfoPtr options, int token, + const char *env_name); + +-int get_bool_option(OptionInfoPtr options, int option_index, ++int get_bool_option(OptionInfoPtr options, int token, + const char *env_name); + + #endif // OPTION_HELPERS_H +-- +GitLab + diff --git a/repo/xf86-video-qxl/convert-xspice-python3.patch b/repo/xf86-video-qxl/convert-xspice-python3.patch new file mode 100644 index 0000000..145d3e3 --- /dev/null +++ b/repo/xf86-video-qxl/convert-xspice-python3.patch @@ -0,0 +1,154 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Christophe Fergeau <cfergeau@redhat.com> +Date: Wed, 8 Feb 2017 15:23:56 +0100 +Subject: [PATCH] Xspice: Use print("") instead of print "" + +This allows Xspice to run when using python3 instead of python2 +--- + scripts/Xspice | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/scripts/Xspice b/scripts/Xspice +index ada99d1..30d10fa 100755 +--- a/scripts/Xspice ++++ b/scripts/Xspice +@@ -34,7 +34,7 @@ def which(x): + candidate = os.path.join(p, x) + if os.path.exists(candidate): + return candidate +- print 'Warning: failed to find executable %s' % x ++ print('Warning: failed to find executable %s' % x) + return None + + if 'XSPICE_ENABLE_GDB' in os.environ: +@@ -128,10 +128,10 @@ args, xorg_args = parser.parse_known_args(sys.argv[1:]) + def agents_new_enough(args): + for f in [args.vdagent_exec, args.vdagentd_exec]: + if not f: +- print 'please specify path to vdagent/vdagentd executables' ++ print('please specify path to vdagent/vdagentd executables') + return False + if not os.path.exists(f): +- print 'error: file not found ', f ++ print('error: file not found ', f) + return False + + for f in [args.vdagent_exec, args.vdagentd_exec]: +@@ -169,11 +169,11 @@ def tls_files(args): + # and it isn't supplied spice will still abort, and Xorg with it. + for key, filename in tls_files(args).items(): + if not os.path.exists(filename): +- print "missing %s - %s does not exist" % (key, filename) ++ print("missing %s - %s does not exist" % (key, filename)) + sys.exit(1) + + def error(msg, exit_code=1): +- print "Xspice: %s" % msg ++ print("Xspice: %s" % msg) + sys.exit(exit_code) + + if not args.xorg: +@@ -319,7 +319,7 @@ for arg in xorg_args: + if arg.startswith(":"): + display = arg + if not display: +- print "Error: missing display on line (i.e. :3)" ++ print("Error: missing display on line (i.e. :3)") + raise SystemExit + os.environ ['DISPLAY'] = display + +@@ -343,7 +343,7 @@ time.sleep(2) + + retpid,rc = os.waitpid(xorg.pid, os.WNOHANG) + if retpid != 0: +- print "Error: X server is not running" ++ print("Error: X server is not running") + else: + if args.vdagent_enabled and args.vdagent_launch: + # XXX use systemd --user for this? +@@ -361,4 +361,4 @@ else: + xorg.wait() + except KeyboardInterrupt: + # Catch Ctrl-C as that is the common way of ending this script +- print "Keyboard Interrupt" ++ print("Keyboard Interrupt") + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Christophe Fergeau <cfergeau@redhat.com> +Date: Wed, 8 Feb 2017 17:07:39 +0100 +Subject: [PATCH] Xspice: Remove extra space before assignment + +--- + scripts/Xspice | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/scripts/Xspice b/scripts/Xspice +index 30d10fa..41fd80c 100755 +--- a/scripts/Xspice ++++ b/scripts/Xspice +@@ -211,7 +211,7 @@ signal.signal(signal.SIGTERM, cleanup) + atexit.register(cleanup) + + if args.auto: +- temp_dir = tempfile.mkdtemp(prefix="Xspice-") ++ temp_dir = tempfile.mkdtemp(prefix="Xspice-") + cleanup_dirs.append(temp_dir) + + args.config = temp_dir + "/xorg.conf" +@@ -275,7 +275,7 @@ if args.vdagent_enabled: + os.unlink(f) + + if not temp_dir: +- temp_dir = tempfile.mkdtemp(prefix="Xspice-") ++ temp_dir = tempfile.mkdtemp(prefix="Xspice-") + cleanup_dirs.append(temp_dir) + + # Auto generate temporary files for vdagent + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Christophe Fergeau <cfergeau@redhat.com> +Date: Wed, 8 Feb 2017 17:07:56 +0100 +Subject: [PATCH] Xspice: Fix Python3 str() vs bytes() confusion + +With python3, without universal_newlines=True, Popen().stdout.read() +will return a byte array, while find(str) expects to operate on a +string. +I've checked that this still works with python2 as well. +--- + scripts/Xspice | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/scripts/Xspice b/scripts/Xspice +index 41fd80c..927dcb1 100755 +--- a/scripts/Xspice ++++ b/scripts/Xspice +@@ -135,7 +135,7 @@ def agents_new_enough(args): + return False + + for f in [args.vdagent_exec, args.vdagentd_exec]: +- if Popen(args=[f, '-h'], stdout=PIPE).stdout.read().find('-S') == -1: ++ if Popen(args=[f, '-h'], stdout=PIPE, universal_newlines=True).stdout.read().find('-S') == -1: + return False + return True + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Christophe Fergeau <cfergeau@redhat.com> +Date: Thu, 17 May 2018 15:31:05 +0200 +Subject: [PATCH] Xspice: Adjust shebang to explicitly mention python3 + +--- + scripts/Xspice | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/scripts/Xspice b/scripts/Xspice +index 927dcb1..78d0794 100755 +--- a/scripts/Xspice ++++ b/scripts/Xspice +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/python3 + + """ + Xspice + + diff --git a/repo/xf86-video-qxl/xf86-video-qxl.xibuild b/repo/xf86-video-qxl/xf86-video-qxl.xibuild new file mode 100644 index 0000000..f7fd090 --- /dev/null +++ b/repo/xf86-video-qxl/xf86-video-qxl.xibuild @@ -0,0 +1,27 @@ +#!/bin/sh + +MAKEDEPS="make spice-protocol" +DEPS="xorg-server" + +DESC="X.org qxl video driver" + +PKG_VER=0.1.5 +SOURCE=https://www.x.org/pub/individual/driver/xf86-video-qxl-$PKG_VER.tar.bz2 +ADDITIONAL=" + buildfix.patch + convert-xspice-python3.patch +" + +prepare () { + apply_patches +} + +build () { + ./configure $XORG_CONFIG + make +} + + +package () { + make DESTDIR=$PKG_DEST install +} |