public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: games-util/xboxdrv/files/, games-util/xboxdrv/
@ 2016-12-16 10:57 David Seifert
  0 siblings, 0 replies; 2+ messages in thread
From: David Seifert @ 2016-12-16 10:57 UTC (permalink / raw
  To: gentoo-commits

commit:     946021f3cbce9688b84fa96a59a11b78a9594b9e
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 16 10:31:25 2016 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Fri Dec 16 10:56:49 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=946021f3

games-util/xboxdrv: Fix building with GCC 6

Gentoo-bug: 594674

Package-Manager: portage-2.3.3

 games-util/xboxdrv/files/xboxdrv-0.8.8-fix-c++14.patch | 16 ++++++++++++++++
 games-util/xboxdrv/xboxdrv-0.8.8.ebuild                |  1 +
 2 files changed, 17 insertions(+)

diff --git a/games-util/xboxdrv/files/xboxdrv-0.8.8-fix-c++14.patch b/games-util/xboxdrv/files/xboxdrv-0.8.8-fix-c++14.patch
new file mode 100644
index 00000000..80a8d8f
--- /dev/null
+++ b/games-util/xboxdrv/files/xboxdrv-0.8.8-fix-c++14.patch
@@ -0,0 +1,16 @@
+Cast boost::shared_ptr explicitly for C++14.
+See also: https://bugs.gentoo.org/show_bug.cgi?id=594674
+
+--- a/src/controller_slot.cpp
++++ b/src/controller_slot.cpp
+@@ -67,9 +67,9 @@ ControllerSlot::disconnect()
+ }
+ 
+ bool
+ ControllerSlot::is_connected() const
+ {
+-  return m_thread;
++  return static_cast<bool>(m_thread);
+ }
+ 
+ /* EOF */

diff --git a/games-util/xboxdrv/xboxdrv-0.8.8.ebuild b/games-util/xboxdrv/xboxdrv-0.8.8.ebuild
index 04d3c7d..804d3fa 100644
--- a/games-util/xboxdrv/xboxdrv-0.8.8.ebuild
+++ b/games-util/xboxdrv/xboxdrv-0.8.8.ebuild
@@ -29,6 +29,7 @@ S=${WORKDIR}/${MY_P}
 PATCHES=(
 	"${FILESDIR}"/${P}-scons.patch
 	"${FILESDIR}"/github-144.patch
+	"${FILESDIR}"/${P}-fix-c++14.patch
 )
 
 CONFIG_CHECK="~INPUT_EVDEV ~INPUT_JOYDEV ~INPUT_UINPUT ~!JOYSTICK_XPAD"


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: games-util/xboxdrv/files/, games-util/xboxdrv/
@ 2021-08-02 13:16 Joonas Niilola
  0 siblings, 0 replies; 2+ messages in thread
