~ruther/guix-local

c0888b3fe4311c0f8178e1a4e610308f6705f624 — Alírio Eyng 12 years ago 574e86f
gnu: linux-libre: Make configuration more robust.

* gnu/packages/linux.scm (linux-libre): Append all configuration instead of
  replacing.  Order configuration like "make oldconfig" output.  Remove
  useless output.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
1 files changed, 11 insertions(+), 18 deletions(-)

M gnu/packages/linux.scm
M gnu/packages/linux.scm => gnu/packages/linux.scm +11 -18
@@ 162,26 162,19 @@
             (let ((build (assoc-ref %standard-phases 'build)))
               (and (zero? (system* "make" "defconfig"))
                    (begin
                      (format #t "enabling additional modules...~%")
                      (substitute* ".config"
                        (("^# CONFIG_CIFS.*$")
                         "CONFIG_CIFS=m\n")
                        (("^# CONFIG_FUSE_FS.*$")
                         "CONFIG_FUSE_FS=m\n")
                        (("^# CONFIG_([[:graph:]]*)VIRTIO([[:graph:]]*) .*$"
                          _ before after)
                         (string-append "CONFIG_" before "VIRTIO"
                                        after "=m\n")))

                      ;; XXX: For some reason, some virtio modules need to be
                      ;; explicitly added.
                      ;; Appending works even when the option wasn't in the
                      ;; file.  The last one prevails if duplicated.
                      (let ((port (open-file ".config" "a")))
                        (display (string-append "CONFIG_NET_9P_VIRTIO=m\n"
                                                "CONFIG_NET_9P=m\n"
                                                "CONFIG_9P_FS=m\n"
                                                "CONFIG_VIRTIO_NET=m\n"
                        (display (string-append "CONFIG_NET_9P=m\n"
                                                "CONFIG_NET_9P_VIRTIO=m\n"
                                                "CONFIG_VIRTIO_BLK=m\n"
                                                "CONFIG_VIRTIO_BALLOON=m\n")
                                                "CONFIG_VIRTIO_NET=m\n"
                                                "CONFIG_VIRTIO_PCI=m\n"
                                                "CONFIG_VIRTIO_BALLOON=m\n"
                                                "CONFIG_VIRTIO_MMIO=m\n"
                                                "CONFIG_FUSE_FS=m\n"
                                                "CONFIG_CIFS=m\n"
                                                "CONFIG_9P_FS=m\n")
                                 port)
                        (close-port port))