From 923fad1c764f84756bed39f75f1970c566840994 Mon Sep 17 00:00:00 2001 From: "Collin J. Doering" Date: Thu, 11 Apr 2024 17:45:26 -0400 Subject: [PATCH] Use Guix: Pin dependencies It was discovered that builds no longer were functional on my current version of Guix (25b83bd). That is, builds would fail indicating 'avr-ld: cannot find crtatmega32u4.o: No such file or directory'. avr-toolchain has been updated a few times, and an old version is required to build this; as such, dependencies are now pinned with a channels.scm file, and an .envrc has been provided for convenience. A latter commit should merge qmk_firmware upstream, which likely will resolve the build issue with the latest version of avr-gcc. --- .envrc | 10 ++++++++++ channels.scm | 11 +++++++++++ 2 files changed, 21 insertions(+) create mode 100644 .envrc create mode 100644 channels.scm diff --git a/.envrc b/.envrc new file mode 100644 index 0000000000..63c4148057 --- /dev/null +++ b/.envrc @@ -0,0 +1,10 @@ +use_guix-shell() { + CHANNEL_FILE=channels.scm + if [ -f $CHANNEL_FILE ]; then + eval "$(guix time-machine -C $CHANNEL_FILE -- shell "$@" --search-paths)" + else + eval "$(guix shell "$@" --search-paths)" + fi +} + +use guix-shell avr-toolchain avrdude make python-wrapper diff --git a/channels.scm b/channels.scm new file mode 100644 index 0000000000..a6dfb4ba90 --- /dev/null +++ b/channels.scm @@ -0,0 +1,11 @@ +(list (channel + (name 'guix) + (url "https://git.savannah.gnu.org/git/guix.git") + (branch "master") + (commit + "273709932fa47f6ae56c96564a9415fdbff4a169") + (introduction + (make-channel-introduction + "9edb3f66fd807b096b48283debdcddccfea34bad" + (openpgp-fingerprint + "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA")))))