From patchwork Sun May 28 23:44:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Fredrik Salomonsson X-Patchwork-Id: 50408 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 C475327BBED; Mon, 29 May 2023 00:45:46 +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,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham 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 36FC127BBE9 for ; Mon, 29 May 2023 00:45:46 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q3Q4T-0005D1-2N; Sun, 28 May 2023 19:45:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q3Q4Q-0005Bd-IV for guix-patches@gnu.org; Sun, 28 May 2023 19:45:06 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1q3Q4Q-0004dl-AT for guix-patches@gnu.org; Sun, 28 May 2023 19:45:06 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1q3Q4Q-0006t1-67 for guix-patches@gnu.org; Sun, 28 May 2023 19:45:06 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#42682] [PATCH v3 8/9] gnu: Add qmk-cli. Resent-From: Fredrik Salomonsson Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 28 May 2023 23:45:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42682 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 42682@debbugs.gnu.org Cc: Fredrik Salomonsson Received: via spool by 42682-submit@debbugs.gnu.org id=B42682.168531749726360 (code B ref 42682); Sun, 28 May 2023 23:45:06 +0000 Received: (at 42682) by debbugs.gnu.org; 28 May 2023 23:44:57 +0000 Received: from localhost ([127.0.0.1]:56628 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q3Q4G-0006r1-P6 for submit@debbugs.gnu.org; Sun, 28 May 2023 19:44:57 -0400 Received: from mout02.posteo.de ([185.67.36.66]:53543) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q3Q4E-0006qV-9T for 42682@debbugs.gnu.org; Sun, 28 May 2023 19:44:55 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id C117A240101 for <42682@debbugs.gnu.org>; Mon, 29 May 2023 01:44:48 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1685317488; bh=Ihbw1AqBzKCErF2hQ893X2bOJAWeFwBb/TTApevu7Zw=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version: Content-Transfer-Encoding:From; b=M70SkQuGG+yfBIxZKdTf8vyBYfGMM7OdflNMcDu80Auhfoqduofm6JSHbYFVvDWWU 0NpuXqjDVSpO1Dr4x4uF0X4ZGl6D9eWRsOo6S0Xv6duyob+IK6SDiuHgUUuU8wyYvc NJpGVrhvexW6Hz7BBRppBFZvs9WVIbISG44O5RDHGoIMbmHwn/xuvYUtzWtBtyDsck YthfBct3Z/Evspb6Gkc77wsG+KLoM1iEf2TLJNe1hP7moltv0Z/RM/EzMZgmRjUd8w M+VNRDz+YkAo73QjyE3v2PxmqV++I7Dzm3rO5qrwocgX+B4NFp0WOT2X4h74VXZ3sS 7gxUpqwQ04e2Q== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4QTwHh0w88z9rxD; Mon, 29 May 2023 01:44:47 +0200 (CEST) From: Fredrik Salomonsson Date: Sun, 28 May 2023 23:44:06 +0000 Message-Id: In-Reply-To: References: MIME-Version: 1.0 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-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/hardware.scm (qmk-cli): New variable. --- gnu/packages/hardware.scm | 47 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index c23299d1db..ebf5f47e1a 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2022 Efraim Flashner ;;; Copyright © 2023 Spencer Skylar Chan +;;; Copyright © 2023 Fredrik Salomonsson ;;; ;;; This file is part of GNU Guix. ;;; @@ -79,6 +80,8 @@ (define-module (gnu packages hardware) #: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-check) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) @@ -94,10 +97,12 @@ (define-module (gnu packages hardware) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system meson) #:use-module (guix build-system perl) + #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (guix download) #:use-module (guix gexp) @@ -1438,3 +1443,45 @@ (define-public lxi-tools on the LXI Consortium standard which defines the communication protocols for modern instrumentation and data acquision systems using Ethernet.") (license license:bsd-3))) + +(define-public qmk-cli + (package + (name "qmk-cli") + (version "1.1.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "qmk" version)) + (sha256 + (base32 + "1619q9v90740dbg8xpzqlhwcasz42xj737803aiip8qc3a7zhwgq")))) + (build-system pyproject-build-system) + (arguments + (list #:tests? #f)) ; test removed in pypi + (inputs + (list + python-hid + python-hjson + python-jsonschema + python-milc + python-pillow + python-pygments + python-pyserial + python-pyusb + python-dotty-dict + python-tox + python-wheel)) + (home-page "https://qmk.fm") + (synopsis "Program to help users work with QMK Firmware") + (description + "This package provides a @acronym{CLI, command line interface} based +program to help users work with QMK Firmware. Where QMK Firmware is an open +firmware for custom keyboards, e.g. Planck, ErgoDox, Corne and many more. +This @acronym{CLI} program is mainly used for building the QMK firmware, but +also has some other convenience utilities. To be able to build a firmware +also include the following packages: @code{avr-toolchain} and either +@code{dfu-programmer} or @code{avrdude} depending on what microcontroller(s) +is/are used for the keyboard. To be able to clone the QMK Firmware project +using @command{qmk clone} include the @code{git} package. It is highly +recommended to setup udev rules to avoid running this as root when flashing +the firmware, see @code{qmk-udev-rules} and @code{udev-service-type}.") + (license license:expat)))