;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2022 Ludovic Courtès ;;; ;;; 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 ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu installer hardware) #:use-module (gnu build linux-modules) #:use-module (guix i18n) #:use-module (srfi srfi-1) #:use-module (srfi srfi-71) #:export (unsupported-pci-device? pci-device-description)) (define %unsupported-linux-modules ;; List of Linux modules that are useless without non-free firmware. ;; ;; Currently only drivers for PCI devices are listed. USB devices such as ;; "btintel" would require support to list USB devices and read the USB ;; device ID database. Punt for now as this is usually less critical. ;; ;; This list is currently manually maintained based on information on ;; non-free firmware available from ;; . '(;; WiFi. "brcmfmac" "ipw2100" "ipw2200" "iwlwifi" "mwl8k" "rtl8188ee" "rtl818x_pci" "rtl8192ce" "rtl8192de" "rtl8192ee" ;; Ethernet. "bnx2" "bnx2x" "liquidio" ;; Graphics. "amdgpu" "radeon" ;; Multimedia. "ivtv")) (define unsupported-pci-device? ;; Arrange to load the module alias database only once. (let ((aliases (delay (known-module-aliases)))) (lambda (device) "Return true if DEVICE is known to not be supported by free software." (any (lambda (module) (member module %unsupported-linux-modules)) (matching-modules (pci-device-module-alias device) (force aliases)))))) (define (pci-device-description pci-database) "Return a procedure that, given a PCI device, returns a string describing it." (define (with-fallback lookup) (lambda (vendor-id id) (let ((vendor name (lookup vendor-id id))) (values (or vendor (number->string vendor-id 16)) (or name (number->string id 16)))))) (define pci-lookup (with-fallback (load-pci-device-database pci-database))) (lambda (device) (let ((vendor name (pci-lookup (pci-device-vendor device) (pci-device-id device)))) (if (network-pci-device? device) ;; TRANSLATORS: The two placeholders are the manufacturer ;; and name of a PCI device. (format #f (G_ "~a ~a (networking device)") vendor name) (string-append vendor " " name))))) 88ef815a2c3c1cc8f87a6f1eac8e Aaron Covrig 2024-09-16gnu: markdeep: Add a source file-name....* gnu/packages/documentation.scm (markdeep)[source]: Add a file-name field. Change-Id: Ib1502df173f9a436ead173dacfe4d1292b407cf3 Efraim Flashner 2024-08-31gnu: zeal: Fix build....* gnu/packages/documentation.scm (zeal)[arguments]: Remove phases. Change-Id: I93b766d66862115c1cc92789ad3587606fa2b631 Zheng Junjie 2024-08-31gnu: zeal: Add 'bash' input for 'wrap-program'....It is required for cross-compilation. * gnu/packages/documentation.scm (zeal)[inputs]: Add 'bash-minimal'. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Maxime Devos 2024-08-31gnu: doxygen: Update to 1.9.8....* gnu/packages/documentation.scm (doxygen): Update to 1.9.8. Maxim Cournoyer 2024-07-06gnu: zeal: Update to 0.7.1....* gnu/packages/documentation.scm (zeal): Update to 0.7.1. [arguments]: Convert to gexp. [inputs]: Use new label-less style. Change-Id: I9d2851ee303f2e8ebed80b4a1e463aa290bea111 Signed-off-by: Andreas Enge <andreas@enge.fr> Felix Gruber 2024-04-11gnu: Add stddoc....* gnu/packages/documentation.scm (stddoc): New variable. Change-Id: I0f60126ef78a45733ad7395352e9bad49561437b Signed-off-by: Ludovic Courtès <ludo@gnu.org> Christina O'Donnell 2024-04-11gnu: Add markdeep....* gnu packages/documentation.scm (markdeep): New variable. Change-Id: I34303377f50740ba357c1bb299c9434079a6e23d Signed-off-by: Ludovic Courtès <ludo@gnu.org> Christina O'Donnell 2024-03-17gnu: Add halibut....* gnu/packages/documentation.scm (halibut): New variable. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Sergey Trofimov 2024-03-17gnu: Prefix licenses in documentation.scm...* gnu/packages/documentation.scm: Prefix licenses. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Sergey Trofimov