From patchwork Sun Oct 9 22:24:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Morgan Smith X-Patchwork-Id: 43258 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 2688A27BBEA; Sun, 9 Oct 2022 23:26:11 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,SPF_HELO_PASS, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 5D05E27BBE9 for ; Sun, 9 Oct 2022 23:26:10 +0100 (BST) Received: from localhost ([::1]:50390 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ohekL-00068A-I5 for patchwork@mira.cbaines.net; Sun, 09 Oct 2022 18:26:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58566) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ohekE-00067r-Oh for guix-patches@gnu.org; Sun, 09 Oct 2022 18:26:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:46004) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ohekE-0000Ai-GF for guix-patches@gnu.org; Sun, 09 Oct 2022 18:26:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ohekE-0008Ha-AG for guix-patches@gnu.org; Sun, 09 Oct 2022 18:26:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#58403] [PATCH 2/2] gnu: Add sc-controller. Resent-From: Morgan.J.Smith@outlook.com Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 09 Oct 2022 22:26:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 58403 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 58403@debbugs.gnu.org Cc: Morgan Smith Received: via spool by 58403-submit@debbugs.gnu.org id=B58403.166535435931828 (code B ref 58403); Sun, 09 Oct 2022 22:26:02 +0000 Received: (at 58403) by debbugs.gnu.org; 9 Oct 2022 22:25:59 +0000 Received: from localhost ([127.0.0.1]:45082 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ohekB-0008HH-0s for submit@debbugs.gnu.org; Sun, 09 Oct 2022 18:25:59 -0400 Received: from mail-co1nam11olkn2087.outbound.protection.outlook.com ([40.92.18.87]:52563 helo=NAM11-CO1-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ohek6-0008H0-9U for 58403@debbugs.gnu.org; Sun, 09 Oct 2022 18:25:57 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UIlNHzf28ihkRIPXJZ9IC+Kekk/2BDTsgIuAShjQLICQx/7ekBzk2Zm6vAeDzzlZ0lrRRhl6mGvexGj9BUOEFyu+rFhT4iuynMU4QHrygMHNRADEivZ43obUQF2QAegUM71EkdMP0s7hY/hcCyOi5Y68cOt+3SXKwZjIqMFOQapOtIBPOQZrg6/idSni/JjXvHG6H8Vs8W31TMB0aAHH4LFLQKVGefdyUIsPJn28FessSZHAKmnCM7/lZ+K8MZEnvOaRBH/Nc9GXWt9Z2Dae6WK7Rpzpv5wajnvznfd1BUxOBHgSfSAh3o/D49NR9E04Qhh5kGGe7ieJyRSG4uGyDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=7d9kdwURA8+tW5HcFQlcaoiRcaGVFSCzMoGUFMut1E4=; b=D1ZDkxy1/Ed004j+ZFgBvcLpTvDQ6FcGe3CZ2rIsu3Nq0j4HxcSkQryt+JkSh2ATbs9DNsLv8dNmGT9OiI8lbvqL2BFeTTrKCdSm/ueFA9rOyJixI4pAHYUHD8+1d/hux1J5Q3vM4Jfz4Q3KnG/FzZKcFv4P9yarO0epqcs/vaPYaqpaxaBplm+LNQKGYS0wDa6DGgkEMHSm/lqF3R+vvos/WVAqiHDPERYWUGyd0UIC4WvcWhLJuzH7oL7PB4eYzkMXFBQ4PSrjC8lHKlJU791ZU1NYgWewOF2nKqrx2DsSNXsceHBk6/dYQMC6lSsaM4EESIAGzctQlgJUQMnqWg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7d9kdwURA8+tW5HcFQlcaoiRcaGVFSCzMoGUFMut1E4=; b=HQ98+MphKlKiPOhCN7iSCAKgIpYK0DyR8F+d0Dqa+GN4xfAM7ofOJvzmynDRVPSNXiThqzMJFNOZofNyRJXxhGwzN3yDkLH01w5Q17VWNtfWlC8YYzBmFL7q5st+gE5DebW6M89nltsft5ivygKEAlMXyyYuSrB/0NGliMjIYN8yBzN631PHG0aoVIUoBvHN8ARI7bK8tImiNxF0CyulfML6EG//QgZ349q7HP+I02jJqmcITO8NeMY4zZcz3eBclCC2FOuZ71xQF+XKiQpvb9XVHJSqe8K/L3s+IHFZYvUR6pG373dbX2rcpOaNKz7a4rNGig/xRKJpYc5f4HMRgQ== Received: from DM5PR03MB3163.namprd03.prod.outlook.com (2603:10b6:4:40::24) by SJ0PR03MB5583.namprd03.prod.outlook.com (2603:10b6:a03:28e::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.15; Sun, 9 Oct 2022 22:25:47 +0000 Received: from DM5PR03MB3163.namprd03.prod.outlook.com ([fe80::6554:f431:b243:a53b]) by DM5PR03MB3163.namprd03.prod.outlook.com ([fe80::6554:f431:b243:a53b%3]) with mapi id 15.20.5709.015; Sun, 9 Oct 2022 22:25:47 +0000 From: Morgan.J.Smith@outlook.com Date: Sun, 9 Oct 2022 18:24:32 -0400 Message-ID: X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221009222430.21477-1-Morgan.J.Smith@outlook.com> References: <20221009222430.21477-1-Morgan.J.Smith@outlook.com> X-TMN: [yLAi1FuGaEIwINBxp27me/Uuw3U1frOS] X-ClientProxiedBy: YT1PR01CA0053.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:2e::22) To DM5PR03MB3163.namprd03.prod.outlook.com (2603:10b6:4:40::24) X-Microsoft-Original-Message-ID: <20221009222430.21477-2-Morgan.J.Smith@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM5PR03MB3163:EE_|SJ0PR03MB5583:EE_ X-MS-Office365-Filtering-Correlation-Id: fdc357a8-3b1f-4e11-e58b-08daaa4536ea X-MS-Exchange-SLBlob-MailProps: 4VtScROZs23p4583TwIDxV4dvht6lgiAgYyOcPETRkHj1SZv2v2OwEc6Xu8VrTJqQSnwVQ2IzEuNRSHHYdaQs0lWjIp4vSAyGmCuq0fhUs7jII5lfS42P4gw0spF/ccJKVUA53g7oo0LWVN5Pv65GiWaNtEFZvhfysw4Q3w+AQkSh7SFk0fHiRO/SEXLfgBhpG/+B35CEU3D+K7P7bkwYRmM4lVWDGmpAeiHdkADlrdeSSwofO39gFR0uwNRKPAnzWSlZg/2S1ZXRJdx2F7Kh1CcktaJYTnXpQ8mWL8jky4uzj/Z2e3YFaMbsi5BBfnaQWd1HC+RD8Zt9gREGBqVVJbs3vFzy5lNCdpy2HaNrRM4jZLjpf5hY5ixi27vZI9kEIOxPMWeJc7RsGN96FuJLwNBJKeYp6qjCXO7rQUjSBSuldICcOMorqoaNjc6XhSSafM1j9UB0+QtQ7Avejwfgj1xuCoE6xtlbRcuC00mT6OI8HCbYaW50RWfzvODI0u6v4zi6g6jKxsjnGc37dqM2UlZ3TqZYsVxNthEbfItjcGPvh61qNI5RNtdWzBdEqIT2fUnL9d2UfVOuad3s3yAw8bfomrTPKW2YsHx+D24HFpyM9tsBjwO5ejk95nmClbFaUeSO+joUIz31kRgMq6s6RDbhwO/89E2Co0JZ2Do53gi55tuhN2rgg== X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FonwnCaCbyPPCJtxsw64vX3uXfFI+zCXbge8dj1WTxKF06xwYvQt33f+PDx1nu//y0JI6yAtxx1g8gynEvYr0EPwQmjx0XM1U7x7oXaj9ZpETzvWZORvSpMuFVOPQumYI2Dr5sFb9wGEDemnF4V9R8JsLiWiAQM73B1LwPufe6ZfXgwEfCZ60jInwobul7J8f1lr9C2UjKVdUyy95c67uDOH37U/TfXFiqbJJuWbqistynkvi7JLQJGOXbGngaPb7drdB4yXLO1SmK0DgV+cXMxAkRIWkmodbJJYRH+EhjGMvV6gIsQaPNTbXEGpTjeV0HnhssVz1VPdHRk6fVGL+Ypfhxttr5NAKlaOI4XCnkB+/avUhDfqxz/cPkp8EcI6SgntgzsNeqjzJbPiSQngfxOTkLWzk6xf7kk2TK2vh/52GXDVeOeHWKW2iJyG12srm2ivZQFFgfowXU+naI9C14PPLn0L9zbrz7rkQKgDHDkGW4XBVDaRe9QVQUz/7zGUKntFDJtPaFmUWprj+xS/aihwCImd4vcSZyxh3uiAPbJkpXqwHRMy88b2EYhWlX1QnlKeYsOZ0NCN7Wzr1A+EnLKcJ4ntIX46U3rqAmFpSptP1uKiV1XTv/txLyjGHrcUUDA80IgJ3ZB5SrzWZYpv0/XsdEGkZv6iVWEo1t9Pt1v3h+SW+hS3FTd63Ijimcjw X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Xgj4AyKkeEESgUxU+LnjlQHBWvtpnqbwCx/RCtJ9CUkWThdMfiRLPPhzeorsGgs6Wgjj0vNGA+5SXr9zfd6ZI5VjzQpgfDKxRiWzPH46JAmBHpfvORlMPH6mX3OIlWWLq63UXUEZrUByhebylTHF/gg0ONKmBpdDdjyHgzfZsaXfOpKteOrmUHJFdSLGrLIlKQyVZN6wP5bJKnFsqVtTBod6JswRVXzI60J2n/STpDnt3zacnrZPwmBsuTYzfbWbYYtTlvvCuWAnnkD93IkcwOSLtiLO+0WpivxlG/r1wumLhPGP9dzwHYTeVhBBGOrHaoXDWRx8Pd5mdE0iq9Rfqvxw257AZdrW044js3Omg2IyUDAvioqRhP3/z73CStJCwu1matt1V0dMsTghW0OZXUv8tDNq0P4TAjncqFWuW7c9lewHhehjCvdj+WIjv+L5YMTjUbWHv7nbjijNFibyIOXUX/fOgcX5zgePvA7W+dvwcfLXljhwUno/vAbSk66f3tHul+fbE73Wpq/1ipN+kze2qRIDh4qO5yWtlGuTrSvYGeuN/ljQLjCMSQVqU1x6fD15Gquw6wERf9syRmGjy6LkWOHqCQNVooRp3ua+xhd5OvtWyZLEvMWRFKHzsv9lSMKZyqpN+TJwH8Txcd7AYf7qpINWbvf12d6kOd0QPrETV4ZUB0EyDwN38ko1fD/RTDwZRVFl/IZkxqjhBPT2d3Yz30QuKi6hVecnaxed5Y6/TsC56l4RU1W6tmLhmmoK82y5vSTBociUqT675VQTDmQcMRGwouQc68XuKlqbcIf+5q/l9JLeAoGLQv25wN9pbO4bWgcf+GKk/SupR/fUJ+PemJa8/Ecw9JS2Zy6nQL0nn6LRYX5VV1Lqa/vbFDghM1eY9LpTlgtSchudYiCOejLZyWV7psrvsRsftT6ggHEcC0KKWZAHFYv/Gs9vNXRZZZ4pcvmWXtWPGSG9EWFM2OxR/q+8xTEhJYBL34ddwkJ5EqF2JLy3wm/0DiR/AureJlSgw9FXX14IE4FeLgAK5HLBEdPYMbNaYuigA1O5fsk7mcU8eDjjfovRgTIC4Dd1X7+JWgEj4E3ilq4INTu7rU9u/zCuSvpA4f4c39dG8Dt3a92CuAWFBt+tGluIbticlP29SJL+LTzExxCuFrwHhKap1G/NnrhRy94uoRTPcTTEWkD6ZEjQo5xXMdOkpV8iDcW5xiQuIKvxNaDb2NFLF74HXp1vNpXoeJHR9KGO+BVe5/tHmCAOnuZ7RDh/gd2YsFRRheYML1buMihk21NKDVk+fKFATk23UxSrp/0HY0A= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fdc357a8-3b1f-4e11-e58b-08daaa4536ea X-MS-Exchange-CrossTenant-AuthSource: DM5PR03MB3163.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Oct 2022 22:25:47.8738 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5583 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches From: Morgan Smith * gnu/packages/games.scm (sc-controller): New variable. --- gnu/packages/games.scm | 117 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 246472c699..809fbc9ef7 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -74,6 +74,7 @@ ;;; Copyright © 2022 Gabriel Arazas ;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2022 Hendursaga +;;; Copyright © 2022 Morgan Smith ;;; ;;; This file is part of GNU Guix. ;;; @@ -100,6 +101,7 @@ (define-module (gnu packages games) #:use-module (guix svn-download) #:use-module (guix gexp) #:use-module (gnu packages) + #:use-module (gnu packages acl) #:use-module (gnu packages adns) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) @@ -162,6 +164,7 @@ (define-module (gnu packages games) #:use-module (gnu packages libedit) #:use-module (gnu packages libidn) #:use-module (gnu packages libunwind) + #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages llvm) #:use-module (gnu packages lua) @@ -185,6 +188,7 @@ (define-module (gnu packages games) #:use-module (gnu packages protobuf) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) @@ -11160,6 +11164,119 @@ (define-public freerct and unsafe rides. Which path will you take?") (license license:gpl2))) +(define-public sc-controller + (package + (name "sc-controller") + (version "0.4.8.9") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Ryochan7/sc-controller") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1410yj6947yq43wwrj3cwllalalggzmd74sad70jd1niwj85yvna")))) + (build-system python-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (delete 'sanity-check) ;; XXX: no clue how python works + (add-after 'unpack 'remove-bundled-libraries + (lambda _ + (with-directory-excursion "scc/lib" + (for-each delete-file + '("enum.py" "jsonencoder.py" + "libusb1.py" "usb1.py"))) + ;; libusb1 fixes + (substitute* '("scc/uinput.py" + "scc/drivers/usb.py" + "scc/drivers/steamdeck.py" + "scc/drivers/sc_by_cable.py") + (("scc\\.lib\\.libusb1") + "libusb1") + (("scc\\.lib\\.usb1") + "usb1") + (("from scc\\.lib import usb1") + "import usb1")) + ;; enum fixes + (substitute* "scc/cemuhook_server.py" + (("scc\\.lib\\.enum") + "enum")) + ;; simplejson fixes + (substitute* "scc/profile.py" + (("from scc\\.lib\\.jsonencoder") + "from simplejson")))) + (add-after 'unpack 'fix-paths + (lambda _ + (substitute* "scc/lib/xwrappers.py" + (("libXfixes.so") + (string-append (assoc-ref %build-inputs + "libxfixes") + "/lib/libXfixes.so")) + (("libXext.so") + (string-append (assoc-ref %build-inputs + "libxext") + "/lib/libXext.so"))) + (substitute* "scc/lib/eudevmonitor.py" + (("libudev.so") + (string-append (assoc-ref %build-inputs "eudev") + "/lib/libudev.so"))) + (substitute* "scc/uinput.py" + (("/usr/include") + (string-append (assoc-ref %build-inputs + "linux-libre-headers") + "/include"))) + (substitute* '("scc/gui/app.py" + "scc/osd/inputdisplay.py" + "scc/paths.py") + (("/usr/share/scc") + (string-append #$output "/share/scc"))))) + (add-after 'wrap 'gi-wrap + (lambda _ + (for-each (lambda (prog) + (wrap-program (string-append #$output + "/bin/" + prog) + `("GI_TYPELIB_PATH" = + (,(getenv + "GI_TYPELIB_PATH"))))) + '("sc-controller" "scc" + "scc-daemon" + "scc-osd-dialog" + "scc-osd-keyboard" + "scc-osd-launcher" + "scc-osd-menu" + "scc-osd-message" + "scc-osd-radial-menu" + "scc-osd-show-bindings"))))))) + (inputs (list bash-minimal + gtk+ + gtk-layer-shell + eudev + libxext + libxfixes + linux-libre-headers + python-pycairo + python-evdev + python-libusb1 + python-pylibacl + python-pygobject + python-simplejson + python-vdf + zlib)) + (home-page "https://github.com/Ryochan7/sc-controller") + (synopsis "Driver and configuration tool for game controllers") + (description + "Driver and configuration tool for game controllers such as +the Steam Controller, Steam Deck, and Dual Shock 4. Install the included udev +rules to solve permissions issues.") + (license (list + ;; lib/enum.py, lib/usb1.py, and lib/libusb1.py are deleted but + ;; do have other licenses. + license:cc0 ; images/*, default_profiles/*, profile_examples/*, default_menus/* + license:zlib ; scripts/gamecontrollerdb.txt + license:gpl2)))) ; everything else + (define-public steam-devices-udev-rules ;; Last release from 2019-04-10 (let ((commit "d87ef558408c5e7a1a793d738db4c9dc2cb5f8fa")