aboutsummaryrefslogtreecommitdiff
path: root/HACKING
blob: 9adef201c259ab28d2e8ad91bf46596a4c4cc3c7 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
-*- mode: org; coding: utf-8; -*-

#+TITLE: Hacking GNU Guix and Its Incredible Distro

Copyright © 2012, 2013, 2014, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
Copyright © 2015, 2017 Mathieu Lirzin <mthl@gnu.org>
Copyright © 2017 Leo Famulari <leo@famulari.name>
Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>

  Copying and distribution of this file, with or without modification,
  are permitted in any medium without royalty provided the copyright
  notice and this notice are preserved.

* Contributing

See the manual for useful hacking information, either by running

  info -f doc/guix.info "Contributing"

or by checking the [[https://guix.gnu.org/manual/devel/en/html_node/Contributing.html][web copy of the manual]].
iting for user input. * gnu/packages/aux-files/linux-libre/4.4-i686.conf, gnu/packages/aux-files/linux-libre/4.4-x86_64.conf, gnu/packages/aux-files/linux-libre/4.14-i686.conf, gnu/packages/aux-files/linux-libre/4.14-x86_64.conf, gnu/packages/aux-files/linux-libre/4.19-i686.conf, gnu/packages/aux-files/linux-libre/4.19-x86_64.conf, gnu/packages/aux-files/linux-libre/5.4-i686.conf, gnu/packages/aux-files/linux-libre/5.4-x86_64.conf, gnu/packages/aux-files/linux-libre/5.10-i686.conf, gnu/packages/aux-files/linux-libre/5.10-x86_64.conf, gnu/packages/aux-files/linux-libre/5.15-i686.conf, gnu/packages/aux-files/linux-libre/5.15-x86_64.conf: Mark simple framebuffers as generic system ones and enable ‘Google’ firmware drivers to enable Coreboot table support and its dependent framebuffer driver module. * gnu/system/linux-initrd.scm (default-initrd-modules): Add the framebuffer_coreboot and simplefb modules on x86 systems. Tobias Geerinckx-Rice via Guix-patches via 2021-12-05Merge remote-tracking branch 'origin/master' into core-updates-frozenRicardo Wurmus 2021-12-03gnu: emacs: Load package descriptors from packages referenced by subdirs.el...* gnu/packages/aux-files/emacs/guix-emacs.el (guix-emacs--non-core-load-path): New procedure. (guix-emacs-autoload-packages): Use it here. (guix-emacs-load-package-descriptors): New procedure. * gnu/packages/emacs.scm (emacs)[install-site-start]: Install advice to run ‘guix-emacs-load-package-descriptors’. Liliana Marie Prikler 2021-11-26gnu: Remove linux-libre 5.14....* gnu/packages/linux.scm (linux-libre-5.14-version, linux-libre-5.14-gnu-revision, deblob-scripts-5.14, linux-libre-5.14-pristine-source, linux-libre-5.14-source, linux-libre-headers-5.14, linux-libre-5.14): Remove variables. * gnu/packages/aux-files/linux-libre/5.14-arm.conf, gnu/packages/aux-files/linux-libre/5.14-arm64.conf, gnu/packages/aux-files/linux-libre/5.14-i686.conf, gnu/packages/aux-files/linux-libre/5.14-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove them. Leo Famulari 2021-11-26gnu: Add linux-libre 5.15.5....* gnu/packages/linux.scm (linux-libre-5.15-version, linux-libre-5.15-gnu-revision, deblob-scripts-5.15, linux-libre-5.15-pristine-source, linux-libre-5.15-source, linux-libre-headers-5.15, linux-libre-5.15): New variables. * gnu/packages/aux-files/linux-libre/5.15-arm.conf, gnu/packages/aux-files/linux-libre/5.15-arm64.conf, gnu/packages/aux-files/linux-libre/5.15-i686.conf, gnu/packages/aux-files/linux-libre/5.15-x86_64.conf: New files. * Makefile.am (AUX_FILES): Add them Leo Famulari 2021-11-11aux-files: sitecustomize: Cleanup and add explanatory comments....Fixes <https://issues.guix.gnu.org/50105>. * gnu/packages/aux-files/python/sitecustomize.py: Add a comment explaining the general idea, and use sys.prefix instead of sys.executable. (major_minor): Use the unpacking operator (*) to provide the arguments. (site_packages_prefix): Use os.path.join to form the path. (python_site): Likewise. Use sys.prefix instead of sys.executable. (all_sites_raw): Split on os.path.pathsep. (sys.path): Directly splice the result in the list. Suggested-by: Hartmut Goebel <h.goebel@crazy-compilers.com> Reported-by: Mathieu Othacehe <othacehe@gnu.org> Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Maxim Cournoyer 2021-10-12Merge remote-tracking branch 'origin/master' into core-updates-frozen.Mathieu Othacehe 2021-09-22gnu: linux-libre: Update to 5.14.7....* gnu/packages/linux.scm (linux-libre-5.13-version, linux-libre-5.13-gnu-revision, linux-libre-5.13-pristine-source, linux-libre-5.13-source, linux-libre-headers-5.13, linux-libre-5.13): Remove variables. (linux-libre-version, linux-libre-gnu-revision, linux-libre-pristine-source, linux-libre-source, linux-libre, linux-libre-with-bpf): Use 5.14. * gnu/packages/aux-files/linux-libre/5.13-arm.conf, gnu/packages/aux-files/linux-libre/5.13-arm64.conf, gnu/packages/aux-files/linux-libre/5.13-i686.conf, gnu/packages/aux-files/linux-libre/5.13-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove them. Leo Famulari 2021-09-17Merge branch 'master' into core-updates-frozen... Conflicts: gnu/packages/bioinformatics.scm gnu/packages/chez.scm gnu/packages/docbook.scm gnu/packages/ebook.scm gnu/packages/gnome.scm gnu/packages/linux.scm gnu/packages/networking.scm gnu/packages/python-web.scm gnu/packages/python-xyz.scm gnu/packages/tex.scm gnu/packages/version-control.scm gnu/packages/xml.scm guix/build-system/dune.scm guix/build-system/go.scm guix/build-system/linux-module.scm guix/packages.scm Marius Bakke 2021-09-07Merge branch 'master' into core-updates-frozenLudovic Courtès 2021-09-06gnu: Add linux-libre 5.14.1....* gnu/packages/linux.scm (linux-libre-5.14-version, deblob-scripts-5.14, linux-libre-5.14-pristine-source, linux-libre-5.14-source, linux-libre-headers-5.14, linux-libre-5.14): New variables. * gnu/packages/aux-files/linux-libre/5.14-arm.conf, gnu/packages/aux-files/linux-libre/5.14-arm64.conf, gnu/packages/aux-files/linux-libre/5.14-i686.conf, gnu/packages/aux-files/linux-libre/5.14-x86_64.conf: New files. * Makefile.am (AUX_FILES): Add them. Leo Famulari 2021-07-30build-system/python: Handle missing metadata on Python 2....* gnu/packages/aux-files/python/sanity-check.py: Catch the less specific EnvironmentError rather than FileNotFoundError as the latter is Python 3 only. Marius Bakke 2021-07-29Merge branch 'master' into core-updates-frozen... Conflicts: gnu/packages/bioinformatics.scm gnu/packages/cmake.scm gnu/packages/curl.scm gnu/packages/emacs-xyz.scm gnu/packages/gpodder.scm gnu/packages/music.scm gnu/packages/patches/glibc-bootstrap-system.patch gnu/packages/python-xyz.scm gnu/packages/shells.scm gnu/packages/statistics.scm Marius Bakke 2021-07-28gnu: linux-libre: Update to 5.13.6....* gnu/packages/linux.scm (linux-libre-5.12-version, deblob-scripts-5.12 linux-libre-5.12-pristine-source, linux-libre-5.12-source, linux-libre-headers-5.12, linux-libre-5.12): Remove variables. (linux-libre-version, linux-libre-pristine-source, linux-libre-source, linux-libre): Update to the 5.13 kernel series. (linux-libre-with-bpf): Update to 5.13 kernel series. * gnu/packages/aux-files/linux-libre/5.12-arm.conf, gnu/packages/aux-files/linux-libre/5.12-arm64.conf, gnu/packages/aux-files/linux-libre/5.12-i686.conf, gnu/packages/aux-files/linux-libre/5.12-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove them. Leo Famulari 2021-08-14gnu: linux-libre: Add perf probe support....* gnu/packages/aux-files/linux-libre/5.10-i686.conf: Enable CONFIG_UPROBE_EVENTS option. * gnu/packages/aux-files/linux-libre/5.10-x86_64.conf: Ditto. * gnu/packages/aux-files/linux-libre/5.13-i686.conf: Ditto. * gnu/packages/aux-files/linux-libre/5.13-x86_64.conf: Ditto. * gnu/packages/aux-files/linux-libre/5.4-i686.conf: Ditto. * gnu/packages/aux-files/linux-libre/5.4-x86_64.conf: Ditto. Mathieu Othacehe 2021-07-18Merge branch 'master' into core-updatesLudovic Courtès 2021-07-15gnu: linux-libre: Default to the 'schedutil' CPU scaling governor....For more information about these configuration options, read <https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt> or the document 'Documentation/admin-guide/pm/cpufreq.rst' in the linux-libre source distribution. * gnu/packages/aux-files/linux-libre/4.14-arm.conf, gnu/packages/aux-files/linux-libre/4.14-i686.conf, gnu/packages/aux-files/linux-libre/4.14-x86_64.conf, gnu/packages/aux-files/linux-libre/4.19-arm.conf, gnu/packages/aux-files/linux-libre/4.19-arm64.conf, gnu/packages/aux-files/linux-libre/4.19-i686.conf, gnu/packages/aux-files/linux-libre/4.19-x86_64.conf, gnu/packages/aux-files/linux-libre/4.9-i686.conf, gnu/packages/aux-files/linux-libre/4.9-x86_64.conf, gnu/packages/aux-files/linux-libre/5.10-i686.conf, gnu/packages/aux-files/linux-libre/5.10-x86_64.conf, gnu/packages/aux-files/linux-libre/5.12-i686.conf, gnu/packages/aux-files/linux-libre/5.12-x86_64.conf, gnu/packages/aux-files/linux-libre/5.13-i686.conf, gnu/packages/aux-files/linux-libre/5.13-x86_64.conf, gnu/packages/aux-files/linux-libre/5.4-arm.conf, gnu/packages/aux-files/linux-libre/5.4-arm64.conf, gnu/packages/aux-files/linux-libre/5.4-i686.conf, gnu/packages/aux-files/linux-libre/5.4-x86_64.conf: Unset 'CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE' and set 'CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y'. Leo Famulari 2021-07-13gnu: Add linux-libre 5.13....* gnu/packages/linux.scm (linux-libre-5.13-version, deblob-scripts-5.13, linux-libre-5.13-pristine-source, linux-libre-5.13-source, linux-libre-headers-5.13, linux-libre-5.13): New variables. * gnu/packages/aux-files/linux-libre/5.13-arm.conf, gnu/packages/aux-files/linux-libre/5.13-arm64.conf, gnu/packages/aux-files/linux-libre/5.13-i686.conf, gnu/packages/aux-files/linux-libre/5.13-x86_64.conf: New files. * Makefile.am (AUX_FILES): Add them. Leo Famulari 2021-07-02gnu: linux-libre: Build the VMD driver module....Requested by PsixisP on #guix: “I have a laptop that requires CONFIG_VMD (Intel's software RAID) in order for the kernel to see the internal NVMe drive. This is not present in the default Guix kernel.” * gnu/packages/aux-files/linux-libre/4.14-x86_64.conf, gnu/packages/aux-files/linux-libre/4.19-x86_64.conf, gnu/packages/aux-files/linux-libre/4.9-x86_64.conf, gnu/packages/aux-files/linux-libre/5.10-x86_64.conf, gnu/packages/aux-files/linux-libre/5.12-x86_64.conf, gnu/packages/aux-files/linux-libre/5.4-x86_64.conf: Enable modular CONFIG_VMD. Tobias Geerinckx-Rice 2021-05-25guile: Leave 'scm_install_gmp_memory_functions' unchanged....Since the switch to Guile 3.0.7 using mini-GMP, we can leave 'scm_install_gmp_memory_functions' to its default value, which is to use custom memory allocators; there is no interference with users of GMP such as GnuTLS/Nettle. * gnu/packages/aux-files/guile-launcher.c (main) [!SCM_ENABLE_MINI_GMP]: Leave 'scm_install_gmp_memory_functions' unchanged. Ludovic Courtès 2021-05-22Merge branch 'master' into core-updatesMarius Bakke 2021-05-21gnu: linux-libre: Update to 5.12.5....* gnu/packages/linux.scm (linux-libre-5.11-version, deblob-scripts-5.11, linux-libre-5.11-pristine-source, linux-libre-5.11-source, linux-libre-headers-5.11, linux-libre-5.11): Remove variables. (linux-libre-version, linux-libre-pristine-source, linux-libre-source, linux-libre): Update to the 5.12 kernel series. (linux-libre-with-bpf): Update to the 5.12 kernel series. * gnu/packages/aux-files/linux-libre/5.11-arm.conf, gnu/packages/aux-files/linux-libre/5.11-arm64.conf, gnu/packages/aux-files/linux-libre/5.11-i686.conf, gnu/packages/aux-files/linux-libre/5.11-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove them. Leo Famulari 2021-05-09Merge branch 'master' into core-updates... Conflicts: gnu/local.mk gnu/packages/bioinformatics.scm gnu/packages/django.scm gnu/packages/gtk.scm gnu/packages/llvm.scm gnu/packages/python-web.scm gnu/packages/python.scm gnu/packages/tex.scm guix/build-system/asdf.scm guix/build/emacs-build-system.scm guix/profiles.scm Marius Bakke 2021-05-08gnu: linux-libre@5.12: Update arm64 config to support Pinebook Pro....* gnu/packages/aux-files/linux-libre/5.11-arm64.conf: Add configurations to support video, audio, USB-C and battery on Pinebook Pro. Vagrant Cascadian 2021-05-08gnu: linux-libre@5.12: Default to schedutil cpufreq governor on arm...and arm64. This has been the recommended default for arm and arm64 since v5.9 (upstream commit f259eab3ea0e7ed73db91f6358274dd3a9a27d79). * gnu/packages/aux-files/linux-libre/5.12-arm.conf, gnu/packages/aux-files/linux-libre/5.12-arm64.conf: Enable CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL, disable CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE. Vagrant Cascadian 2021-05-08gnu: Add linux-libre 5.12.2....* gnu/packages/linux.scm (linux-libre-5.12-version, deblob-scripts-5.12, linux-libre-5.12-pristine-source, linux-libre-5.12-source, linux-libre-headers-5.12, linux-libre-5.12): New variables. * gnu/packages/aux-files/linux-libre/5.12-arm.conf, gnu/packages/aux-files/linux-libre/5.12-arm64.conf, gnu/packages/aux-files/linux-libre/5.12-i686.conf, gnu/packages/aux-files/linux-libre/5.12-x86_64.conf: New files. * Makefile.am (AUX_FILES): Add them. Leo Famulari 2021-05-07gnu: linux-libre: Default to schedutil cpufreq governor on arm and arm64....This has been the recommended default for arm and arm64 since since v5.9 (upstream commit f259eab3ea0e7ed73db91f6358274dd3a9a27d79). * gnu/packages/aux-files/linux-libre/5.10-arm.conf, gnu/packages/aux-files/linux-libre/5.10-arm.conf, gnu/packages/aux-files/linux-libre/5.11-arm.conf, gnu/packages/aux-files/linux-libre/5.11-arm.conf: Enable CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL, disable CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE. Vagrant Cascadian 2021-05-06gnu: linux-libre: Update arm64 config to support Pinebook Pro....* gnu/packages/aux-files/linux-libre/5.11-arm64.conf: Add configurations to support video, audio, USB-C and battery on Pinebook Pro. Vagrant Cascadian 2021-04-16Merge remote-tracking branch 'origin/master' into core-updates... Conflicts: gnu/local.mk gnu/packages/boost.scm gnu/packages/chez.scm gnu/packages/compression.scm gnu/packages/crates-io.scm gnu/packages/docbook.scm gnu/packages/engineering.scm gnu/packages/gcc.scm gnu/packages/gl.scm gnu/packages/gtk.scm gnu/packages/nettle.scm gnu/packages/python-check.scm gnu/packages/python-xyz.scm gnu/packages/radio.scm gnu/packages/rust.scm gnu/packages/sqlite.scm guix/build-system/node.scm Efraim Flashner