Gentoo Archives: gentoo-commits

From: Yixun Lan <dlan@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/xen-pvgrub/
Date: Sat, 30 Sep 2017 05:40:14
Message-Id: 1506749666.047ef3f2660478df8e012b993a506eba786ea127.dlan@gentoo
1 commit: 047ef3f2660478df8e012b993a506eba786ea127
2 Author: Yixun Lan <dlan <AT> gentoo <DOT> org>
3 AuthorDate: Sat Sep 30 04:45:51 2017 +0000
4 Commit: Yixun Lan <dlan <AT> gentoo <DOT> org>
5 CommitDate: Sat Sep 30 05:34:26 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=047ef3f2
7
8 app-emulation/xen-pvgrub: version bump, 4.8.2
9
10 Package-Manager: Portage-2.3.10, Repoman-2.3.3
11
12 app-emulation/xen-pvgrub/Manifest | 1 +
13 app-emulation/xen-pvgrub/xen-pvgrub-4.8.2.ebuild | 161 +++++++++++++++++++++++
14 2 files changed, 162 insertions(+)
15
16 diff --git a/app-emulation/xen-pvgrub/Manifest b/app-emulation/xen-pvgrub/Manifest
17 index 746005147a6..a8bb3dedb20 100644
18 --- a/app-emulation/xen-pvgrub/Manifest
19 +++ b/app-emulation/xen-pvgrub/Manifest
20 @@ -6,4 +6,5 @@ DIST polarssl-1.1.4-gpl.tgz 611340 SHA256 2d29fd04a0d0ba29dae6bd29fb418944c08d39
21 DIST xen-4.7.2.tar.gz 20714281 SHA256 61494a56d9251e2108080f95b0dc8e3d175f1ba4da34603fc07b91cfebf358d5 SHA512 8f447e7feffec81fea5b5a4098968b8b8cebc6989e7b6a845413317644d5d328d6f12181d09266366200878ab6a29ab34c7235c1af7b55463a3fdaea40ee1500 WHIRLPOOL 27f3fd88846724e03bf9bb53133046cb79139950c9162dd9c9a85798e169259f73dc2fe4212e750ce9a8fd1d0abd99f1f76108faceb7bf1934ce0495377ee756
22 DIST xen-4.7.3.tar.gz 20722625 SHA256 5b5385b476e59e4cf31ecc6dd605df38814b83432b8e8d917f18c8edfdfb708f SHA512 df596bef7f0f0e7f35246fb025913721dae5aa91da27f1b47a49256e9faa8f7dcb80e8c4679345c19614093c02059b6ced54fc51e6900a372b0e76b4ad827126 WHIRLPOOL 9e88db149e216651711cd56830fba33d587de60d57d53fd3ab3db231319f74e4e88222bf1b2bb9b20fea68739bccd4b26304c73a0ae25aad6dbbac64681e3a62
23 DIST xen-4.8.1.tar.gz 22516631 SHA256 1d69153b94561429293015f66463ee17c26404d1c014e646ecbcca6078581395 SHA512 9f535b4bb57d285dfb92c974d55513505cf485b2d7218fe8f6ed62768e2cee7f225b08adf6706590b2c0a04feca16e10915297c33b98e1b110f8ea7035f46c15 WHIRLPOOL ea367d4d08eaa464417f6c5e7143a52e085a8d0e515c99cbb49ac3ccd5c189aa79947d233754177698a076c28abf7a32c83ae29019ca70c6300839b09ca67bad
24 +DIST xen-4.8.2.tar.gz 22522336 SHA256 cb1cc2f0985e3d8651215e5d24c1fcc3036994fa7cc495a5091a2c85ece2aff9 SHA512 7805531f73d23ecfff3439770e62d387f4254a444875670d53a0a739323e5d4d8f8fcc478f8936ee1ae8aff3e0229549e47c01c606365a8ce060dd5c503e87da WHIRLPOOL 8e54e79219f89640162673da471a02ee8a39bb884e2376a79a09226462903185b49a771fef51ceca54c4dd42a110ee1214db6dbf94235a156a17d6c597634c3d
25 DIST zlib-1.2.3.tar.gz 496597 SHA256 1795c7d067a43174113fdf03447532f373e1c6c57c08d61d9e4e9be5e244b05e SHA512 021b958fcd0d346c4ba761bcf0cc40f3522de6186cf5a0a6ea34a70504ce9622b1c2626fce40675bc8282cf5f5ade18473656abc38050f72f5d6480507a2106e WHIRLPOOL 8fd7010faf6a48a9c7ff4bcfe3ce4fe9061eb541259e0a2d0def214e8c4becf2b22e8d6f96f65ca827abffeaa9d96e95ed2402844f99835f7b079fc9f3e84276
26
27 diff --git a/app-emulation/xen-pvgrub/xen-pvgrub-4.8.2.ebuild b/app-emulation/xen-pvgrub/xen-pvgrub-4.8.2.ebuild
28 new file mode 100644
29 index 00000000000..72d54928c84
30 --- /dev/null
31 +++ b/app-emulation/xen-pvgrub/xen-pvgrub-4.8.2.ebuild
32 @@ -0,0 +1,161 @@
33 +# Copyright 1999-2017 Gentoo Foundation
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=5
37 +
38 +PYTHON_COMPAT=( python2_7 )
39 +PYTHON_REQ_USE='xml,threads'
40 +
41 +inherit flag-o-matic eutils multilib python-single-r1 toolchain-funcs
42 +
43 +XEN_EXTFILES_URL="http://xenbits.xensource.com/xen-extfiles"
44 +LIBPCI_URL=ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci
45 +GRUB_URL=mirror://gnu-alpha/grub
46 +
47 +UPSTREAM_VER=
48 +[[ -n ${UPSTREAM_VER} ]] && \
49 + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz"
50 +
51 +SRC_URI="
52 + https://downloads.xenproject.org/release/xen/${PV}/xen-${PV}.tar.gz
53 + $GRUB_URL/grub-0.97.tar.gz
54 + $XEN_EXTFILES_URL/zlib-1.2.3.tar.gz
55 + $LIBPCI_URL/pciutils-2.2.9.tar.bz2
56 + $XEN_EXTFILES_URL/lwip-1.3.0.tar.gz
57 + $XEN_EXTFILES_URL/newlib/newlib-1.16.0.tar.gz
58 + $XEN_EXTFILES_URL/polarssl-1.1.4-gpl.tgz
59 + ${UPSTREAM_PATCHSET_URI}"
60 +
61 +S="${WORKDIR}/xen-${PV}"
62 +
63 +DESCRIPTION="allows to boot Xen domU kernels from a menu.lst laying inside guest filesystem"
64 +HOMEPAGE="http://xen.org/"
65 +LICENSE="GPL-2"
66 +SLOT="0"
67 +KEYWORDS="~amd64 ~x86"
68 +IUSE="custom-cflags"
69 +
70 +REQUIRED_USE="${PYTHON_REQUIRED_USE}"
71 +
72 +DEPEND="sys-devel/gettext
73 + sys-devel/bin86
74 + sys-apps/texinfo
75 + x11-libs/pixman"
76 +
77 +RDEPEND="${PYTHON_DEPS}
78 + >=app-emulation/xen-tools-${PV}"
79 +
80 +pkg_setup() {
81 + python-single-r1_pkg_setup
82 +}
83 +
84 +retar-externals() {
85 + # Purely to unclutter src_prepare
86 + local set="grub-0.97.tar.gz lwip-1.3.0.tar.gz newlib-1.16.0.tar.gz polarssl-1.1.4-gpl.tgz zlib-1.2.3.tar.gz"
87 +
88 + # epatch can't patch in $WORKDIR, requires a sed; Bug #455194. Patchable, but sed informative
89 + sed -e s':AR=${AR-"ar rc"}:AR=${AR-"ar"}:' \
90 + -i "${WORKDIR}"/zlib-1.2.3/configure
91 + sed -e 's:^AR=ar rc:AR=ar:' \
92 + -e s':$(AR) $@:$(AR) rc $@:' \
93 + -i "${WORKDIR}"/zlib-1.2.3/{Makefile,Makefile.in}
94 + einfo "zlib Makefile edited"
95 +
96 + cd "${WORKDIR}"
97 + tar czp zlib-1.2.3 -f zlib-1.2.3.tar.gz
98 + tar czp grub-0.97 -f grub-0.97.tar.gz
99 + tar czp lwip -f lwip-1.3.0.tar.gz
100 + tar czp newlib-1.16.0 -f newlib-1.16.0.tar.gz
101 + tar czp polarssl-1.1.4 -f polarssl-1.1.4-gpl.tgz
102 + mv $set "${S}"/stubdom/
103 + einfo "tarballs moved to source"
104 +}
105 +
106 +src_prepare() {
107 + # Upstream's patchset
108 + if [[ -n ${UPSTREAM_VER} ]]; then
109 + einfo "Try to apply Xen Upstream patch set"
110 + EPATCH_SUFFIX="patch" \
111 + EPATCH_FORCE="yes" \
112 + EPATCH_OPTS="-p1" \
113 + epatch "${WORKDIR}"/patches-upstream
114 + fi
115 +
116 + # if the user *really* wants to use their own custom-cflags, let them
117 + if use custom-cflags; then
118 + einfo "User wants their own CFLAGS - removing defaults"
119 + # try and remove all the default custom-cflags
120 + find "${S}" -name Makefile -o -name Rules.mk -o -name Config.mk -exec sed \
121 + -e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \
122 + -e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \
123 + -e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \
124 + -e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \
125 + -e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \
126 + -i {} \;
127 + fi
128 +
129 + # Patch the unmergeable newlib, fix most of the leftover gcc QA issues
130 + cp "${FILESDIR}"/newlib-implicits.patch stubdom || die
131 +
132 + # Patch stubdom/Makefile to patch insource newlib & prevent internal downloading
133 + epatch "${FILESDIR}"/${PN/-pvgrub/}-4.3-externals.patch
134 +
135 + # fix jobserver in Makefile
136 + epatch "${FILESDIR}"/${PN}-4.8-jserver.patch
137 +
138 + #Substitute for internal downloading. pciutils copied only due to the only .bz2
139 + cp "${DISTDIR}"/pciutils-2.2.9.tar.bz2 ./stubdom/ || die "pciutils not copied to stubdom"
140 + retar-externals || die "re-tar procedure failed"
141 +
142 + epatch_user
143 +}
144 +
145 +src_configure() {
146 + local myconf="--prefix=${PREFIX}/usr \
147 + --libdir=${PREFIX}/usr/$(get_libdir) \
148 + --libexecdir=${PREFIX}/usr/libexec \
149 + --disable-werror \
150 + --disable-xen"
151 +
152 + econf ${myconf}
153 +}
154 +
155 +src_compile() {
156 + use custom-cflags || unset CFLAGS
157 + if test-flag-CC -fno-strict-overflow; then
158 + append-flags -fno-strict-overflow
159 + fi
160 +
161 + emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" -C tools/include
162 +
163 + if use x86; then
164 + emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \
165 + XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub
166 + elif use amd64; then
167 + emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \
168 + XEN_TARGET_ARCH="x86_64" -C stubdom pv-grub
169 + if has_multilib_profile; then
170 + multilib_toolchain_setup x86
171 + emake CC="$(tc-getCC)" AR="$(tc-getAR)" \
172 + XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub
173 + fi
174 + fi
175 +}
176 +
177 +src_install() {
178 + if use x86; then
179 + emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub
180 + fi
181 + if use amd64; then
182 + emake XEN_TARGET_ARCH="x86_64" DESTDIR="${D}" -C stubdom install-grub
183 + if has_multilib_profile; then
184 + emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub
185 + fi
186 + fi
187 +}
188 +
189 +pkg_postinst() {
190 + elog "Official Xen Guide and the offical wiki page:"
191 + elog "https://wiki.gentoo.org/wiki/Xen"
192 + elog "http://wiki.xen.org/wiki/Main_Page"
193 +}