~ruther/guix-local

2f73ea3487b3bf6eb055c08aae7c53713d61a4d7 — Ludovic Courtès 4 years ago 04b2f3d
gnu: Change inputs of core packages to plain lists.

This is transparent: the resulting derivations are unchanged.

* gnu/packages/base.scm (grep, sed, tar, patch, diffutils, glibc/hurd-headers)
(coreutils, gnu-make, make-glibc-utf8-locales): Change input fields to
plain package lists and use 'modify-inputs'.
* gnu/packages/guile.scm (guile-1.8, guile-json-1, guile-json-3)
(guile-gdbm-ffi, guile-sqlite3, guile-bytestructures)
(guile-git, guile-zlib, guile-lzlib, guile-zstd, guile-next): Likewise.
* gnu/packages/mes.scm (nyacc-0.86, nyacc-0.99)
(nyacc, nyacc-1.00.2, mes-0.19, mes, m2-planet): Likewise.
3 files changed, 59 insertions(+), 117 deletions(-)

M gnu/packages/base.scm
M gnu/packages/guile.scm
M gnu/packages/mes.scm
M gnu/packages/base.scm => gnu/packages/base.scm +22 -26
@@ 109,8 109,8 @@ command-line arguments, multiple languages, and so on.")
              "0gipv6bzkm1aihj0ncqpyh164xrzgcxcv9r1kwzyk2g1mzl1azk6"))
            (patches (search-patches "grep-timing-sensitive-test.patch"))))
   (build-system gnu-build-system)
   (native-inputs `(("perl" ,perl)))             ;some of the tests require it
   (inputs `(("pcre" ,pcre)))
   (native-inputs (list perl))                   ;some of the tests require it
   (inputs (list pcre))
   (arguments
    `(#:phases
      (modify-phases %standard-phases


@@ 161,8 161,7 @@ including, for example, recursive directory searching.")
            (modules '((guix build utils)))))
   (build-system gnu-build-system)
   (synopsis "Stream editor")
   (native-inputs
    `(("perl" ,perl)))                            ;for tests
   (native-inputs (list perl))                    ;for tests
   (description
    "Sed is a non-interactive, text stream editor.  It receives a text
input from a file or from standard input and it then applies a series of text


@@ 215,7 214,7 @@ implementation offers several extensions over the standard utility.")
   ;; When cross-compiling, the 'set-shell-file-name' phase needs to be able
   ;; to refer to the target Bash.
   (inputs (if (%current-target-system)
               `(("bash" ,bash))
               (list bash)
               '()))

   (synopsis "Managing tar archives")


@@ 248,7 247,7 @@ standard utility.")
    (if (%current-target-system)
        `(#:configure-flags '("gl_cv_func_working_mktime=yes"))
        '()))
   (native-inputs `(("ed" ,ed)))
   (native-inputs (list ed))
   (synopsis "Apply differences to originals, with optional backups")
   (description
    "Patch is a program that applies changes to files based on differences


@@ 271,7 270,7 @@ differences.")
             (base32
              "09isrg0isjinv8c535nxsi1s86wfdfzml80dbw41dj9x3hiad9xk"))))
   (build-system gnu-build-system)
   (native-inputs `(("perl" ,perl)))
   (native-inputs (list perl))
   (synopsis "Comparing and merging files")
   (description
    "GNU Diffutils is a package containing tools for finding the


@@ 331,16 330,16 @@ used to apply commands with arbitrarily long arguments.")
            (patches (search-patches "coreutils-ls.patch"
                                     "coreutils-gnulib-tests.patch"))))
   (build-system gnu-build-system)
   (inputs `(("acl"  ,acl)                        ; TODO: add SELinux
             ("attr" ,attr)                       ;for xattrs in ls, mv, etc
             ("gmp"  ,gmp)                        ;bignums in 'expr', yay!
   (inputs `(,acl                                 ;TODO: add SELinux
             ,attr                                ;for xattrs in ls, mv, etc
             ,gmp                                 ;bignums in 'expr', yay!

             ;; Do not use libcap when cross-compiling since it's not quite
             ;; cross-compilable; and use it only for supported systems.
             ,@(if (and (not (%current-target-system))
                        (member (%current-system)
                                (package-supported-systems libcap)))
                   `(("libcap" ,libcap)) ;capability support in 'ls', etc.
                   `(,libcap)                ;capability support in 'ls', etc.
                   '())))
   (native-inputs
    ;; Perl is needed to run tests in native builds, and to run the bundled


@@ 349,7 348,7 @@ used to apply commands with arbitrarily long arguments.")
    ;; for help2man.
    (if (%current-target-system)
        '()
        `(("perl" ,perl))))
        (list perl)))
   (outputs '("out" "debug"))
   (arguments
    `(#:parallel-build? #f            ; help2man may be called too early


@@ 448,8 447,8 @@ standard.")
              "06cfqzpqsvdnsxbysl5p2fgdgxgl9y4p7scpnrfa8z2zgkjdspz0"))
            (patches (search-patches "make-impure-dirs.patch"))))
   (build-system gnu-build-system)
   (native-inputs `(("pkg-config" ,pkg-config)))  ; to detect Guile
   (inputs `(("guile" ,guile-3.0)))
   (native-inputs (list pkg-config))              ;to detect Guile
   (inputs (list guile-3.0))
   (outputs '("out" "debug"))
   (arguments
    `(,@(if (hurd-target?)


@@ 1155,8 1154,7 @@ to the @code{share/locale} sub-directory of this package.")
                                                         locale ".UTF-8")))
                               ',locales)
                     #t))))
    (native-inputs `(("glibc" ,glibc)
                     ("gzip" ,gzip)))
    (native-inputs (list glibc gzip))
    (synopsis (if default-locales?
                  (P_ "Small sample of UTF-8 locales")
                  (P_ "Customized sample of UTF-8 locales")))


@@ 1209,17 1207,15 @@ command.")
  (package (inherit glibc)
    (name "glibc-hurd-headers")
    (outputs '("out"))
    (propagated-inputs `(("gnumach-headers" ,gnumach-headers)
                         ("hurd-headers" ,hurd-headers)))
    (propagated-inputs (list gnumach-headers hurd-headers))
    (native-inputs
     `(("mig" ,(if (%current-target-system)
                   ;; XXX: When targeting i586-pc-gnu, we need a 32-bit MiG,
                   ;; hence this hack.
                   (package
                     (inherit mig)
                     (arguments `(#:system "i686-linux")))
                   mig))
       ,@(package-native-inputs glibc)))
     (modify-inputs (package-native-inputs glibc)
       (prepend (if (%current-target-system)
                    ;; XXX: When targeting i586-pc-gnu, we need a 32-bit MiG,
                    ;; hence this hack.
                    (package (inherit mig)
                             (arguments `(#:system "i686-linux")))
                    mig))))
    (arguments
     (substitute-keyword-arguments (package-arguments glibc)
       ;; We just pass the flags really needed to build the headers.

M gnu/packages/guile.scm => gnu/packages/guile.scm +29 -74
@@ 112,13 112,11 @@
                      `(("self" ,this-package))
                      '()))

   (inputs `(("gawk" ,gawk)
             ("readline" ,readline)))
   (inputs (list gawk readline))

   ;; Since `guile-1.8.pc' has "Libs: ... -lgmp -lltdl", these must be
   ;; propagated.
   (propagated-inputs `(("gmp" ,gmp)
                        ("libltdl" ,libltdl)))
   (propagated-inputs (list gmp libltdl))

   (native-search-paths
    (list (search-path-specification


@@ 411,14 409,14 @@ without requiring the source code to be rewritten.")
                 (delete-file "test-suite/tests/version.test")
                 #t))))))
      (native-inputs
       `(("autoconf" ,autoconf)
         ("automake" ,automake)
         ("libtool" ,libtool)
         ("flex" ,flex)
         ("gettext" ,gnu-gettext)
         ("texinfo" ,texinfo)
         ("gperf" ,gperf)
         ,@(package-native-inputs guile-3.0)))
       (modify-inputs (package-native-inputs guile-3.0)
         (prepend autoconf
                  automake
                  libtool
                  flex
                  gnu-gettext
                  texinfo
                  gperf)))
      (synopsis "Development version of GNU Guile"))))

(define* (make-guile-readline guile #:optional (name "guile-readline"))


@@ 604,9 602,8 @@ GNU@tie{}Guile.  Use the @code{(ice-9 readline)} module and call its
    (build-system gnu-build-system)
    (arguments
     `(#:make-flags '("GUILE_AUTO_COMPILE=0")))   ;to prevent guild warnings
    (native-inputs `(("pkg-config" ,pkg-config)
                     ("guile" ,guile-2.2)))
    (inputs `(("guile" ,guile-2.2)))
    (native-inputs (list pkg-config guile-2.2))
    (inputs (list guile-2.2))
    (synopsis "JSON module for Guile")
    (description
     "Guile-JSON supports parsing and building JSON documents according to the


@@ 644,9 641,8 @@ specification.  These are the main features:
              (sha256
               (base32
                "0nj0684qgh6ppkbdyxqfyjwsv2qbyairxpi8fzrhsi3xnc7jn4im"))))
    (native-inputs `(("pkg-config" ,pkg-config)
                     ("guile" ,guile-3.0)))
    (inputs `(("guile" ,guile-3.0)))))
    (native-inputs (list pkg-config guile-3.0))
    (inputs (list guile-3.0))))

(define-public guile3.0-json
  (deprecated-package "guile3.0-json" guile-json-3))


@@ 705,10 701,8 @@ specification.  These are the main features:
                         (format #f "(dynamic-link \"~a/lib/libgdbm.so\")"
                                 (assoc-ref inputs "gdbm"))))
                      #t)))))
    (native-inputs
     `(("guile" ,guile-3.0)))
    (inputs
     `(("gdbm" ,gdbm)))
    (native-inputs (list guile-3.0))
    (inputs (list gdbm))
    (home-page "https://github.com/ijp/guile-gdbm")
    (synopsis "Guile bindings to the GDBM library via Guile's FFI")
    (description


@@ 739,14 733,8 @@ Guile's foreign function interface.")
                "1nryy9j3bk34i0alkmc9bmqsm0ayz92k1cdf752mvhyjjn8nr928"))
              (file-name (string-append name "-" version "-checkout"))))
    (build-system gnu-build-system)
    (native-inputs
     `(("autoconf" ,autoconf)
       ("automake" ,automake)
       ("guile" ,guile-3.0)
       ("pkg-config" ,pkg-config)))
    (inputs
     `(("guile" ,guile-3.0)
       ("sqlite" ,sqlite)))
    (native-inputs (list autoconf automake guile-3.0 pkg-config))
    (inputs (list guile-3.0 sqlite))
    (synopsis "Access SQLite databases from Guile")
    (description
     "This package provides Guile bindings to the SQLite database system.")


@@ 786,13 774,8 @@ Guile's foreign function interface.")
                             (doc (string-append out "/share/doc/" package)))
                        (install-file "README.md" doc)
                        #t))))))
    (native-inputs
     `(("autoconf" ,autoconf)
       ("automake" ,automake)
       ("pkg-config" ,pkg-config)
       ("guile" ,guile-3.0)))
    (inputs
     `(("guile" ,guile-3.0)))
    (native-inputs (list autoconf automake pkg-config guile-3.0))
    (inputs (list guile-3.0))
    (synopsis "Structured access to bytevector contents for Guile")
    (description
     "Guile bytestructures offers a system imitating the type system


@@ 829,17 812,11 @@ type system, elevating types to first-class status.")
    (arguments
     `(#:make-flags '("GUILE_AUTO_COMPILE=0")))     ; to prevent guild warnings
    (native-inputs
     `(("pkg-config" ,pkg-config)
       ("autoconf" ,autoconf)
       ("automake" ,automake)
       ("texinfo" ,texinfo)
       ("guile" ,guile-3.0)
       ("guile-bytestructures" ,guile-bytestructures)))
     (list pkg-config autoconf automake texinfo guile-3.0 guile-bytestructures))
    (inputs
     `(("guile" ,guile-3.0)
       ("libgit2" ,libgit2)))
     (list guile-3.0 libgit2))
    (propagated-inputs
     `(("guile-bytestructures" ,guile-bytestructures)))
     (list guile-bytestructures))
    (synopsis "Guile bindings for libgit2")
    (description
     "This package provides Guile bindings to libgit2, a library to


@@ 876,16 853,8 @@ manipulate repositories of the Git version control system.")
    (arguments
     '(#:make-flags
       '("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings
    (native-inputs
     `(("autoconf" ,autoconf)
       ("automake" ,automake)
       ("pkg-config" ,pkg-config)
       ,@(if (%current-target-system)
             `(("guile" ,guile-3.0))   ;for 'guild compile' and 'guile-3.0.pc'
             '())))
    (inputs
     `(("guile" ,guile-3.0)
       ("zlib" ,zlib)))
    (native-inputs (list autoconf automake pkg-config guile-3.0))
    (inputs (list guile-3.0 zlib))
    (synopsis "Guile bindings to zlib")
    (description
     "This package provides Guile bindings for zlib, a lossless


@@ 915,16 884,8 @@ Guile's foreign function interface.")
    (arguments
     '(#:make-flags
       '("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings
    (native-inputs
     `(("autoconf" ,autoconf)
       ("automake" ,automake)
       ("pkg-config" ,pkg-config)
       ,@(if (%current-target-system)
             `(("guile" ,guile-3.0))   ;for 'guild compile' and 'guile-3.0.pc'
             '())))
    (inputs
     `(("guile" ,guile-3.0)
       ("lzlib" ,lzlib)))
    (native-inputs (list autoconf automake pkg-config guile-3.0))
    (inputs (list guile-3.0 lzlib))
    (synopsis "Guile bindings to lzlib")
    (description
     "This package provides Guile bindings for lzlib, a C library for


@@ 950,14 911,8 @@ pure Scheme by using Guile's foreign function interface.")
               (base32
                "1c8l7829b5yx8wdc0mrhzjfwb6h9hb7cd8dfxcr71a7vlsi86310"))))
    (build-system gnu-build-system)
    (native-inputs
     `(("autoconf" ,autoconf)
       ("automake" ,automake)
       ("pkg-config" ,pkg-config)
       ("guile" ,guile-3.0)))
    (inputs
     `(("zstd" ,zstd "lib")
       ("guile" ,guile-3.0)))
    (native-inputs (list autoconf automake pkg-config guile-3.0))
    (inputs (list `(,zstd "lib") guile-3.0))
    (synopsis "GNU Guile bindings to the zstd compression library")
    (description
     "This package provides a GNU Guile interface to the zstd (``zstandard'')

M gnu/packages/mes.scm => gnu/packages/mes.scm +8 -17
@@ 56,8 56,7 @@
               (base32
                "0lkd9lyspvhxlfs0496gsllwinh62jk9wij6gpadvx9gwz6yavd9"))))
    (build-system gnu-build-system)
    (native-inputs
     `(("guile" ,guile-2.2)))
    (native-inputs (list guile-2.2))
    (synopsis "LALR(1) Parser Generator in Guile")
    (description
     "NYACC is an LALR(1) parser generator implemented in Guile.


@@ 92,10 91,8 @@ extensive examples, including parsers for the Javascript and C99 languages.")
                    (("^DOCDIR =.*")
                     "DOCDIR = @prefix@/share/doc/$(PACKAGE_TARNAME)\n"))
                  #t))))
    (native-inputs
     `(("pkg-config" ,pkg-config)))
    (inputs
     `(("guile" ,guile-2.2)))))
    (native-inputs (list pkg-config))
    (inputs (list guile-2.2))))

(define-public nyacc
  (package


@@ 116,8 113,7 @@ extensive examples, including parsers for the Javascript and C99 languages.")
                     "GUILE_GLOBAL_SITE=\
$prefix/share/guile/site/$GUILE_EFFECTIVE_VERSION\n"))
                  #t))))
    (inputs
     `(("guile" ,guile-3.0)))))
    (inputs (list guile-3.0))))

(define-public nyacc-1.00.2
  (package


@@ 145,8 141,7 @@ $prefix/share/guile/site/$GUILE_EFFECTIVE_VERSION\n"))
              (sha256
               (base32
                "065ksalfllbdrzl12dz9d9dcxrv97wqxblslngsc6kajvnvlyvpk"))))
    (inputs
     `(("guile" ,guile-2.2)))))
    (inputs (list guile-2.2))))

