;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020, 2023 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 . ;;; Commentary: ;;; ;;; This file defines a manifest with a selection of packages for Cuirass to ;;; build for GNU/Hurd. ;;; ;;; Code: (use-modules (gnu) (gnu system hurd) (guix packages) (guix utils) (ice-9 match) (srfi srfi-1)) (use-package-modules autotools base bootloaders commencement compression file gawk gdb gettext gtk guile guile-xyz hurd less m4 package-management python ssh texinfo tls version-control) (define (input->package input) "Return the INPUT as package, or #f." (match input ((label (and (? package?) package)) package) ((label (and (? package?) package . output)) (cons package output)) (_ #f))) (define guix-dependencies (filter-map input->package (fold alist-delete (package-direct-inputs guix) '("glibc-utf8-locales" "graphviz" "po4a")))) (define (package-without-tests p) (package/inherit p (arguments (substitute-keyword-arguments (package-arguments p) ((#:tests? _ #f) #f))))) (packages->manifest (cons* ;; where it all starts hello ;; development utililities diffutils file findutils gawk grep gzip less m4 openssh-sans-x tar xz ;; development packages autoconf automake libtool texinfo gcc-toolchain gdb-minimal git-minimal gnu-make gettext-minimal python-minimal guile-3.0 guile-2.2 guile-2.0 guile-readline guile-colorized guile-gnutls guile-fibers guile-json-4 ;; ourselves! (package-without-tests guix) ;; system grub-minimal grub ;; system reconfigure gdk-pixbuf (append guix-dependencies %base-packages/hurd))) deeb0804cf8b9b3d8dc623b34f&showmsg=1'>Expand)Author 2023-10-28grafts: Fix corner case involving multiple-output derivations....Fixes a bug that would occur with references to two outputs of the same derivation, with one of them referring to the other one. For example, the references of libreoffice include both mariadb:dev and mariadb:lib; additionally, mariadb:dev refers to mariadb:lib. In this case, the glibc graft would not be applied on one of the mariadb paths, and both the grafted and ungrafted glibc would end up in the closure of libreoffice. Fixes <https://issues.guix.gnu.org/66662>. * guix/grafts.scm (non-self-references): Simplify and include references to outputs of DRV other than OUTPUTS. (reference-origins): Simplify and possibly return outputs of DRV itself. (cumulative-grafts)[graft-origin?]: Add OUTPUT parameter and honor it. [dependency-grafts]: Adjust accordingly. * tests/grafts.scm ("graft-derivation, multiple outputs need to be replaced"): New test. Change-Id: Iac2005024ab7049037537b3af55298696ec90e3c Ludovic Courtès 2022-11-11grafts: Run with a UTF-8 locale....Fixes <https://issues.guix.gnu.org/55968>. Reported by Maxime Devos <maximedevos@telenet.be>. * guix/grafts.scm (%graft-with-utf8-locale?): New parameter. (graft-derivation/shallow)[glibc-locales, set-utf8-locale]: New variables. [build]: Use 'set-utf8-locale'. * tests/gexp.scm, tests/grafts.scm, tests/packages.scm: Set '%graft-with-utf8-locale?' to #f. Ludovic Courtès 2021-04-15grafts: Support rewriting UTF-16 and UTF-32 store references....Partially fixes <https://bugs.gnu.org/33848>. * guix/build/graft.scm (replace-store-references): Add support for finding and rewriting UTF-16 and UTF-32 store references. * tests/grafts.scm: Add tests. Mark H Weaver