From patchwork Tue Sep 26 19:04:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxim Cournoyer X-Patchwork-Id: 54336 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 029DD27BBE9; Tue, 26 Sep 2023 20:40:36 +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_ADSP_CUSTOM_MED, 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 93A4D27BBEA for ; Tue, 26 Sep 2023 20:40:33 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qlDtZ-0006jD-4C; Tue, 26 Sep 2023 15:38:57 -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 1qlDtW-0006gG-Fi for guix-patches@gnu.org; Tue, 26 Sep 2023 15:38:54 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qlDtS-0006MI-Vj for guix-patches@gnu.org; Tue, 26 Sep 2023 15:38:54 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qlDte-00010w-Mm; Tue, 26 Sep 2023 15:39:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#66217] [PATCH 03/22] gnu: qmk: Avoid propagating inputs. Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: efraim@flashner.co.il, vagrant@debian.org, guix-patches@gnu.org Resent-Date: Tue, 26 Sep 2023 19:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66217 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 66217@debbugs.gnu.org Cc: Maxim Cournoyer , Efraim Flashner , Vagrant Cascadian X-Debbugs-Original-Xcc: Efraim Flashner , Vagrant Cascadian Received: via spool by 66217-submit@debbugs.gnu.org id=B66217.16957570973599 (code B ref 66217); Tue, 26 Sep 2023 19:39:02 +0000 Received: (at 66217) by debbugs.gnu.org; 26 Sep 2023 19:38:17 +0000 Received: from localhost ([127.0.0.1]:49802 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qlDsu-0000vs-BA for submit@debbugs.gnu.org; Tue, 26 Sep 2023 15:38:16 -0400 Received: from mail-qk1-x72a.google.com ([2607:f8b0:4864:20::72a]:47221) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qlDso-0000un-Gt for 66217@debbugs.gnu.org; Tue, 26 Sep 2023 15:38:11 -0400 Received: by mail-qk1-x72a.google.com with SMTP id af79cd13be357-77433d61155so289430085a.2 for <66217@debbugs.gnu.org>; Tue, 26 Sep 2023 12:37:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695757071; x=1696361871; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=BiKDYug1TNo2kq5FVpD6vRpM+hX+7NOOMtgOo0IhWjo=; b=YSB8OnaLqavuA+yLYFSQOCaq1tDdUW0CoPoD3gc+2PJjcAr83vWpvNXucj3BCaHomi Ls0bQMMWoIzvStSvj6MocNH7KDYrYmJdvY8Gm6hEeAY5N8chxfCZRY3VjBnmkzhnFXCn zvDfPagmxrLzfDCUwcH1sJc6hEHJo7HuVDrD4m8DpARolGsORukcR9VUiqZnYRVUzb71 iBdCrfbynn4ftIhOvmNmUZP6E0RwDGt47Pl9X8jWS1SWQ6xa89X45fxKb6volRn/mkxN /iY06iS1xu6GHIP53I+yKpvcO7MEuogWieSfmuvaVtjxZ4x9Hif6qmUqN0XKKnUqBVmz g8xQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695757071; x=1696361871; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=BiKDYug1TNo2kq5FVpD6vRpM+hX+7NOOMtgOo0IhWjo=; b=anbWGh3n9lRDV1NlWP7YDVY5cqrBJENmqOWeIp0+cRJ5f3eXPL9TpDb4qeBUn9avE0 /3UymO7h+j/43NXAkjFDjS0oRtmkAE5iwSIFv2BgorB0xNEaTWi2ZX4JToSMXTzIg+eQ L1ZN3Xb5w5XAjZ414uIeI0bQHEXXtzJCUSyj1kssSqhhTr2oseDDWNIfPEQhY0qGXAcw /rj2TbuZqz3KkSONBrhVOxGkLmO1FJCcyuI207CtB9L0xDeMSGGJhpgHRsQ0o052rK3e 8l76DpAf6cv6BZ/CIeSlatGXpqraIjDBGXpyuqZgiOpwVifxbBzSSqFmg8XKjJun/kMF dapw== X-Gm-Message-State: AOJu0YzdJMOzrKl+6tpm4cLjb62mJOW+U+HsKUhrU8vYbPjy5SFDBLn8 TVmB/WqYudTawdiuy/EaH2rX20hVWtE= X-Google-Smtp-Source: AGHT+IH2z6qZGabtIsie1EDctkYW9T+qeAgUnv9wSxlmeAacZ1iMx56Dgruy0rre2zWwC+Y7UqKaKA== X-Received: by 2002:a05:620a:470f:b0:775:6a75:9320 with SMTP id bs15-20020a05620a470f00b007756a759320mr1868175qkb.74.1695757071636; Tue, 26 Sep 2023 12:37:51 -0700 (PDT) Received: from localhost.localdomain (dsl-10-130-229.b2b2c.ca. [72.10.130.229]) by smtp.gmail.com with ESMTPSA id a13-20020a05620a16cd00b0076cbcf8ad3bsm2887595qkn.55.2023.09.26.12.37.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Sep 2023 12:37:51 -0700 (PDT) From: Maxim Cournoyer Date: Tue, 26 Sep 2023 15:04:26 -0400 Message-ID: <4f682ffc051356929e9c32104f44b10a5deefcbb.1695754731.git.maxim.cournoyer@gmail.com> X-Mailer: git-send-email 2.41.0 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/firmware.scm (qmk): [arguments]: New modules and phases arguments. [propagated-inputs]: Turn into... [inputs]: ... this. Add coreutils-minimal, sed and util-linux. [description]: Expound. --- gnu/packages/firmware.scm | 71 ++++++++++++++++++++++++++++++++------- 1 file changed, 59 insertions(+), 12 deletions(-) diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index dcae0d510b5..499920160a8 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -33,6 +33,7 @@ (define-module (gnu packages firmware) #:use-module (guix gexp) #:use-module (guix utils) #:use-module (guix git-download) + #:use-module (guix build-system copy) #:use-module (guix build-system gnu) #:use-module (guix build-system meson) #:use-module (guix build-system python) @@ -40,6 +41,8 @@ (define-module (gnu packages firmware) #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages admin) + #:use-module (gnu packages autotools) + #:use-module (gnu packages avr) #:use-module (gnu packages assembly) #:use-module (gnu packages backup) #:use-module (gnu packages base) @@ -52,6 +55,7 @@ (define-module (gnu packages firmware) #:use-module (gnu packages curl) #:use-module (gnu packages efi) #:use-module (gnu packages elf) + #:use-module (gnu packages flashing-tools) #:use-module (gnu packages flex) #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) @@ -1212,6 +1216,11 @@ (define-public crust-pinebook (define-public crust-pine64-plus (make-crust-package "pine64_plus")) + +;;; +;;; QMK Firmware. +;;; + (define-public qmk (package (name "qmk") @@ -1224,18 +1233,56 @@ (define-public qmk "1619q9v90740dbg8xpzqlhwcasz42xj737803aiip8qc3a7zhwgq")))) (build-system pyproject-build-system) (arguments - (list #:tests? #f)) ;No tests. - (propagated-inputs (list python-dotty-dict - python-hid - python-hjson - python-jsonschema - python-milc - python-pillow - python-pygments - python-pyserial - python-pyusb)) + (list + #:tests? #f ;no tests + #:modules '((guix build pyproject-build-system) + (guix build utils) + (srfi srfi-26)) + #:phases + #~(modify-phases %standard-phases + (add-after 'wrap 'wrap-path + (lambda* (#:key inputs outputs #:allow-other-keys) + (wrap-program (search-input-file outputs "bin/qmk") + `("PATH" prefix + ,(map (compose dirname + (cut search-input-file inputs <>)) + '("bin/avr-gcc" + "bin/avrdude" + "bin/dfu-programmer" + "bin/git" + ;; TODO: Remove after git is wrapped with these. + "bin/basename" + "bin/sed" + "bin/uname"))))))))) + ;; The inputs are not propagated since qmk is to be used strictly as a + ;; command. + (inputs + (list (make-avr-toolchain) + avrdude + dfu-programmer + git-minimal ;for the clone action + python-dotty-dict + python-hid + python-hjson + python-jsonschema + python-milc + python-pillow + python-pygments + python-pyserial + python-pyusb + ;; These are added to workaround faults in our git package (see + ;; bug#65924). + coreutils-minimal + sed + util-linux)) (home-page "https://qmk.fm") (synopsis "Command line utility to manage QMK keyboard firmwares") - (description "This package provides a program to help users work with -@acronym{QMK, Quantum Mechanical Keyboard} firmwares.") + (description "The QMK CLI provides a @acronym{CLI, command line interface} +based program to help users work with the QMK firmware, which can be used for +multiple custom keyboards such as Planck, ErgoDox, Corne and others. + +This @acronym{CLI} program is mainly used for building the QMK firmware, but +also has some other convenience utilities. It is highly recommended to +install the udev rules provided by the @code{qmk-udev-rules} package to avoid +having to run @command{qmk} as root when flashing the firmware.") (license license:expat)))