summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO37
-rw-r--r--.gitignore12
-rw-r--r--PKGBUILD101
-rw-r--r--fix-60-sec-delay.patch27
-rw-r--r--scons-py3.patch63
-rw-r--r--scons-v4.2.0.patch20
-rw-r--r--xboxdrvctl-py3.patch73
7 files changed, 72 insertions, 261 deletions
diff --git a/.SRCINFO b/.SRCINFO
index a73833ae03a8..9408bfa7af0c 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,34 +1,25 @@
pkgbase = xboxdrv
- pkgdesc = Userspace gamepad driver for Linux
- pkgver = 0.8.8
- pkgrel = 7
- url = https://xboxdrv.gitlab.io/
+ pkgdesc = Userspace Xbox gamepad driver and input remapper
+ pkgver = 0.8.9
+ pkgrel = 1
+ url = https://github.com/xiota/xboxdrv
arch = x86_64
- license = GPL3
- makedepends = scons
+ license = GPL-3.0-or-later
makedepends = boost
+ makedepends = git
makedepends = pkg-config
- makedepends = libx11
- makedepends = python
- depends = libx11
+ makedepends = scons
+ depends = python
depends = dbus-glib
depends = dbus-python
depends = libusb
- depends = systemd
+ depends = libx11
backup = etc/default/xboxdrv
- source = xboxdrv-0.8.8.tar.gz::https://gitlab.com/xboxdrv/xboxdrv/-/archive/v0.8.8/xboxdrv-v0.8.8.tar.gz
- source = xboxdrv.service
+ source = xboxdrv::git+https://github.com/xiota/xboxdrv.git#tag=v0.8.9
source = xboxdrv.default
- source = fix-60-sec-delay.patch
- source = scons-py3.patch
- source = scons-v4.2.0.patch
- source = xboxdrvctl-py3.patch
- sha512sums = a7f4c35dbd56289fe7b24150c0452bd72fda99f01a2271b20175cb872d06798270492bee2a0a6449b43dc23593a8c1c955a0e4505186240b366f0c34cd9958a5
- sha512sums = f1a4e7b1a06e951c3a4f5bcdec5f14db542b34963950619f0d4b1ee324d64b18ca2f63642719ef65a63e424702fb0eb33e0259937906732e587b96a9582c2e6b
- sha512sums = 4f6e9a12b208254e19daba477dd7787147a8b2c8a83007d92f8cfce6212c21ce3306f23a2669080f0e46986ca102ab08c262b42c678caf1a891326b4e2c40b5f
- sha512sums = 58170b3f96f02e5ba0af5f6641482fb1c612ca70650e475d68b55c05a62ec0831033190b90e591d593fd6b25c2a155e6c4975f37eef1534245947156a5e3285f
- sha512sums = b3a3bbb51fa1c4ad4dd898136c3bf7c0f13193bdd07bbcb5c8243edb747c68223fe8c5bd2fd578f6c2b18844827524abb0533ce98b6e0e60fe936597cdba811d
- sha512sums = b7d9911bd52fb59f5dd655a4f81e61848ea2637ebd44768d963a525e62c4592d00f7f40d6eb4e14a184fbd0d6517df182ffb2cafd1e9a66406b86672ad63cdea
- sha512sums = 4e6de460523c1ddfc608b3bd6fb211a7ca0516b64a2d91e01b51deaa4fcc57d64985bb2ccfca43873efef4987e0d04741f0e97dbd6b77037a4417a97cb8d0bf9
+ source = xboxdrv.service
+ sha256sums = SKIP
+ sha256sums = 68a286300d28bbfc97eb694c6cc413776f0bc16e35de6d1969f13ef1e7d1cac5
+ sha256sums = d631a8c3af7e2b4ef22f1494ded5d7a8029a8dd9756ef8907f909ef6aa0afc2b
pkgname = xboxdrv
diff --git a/.gitignore b/.gitignore
index 5d57491b6dcd..018a3de08144 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,10 +1,4 @@
*
-!/.SRCINFO
-!/.gitignore
-!/PKGBUILD
-!/fix-60-sec-delay.patch
-!/scons-py3.patch
-!/scons-v4.2.0.patch
-!/xboxdrv.default
-!/xboxdrv.service
-!/xboxdrvctl-py3.patch
+!PKGBUILD
+!.SRCINFO
+!.gitignore
diff --git a/PKGBUILD b/PKGBUILD
index 2085741e5cb9..0f8d8b6bab27 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,58 +1,67 @@
-# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
-# Maintainer: Andrew Rabert <ar@nullsum.net>
+# Maintainer:
+# Contributor: Levente Polyak <anthraxx[at]archlinux[dot]org>
+# Contributor: Andrew Rabert <ar@nullsum.net>
# Contributor: Jack Mitchell <jack@embed.me.uk>
# Contributor: Kevin MacMartin <prurigro at gmail dot com>
-pkgname=xboxdrv
-pkgver=0.8.8
-pkgrel=7
-pkgdesc='Userspace gamepad driver for Linux'
-url='https://xboxdrv.gitlab.io/'
+_pkgname="xboxdrv"
+pkgname="$_pkgname"
+pkgver=0.8.9
+pkgrel=1
+pkgdesc="Userspace Xbox gamepad driver and input remapper"
+url="https://github.com/xiota/xboxdrv"
+license=('GPL-3.0-or-later')
arch=('x86_64')
-license=('GPL3')
-depends=('libx11' 'dbus-glib' 'dbus-python' 'libusb' 'systemd')
-makedepends=('scons' 'boost' 'pkg-config' 'libx11' 'python')
+
+depends=(
+ 'python'
+ 'dbus-glib'
+ 'dbus-python'
+ 'libusb'
+ 'libx11'
+
+ # implicit
+ #bash
+ #dbus
+ #glib2
+ #systemd-libs
+)
+makedepends=(
+ 'boost'
+ 'git'
+ 'pkg-config'
+ 'scons'
+)
+
backup=("etc/default/xboxdrv")
-source=(${pkgname}-${pkgver}.tar.gz::https://gitlab.com/xboxdrv/${pkgname}/-/archive/v${pkgver}/xboxdrv-v${pkgver}.tar.gz
- xboxdrv.service
- xboxdrv.default
- fix-60-sec-delay.patch
- scons-py3.patch
- scons-v4.2.0.patch
- xboxdrvctl-py3.patch)
-sha512sums=('a7f4c35dbd56289fe7b24150c0452bd72fda99f01a2271b20175cb872d06798270492bee2a0a6449b43dc23593a8c1c955a0e4505186240b366f0c34cd9958a5'
- 'f1a4e7b1a06e951c3a4f5bcdec5f14db542b34963950619f0d4b1ee324d64b18ca2f63642719ef65a63e424702fb0eb33e0259937906732e587b96a9582c2e6b'
- '4f6e9a12b208254e19daba477dd7787147a8b2c8a83007d92f8cfce6212c21ce3306f23a2669080f0e46986ca102ab08c262b42c678caf1a891326b4e2c40b5f'
- '58170b3f96f02e5ba0af5f6641482fb1c612ca70650e475d68b55c05a62ec0831033190b90e591d593fd6b25c2a155e6c4975f37eef1534245947156a5e3285f'
- 'b3a3bbb51fa1c4ad4dd898136c3bf7c0f13193bdd07bbcb5c8243edb747c68223fe8c5bd2fd578f6c2b18844827524abb0533ce98b6e0e60fe936597cdba811d'
- 'b7d9911bd52fb59f5dd655a4f81e61848ea2637ebd44768d963a525e62c4592d00f7f40d6eb4e14a184fbd0d6517df182ffb2cafd1e9a66406b86672ad63cdea'
- '4e6de460523c1ddfc608b3bd6fb211a7ca0516b64a2d91e01b51deaa4fcc57d64985bb2ccfca43873efef4987e0d04741f0e97dbd6b77037a4417a97cb8d0bf9')
-
-prepare() {
- cd ${pkgname}-v${pkgver}
- sed 's|python|python2|g' -i examples/*.py
- patch -p1 < "${srcdir}/fix-60-sec-delay.patch"
- patch -p1 < "${srcdir}/scons-py3.patch"
- patch -p1 < "${srcdir}/scons-v4.2.0.patch"
- patch -p1 < "${srcdir}/xboxdrvctl-py3.patch"
-}
+
+_pkgsrc="$_pkgname"
+source=(
+ "$_pkgsrc"::"git+$url.git#tag=v${pkgver}"
+ "xboxdrv.default"
+ "xboxdrv.service"
+)
+sha256sums=(
+ 'SKIP'
+ '68a286300d28bbfc97eb694c6cc413776f0bc16e35de6d1969f13ef1e7d1cac5'
+ 'd631a8c3af7e2b4ef22f1494ded5d7a8029a8dd9756ef8907f909ef6aa0afc2b'
+)
build() {
- cd ${pkgname}-v${pkgver}
+ cd "$_pkgsrc"
scons \
- LINKFLAGS="${LDFLAGS}" \
- CXXFLAGS="${CPPFLAGS} ${CXXFLAGS}" \
- "${MAKEFLAGS}"
+ LINKFLAGS="$LDFLAGS" \
+ CXXFLAGS="$CPPFLAGS $CXXFLAGS" \
+ "$MAKEFLAGS"
}
package() {
- cd ${pkgname}-v${pkgver}
- make PREFIX=/usr DESTDIR="${pkgdir}" install
- install -Dm 644 "${srcdir}/${pkgname}.service" "${pkgdir}/usr/lib/systemd/system/${pkgname}.service"
- install -Dm 644 "${srcdir}/${pkgname}.default" "${pkgdir}/etc/default/${pkgname}"
- install -Dm 644 README.md NEWS PROTOCOL -t "${pkgdir}/usr/share/doc/${pkgname}"
- install -Dm 644 examples/* -t "${pkgdir}/usr/share/doc/${pkgname}/examples"
- install -Dm 644 data/org.seul.Xboxdrv.conf -t "${pkgdir}/etc/dbus-1/system.d"
-}
+ cd "$_pkgsrc"
+ make PREFIX=/usr DESTDIR="$pkgdir" install
-# vim: ts=2 sw=2 et:
+ install -Dm644 "$srcdir/$_pkgname.service" -t "$pkgdir/usr/lib/systemd/system/"
+ install -Dm644 "$srcdir/$_pkgname.default" "$pkgdir/etc/default/$_pkgname"
+ install -Dm644 README.md NEWS PROTOCOL -t "$pkgdir/usr/share/doc/$_pkgname/"
+ install -Dm644 examples/* -t "$pkgdir/usr/share/doc/$_pkgname/examples/"
+ install -Dm644 data/org.seul.Xboxdrv.conf -t "$pkgdir/etc/dbus-1/system.d/"
+}
diff --git a/fix-60-sec-delay.patch b/fix-60-sec-delay.patch
deleted file mode 100644
index da543d2cfa01..000000000000
--- a/fix-60-sec-delay.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 7326421eeaadbc2aeb3828628c2e65bb7be323a9 Mon Sep 17 00:00:00 2001
-From: buxit <buti@bux.at>
-Date: Wed, 2 Nov 2016 16:25:14 +0100
-Subject: [PATCH] fix 60 seconds delay
-
-use `libusb_handle_events_timeout_completed()` instead of `libusb_handle_events()`
-should fix #144
----
- src/usb_gsource.cpp | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/usb_gsource.cpp b/src/usb_gsource.cpp
-index 00bf1315..afb38f65 100644
---- a/src/usb_gsource.cpp
-+++ b/src/usb_gsource.cpp
-@@ -174,7 +174,10 @@ USBGSource::on_source_dispatch(GSource* source, GSourceFunc callback, gpointer u
- gboolean
- USBGSource::on_source()
- {
-- libusb_handle_events(NULL);
-+ struct timeval to;
-+ to.tv_sec = 0;
-+ to.tv_usec = 0;
-+ libusb_handle_events_timeout_completed(NULL, &to, NULL);
- return TRUE;
- }
-
diff --git a/scons-py3.patch b/scons-py3.patch
deleted file mode 100644
index 4aa6fa619317..000000000000
--- a/scons-py3.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 17bd43a7d3ef86216abc36b42b4e6a1f70aa9979 Mon Sep 17 00:00:00 2001
-From: xnick <xnick@users.noreply.github.com>
-Date: Thu, 12 Oct 2017 20:34:35 +0300
-Subject: [PATCH] Update SConstruct
-
-python3 compatible
----
- SConstruct | 16 ++++++++--------
- 1 file changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index 4cd79704..c0007054 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -19,7 +19,7 @@ def build_dbus_glue(target, source, env):
- 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 "
-- "callback = conv.fn;", xml)
-+ "callback = conv.fn;", xml.decode('utf-8'))
-
- with open(target[0].get_path(), "w") as f:
- f.write(xml)
-@@ -29,10 +29,10 @@ 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(bytes.maketrans(b"/.-", b"___"))
-
-- 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")
-
-@@ -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])
-@@ -131,12 +131,12 @@ env.Append(CPPDEFINES = { 'PACKAGE_VERSION': "'\"%s\"'" % package_version })
- conf = Configure(env)
-
- 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()
diff --git a/scons-v4.2.0.patch b/scons-v4.2.0.patch
deleted file mode 100644
index 04b05e8d6ffc..000000000000
--- a/scons-v4.2.0.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/SConstruct 2021-10-31 20:42:44.232084185 -0400
-+++ b/SConstruct 2021-10-31 20:42:54.063024444 -0400
-@@ -36,7 +36,7 @@
- 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
-@@ -62,7 +62,7 @@
- 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")
diff --git a/xboxdrvctl-py3.patch b/xboxdrvctl-py3.patch
deleted file mode 100644
index 71d8762cb9ca..000000000000
--- a/xboxdrvctl-py3.patch
+++ /dev/null
@@ -1,73 +0,0 @@
---- a/xboxdrvctl 2021-06-21 19:39:51.000000000 -0400
-+++ b/xboxdrvctl 19:43:27.467984928 -0400
-@@ -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>
-@@ -37,23 +37,23 @@
- help="print controller status")
-
- group.add_option("-s", "--slot", metavar="SLOT", type="int",
-- dest="slot",
-+ dest="slot",
- help="use slot SLOT for actions")
-
- group.add_option("-l", "--led", metavar="NUM", type="int",
-- dest="led",
-+ dest="led",
- help="set LED")
-
--group.add_option("-r", "--rumble", metavar="L:R",
-- dest="rumble",
-+group.add_option("-r", "--rumble", metavar="L:R",
-+ dest="rumble",
- help="print controller status")
-
- group.add_option("-c", "--config", metavar="NUM", type="int",
-- dest="config",
-+ dest="config",
- help="switches to controller configuration NUM")
-
- group.add_option("--shutdown", action="store_true",
-- dest="shutdown",
-+ dest="shutdown",
- help="shuts down the daemon")
-
- parser.add_option_group(group)
-@@ -69,9 +69,9 @@
- try:
- bus.get_object("org.seul.Xboxdrv", '/org/seul/Xboxdrv/Daemon')
- except dbus.exceptions.DBusException:
-- bus = dbus.SystemBus()
-+ 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,19 +82,19 @@
- 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:
- slot = bus.get_object("org.seul.Xboxdrv", '/org/seul/Xboxdrv/ControllerSlots/%d' % options.slot)
--
-+
- if options.led != None:
- slot.SetLed(options.led)
-
- 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))