mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
gnu: qemu: Fix build with glibc-2.27.
* gnu/packages/patches/qemu-glibc-2.27.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/virtualization.scm (qemu)[source]: Add patch. [native-inputs]: Add flex and bison. * gnu/packages/bootloaders.scm (qemu-minimal-2.10)[source]: Add patch.
This commit is contained in:
parent
caf4c7c8bd
commit
ecfe88b764
4 changed files with 65 additions and 3 deletions
|
@ -1057,6 +1057,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python-unittest2-python3-compat.patch \
|
||||
%D%/packages/patches/python-unittest2-remove-argparse.patch \
|
||||
%D%/packages/patches/python-waitress-fix-tests.patch \
|
||||
%D%/packages/patches/qemu-glibc-2.27.patch \
|
||||
%D%/packages/patches/qt4-ldflags.patch \
|
||||
%D%/packages/patches/qtbase-use-TZDIR.patch \
|
||||
%D%/packages/patches/qtscript-disable-tests.patch \
|
||||
|
|
|
@ -86,7 +86,8 @@ (define qemu-minimal-2.10
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"17w21spvaxaidi2am5lpsln8yjpyp2zi3s3gc6nsxj5arlgamzgw"))))))
|
||||
"17w21spvaxaidi2am5lpsln8yjpyp2zi3s3gc6nsxj5arlgamzgw"))
|
||||
(patches (search-patches "qemu-glibc-2.27.patch"))))))
|
||||
|
||||
(define-public grub
|
||||
(package
|
||||
|
|
55
gnu/packages/patches/qemu-glibc-2.27.patch
Normal file
55
gnu/packages/patches/qemu-glibc-2.27.patch
Normal file
|
@ -0,0 +1,55 @@
|
|||
From 75e5b70e6b5dcc4f2219992d7cffa462aa406af0 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Bonzini <pbonzini@redhat.com>
|
||||
Date: Tue, 28 Nov 2017 11:51:27 +0100
|
||||
Subject: [PATCH] memfd: fix configure test
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=utf8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Recent glibc added memfd_create in sys/mman.h. This conflicts with
|
||||
the definition in util/memfd.c:
|
||||
|
||||
/builddir/build/BUILD/qemu-2.11.0-rc1/util/memfd.c:40:12: error: static declaration of memfd_create follows non-static declaration
|
||||
|
||||
Fix the configure test, and remove the sys/memfd.h inclusion since the
|
||||
file actually does not exist---it is a typo in the memfd_create(2) man
|
||||
page.
|
||||
|
||||
Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
---
|
||||
configure | 2 +-
|
||||
util/memfd.c | 4 +---
|
||||
2 files changed, 2 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 9c8aa5a..99ccc17 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -3923,7 +3923,7 @@ fi
|
||||
# check if memfd is supported
|
||||
memfd=no
|
||||
cat > $TMPC << EOF
|
||||
-#include <sys/memfd.h>
|
||||
+#include <sys/mman.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
diff --git a/util/memfd.c b/util/memfd.c
|
||||
index 4571d1a..412e94a 100644
|
||||
--- a/util/memfd.c
|
||||
+++ b/util/memfd.c
|
||||
@@ -31,9 +31,7 @@
|
||||
|
||||
#include "qemu/memfd.h"
|
||||
|
||||
-#ifdef CONFIG_MEMFD
|
||||
-#include <sys/memfd.h>
|
||||
-#elif defined CONFIG_LINUX
|
||||
+#if defined CONFIG_LINUX && !defined CONFIG_MEMFD
|
||||
#include <sys/syscall.h>
|
||||
#include <asm/unistd.h>
|
||||
|
||||
--
|
||||
1.8.3.1
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
|
||||
|
@ -29,6 +29,7 @@ (define-module (gnu packages virtualization)
|
|||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages attr)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
|
@ -37,6 +38,7 @@ (define-module (gnu packages virtualization)
|
|||
#:use-module (gnu packages dns)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
|
@ -90,7 +92,8 @@ (define-public qemu
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"11l6cs6mib16rgdrnqrhkqs033fjik316gkgfz3asbmxz38lalca"))))
|
||||
"11l6cs6mib16rgdrnqrhkqs033fjik316gkgfz3asbmxz38lalca"))
|
||||
(patches (search-patches "qemu-glibc-2.27.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(;; Running tests in parallel can occasionally lead to failures, like:
|
||||
|
@ -192,6 +195,8 @@ (define-public qemu
|
|||
("zlib" ,zlib)))
|
||||
(native-inputs `(("glib:bin" ,glib "bin") ; gtester, etc.
|
||||
("perl" ,perl)
|
||||
("flex" ,flex)
|
||||
("bison" ,bison)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python" ,python-2) ; incompatible with Python 3 according to error message
|
||||
("texinfo" ,texinfo)))
|
||||
|
|
Loading…
Reference in a new issue