(define-public mes-0.19
  ;; Mes used for bootstrap.


@@ 162,9 157,7 @@ $prefix/share/guile/site/$GUILE_EFFECTIVE_VERSION\n"))
                "15h4yhaywdc0djpjlin2jz1kzahpqxfki0r0aav1qm9nxxmnp1l0"))))
    (build-system gnu-build-system)
    (supported-systems '("i686-linux" "x86_64-linux"))
    (propagated-inputs
     `(("mescc-tools" ,mescc-tools-0.5.2)
       ("nyacc" ,nyacc-0.86)))
    (propagated-inputs (list mescc-tools-0.5.2 nyacc-0.86))
    (native-inputs
     `(("guile" ,guile-2.2)
       ,@(let ((target-system (or (%current-target-system)


@@ 205,9 198,7 @@ Guile.")
               (base32
                "0mnryfkl0dwbr5gxp16j5s95gw7z1vm1fqa1pxabp0aiar1hw53s"))))
    (supported-systems '("armhf-linux" "i686-linux" "x86_64-linux"))
    (propagated-inputs
     `(("mescc-tools" ,mescc-tools)
       ("nyacc" ,nyacc-1.00.2)))
    (propagated-inputs (list mescc-tools nyacc-1.00.2))
    (native-search-paths
     (list (search-path-specification
            (variable "C_INCLUDE_PATH")


@@ 377,7 368,7 @@ get_machine.")
                 (base32
                  "0yyc0fcbbxi9jqa1n76x0rwspdrwmc8g09jlmsw9c35nflrhmz8q"))))
      (native-inputs
       `(("mescc-tools" ,mescc-tools)))
       (list mescc-tools))
      (build-system gnu-build-system)
      (arguments
       `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))