;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu services hurd) #:use-module (gnu packages admin) #:use-module (gnu packages hurd) #:use-module (gnu services) #:use-module (gnu services shepherd) #:use-module (gnu system) #:use-module (guix gexp) #:use-module (guix records) #:export (hurd-console-configuration hurd-console-service-type hurd-getty-configuration hurd-getty-service-type)) ;;; Commentary: ;;; ;;; This module implements services for the Hurd. ;;; ;;; Code: ;;; ;;; The Hurd VGA console service. ;;; (define-record-type* hurd-console-configuration make-hurd-console-configuration hurd-console-configuration? (hurd hurd-console-configuration-hurd ;package (default hurd))) (define (hurd-console-shepherd-service config) "Return a for a Hurd VGA console with CONFIG." (define console-command #~(list (string-append #$(hurd-console-configuration-hurd config) "/bin/console") "-c" "/dev/vcs" "-d" "vga" "-d" "pc_kbd" "-d" "generic_speaker")) (list (shepherd-service (documentation "Run the Hurd’s VGA console client.") (provision '(console)) (requirement '(user-processes)) (start #~(make-forkexec-constructor #$console-command)) (stop #~(make-kill-destructor))))) (define hurd-console-service-type (service-type (name 'console) (description "Run the Hurd console client.") (extensions (list (service-extension shepherd-root-service-type hurd-console-shepherd-service))) (default-value (hurd-console-configuration)))) ;;; ;;; The Hurd getty service. ;;; (define-record-type* hurd-getty-configuration make-hurd-getty-configuration hurd-getty-configuration? (hurd hurd-getty-configuration-hurd ; (default hurd)) (tty hurd-getty-configuration-tty) ;string (baud-rate hurd-getty-configuration-baud-rate (default 38400))) ;integer (define (hurd-getty-shepherd-service config) "Return a for a Hurd getty with CONFIG." (let ((hurd (hurd-getty-configuration-hurd config)) (tty (hurd-getty-configuration-tty config)) (baud-rate (hurd-getty-configuration-baud-rate config))) (define getty-command #~(list (string-append #$hurd "/libexec/getty") #$(number->string baud-rate) #$tty)) (list (shepherd-service (documentation "Run getty on a tty.") (provision (list (string->symbol (string-append "term-" tty)))) (requirement '(user-processes console)) (start #~(make-forkexec-constructor #$getty-command)) (stop #~(make-kill-destructor)))))) (define hurd-getty-service-type (service-type (name 'getty) (extensions (list (service-extension shepherd-root-service-type hurd-getty-shepherd-service))) (description "Provide console login using the Hurd @command{getty} program."))) ;;; hurd.scm ends here linux as a supported system. * doc/guix.texi (GNU Distribution): Add riscv64-linux. Efraim Flashner 2021-12-14build: Adjust 'courage level' of different systems....* m4/guix.m4 (GUIX_ASSERT_SUPPORTED_SYSTEM): Add i586-gnu. Move powerpc-linux to unsupported but not needing courage. Add mips64el-linux to unsupported. Efraim Flashner 2021-05-23gnu: bootstrap: Add support for powerpc-linux....On 923bb70a1bff657125c3008f119a477e5cb57c2b gnu:glibc-for-bootstrap: Fix patch. Run ./pre-inst-env guix build --target=powerpc-linux-gnu bootstrap-tarballs Producing /gnu/store/dyj1wvayyp1ihaknkxniz1xamcf4yrhl-bootstrap-tarballs-0 With guix hash -rx /gnu/store/dyj1wvayyp1ihaknkxniz1xamcf4yrhl-bootstrap-tarballs-0 02xx2ydj28pwv3vflqffinpq1icj09gzi9icm8j4bwc4lca9irxn * gnu/packages/bootstrap.scm (%bootstrap-executables): Add entries for powerpc-linux. (%bootstrap-guile-hash, %bootstrap-coreutils&co, %bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc): Add entry for powerpc-linux. * gnu/packages.scm (%supported-systems): Add powerpc-linux. (%hydra-supported-systems): Remove powerpc-linux. * m4/guix.m4: Add powerpc-linux as a supported system. Efraim Flashner 2021-03-23Add powerpc64le-linux as a supported Guix architecture....This makes powerpc64le-linux a supported architecture for Guix, but not for Guix System. * Makefile.am (SUPPORTED_SYSTEMS): Add an entry for powerpc64le-linux. * etc/guix-install.sh (chk_sys_arch): Same. * guix/packages.scm (%supported-systems): Same. * m4/guix.m4 (GUIX_ASSERT_SUPPORTED_SYSTEM): Same. * tests/guix-build.sh (all_systems): Same. Chris Marusich 2021-03-17maint: Check whether Guile-zlib is recent enough....This is a followup to a04aef2430645357d7796969d4b6453478ff8a3f. * m4/guix.m4 (GUIX_CHECK_GUILE_ZLIB): New macro. * configure.ac: Use it when checking for Guile-zlib. Ludovic Courtès 2021-02-04build: Add '--with-channel-commit' and related configure flags....Partially fixes <https://bugs.gnu.org/45896>. * m4/guix.m4 (GUIX_CHANNEL_METADATA): New macro. * configure.ac: Use it. * guix/config.scm.in (%channel-metadata): Adjust accordingly. Ludovic Courtès