hurd-manifest.scm 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
  3. ;;;
  4. ;;; This file is part of GNU Guix.
  5. ;;;
  6. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  7. ;;; under the terms of the GNU General Public License as published by
  8. ;;; the Free Software Foundation; either version 3 of the License, or (at
  9. ;;; your option) any later version.
  10. ;;;
  11. ;;; GNU Guix is distributed in the hope that it will be useful, but
  12. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  13. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. ;;; GNU General Public License for more details.
  15. ;;;
  16. ;;; You should have received a copy of the GNU General Public License
  17. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  18. ;;; Commentary:
  19. ;;;
  20. ;;; This file defines a manifest with a selection of packages for Cuirass to
  21. ;;; build for GNU/Hurd.
  22. ;;;
  23. ;;; Code:
  24. (use-modules (gnu)
  25. (gnu system hurd)
  26. (guix packages)
  27. (guix utils)
  28. (ice-9 match)
  29. (srfi srfi-1))
  30. (use-package-modules
  31. base bootloaders commencement compression file gawk gdb gettext gtk guile
  32. hurd less m4 package-management python ssh version-control)
  33. (define (input->package input)
  34. "Return the INPUT as package, or #f."
  35. (match input
  36. ((label (and (? package?) package))
  37. package)
  38. ((label (and (? package?) package . output))
  39. (cons package output))
  40. (_ #f)))
  41. (define guix-dependencies
  42. (filter-map input->package
  43. (fold alist-delete (package-direct-inputs guix)
  44. '("glibc-utf8-locales" "graphviz" "po4a"))))
  45. (define (package-without-tests p)
  46. (package/inherit p
  47. (arguments
  48. (substitute-keyword-arguments (package-arguments p)
  49. ((#:tests? _ #f) #f)))))
  50. (packages->manifest
  51. (cons*
  52. ;; where it all starts
  53. hello
  54. ;; development utililities
  55. diffutils file findutils gawk grep gzip less m4 openssh-sans-x tar xz
  56. ;; development packages
  57. gcc-toolchain gdb-minimal git-minimal gnu-make
  58. gettext-minimal python-minimal
  59. ;; ourselves!
  60. (package-without-tests guix)
  61. ;; system
  62. grub-minimal grub
  63. ;; system reconfigure
  64. gdk-pixbuf
  65. (append
  66. guix-dependencies
  67. %base-packages/hurd)))