guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#40178] [PATCH 2/2] gnu: Remove qemu-minimal-2.10.


From: Marius Bakke
Subject: [bug#40178] [PATCH 2/2] gnu: Remove qemu-minimal-2.10.
Date: Sun, 22 Mar 2020 15:22:44 +0100
User-agent: Notmuch/0.29.3 (https://notmuchmail.org) Emacs/26.3 (x86_64-pc-linux-gnu)

Leo Famulari <address@hidden> writes:

> * gnu/packages/virtualization.scm (qemu-minimal-2.10): Remove variable.
> * gnu/packages/debug.scm (qemu-for-american-fuzzy-lop): New variable.
> (american-fuzzy-lop)[inputs]: Remove custom-qemu and add
> qemu-for-american-fuzzy-lop.
> [arguments]: Adjust reference to QEMU in the 'install-qemu' phase.

Thanks for this.  A couple of suggestions:

> -             ;; afl only supports using a single afl-qemu-trace executable, 
> so
> -             ;; we only build qemu for the native target.

Perhaps preserve this comment close to the (let ((machine ...))) line?

> +         (add-after 'install 'install-info
> +           (lambda* (#:key inputs outputs #:allow-other-keys)
> +             ;; Install the Info manual, unless Texinfo is missing.
> +             (when (assoc-ref inputs "texinfo")
> +               (let* ((out  (assoc-ref outputs "out"))
> +                      (dir (string-append out "/share/info")))
> +                 (invoke "make" "info")
> +                 (for-each (lambda (info)
> +                             (install-file info dir))
> +                           (find-files "." "\\.info"))))
> +             #t))
> +         ;; Create a wrapper for Samba. This allows QEMU to use Samba without
> +         ;; pulling it in as an input. Note that you need to explicitly 
> install
> +         ;; Samba in your Guix profile for Samba support.
> +         (add-after 'install-info 'create-samba-wrapper
> +           (lambda* (#:key inputs outputs #:allow-other-keys)
> +             (let* ((out    (assoc-ref %outputs "out"))
> +                    (libexec (string-append out "/libexec")))
> +               (call-with-output-file "samba-wrapper"
> +                 (lambda (port)
> +                   (format port "#!/bin/sh
> +exec smbd $@")))
> +               (chmod "samba-wrapper" #o755)
> +               (install-file "samba-wrapper" libexec))
> +             #t))
> +         (add-before 'configure 'prevent-network-configuration
> +           (lambda _
> +             ;; Prevent the build from trying to use git to fetch from the 
> net.
> +             (substitute* "Makefile"
> +               (("@./config.status")
> +                "")) #t))

I think we can remove all the phases above for simplicity.

> +    (native-inputs
> +     `(("python-2" ,python-2) ; QEMU 2 needs Python 2
> +       ("glib:bin" ,glib "bin")
> +       ("perl" ,perl)
> +       ("flex" ,flex)
> +       ("bison" ,bison)
> +       ("pkg-config" ,pkg-config)
> +       ("texinfo" ,texinfo)))

As well as the texinfo input.

> +    (inputs
> +     `(("afl-source" ,(package-source american-fuzzy-lop))
> +       ("alsa-lib" ,alsa-lib)
> +       ("attr" ,attr)
> +       ("glib" ,glib)
> +       ("libaio" ,libaio)
> +       ("libattr" ,attr)
> +       ("libcap" ,libcap)
> +       ("libjpeg" ,libjpeg-turbo)
> +       ("libpng" ,libpng)
> +       ("ncurses" ,ncurses)
> +       ("pixman" ,pixman)
> +       ("util-linux" ,util-linux)
> +       ("zlib" ,zlib)))

It's good to keep a list of explicit inputs here instead of having to
delete any new inputs to 'qemu-minimal'.  However...


> +    (home-page "https://www.qemu.org";)
> +    (synopsis "Machine emulator and virtualizer (without GUI)")
> +    (description
> +     "QEMU is a generic machine emulator and virtualizer.
> +
> +When used as a machine emulator, QEMU can run OSes and programs made for one
> +machine (e.g. an ARM board) on a different machine---e.g., your own PC.  By
> +using dynamic translation, it achieves very good performance.
> +
> +When used as a virtualizer, QEMU achieves near native performances by
> +executing the guest code directly on the host CPU.  QEMU supports
> +virtualization when executing under the Xen hypervisor or using
> +the KVM kernel module in Linux.  When using KVM, QEMU can virtualize x86,
> +server and embedded PowerPC, and S390 guests.")
> +    ;; Many files are GPLv2+, but some are GPLv2-only---e.g., `memory.c'.
> +    (license license:gpl2)
> +    ;; Several tests fail on MIPS.
> +    (supported-systems (delete "mips64el-linux" %supported-systems))))))

This section can be removed, as it gets inherited and does not affect
the derivation.

In any case LGTM, too!

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]