Annotation of pkgsrc/emulators/qemu/Makefile, Revision 1.311
1.311 ! ryoon 1: # $NetBSD: Makefile,v 1.310 2023/02/14 00:35:56 tnn Exp $
1.1 xtraeme 2:
1.308 adam 3: DISTNAME= qemu-7.2.0
1.311 ! ryoon 4: PKGREVISION= 3
1.112 adam 5: CATEGORIES= emulators
1.190 ryoon 6: MASTER_SITES= https://download.qemu.org/
1.168 adam 7: EXTRACT_SUFX= .tar.xz
1.112 adam 8:
9: MAINTAINER= pkgsrc-users@NetBSD.org
1.298 adam 10: HOMEPAGE= https://www.qemu.org/
1.112 adam 11: COMMENT= CPU emulator using dynamic translation
12: LICENSE= gnu-gpl-v2 AND gnu-lgpl-v2.1 AND mit AND modified-bsd
1.1 xtraeme 13:
1.274 nia 14: TOOL_DEPENDS+= ninja-build-[0-9]*:../../devel/ninja-build
1.264 wiz 15:
1.165 adam 16: USE_CURSES= resize_term wide
17: USE_LANGUAGES+= c c++
1.274 nia 18: USE_TOOLS+= bison flex makeinfo perl:build pod2man pkg-config
1.79 wiz 19: UNLIMIT_RESOURCES= datasize
1.1 xtraeme 20: HAS_CONFIGURE= yes
21:
1.287 nia 22: # https://github.com/qemu/qemu/commit/56208a0d473c6db263cc333c787ca48b502d72ab
23: GCC_REQD+= 7
24:
1.300 ryoon 25: PYTHON_VERSIONS_INCOMPATIBLE= 27
1.299 wiz 26:
27: TOOL_DEPENDS+= ${PYPKGPREFIX}-sphinx-[0-9]*:../../textproc/py-sphinx
28: TOOL_DEPENDS+= ${PYPKGPREFIX}-sphinx-rtd-theme>=0.4.3:../../textproc/py-sphinx-rtd-theme
1.303 tnn 29: CONFIGURE_ARGS+= --sphinx-build=${PREFIX}/bin/sphinx-build-${PYVERSSUFFIX}
1.205 leot 30:
1.78 wiz 31: .include "options.mk"
32:
1.36 xtraeme 33: .include "../../mk/bsd.prefs.mk"
34:
1.278 thorpej 35: # When upgrading Qemu, you need to determine if this PALcode binary for
36: # the Alpha emulator needs to be re-built. If it does not, then you do
37: # not need to bump the version of this PALcode binary blob (which is
38: # supplied as a separate distfile). Contact thorpej@ for details.
39: PALCODE_CLIPPER= palcode-clipper-qemu-5.2.0nb8
40:
1.253 thorpej 41: DISTFILES= ${DEFAULT_DISTFILES}
1.278 thorpej 42: DISTFILES+= ${PALCODE_CLIPPER}
43: SITES.${PALCODE_CLIPPER}= http://ftp.NetBSD.org/pub/NetBSD/arch/alpha/qemu/
1.253 thorpej 44:
1.77 adam 45: CONFIGURE_ARGS+= --prefix=${PREFIX}
46: CONFIGURE_ARGS+= --interp-prefix=${PREFIX}/share/qemu
47: CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
1.91 ryoon 48: CONFIGURE_ARGS+= --python=${PYTHONBIN}
1.102 shattere 49: CONFIGURE_ARGS+= --smbd=${PREFIX}/sbin/smbd
1.87 sbd 50: CONFIGURE_ARGS+= --mandir=${PREFIX}/${PKGMANDIR}
1.114 jnemeth 51: CONFIGURE_ARGS+= --enable-curses
1.205 leot 52: CONFIGURE_ARGS+= --enable-docs
1.113 adam 53: CONFIGURE_ENV+= mansuffix=/${PKGMANDIR}
1.75 jmmv 54:
1.159 wiz 55: .if defined(PKGSRC_USE_SSP)
56: # do not add flags to everything
57: PKGSRC_USE_SSP= no
58: CONFIGURE_ARGS+= --enable-stack-protector
59: .endif
60:
1.153 maya 61: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-aarch64
62: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-alpha
63: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-arm
64: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-cris
1.198 gson 65: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-hppa
1.153 maya 66: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-i386
67: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-m68k
68: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-microblaze
69: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-microblazeel
70: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-mips
71: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-mips64
72: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-mips64el
73: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-mipsel
1.198 gson 74: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-nios2
1.168 adam 75: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-or1k
1.153 maya 76: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-ppc
77: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-ppc64
1.198 gson 78: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-riscv32
79: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-riscv64
1.153 maya 80: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-s390x
81: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-sh4
82: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-sh4eb
83: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-sparc
84: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-sparc64
85: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-tricore
1.150 pgoyette 86: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-x86_64
1.153 maya 87: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-xtensa
88: NOT_PAX_MPROTECT_SAFE+= bin/qemu-system-xtensaeb
1.150 pgoyette 89:
1.75 jmmv 90: PKG_SYSCONFSUBDIR= qemu
1.1 xtraeme 91:
1.49 joerg 92: INSTALLATION_DIRS= ${PKGMANDIR}/man1 share/doc/qemu
93:
1.273 nia 94: .include "../../mk/oss.buildlink3.mk"
95:
96: .if ${OSS_TYPE} != "none"
97: SUBST_CLASSES+= oss
98: SUBST_STAGE.oss= pre-configure
99: SUBST_MESSAGE.oss= Correcting the path to the OSS device.
100: SUBST_FILES.oss+= audio/ossaudio.c
101: SUBST_SED.oss+= -e "s,/dev/dsp,${DEVOSSAUDIO},g"
102: .endif
103:
1.208 kamil 104: UE_ARCHS+= aarch64 aarch64_be
105: UE_ARCHS+= alpha arm armeb cris
1.281 mcf 106: UE_ARCHS+= hexagon hppa
1.208 kamil 107: UE_ARCHS+= i386
1.304 tnn 108: UE_ARCHS+= loongarch64
1.208 kamil 109: UE_ARCHS+= m68k microblaze microblazeel
110: UE_ARCHS+= mips mips64 mips64el mipsel mipsn32 mipsn32el
111: UE_ARCHS+= nios2
1.271 nia 112: UE_ARCHS+= or1k ppc ppc64 ppc64le
1.208 kamil 113: UE_ARCHS+= riscv32 riscv64
114: UE_ARCHS+= s390x sh4 sh4eb sparc sparc32plus sparc64
115: UE_ARCHS+= x86_64 xtensa xtensaeb
1.65 sbd 116:
1.76 tsutsui 117: .if ${OPSYS} == "NetBSD"
1.246 nia 118: PLIST.nbd= yes
1.291 tnn 119: . if !exists(/usr/include/machine/trap.h) \
120: || "1"=="1" # XXX usermode emulation is broken
1.246 nia 121: CONFIGURE_ARGS+= --disable-bsd-user
122: . else
1.291 tnn 123: CONFIGURE_ARGS+= --enable-bsd-user
1.284 mcf 124: USER_EMUL= i386 x86_64
1.246 nia 125: . endif
1.308 adam 126: .elif ${OPSYS:M*BSD} || ${OPSYS} == "DragonFly"
1.284 mcf 127: USER_EMUL= i386 x86_64
1.220 rillig 128: PLIST.nbd= yes
1.187 adam 129: .elif ${OPSYS} == "Darwin"
1.77 adam 130: USER_EMUL=
1.220 rillig 131: CONFIGURE_ARGS+= --disable-bsd-user
132: PLIST.nbd= yes
1.187 adam 133: .elif ${OPSYS} == "Linux"
1.220 rillig 134: USER_EMUL= ${UE_ARCHS}
135: PLIST.bridge-helper= yes
1.295 ryoon 136: PLIST.ga= yes
1.220 rillig 137: PLIST.nbd= yes
138: PLIST.pr-helper= yes
1.116 jperkin 139: .elif !empty(MACHINE_PLATFORM:MSunOS-5.11-*)
1.295 ryoon 140: PLIST.ga= yes
1.220 rillig 141: PLIST.nbd= yes
142: CONFIGURE_ARGS+= --disable-coroutine-pool
1.65 sbd 143: .endif
144:
1.292 tnn 145: PLIST_VARS+= plugins
146: .if ${OPSYS} != "SunOS"
147: PLIST.plugins= yes
148: CONFIGURE_ARGS+= --enable-plugins
149: .else
150: CONFIGURE_ARGS+= --disable-plugins
151: .endif
152:
1.295 ryoon 153: PLIST_VARS+= ${UE_ARCHS} bridge-helper ga keymap nbd pr-helper
1.188 adam 154: .for pvar in ${USER_EMUL}
1.209 wiz 155: PLIST.${pvar}= yes
1.65 sbd 156: .endfor
157:
1.219 adam 158: # different versions of Sphinx generate different static files
159: PLIST_SRC= PLIST ${WRKDIR}/PLIST.STATIC
160:
1.270 wiz 161: PRINT_PLIST_AWK+= /\/_static\// { next; }
162:
1.172 kamil 163: TEST_TARGET= check
164:
1.275 nia 165: PYTHON_FOR_BUILD_ONLY= tool
166:
1.253 thorpej 167: post-extract:
1.278 thorpej 168: cp ${WRKDIR}/${PALCODE_CLIPPER} ${WRKSRC}/pc-bios/palcode-clipper
1.262 reinoud 169: cp ${FILESDIR}/hw-mips-mipssim_virtio.c ${WRKSRC}/hw/mips/mipssim_virtio.c
1.253 thorpej 170:
1.263 ryoon 171: do-build:
172: cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \
173: ninja -j ${_MAKE_JOBS_N:U1} -C build
174:
175: do-install:
176: cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${INSTALL_ENV} \
177: ninja -j ${_MAKE_JOBS_N:U1} -C build install
178:
1.221 jperkin 179: # Some dependencies aren't correct and this tries to be re-made on install,
180: # failing due to configure bugs.
181: post-build:
182: ${TOUCH} ${WRKSRC}/config-host.mak
183:
1.18 hubertf 184: post-install:
1.49 joerg 185: ${INSTALL_DATA} ${FILESDIR}/Makefile.multinode-NetBSD \
186: ${DESTDIR}${PREFIX}/share/doc/qemu/
1.216 adam 187: ${RM} -f ${DESTDIR}${PREFIX}/share/doc/qemu/interop/.buildinfo
1.219 adam 188: ${RM} -f ${DESTDIR}${PREFIX}/share/doc/qemu/specs/.buildinfo
189: ${RM} -f ${WRKDIR}/PLIST.STATIC
190: cd ${DESTDIR}${PREFIX} && \
191: ${FIND} share/doc/qemu -path '*/_static/*' -type f -print > ${WRKDIR}/PLIST.STATIC
1.41 adrianp 192:
1.165 adam 193: .include "../../archivers/lzo/buildlink3.mk"
1.279 ryoon 194: .include "../../archivers/zstd/buildlink3.mk"
1.81 ryoon 195: .include "../../devel/glib2/buildlink3.mk"
1.165 adam 196: .include "../../devel/snappy/buildlink3.mk"
1.68 tnn 197: .include "../../devel/zlib/buildlink3.mk"
1.205 leot 198: .include "../../graphics/hicolor-icon-theme/buildlink3.mk"
1.165 adam 199: .include "../../graphics/png/buildlink3.mk"
1.275 nia 200: .include "../../lang/python/tool.mk"
1.294 nia 201: .include "../../net/libslirp/buildlink3.mk"
1.147 ryoon 202: .include "../../security/libgcrypt/buildlink3.mk"
1.311 ! ryoon 203: .include "../../sysutils/dtc/buildlink3.mk"
1.165 adam 204: .include "../../www/curl/buildlink3.mk"
1.106 wiz 205: .include "../../x11/pixman/buildlink3.mk"
1.268 reinoud 206: .include "../../mk/curses.buildlink3.mk"
1.165 adam 207: .include "../../mk/jpeg.buildlink3.mk"
1.2 xtraeme 208: .include "../../mk/pthread.buildlink3.mk"
1.1 xtraeme 209: .include "../../mk/bsd.pkg.mk"
CVSweb <webmaster@jp.NetBSD.org>