* gnu/packages/firmware.scm (make-qmk-firmware/implementation)
(make-qmk-firmware): New procedures.
(qmk-firmware-ergodox-ez-default): New variable.
Series-changes: 2
- Install firmware from root directory, not .build
- Also honor .bin and .uf2 firmware file extensions
This can in some cases hide the real error with errors such as:
error: base:which: unbound variable
* gnu/packages/embedded.scm (openocd) [native-inputs]: Replace base:which with
which.
(binutils-vc4): Likewise.
(python-libmpsse): Likewise.
* gnu/packages/firmware.scm (qmk) [inputs]: Add bash-minimal, dfu-util,
diffutils, gawk, gnu-make, grep and python.
[arguments]: Add them to PATH in the wrapper in the wrap-path phase. Also
capture avr-ar in the PATH. Add CROSS_C_INCLUDE_PATH and
CROSS_LIBRARY_PATH to the wrapper.
This allows generating an AVR toolchain for any version of GCC.
* gnu/packages/avr.scm (make-avr-gcc): Add a #:xgcc argument; use memoize
instead of mlambda.
(make-avr-libc): Likewise. Provide it to the 'make-avr-gcc' call.
(make-avr-toolchain): Add a #:xgcc argument; use memoize instead of mlambda.
Provide the xgcc argument to the 'make-avr-libc' and 'make-avr-gcc'
procedures.
* gnu/packages/toolkits.scm (imgui-1.86)[arguments]: Remove the
"-DIMGUI_ENABLE_FREETYPE" make-flag which breaks the display of mangohud, the
only dependent. The "-DImDrawIdx=unsigned int" make-flag was previously
removed, so we can do both by filtering make-flags starting with "-D".
[inputs]: Remove freetype.
This works around a situation where ‘cuirass remote-worker’ now builds
with max-jobs = 1 (Cuirass commit
980ef610989895be5ac2ba7f9d1901e5c7f22934). The effect is that all
.dis.drv would be performed sequentially, on a single machine (‘cuirass
remote-server’ is unable to distribute those derivations to several
machines because it only “sees” the ‘disarchive-collection’ derivation).
This would take a lot of time and force a rebuild of all of *.dis.drv
every time because their build results would not be retrieved by the
‘remote-server’ process.
* etc/disarchive-manifest.scm (disarchive-collection): Remove.
<top level>: Define ‘disarchives’. Append it to the entries of the
manifest.
* gnu/packages/patches/emacs-next-native-comp-driver-options.patch: Add file.
* gnu/packages/patches/emacs-next-exec-path.patch: Add file.
* gnu/local.mk (dist_patch_DATA): Register them here.
* gnu/packages/emacs.scm (emacs-next-minimal)[origin](patches): Include the
same patches as emacs-minimal, save for the variants specific to emacs-next
introduced above.
Co-Authored-By: Nicolas Graves <ngraves@ngraves.fr>
Fixes: ‘emacs-next’ is almost unusable <https://bugs.gnu.org/66227>
Rewrite this section to make it easier to document later syntactical
changes.
* doc/guix.texi (Complex Configurations): Rewrite define-configuration
documentation. Fix simple serializer example.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Introduces 'base-transducer', a SRFI-171 based transducer that can be used as a
starting point for writing custom configuration record serializing procedures.
This also fixes the symbol maybe-value serialization test case.
* gnu/services/configuration.scm (empty-serializer?): New predicate.
(base-transducer, tfilter-maybe-value): New procedure.
(serialize-configuration): Adapt to use base-transducer.
* gnu/services/telephony.scm (jami-account->alist): Use transducers to skip
fields that are unserializable or whose field maybe-value is unset.
* tests/services/configuration.scm: Remove test-expect-fail.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>