Gentoo Archives: gentoo-commits

From: Ian Delaney <idella4@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/xen/
Date: Sun, 29 Nov 2015 07:57:08
Message-Id: 1448783810.8f7e07bb5fc8f742d97e22fa659f044ebd5cc570.idella4@gentoo
1 commit: 8f7e07bb5fc8f742d97e22fa659f044ebd5cc570
2 Author: Ian Delaney <idella4 <AT> gentoo <DOT> org>
3 AuthorDate: Sun Nov 29 07:53:09 2015 +0000
4 Commit: Ian Delaney <idella4 <AT> gentoo <DOT> org>
5 CommitDate: Sun Nov 29 07:56:50 2015 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8f7e07bb
7
8 app-emulation/xen: clean old vns.: 4.5.x, 4.6.0-r1
9
10 Package-Manager: portage-2.2.24
11
12 app-emulation/xen/Manifest | 1 -
13 app-emulation/xen/xen-4.5.1.ebuild | 176 ---------------------------------
14 app-emulation/xen/xen-4.5.2.ebuild | 179 ---------------------------------
15 app-emulation/xen/xen-4.6.0-r1.ebuild | 180 ----------------------------------
16 4 files changed, 536 deletions(-)
17
18 diff --git a/app-emulation/xen/Manifest b/app-emulation/xen/Manifest
19 index 629a548..c19d68c 100644
20 --- a/app-emulation/xen/Manifest
21 +++ b/app-emulation/xen/Manifest
22 @@ -1,7 +1,6 @@
23 DIST xen-4.2.5-upstream-patches-10.tar.xz 41428 SHA256 b29ce85b049420838c3386b67184f4ba56794846d056837fa780ae89a80b40d0 SHA512 9e8046e27506d864e2d69728897cbba3eea1dd5ca748a3febb722901c5a67cca2ab49bb420071292538bd0345023fa337eb2d176b9ca05ca6bce47562f6710ec WHIRLPOOL 29e534ef6b951cf220a3a9476d1f76ac344bfc5c74998f2b472ec83cbe4781746298272e3c1fe8661a838cbc7d734d2730de6a1e9985b8a60f40c98f54449e2a
24 DIST xen-4.2.5-upstream-patches-9.tar.xz 23208 SHA256 2206e9a8aeeed207abbae995c5d2baa14d5f0da4120ae44f2de733ecf7ea5af1 SHA512 8a2edaba48002449a521edf2ae078ffe1b3db4f491a85b063886a147a0be3ec7fdb819ce84c90cdae80ed34c10ab2d637506700be10052a67be6ef128fa40fb1 WHIRLPOOL 037820e0fad60d1f7ed054efa797585c992d08f1ffd533705c515ad289f8cdddc72b97f2a3d75ebd683c6bb6988d7285452b4f3cebbe9a879f701156e387ff3b
25 DIST xen-4.2.5.tar.gz 15671925 SHA256 3cf440866315e8085050eb0586f0447b6b47a08dbed6a72226bf5ed5d89ec567 SHA512 42c0fc241952fc55fc44480fb6752b004b54ae40e946159ec047adf229b65cbfbd810271d01b064ad8fdbddb73c640dcdcb6bc19f91e8968829889c129920dac WHIRLPOOL 762a91c0111892b33e6bd3e7f7714709b04697ad7c2b0919fef6cc9570a343a77fd5a2b82833e75dac9d12d4e41acdcf0743b0d593595910ddd326f5cd721368
26 -DIST xen-4.5.1.tar.gz 18410400 SHA256 668c11d4fca67ac44329e369f810356eacd37b28d28fb96e66aac77f3c5e1371 SHA512 9436243e26bc64bc836a179abdc3a6b1b6fa9d3f2170453092c18be71fa62e18cd4465a9154c0f28a7ac8d69d08361ba1defef240a51197f058c012c3855ba04 WHIRLPOOL 71d8559f86683dd9fb3eb09d3f602de227f281fbd3c8cc258bfdb67c425d9e7c4d21cb0284c123e4263262c1b821fea6d28109861ce60d627f6426d352808d99
27 DIST xen-4.5.2.tar.gz 18416220 SHA256 4c9e5dac4eea484974e9f76da2756c8e0973b4e884d28d37e955df9ebf00e7e8 SHA512 e0ce01a5356c254bfde48fae0b0e005c42c1615a7ccf4c1ba7dcf90784777b53995e9a9ae4575e3f19ef341014b34cb8c06e39d68be359f7fd69830501a144dd WHIRLPOOL b50ce28e58d8419915f7f85de7ab23128719fa07c54f28165c4ba864ffe57230230fa7cb61dd2ed7608b8bc178a072124aedc30c61a45fb8b745fc616715219b
28 DIST xen-4.6.0-upstream-patches-0.tar.xz 19280 SHA256 8ef2d139f86cb52d2208a17c974e5a85356183ee359ab4b91882067548806e0c SHA512 9fde8d9def1d75e50c10069af7f9fea4b5b6992b7089eb554e1e2a4c78dd080f2977128d0dd541eeb735b951e7d6614a07101f7703457e7743ac6b3be962cdfe WHIRLPOOL 861c7f150811912422f6f5eb77437744d1456740a43bef3dfd88a2e6d6836c0e8460b788ccd4f14a7144652d65a825c08aa984ec4240b2b1ac6d09237695d19d
29 DIST xen-4.6.0.tar.gz 19694350 SHA256 6fa1c2431df55aa5950d248e6093b8c8c0f11c357a0adbd348a2186478e80909 SHA512 b4b02f306ffea360f539dd8c231b2f58c00c3638fdb665cb659c7291b475b40f1075bc59d49a6144767729e57b8bc40a1cfd9030d61de2b8fa4ac97d43655c2b WHIRLPOOL d3f01183440ca1875b6e850bd116db0c382383433e50c0902d3268e9e36b39d184fc65e925bdb5363ef4ca7a232fee15b4749c89baf789137b8a8248565c75a8
30
31 diff --git a/app-emulation/xen/xen-4.5.1.ebuild b/app-emulation/xen/xen-4.5.1.ebuild
32 deleted file mode 100644
33 index 16d7962..0000000
34 --- a/app-emulation/xen/xen-4.5.1.ebuild
35 +++ /dev/null
36 @@ -1,176 +0,0 @@
37 -# Copyright 1999-2015 Gentoo Foundation
38 -# Distributed under the terms of the GNU General Public License v2
39 -# $Id$
40 -
41 -EAPI=5
42 -
43 -PYTHON_COMPAT=( python2_7 )
44 -
45 -MY_PV=${PV/_/-}
46 -MY_P=${PN}-${PV/_/-}
47 -
48 -if [[ $PV == *9999 ]]; then
49 - KEYWORDS=""
50 - EGIT_REPO_URI="git://xenbits.xen.org/${PN}.git"
51 - live_eclass="git-2"
52 -else
53 - KEYWORDS="amd64 ~arm ~arm64 -x86"
54 - UPSTREAM_VER=
55 - SECURITY_VER=
56 - GENTOO_VER=
57 -
58 - [[ -n ${UPSTREAM_VER} ]] && \
59 - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz"
60 - [[ -n ${SECURITY_VER} ]] && \
61 - SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz"
62 - [[ -n ${GENTOO_VER} ]] && \
63 - GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz"
64 - SRC_URI="http://bits.xensource.com/oss-xen/release/${MY_PV}/${MY_P}.tar.gz
65 - ${UPSTREAM_PATCHSET_URI}
66 - ${SECURITY_PATCHSET_URI}
67 - ${GENTOO_PATCHSET_URI}"
68 -
69 -fi
70 -
71 -inherit mount-boot flag-o-matic python-any-r1 toolchain-funcs eutils ${live_eclass}
72 -
73 -DESCRIPTION="The Xen virtual machine monitor"
74 -HOMEPAGE="http://xen.org/"
75 -LICENSE="GPL-2"
76 -SLOT="0"
77 -IUSE="custom-cflags debug efi flask xsm"
78 -
79 -DEPEND="${PYTHON_DEPS}
80 - efi? ( >=sys-devel/binutils-2.22[multitarget] )
81 - !efi? ( >=sys-devel/binutils-2.22[-multitarget] )"
82 -RDEPEND=""
83 -PDEPEND="~app-emulation/xen-tools-${PV}"
84 -
85 -RESTRICT="test"
86 -
87 -# Approved by QA team in bug #144032
88 -QA_WX_LOAD="boot/xen-syms-${PV}"
89 -
90 -REQUIRED_USE="flask? ( xsm )
91 - arm? ( debug )"
92 -
93 -S="${WORKDIR}/${MY_P}"
94 -
95 -pkg_setup() {
96 - python-any-r1_pkg_setup
97 - if [[ -z ${XEN_TARGET_ARCH} ]]; then
98 - if use x86 && use amd64; then
99 - die "Confusion! Both x86 and amd64 are set in your use flags!"
100 - elif use x86; then
101 - export XEN_TARGET_ARCH="x86_32"
102 - elif use amd64; then
103 - export XEN_TARGET_ARCH="x86_64"
104 - elif use arm; then
105 - export XEN_TARGET_ARCH="arm32"
106 - elif use arm64; then
107 - export XEN_TARGET_ARCH="arm64"
108 - else
109 - die "Unsupported architecture!"
110 - fi
111 - fi
112 -
113 - if use flask ; then
114 - export "XSM_ENABLE=y"
115 - export "FLASK_ENABLE=y"
116 - elif use xsm ; then
117 - export "XSM_ENABLE=y"
118 - fi
119 -}
120 -
121 -src_prepare() {
122 - # Upstream's patchset
123 - if [[ -n ${UPSTREAM_VER} ]]; then
124 - EPATCH_SUFFIX="patch" \
125 - EPATCH_FORCE="yes" \
126 - EPATCH_OPTS="-p1" \
127 - epatch "${WORKDIR}"/patches-upstream
128 - fi
129 -
130 - # Security patchset
131 - if [[ -n ${SECURITY_VER} ]]; then
132 - EPATCH_SUFFIX="patch" \
133 - EPATCH_FORCE="yes" \
134 - EPATCH_OPTS="-p1" \
135 - epatch "${WORKDIR}/patches-security/${PV}"
136 - fi
137 -
138 - # Gentoo's patchset
139 - if [[ -n ${GENTOO_VER} ]]; then
140 - EPATCH_SUFFIX="patch" \
141 - EPATCH_FORCE="yes" \
142 - epatch "${WORKDIR}"/patches-gentoo
143 - fi
144 -
145 - # Drop .config
146 - sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
147 -
148 - if use efi; then
149 - epatch "${FILESDIR}"/${PN}-4.5-efi.patch
150 - export EFI_VENDOR="gentoo"
151 - export EFI_MOUNTPOINT="boot"
152 - fi
153 -
154 - # if the user *really* wants to use their own custom-cflags, let them
155 - if use custom-cflags; then
156 - einfo "User wants their own CFLAGS - removing defaults"
157 - # try and remove all the default custom-cflags
158 - find "${S}" -name Makefile -o -name Rules.mk -o -name Config.mk -exec sed \
159 - -e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \
160 - -e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \
161 - -e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \
162 - -e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \
163 - -e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \
164 - -i {} \; || die "failed to re-set custom-cflags"
165 - fi
166 -
167 - # remove -Werror for gcc-4.6's sake
168 - find "${S}" -name 'Makefile*' -o -name '*.mk' -o -name 'common.make' | \
169 - xargs sed -i 's/ *-Werror */ /'
170 - # not strictly necessary to fix this
171 - sed -i 's/, "-Werror"//' "${S}/tools/python/setup.py" || die "failed to re-set setup.py"
172 -
173 - epatch_user
174 -}
175 -
176 -src_configure() {
177 - use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i"
178 -
179 - use debug && myopt="${myopt} debug=y"
180 -
181 - if use custom-cflags; then
182 - filter-flags -fPIE -fstack-protector
183 - replace-flags -O3 -O2
184 - else
185 - unset CFLAGS
186 - fi
187 -}
188 -
189 -src_compile() {
190 - # Send raw LDFLAGS so that --as-needed works
191 - emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt}
192 -}
193 -
194 -src_install() {
195 - local myopt
196 - use debug && myopt="${myopt} debug=y"
197 -
198 - # The 'make install' doesn't 'mkdir -p' the subdirs
199 - if use efi; then
200 - mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
201 - fi
202 -
203 - emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install
204 -}
205 -
206 -pkg_postinst() {
207 - elog "Official Xen Guide and the unoffical wiki page:"
208 - elog " https://wiki.gentoo.org/wiki/Xen"
209 - elog " http://en.gentoo-wiki.com/wiki/Xen/"
210 -
211 - use efi && einfo "The efi executable is installed in boot/efi/gentoo"
212 -}
213
214 diff --git a/app-emulation/xen/xen-4.5.2.ebuild b/app-emulation/xen/xen-4.5.2.ebuild
215 deleted file mode 100644
216 index a905fa9..0000000
217 --- a/app-emulation/xen/xen-4.5.2.ebuild
218 +++ /dev/null
219 @@ -1,179 +0,0 @@
220 -# Copyright 1999-2015 Gentoo Foundation
221 -# Distributed under the terms of the GNU General Public License v2
222 -# $Id$
223 -
224 -EAPI=5
225 -
226 -PYTHON_COMPAT=( python2_7 )
227 -
228 -MY_PV=${PV/_/-}
229 -MY_P=${PN}-${PV/_/-}
230 -
231 -if [[ $PV == *9999 ]]; then
232 - KEYWORDS=""
233 - EGIT_REPO_URI="git://xenbits.xen.org/${PN}.git"
234 - live_eclass="git-2"
235 -else
236 - KEYWORDS="amd64 ~arm ~arm64 -x86"
237 - UPSTREAM_VER=
238 - SECURITY_VER=
239 - GENTOO_VER=
240 -
241 - [[ -n ${UPSTREAM_VER} ]] && \
242 - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz"
243 - [[ -n ${SECURITY_VER} ]] && \
244 - SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz"
245 - [[ -n ${GENTOO_VER} ]] && \
246 - GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz"
247 - SRC_URI="http://bits.xensource.com/oss-xen/release/${MY_PV}/${MY_P}.tar.gz
248 - ${UPSTREAM_PATCHSET_URI}
249 - ${SECURITY_PATCHSET_URI}
250 - ${GENTOO_PATCHSET_URI}"
251 -
252 -fi
253 -
254 -inherit mount-boot flag-o-matic python-any-r1 toolchain-funcs eutils ${live_eclass}
255 -
256 -DESCRIPTION="The Xen virtual machine monitor"
257 -HOMEPAGE="http://xen.org/"
258 -LICENSE="GPL-2"
259 -SLOT="0"
260 -IUSE="custom-cflags debug efi flask xsm"
261 -
262 -DEPEND="${PYTHON_DEPS}
263 - efi? ( >=sys-devel/binutils-2.22[multitarget] )
264 - !efi? ( >=sys-devel/binutils-2.22[-multitarget] )"
265 -RDEPEND=""
266 -PDEPEND="~app-emulation/xen-tools-${PV}"
267 -
268 -RESTRICT="test"
269 -
270 -# Approved by QA team in bug #144032
271 -QA_WX_LOAD="boot/xen-syms-${PV}"
272 -
273 -REQUIRED_USE="flask? ( xsm )
274 - arm? ( debug )"
275 -
276 -S="${WORKDIR}/${MY_P}"
277 -
278 -pkg_setup() {
279 - python-any-r1_pkg_setup
280 - if [[ -z ${XEN_TARGET_ARCH} ]]; then
281 - if use x86 && use amd64; then
282 - die "Confusion! Both x86 and amd64 are set in your use flags!"
283 - elif use x86; then
284 - export XEN_TARGET_ARCH="x86_32"
285 - elif use amd64; then
286 - export XEN_TARGET_ARCH="x86_64"
287 - elif use arm; then
288 - export XEN_TARGET_ARCH="arm32"
289 - elif use arm64; then
290 - export XEN_TARGET_ARCH="arm64"
291 - else
292 - die "Unsupported architecture!"
293 - fi
294 - fi
295 -
296 - if use flask ; then
297 - export "XSM_ENABLE=y"
298 - export "FLASK_ENABLE=y"
299 - elif use xsm ; then
300 - export "XSM_ENABLE=y"
301 - fi
302 -}
303 -
304 -src_prepare() {
305 - # Upstream's patchset
306 - if [[ -n ${UPSTREAM_VER} ]]; then
307 - EPATCH_SUFFIX="patch" \
308 - EPATCH_FORCE="yes" \
309 - EPATCH_OPTS="-p1" \
310 - epatch "${WORKDIR}"/patches-upstream
311 - fi
312 -
313 - if [[ -n ${SECURITY_VER} ]]; then
314 - einfo "Try to apply Xen Security patcheset"
315 - source "${WORKDIR}"/patches-security/${PV}.conf
316 - # apply main xen patches
317 - for i in ${XEN_SECURITY_MAIN}; do
318 - EPATCH_SUFFIX="patch" \
319 - EPATCH_FORCE="yes" \
320 - epatch "${WORKDIR}"/patches-security/xen/$i
321 - done
322 - fi
323 -
324 - # Gentoo's patchset
325 - if [[ -n ${GENTOO_VER} ]]; then
326 - EPATCH_SUFFIX="patch" \
327 - EPATCH_FORCE="yes" \
328 - epatch "${WORKDIR}"/patches-gentoo
329 - fi
330 -
331 - # Drop .config
332 - sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
333 -
334 - if use efi; then
335 - epatch "${FILESDIR}"/${PN}-4.5-efi.patch
336 - export EFI_VENDOR="gentoo"
337 - export EFI_MOUNTPOINT="boot"
338 - fi
339 -
340 - # if the user *really* wants to use their own custom-cflags, let them
341 - if use custom-cflags; then
342 - einfo "User wants their own CFLAGS - removing defaults"
343 - # try and remove all the default custom-cflags
344 - find "${S}" -name Makefile -o -name Rules.mk -o -name Config.mk -exec sed \
345 - -e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \
346 - -e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \
347 - -e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \
348 - -e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \
349 - -e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \
350 - -i {} \; || die "failed to re-set custom-cflags"
351 - fi
352 -
353 - # remove -Werror for gcc-4.6's sake
354 - find "${S}" -name 'Makefile*' -o -name '*.mk' -o -name 'common.make' | \
355 - xargs sed -i 's/ *-Werror */ /'
356 - # not strictly necessary to fix this
357 - sed -i 's/, "-Werror"//' "${S}/tools/python/setup.py" || die "failed to re-set setup.py"
358 -
359 - epatch_user
360 -}
361 -
362 -src_configure() {
363 - use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i"
364 -
365 - use debug && myopt="${myopt} debug=y"
366 -
367 - if use custom-cflags; then
368 - filter-flags -fPIE -fstack-protector
369 - replace-flags -O3 -O2
370 - else
371 - unset CFLAGS
372 - fi
373 -}
374 -
375 -src_compile() {
376 - # Send raw LDFLAGS so that --as-needed works
377 - emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt}
378 -}
379 -
380 -src_install() {
381 - local myopt
382 - use debug && myopt="${myopt} debug=y"
383 -
384 - # The 'make install' doesn't 'mkdir -p' the subdirs
385 - if use efi; then
386 - mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
387 - fi
388 -
389 - emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install
390 -}
391 -
392 -pkg_postinst() {
393 - elog "Official Xen Guide and the unoffical wiki page:"
394 - elog " https://wiki.gentoo.org/wiki/Xen"
395 - elog " http://en.gentoo-wiki.com/wiki/Xen/"
396 -
397 - use efi && einfo "The efi executable is installed in boot/efi/gentoo"
398 -}
399
400 diff --git a/app-emulation/xen/xen-4.6.0-r1.ebuild b/app-emulation/xen/xen-4.6.0-r1.ebuild
401 deleted file mode 100644
402 index 960df2a..0000000
403 --- a/app-emulation/xen/xen-4.6.0-r1.ebuild
404 +++ /dev/null
405 @@ -1,180 +0,0 @@
406 -# Copyright 1999-2015 Gentoo Foundation
407 -# Distributed under the terms of the GNU General Public License v2
408 -# $Id$
409 -
410 -EAPI=5
411 -
412 -PYTHON_COMPAT=( python2_7 )
413 -
414 -MY_PV=${PV/_/-}
415 -MY_P=${PN}-${PV/_/-}
416 -
417 -if [[ $PV == *9999 ]]; then
418 - KEYWORDS=""
419 - EGIT_REPO_URI="git://xenbits.xen.org/${PN}.git"
420 - live_eclass="git-2"
421 -else
422 - KEYWORDS="~amd64 ~arm ~arm64 -x86"
423 - UPSTREAM_VER=0
424 - SECURITY_VER=
425 - GENTOO_VER=
426 -
427 - [[ -n ${UPSTREAM_VER} ]] && \
428 - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz"
429 - [[ -n ${SECURITY_VER} ]] && \
430 - SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz"
431 - [[ -n ${GENTOO_VER} ]] && \
432 - GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz"
433 - SRC_URI="http://bits.xensource.com/oss-xen/release/${MY_PV}/${MY_P}.tar.gz
434 - ${UPSTREAM_PATCHSET_URI}
435 - ${SECURITY_PATCHSET_URI}
436 - ${GENTOO_PATCHSET_URI}"
437 -
438 -fi
439 -
440 -inherit mount-boot flag-o-matic python-any-r1 toolchain-funcs eutils ${live_eclass}
441 -
442 -DESCRIPTION="The Xen virtual machine monitor"
443 -HOMEPAGE="http://xen.org/"
444 -LICENSE="GPL-2"
445 -SLOT="0"
446 -IUSE="custom-cflags debug efi flask xsm"
447 -
448 -DEPEND="${PYTHON_DEPS}
449 - efi? ( >=sys-devel/binutils-2.22[multitarget] )
450 - !efi? ( >=sys-devel/binutils-2.22[-multitarget] )"
451 -RDEPEND=""
452 -PDEPEND="~app-emulation/xen-tools-${PV}"
453 -
454 -RESTRICT="test"
455 -
456 -# Approved by QA team in bug #144032
457 -QA_WX_LOAD="boot/xen-syms-${PV}"
458 -
459 -REQUIRED_USE="flask? ( xsm )
460 - arm? ( debug )"
461 -
462 -S="${WORKDIR}/${MY_P}"
463 -
464 -pkg_setup() {
465 - python-any-r1_pkg_setup
466 - if [[ -z ${XEN_TARGET_ARCH} ]]; then
467 - if use x86 && use amd64; then
468 - die "Confusion! Both x86 and amd64 are set in your use flags!"
469 - elif use x86; then
470 - export XEN_TARGET_ARCH="x86_32"
471 - elif use amd64; then
472 - export XEN_TARGET_ARCH="x86_64"
473 - elif use arm; then
474 - export XEN_TARGET_ARCH="arm32"
475 - elif use arm64; then
476 - export XEN_TARGET_ARCH="arm64"
477 - else
478 - die "Unsupported architecture!"
479 - fi
480 - fi
481 -
482 - if use flask ; then
483 - export "XSM_ENABLE=y"
484 - export "FLASK_ENABLE=y"
485 - elif use xsm ; then
486 - export "XSM_ENABLE=y"
487 - fi
488 -}
489 -
490 -src_prepare() {
491 - # Upstream's patchset
492 - if [[ -n ${UPSTREAM_VER} ]]; then
493 - EPATCH_SUFFIX="patch" \
494 - EPATCH_FORCE="yes" \
495 - EPATCH_OPTS="-p1" \
496 - epatch "${WORKDIR}"/patches-upstream
497 - fi
498 -
499 - if [[ -n ${SECURITY_VER} ]]; then
500 - einfo "Try to apply Xen Security patcheset"
501 - source "${WORKDIR}"/patches-security/${PV}.conf
502 - # apply main xen patches
503 - for i in ${XEN_SECURITY_MAIN}; do
504 - EPATCH_SUFFIX="patch" \
505 - EPATCH_FORCE="yes" \
506 - epatch "${WORKDIR}"/patches-security/xen/$i
507 - done
508 - fi
509 -
510 - # Gentoo's patchset
511 - if [[ -n ${GENTOO_VER} ]]; then
512 - EPATCH_SUFFIX="patch" \
513 - EPATCH_FORCE="yes" \
514 - epatch "${WORKDIR}"/patches-gentoo
515 - fi
516 -
517 - epatch "${FILESDIR}"/${PN}-4.6-efi.patch
518 -
519 - # Drop .config
520 - sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
521 -
522 - if use efi; then
523 - export EFI_VENDOR="gentoo"
524 - export EFI_MOUNTPOINT="boot"
525 - fi
526 -
527 - # if the user *really* wants to use their own custom-cflags, let them
528 - if use custom-cflags; then
529 - einfo "User wants their own CFLAGS - removing defaults"
530 - # try and remove all the default custom-cflags
531 - find "${S}" -name Makefile -o -name Rules.mk -o -name Config.mk -exec sed \
532 - -e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \
533 - -e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \
534 - -e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \
535 - -e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \
536 - -e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \
537 - -i {} \; || die "failed to re-set custom-cflags"
538 - fi
539 -
540 - # remove -Werror for gcc-4.6's sake
541 - find "${S}" -name 'Makefile*' -o -name '*.mk' -o -name 'common.make' | \
542 - xargs sed -i 's/ *-Werror */ /'
543 - # not strictly necessary to fix this
544 - sed -i 's/, "-Werror"//' "${S}/tools/python/setup.py" || die "failed to re-set setup.py"
545 -
546 - epatch_user
547 -}
548 -
549 -src_configure() {
550 - use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i"
551 -
552 - use debug && myopt="${myopt} debug=y"
553 -
554 - if use custom-cflags; then
555 - filter-flags -fPIE -fstack-protector
556 - replace-flags -O3 -O2
557 - else
558 - unset CFLAGS
559 - fi
560 -}
561 -
562 -src_compile() {
563 - # Send raw LDFLAGS so that --as-needed works
564 - emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt}
565 -}
566 -
567 -src_install() {
568 - local myopt
569 - use debug && myopt="${myopt} debug=y"
570 -
571 - # The 'make install' doesn't 'mkdir -p' the subdirs
572 - if use efi; then
573 - mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
574 - fi
575 -
576 - emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install
577 -}
578 -
579 -pkg_postinst() {
580 - elog "Official Xen Guide and the unoffical wiki page:"
581 - elog " https://wiki.gentoo.org/wiki/Xen"
582 - elog " http://en.gentoo-wiki.com/wiki/Xen/"
583 -
584 - use efi && einfo "The efi executable is installed in boot/efi/gentoo"
585 -}