pkgsrc-Bugs archive

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

pkg/43207: emulators/qemu under Darwin must disable userspace emulation and should trim dependencies



>Number:         43207
>Category:       pkg
>Synopsis:       emulators/qemu under Darwin must disable user space emulation 
>and should trim dependencies
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Apr 25 16:10:00 +0000 2010
>Originator:     Taylor R Campbell <campbell%mumble.net@localhost>
>Release:        pkgsrc-current
>Organization:
>Environment:
>Description:

        By default under Darwin, Qemu tries to build Darwin and BSD
        user space emulation, both of which fail to build (at least on
        10.5.8 (Leopard), but I believe they would fail on other
        versions such as Snow Leopard too).  This can be avoided by
        disabling user space emulation under Darwin, by adding
        --disable-darwin-user and --disable-bsd-user to the configure
        arguments.

        Also by default under Darwin, Qemu uses Cocoa and CoreAudio,
        rather than SDL and OSS, so that emulators/qemu need not
        depend on SDL and OSS.

>How-To-Repeat:

        Attempt to build emulators/qemu under Darwin.  Watch it fail.

>Fix:

        Apply the following patch to disable user space emulation and
        omit needless dependencies under Darwin:

Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/emulators/qemu/Makefile,v
retrieving revision 1.65
diff -p -u -r1.65 Makefile
--- Makefile    10 Apr 2010 05:57:40 -0000      1.65
+++ Makefile    25 Apr 2010 15:58:00 -0000
@@ -75,7 +75,11 @@ UE_ARCHS+=           sparc64 x86_64 
 .if !empty(OPSYS:M*BSD) || !empty(OPSYS:MDragonFly) 
 USER_EMUL=             i386 x86_64 sparc sparc64
 .elif !empty(OPSYS:MDarwin)
-USER_EMUL=             i386 x86_64 sparc sparc64 ppc
+# User emulation is broken on Darwin.
+#USER_EMUL=            i386 x86_64 sparc sparc64 ppc
+USER_EMUL=
+CONFIGURE_ARGS+=       --disable-darwin-user
+CONFIGURE_ARGS+=       --disable-bsd-user
 .elif !empty(OPSYS:MLinux) 
 USER_EMUL=             ${UE_ARCHS}
 PLIST.nbd=             Yes
@@ -90,7 +94,10 @@ post-install:
        ${INSTALL_DATA} ${FILESDIR}/Makefile.multinode-NetBSD \
                ${DESTDIR}${PREFIX}/share/doc/qemu/
 
-.include "../../devel/SDL/buildlink3.mk"
-.include "../../mk/oss.buildlink3.mk"
+# On Darwin, qemu will use Cocoa and CoreAudio, not SDL and OSS.
+.if empty(MACHINE_PLATFORM:MDarwin-*)
+.  include "../../devel/SDL/buildlink3.mk"
+.  include "../../mk/oss.buildlink3.mk"
+.endif
 .include "../../mk/pthread.buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"



Home | Main Index | Thread Index | Old Index