Package Details: qmk-git 1.1.6.r10.gffe20fb-1

Git Clone URL: https://aur.archlinux.org/qmk-git.git (read-only, click to copy)
Package Base: qmk-git
Description: CLI tool for customizing supported mechanical keyboards.
Upstream URL: https://github.com/qmk/qmk_cli
Licenses: MIT
Conflicts: qmk
Provides: qmk
Submitter: Curry
Maintainer: serene-arc
Last Packager: serene-arc
Votes: 4
Popularity: 0.004034
First Submitted: 2020-01-14 21:03 (UTC)
Last Updated: 2025-03-23 04:06 (UTC)

Latest Comments

« First ‹ Previous 1 2 3 Next › Last »

qubidt commented on 2021-09-10 16:37 (UTC)

No, I wasn't sure about those dependencies so I left them alone. In the diff I posted the only dependencies I messed with where the python- ones.

As for the qmk package, since this provides the same program, I think you should also add:

provides=('qmk')
conflicts=('qmk')

to the PKGBUILD to indicate that the two overlap. That's conventional for -git packages, I believe

serene-arc commented on 2021-09-10 04:54 (UTC)

Ah thanks, I'll look at all of those changes in a bit. Are you sure avrdude and everything like that should be removed? Presumably it's redundant with the qmk package but then that should be included in a dependency perhaps

qubidt commented on 2021-09-10 04:39 (UTC)

The udev rules give users write access so that they can flash the firmware. qmk setup will actually warn you to manually install the udev rules if the ones in the qmk_firmware repo do not match the ones in /usr/lib/rules.d. Installing them as part of qmk-git (like the official qmk package does) avoids this warning altogether.

If it's helpful, here's my local PKGBUILD after the changes I suggested:

diff --git a/PKGBUILD b/PKGBUILD
index 756b452..0d0707b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,6 +1,7 @@
 # Maintainer: Serene-Arc
 pkgname=qmk-git
 pkgver=1.0.0.r0.g710dc3e
+_qmk_pkgver=master
 pkgrel=4
 pkgdesc="CLI tool for customizing supported mechanical keyboards."
 arch=('any')
@@ -23,22 +24,21 @@ depends=(
     'gcc'
     'git'
     'libusb-compat'
-    'python-appdirs'
-    'python-argcomplete'
-    'python-build'
-    'python-colorama'
     'python-dotty-dict'
     'python-hidapi'
     'python-hjson'
+    'python-jsonschema'
     'python-milc'
     'python-pyusb'
     'unzip'
     'wget'
     'zip'
-   )
-makedepends=('python' 'python-pip')
-source=('git+https://github.com/qmk/qmk_cli.git')
-sha256sums=('SKIP')
+    )
+makedepends=('python' 'python-pip' 'python-build')
+source=('git+https://github.com/qmk/qmk_cli.git'
+        "50-qmk.rules_${_qmk_pkgver}::https://raw.githubusercontent.com/qmk/qmk_firmware/${_qmk_pkgver}/util/udev/50-qmk.rules")
+sha256sums=('SKIP'
+            '8fede515a21d808ac25844db77e13f517e035121471001fc7b7f84273d48c4b1')

 pkgver() {
   cd "$_branch"
@@ -47,11 +47,15 @@ pkgver() {

 build() {
     cd "$_branch"
-   python -m build --wheel
+    python -m build --skip-dependency-check --wheel
 }

 package() {
-   cd "$_branch/dist"
-   PIP_CONFIG_FILE=/dev/null pip install --isolated --root="$pkgdir" --ignore-installed --no-deps *.whl
-   python -O -m compileall "${pkgdir}/qmk-git"
+    cd "$_branch"
+    PIP_CONFIG_FILE=/dev/null pip install --isolated --root="$pkgdir" --ignore-installed --no-deps dist/*.whl
+    python -O -m compileall "${pkgdir}"
+
+    install -Dm644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+    install -d "${pkgdir}/usr/lib/udev/rules.d"
+    install -Dm644 "${srcdir}/50-qmk.rules_${_qmk_pkgver}" "${pkgdir}/usr/lib/udev/rules.d/50-qmk.rules"
 }

serene-arc commented on 2021-09-10 03:48 (UTC)

What do those udev rules do? I'll clean up all the dependencies now

qubidt commented on 2021-09-09 18:46 (UTC)

The community/qmk package installs the udev rules from the qmk_firmware repo. Might be a good idea to do the same? It'll save the user from having to copy files into system directories.

qubidt commented on 2021-09-09 18:41 (UTC)

The dependency list has been cleaned upstream, the actual dependencies are a little more clear now.

Missing dependencies:

  • python-jsonschema: confirmed that lacking it breaks the cli with a ModuleNotFoundError
  • python-pygments: Not sure where pygments is being used but according to the qmk_cli setup.cfg it is a dependency.

Extraneous dependencies (these are non-direct dependencies already required by python-milc):

  • python-appdirs
  • python-argcomplete
  • python-colorama

Others:

  • qmk-dotty-dict is only required pending a release from upstream dotty-dict. we can probably ignore this
  • python-build should be a makedepends, no?

serene-arc commented on 2021-09-05 06:43 (UTC)

Thanks, the package has been update accordingly.

metalspork commented on 2021-09-05 06:40 (UTC)

The USB python module is pyusb, provided by python-pyusb. Additionally, qmk needs the package python-hjson to be installed.

serene-arc commented on 2021-09-04 05:51 (UTC)

Ah, thanks. I had some pre-installed packages which make it a little hard to determine the dependencies. As for the usb module, pull again: I added the requirement a few minutes ago.

msnspk commented on 2021-09-04 05:49 (UTC)

python-milc and python-build need to be added to the dependencies list. Thanks for picking this package up by the way. I'm also getting a ModuleNotFoundError error for a module called "usb" but I cannot seem to find it anywhere