From: Joonas Niilola @ 2021-08-02 13:16 UTC (permalink / raw
  To: gentoo-commits

commit:     d124cff10bbf1f7970b0e950c1f2eaba051c57a9
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Mon Aug  2 13:15:03 2021 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Mon Aug  2 13:16:39 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d124cff1

games-util/xboxdrv: update with new scons

 - move back to non-forked upstream release, add patches so it builds.

Closes: https://bugs.gentoo.org/806082
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 games-util/xboxdrv/Manifest                        |   1 +
 ...boxdrv-0.8.8-Update-SConstruct-to-python3.patch |  79 +++++++
 ...drv-0.8.8-Updating-python-code-to-python3.patch | 238 +++++++++++++++++++++
 .../files/xboxdrv-0.8.8-some-boost-fix.patch       |  12 ++
 .../xboxdrv/xboxdrv-0.8.8_p20190118-r1.ebuild      |  76 +++++++
 5 files changed, 406 insertions(+)

diff --git a/games-util/xboxdrv/Manifest b/games-util/xboxdrv/Manifest
index 3e0cab33172..484b4a26efb 100644
--- a/games-util/xboxdrv/Manifest
+++ b/games-util/xboxdrv/Manifest
@@ -1 +1,2 @@
 DIST xboxdrv-0.8.8_p20190118.tar.gz 322541 BLAKE2B ffa1021f974414ab9efebccf89e8be9137647ba7e1adf3bc9dad3b17b362b340f087fdac42c9b91a29a4cfe13295df6d3861fe953d9f96e80df08d4a6b1ce754 SHA512 ede650090c67642dc4729acc37630ae807f354d76f9bf31e23357668b6ae2b8d0261d2cf6e33090ab2120083b0664332dab22f1ed682bcdcbf1cac88b97e67af
+DIST xboxdrv-v0.8.8.tar.bz2 268046 BLAKE2B 3092a0e1e1cf1ee351879e791212445c567772f4115eb09eeb0c28bc1692b1951837ae7f6488091eb57d06cd38edae4e964502524606370f1ccd8fc39b307db8 SHA512 9b90f866ab322aaf3223215c78120a7aeacb56970fedf2e603f14704bd517b8316a3e28edb6a75e1a47729e9ced4cde5cac3a2f7a95d8514b83219b8821eb9db

diff --git a/games-util/xboxdrv/files/xboxdrv-0.8.8-Update-SConstruct-to-python3.patch b/games-util/xboxdrv/files/xboxdrv-0.8.8-Update-SConstruct-to-python3.patch
new file mode 100644
index 00000000000..accb4317fad
--- /dev/null
+++ b/games-util/xboxdrv/files/xboxdrv-0.8.8-Update-SConstruct-to-python3.patch
@@ -0,0 +1,79 @@
+From 39a334fbc0482626455f417e97308e52aa8746a7 Mon Sep 17 00:00:00 2001
+From: Ingo Ruhnke <grumbel@gmail.com>
+Date: Sun, 24 Nov 2019 18:16:16 +0100
+Subject: [PATCH 1/3] Update SConstruct to python3
+
+---
+ SConstruct | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+diff --git SConstruct SConstruct
+index 4cd7970..54fa11f 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -15,7 +15,7 @@ def build_dbus_glue(target, source, env):
+                             "--mode=glib-server",
+                             "--prefix=" + env['DBUS_PREFIX'], source[0].get_path()],
+                            stdout=subprocess.PIPE).communicate()[0]
+-
++    xml = xml.decode()
+     xml = re.sub(r"callback = \(([A-Za-z_]+)\) \(marshal_data \? marshal_data : cc->callback\);",
+                  r"union { \1 fn; void* obj; } conv;\n  "
+                  "conv.obj = (marshal_data ? marshal_data : cc->callback);\n  "
+@@ -29,14 +29,14 @@ def build_bin2h(target, source, env):
+     Takes a list of files and converts them into a C source that can be included
+     """
+     def c_escape(str): 
+-        return str.translate(string.maketrans("/.-", "___"))
++        return str.translate(str.maketrans("/.-", "___"))
+     
+-    print target
+-    print source
++    print(target)
++    print(source)
+     with open(target[0].get_path(), "w") as fout:
+         fout.write("// autogenerated by scons Bin2H builder, do not edit by hand!\n\n")
+ 
+-        if env.has_key("BIN2H_NAMESPACE"):
++        if "BIN2H_NAMESPACE" in env:
+             fout.write("namespace %s {\n\n" % env["BIN2H_NAMESPACE"])
+             
+         # write down data
+@@ -45,8 +45,8 @@ def build_bin2h(target, source, env):
+                 data = fin.read()
+                 fout.write("// \"%s\"\n" % src.get_path())
+                 fout.write("const char %s[] = {" % c_escape(src.get_path()))
+-                bytes_arr = ["0x%02x" % ord(c) for c in data]
+-                for i in xrange(len(bytes_arr)):
++                bytes_arr = ["0x%02x" % c for c in data]
++                for i in range(len(bytes_arr)):
+                     if i % 13 == 0:
+                         fout.write("\n  ")
+                     fout.write(bytes_arr[i])
+@@ -62,7 +62,7 @@ def build_bin2h(target, source, env):
+                                     for src in source], ",\n"))
+             fout.write("\n}\n\n")
+ 
+-        if env.has_key("BIN2H_NAMESPACE"):
++        if "BIN2H_NAMESPACE" in env:
+             fout.write("} // namespace %s\n\n" % env["BIN2H_NAMESPACE"])
+                 
+         fout.write("/* EOF */\n")
+@@ -131,12 +131,12 @@ env.Append(CPPDEFINES = { 'PACKAGE_VERSION': "'\"%s\"'" % package_version })
+ conf = Configure(env)
+ \f
+ if not conf.env['CXX']:
+-    print "g++ must be installed!"
++    print("g++ must be installed!")
+     Exit(1)
+ 
+ # X11 checks
+ if not conf.CheckLibWithHeader('X11', 'X11/Xlib.h', 'C++'):
+-    print 'libx11-dev must be installed!'
++    print('libx11-dev must be installed!')
+     Exit(1)
+ 
+ env = conf.Finish()
+-- 
+2.29.0.rc1
+

diff --git a/games-util/xboxdrv/files/xboxdrv-0.8.8-Updating-python-code-to-python3.patch b/games-util/xboxdrv/files/xboxdrv-0.8.8-Updating-python-code-to-python3.patch
new file mode 100644
index 00000000000..139336affd9
--- /dev/null
+++ b/games-util/xboxdrv/files/xboxdrv-0.8.8-Updating-python-code-to-python3.patch
@@ -0,0 +1,238 @@
+From e37d3558a1a8a36fbc5d693c53893127a288fd02 Mon Sep 17 00:00:00 2001
+From: Ingo Ruhnke <grumbel@gmail.com>
+Date: Sun, 24 Nov 2019 18:36:25 +0100
+Subject: [PATCH 3/3] Updating python code to python3
+
+---
+ examples/responsecurve-generator.py | 14 ++++-----
+ runxboxdrv/runxboxdrv               | 46 ++++++++++++++---------------
+ xboxdrvctl                          |  8 ++---
+ 3 files changed, 34 insertions(+), 34 deletions(-)
+
+diff --git examples/responsecurve-generator.py examples/responsecurve-generator.py
+index c74e34d..942463b 100755
+--- a/examples/responsecurve-generator.py
++++ b/examples/responsecurve-generator.py
+@@ -1,14 +1,14 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ 
+ import sys
+ import string
+ 
+ if len(sys.argv) != 3:
+-    print "Usage:", sys.argv[0], "STEPS", "EQUATION"
+-    print "Simple generator for generating responsecurve data from equations."
+-    print ""
+-    print "Example:"
+-    print "   ", sys.argv[0], "6 i**2"
++    print("Usage:", sys.argv[0], "STEPS", "EQUATION")
++    print("Simple generator for generating responsecurve data from equations.")
++    print("")
++    print("Example:")
++    print("   ", sys.argv[0], "6 i**2")
+ else:
+     steps = int(sys.argv[1])
+     equation = sys.argv[2]
+@@ -19,6 +19,6 @@ else:
+     left.reverse()
+     left = left[0:-1]
+     
+-    print string.join([str(x) for x in (left + right)], ":")
++    print(string.join([str(x) for x in (left + right)], ":"))
+     
+ # EOF #
+diff --git runxboxdrv/runxboxdrv runxboxdrv/runxboxdrv
+index 360c836..6983496 100755
+--- a/runxboxdrv/runxboxdrv
++++ b/runxboxdrv/runxboxdrv
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ #  This program is free software: you can redistribute it and/or modify
+ #  it under the terms of the GNU General Public License as published by
+ #  the Free Software Foundation, either version 3 of the License, or
+@@ -409,7 +409,7 @@ class ProcessManager(object):
+ 	"""
+ 	# Since reap() modifies __procs, we have to iterate over a copy
+ 	# of the keys in it.  Thus, do not remove the .keys() call.
+-	for procid in self.__procs.keys():
++	for procid in list(self.__procs.keys()):
+ 	    self.reap(procid)
+ 
+ 
+@@ -445,7 +445,7 @@ import os, sys
+ import os.path
+ import fcntl
+ import time
+-import ConfigParser
++import configparser
+ from subprocess import check_call, Popen, PIPE
+ from signal import SIGINT, SIGKILL
+ from optparse import OptionParser
+@@ -482,7 +482,7 @@ class RunXBoxDrv(object):
+ 
+     @staticmethod
+     def runCommandAndGetOutput(command):
+-        print command
++        print(command)
+         callcommand = Popen(command, shell=True, stdout=PIPE)
+         outputcommand = callcommand.communicate()
+         return outputcommand[0].split("\n")
+@@ -517,7 +517,7 @@ class RunXBoxDrv(object):
+         if RunXBoxDrv.which(RunXBoxDrv.sudo_command) is None:
+             raise Exception("Cannot find %s!" % RunXBoxDrv.sudo_command)
+         commandline = "%s %s" % (RunXBoxDrv.sudo_command, command)
+-        print commandline
++        print(commandline)
+         callcommand = Popen(commandline, shell=True, stdout=PIPE)
+         outputcommand = callcommand.communicate()
+         return outputcommand[0]
+@@ -525,14 +525,14 @@ class RunXBoxDrv(object):
+     @staticmethod
+     def killExistingXBoxDrv(sig, signame):
+         for line in RunXBoxDrv.runCommandAndGetOutput("ps"):
+-            print line
++            print(line)
+             fields = line.split()
+             if len(fields) < 4:
+                 continue
+             pid = fields[0]
+             process = fields[3]
+             if process.find(XBOXDRVNAME) != -1:
+-                print "Using %s on existing %s" % (signame, XBOXDRVNAME)
++                print("Using %s on existing %s" % (signame, XBOXDRVNAME))
+                 os.kill(int(pid), sig)
+                 return True
+         return False
+@@ -542,7 +542,7 @@ class RunXBoxDrv(object):
+         loadedmodules = []
+         unloadedmodules = []
+         for line in RunXBoxDrv.runCommandAndGetOutput("lsmod"):
+-            print line            
++            print(line)            
+             fields = line.split()
+             if len(fields) < 3:
+                 continue
+@@ -555,17 +555,17 @@ class RunXBoxDrv(object):
+                     unloadedmodules.append(modulename)
+         for modulename in MODULELOAD:
+             if modulename in loadedmodules:
+-                print "%s already loaded!" % modulename
++                print("%s already loaded!" % modulename)
+             else:
+-                print "Loading %s!" % modulename
+-                print RunXBoxDrv.runCommandAsRoot("modprobe %s" % modulename)
++                print("Loading %s!" % modulename)
++                print(RunXBoxDrv.runCommandAsRoot("modprobe %s" % modulename))
+ 
+         for modulename in MODULEUNLOAD:
+             if modulename in unloadedmodules:
+-                print "Unloading %s!" % modulename
+-                print RunXBoxDrv.runCommandAsRoot("rmmod %s" % modulename)
++                print("Unloading %s!" % modulename)
++                print(RunXBoxDrv.runCommandAsRoot("rmmod %s" % modulename))
+             else:
+-                print "%s already unloaded!" % modulename
++                print("%s already unloaded!" % modulename)
+ 
+ 
+     @staticmethod
+@@ -579,11 +579,11 @@ class RunXBoxDrv(object):
+             raise Exception("Cannot find one of: %s!" % str(UINPUT_LOCATIONS))
+ 
+         if not os.access(location, os.W_OK):
+-            print "Trying to change permissions of: %s" % location
+-            print RunXBoxDrv.runCommandAsRoot("chmod 0660 %s" % location)
++            print("Trying to change permissions of: %s" % location)
++            print(RunXBoxDrv.runCommandAsRoot("chmod 0660 %s" % location))
+ 
+         if os.access(location, os.W_OK):
+-            print "%s is writable!" % location
++            print("%s is writable!" % location)
+         else:
+             raise Exception("Could not set write permissions on %s" % location)
+ 
+@@ -614,36 +614,36 @@ class RunXBoxDrv(object):
+         out = ""
+         while out.lower().find(LOADEDTEXT) == -1:
+             out = RunXBoxDrv.getNext(myProc)
+-            print out
++            print(out)
+         
+     def process(self):
+         commandlist = [self.xboxdrvpath]
+ 
+         if self.configfile:
+              commandlist = commandlist + ["--config=%s" % self.configfile]
+-        print commandlist        
++        print(commandlist)        
+         myProc = Process(commandlist)
+         with_timeout(1, self.checkLoaded, myProc)        
+         if len(self.appandparams) == 0:
+             print("WARNING: No path to application specified!")
+         else:
+-            print(self.appandparams)
++            print((self.appandparams))
+             check_call(self.appandparams)
+-        print "Sending SIGINT"
++        print("Sending SIGINT")
+         myProc.kill(SIGINT)
+         try:
+             with_timeout(1, myProc.wait)
+             sys.exit(0)
+         except Timeout:
+             pass
+-        print "Sending SIGINT again"
++        print("Sending SIGINT again")
+         myProc.kill(SIGINT)
+         try:
+             with_timeout(1, myProc.wait)
+             sys.exit(0)
+         except Timeout:
+             pass
+-        print "Killing"
++        print("Killing")
+         myProc.terminate()
+ 
+ def main():
+diff --git xboxdrvctl xboxdrvctl
+index 4807a11..57177dc 100755
+--- a/xboxdrvctl
++++ b/xboxdrvctl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python2
++#!/usr/bin/env python3
+ 
+ ##  Xbox360 USB Gamepad Userspace Driver
+ ##  Copyright (C) 2011 Ingo Ruhnke <grumbel@gmail.com>
+@@ -71,7 +71,7 @@ elif options.bus == "auto":
+     except dbus.exceptions.DBusException:
+ 				bus = dbus.SystemBus()
+ else:
+-    print "Error: invalid argument to --bus. Must be 'auto', 'session, or 'system'"
++    print("Error: invalid argument to --bus. Must be 'auto', 'session, or 'system'")
+     exit()
+ 
+ if options.status:
+@@ -82,7 +82,7 @@ elif options.shutdown:
+     daemon.Shutdown()
+ else:
+     if (options.led or options.rumble or options.config) and options.slot == None:
+-        print "Error: --slot argument required"
++        print("Error: --slot argument required")
+         exit()
+     else:
+         if options.slot != None:
+@@ -94,7 +94,7 @@ else:
+             if options.rumble:
+                 m = re.match('^(\d+):(\d+)$', options.rumble)
+                 if not m:
+-                    print "Error: invalid argument to --rumble"
++                    print("Error: invalid argument to --rumble")
+                     exit()
+                 else:
+                     left  = int(m.group(1))
+-- 
+2.29.0.rc1
+

diff --git a/games-util/xboxdrv/files/xboxdrv-0.8.8-some-boost-fix.patch b/games-util/xboxdrv/files/xboxdrv-0.8.8-some-boost-fix.patch
new file mode 100644
index 00000000000..2063979fee4
--- /dev/null
+++ b/games-util/xboxdrv/files/xboxdrv-0.8.8-some-boost-fix.patch
@@ -0,0 +1,12 @@
+diff -Naur a/src/controller_slot.cpp b/src/controller_slot.cpp
+--- a/src/controller_slot.cpp	2015-11-09 10:19:35.000000000 -0000
++++ b/src/controller_slot.cpp	2021-08-02 13:05:48.647684177 -0000
+@@ -69,7 +69,7 @@
+ bool
+ ControllerSlot::is_connected() const
+ {
+-  return m_thread;
++  return m_thread.get();
+ }
+ 
+ /* EOF */

diff --git a/games-util/xboxdrv/xboxdrv-0.8.8_p20190118-r1.ebuild b/games-util/xboxdrv/xboxdrv-0.8.8_p20190118-r1.ebuild
new file mode 100644
index 00000000000..c2ce54f034b
--- /dev/null
+++ b/games-util/xboxdrv/xboxdrv-0.8.8_p20190118-r1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit linux-info python-any-r1 scons-utils toolchain-funcs systemd udev
+
+DESCRIPTION="Userspace Xbox 360 Controller driver"
+HOMEPAGE="https://xboxdrv.gitlab.io"
+SRC_URI="https://gitlab.com/xboxdrv/xboxdrv/-/archive/v0.8.8/xboxdrv-v0.8.8.tar.bz2"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+	dev-libs/boost:=
+	dev-libs/dbus-glib
+	dev-libs/glib:2
+	sys-apps/dbus
+	virtual/libudev:=
+	virtual/libusb:1
+	x11-libs/libX11
+"
+
+DEPEND="
+	${RDEPEND}
+"
+
+BDEPEND="
+	dev-util/glib-utils
+	virtual/pkgconfig
+"
+
+S="${WORKDIR}/xboxdrv-v0.8.8"
+
+PATCHES=( "${FILESDIR}/"xboxdrv-0.8.8-some-boost-fix.patch
+	"${FILESDIR}/"xboxdrv-0.8.8-Update-SConstruct-to-python3.patch
+	"${FILESDIR}/"xboxdrv-0.8.8-Updating-python-code-to-python3.patch )
+
+CONFIG_CHECK="~INPUT_EVDEV ~INPUT_JOYDEV ~INPUT_UINPUT ~!JOYSTICK_XPAD"
+
+pkg_setup() {
+	linux-info_pkg_setup
+	python_setup
+}
+
+src_compile() {
+	escons \
+		BUILD=custom \
+		CXX="$(tc-getCXX)" \
+		AR="$(tc-getAR)" \
+		RANLIB="$(tc-getRANLIB)" \
+		CXXFLAGS="-Wall ${CXXFLAGS}" \
+		LINKFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+	dobin xboxdrv
+	doman doc/xboxdrv.1
+	dodoc AUTHORS NEWS PROTOCOL README.md TODO
+
+	newinitd "${FILESDIR}"/xboxdrv.initd xboxdrv
+	newconfd "${FILESDIR}"/xboxdrv.confd xboxdrv
+
+	insinto /etc/dbus-1/system.d
+	doins "${FILESDIR}"/org.seul.Xboxdrv.conf
+
+	udev_newrules "${FILESDIR}"/xboxdrv.udev-rules 99-xbox-controller.rules
+	systemd_dounit "${FILESDIR}"/xboxdrv.service
+}
+
+pkg_postinst() {
+	udev_reload
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-08-02 13:16 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-16 10:57 [gentoo-commits] repo/gentoo:master commit in: games-util/xboxdrv/files/, games-util/xboxdrv/ David Seifert
  -- strict thread matches above, loose matches on Subject: below --
2021-08-02 13:16 Joonas Niilola

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox