From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- app-emulation/xen-pvgrub/Manifest | 19 +++ .../xen-pvgrub/files/newlib-implicits.patch | 149 +++++++++++++++++++ .../xen-pvgrub/files/xen-4.3-externals.patch | 75 ++++++++++ .../xen-pvgrub/files/xen-pvgrub-4.2-jserver.patch | 32 ++++ .../xen-pvgrub/files/xen-pvgrub-4.8-jserver.patch | 13 ++ app-emulation/xen-pvgrub/metadata.xml | 8 + app-emulation/xen-pvgrub/xen-pvgrub-4.7.2.ebuild | 161 +++++++++++++++++++++ app-emulation/xen-pvgrub/xen-pvgrub-4.7.3.ebuild | 161 +++++++++++++++++++++ app-emulation/xen-pvgrub/xen-pvgrub-4.8.2.ebuild | 161 +++++++++++++++++++++ 9 files changed, 779 insertions(+) create mode 100644 app-emulation/xen-pvgrub/Manifest create mode 100644 app-emulation/xen-pvgrub/files/newlib-implicits.patch create mode 100644 app-emulation/xen-pvgrub/files/xen-4.3-externals.patch create mode 100644 app-emulation/xen-pvgrub/files/xen-pvgrub-4.2-jserver.patch create mode 100644 app-emulation/xen-pvgrub/files/xen-pvgrub-4.8-jserver.patch create mode 100644 app-emulation/xen-pvgrub/metadata.xml create mode 100644 app-emulation/xen-pvgrub/xen-pvgrub-4.7.2.ebuild create mode 100644 app-emulation/xen-pvgrub/xen-pvgrub-4.7.3.ebuild create mode 100644 app-emulation/xen-pvgrub/xen-pvgrub-4.8.2.ebuild (limited to 'app-emulation/xen-pvgrub') diff --git a/app-emulation/xen-pvgrub/Manifest b/app-emulation/xen-pvgrub/Manifest new file mode 100644 index 000000000000..7fb59f1ebb3a --- /dev/null +++ b/app-emulation/xen-pvgrub/Manifest @@ -0,0 +1,19 @@ +AUX newlib-implicits.patch 5307 SHA256 34e85aa0380d10271748cdc6cb0ff3f502fe5c3113724ba8a2c2f69668970c46 SHA512 582cfa36dbb44e8abc83120d44af78a7a7cd3f7a009c65858f3d68276bf5f772b18c4692b7e68202f9ec246e29c785fa111b19bcaefc2f04f429f1b69e77d48f WHIRLPOOL 0d36e2f4ac6476522a05842ab1194e6c58d4fa6a03ae53b14b839aa4057ce55fdd6ec5fa47d28ddcaea22fed153ca60f50413cc77f9a4ded2397168395bf336b +AUX xen-4.3-externals.patch 2806 SHA256 f4693d85070c0983b440eaa061b4a769119e12fc0304561a9cc302d04d0dfd3d SHA512 07e9270ef404dfb765be284887e6d24202ac1783d08e7d30a768d461d6565fac4a4e9625b245610353bf2b76baf54c736170bfc84ed507491f7876e0d7a11c7d WHIRLPOOL 9240067e706ec4a2d33c8a6e1556f8df137984b7015e4347e52b35e2f562284669634137357e7651d7f747638592cf429ef3e60792489e0c287b6387690fd9ad +AUX xen-pvgrub-4.2-jserver.patch 1487 SHA256 3bbf6d06ad1960e30dc84a3e3b179d5d23331ecf60d347871b7008c58456a6ed SHA512 f92bced9f3e7fec84b1bfce6ce3366f134cec2b892ffc3afcdd3fd3f73daf158c17c312260fae39bc9e04c1dab1045d17f0da706dd0dba0279e66dea454aed8d WHIRLPOOL 10828eb65effad714a61a18bcd6c33c2b7fb7fd0007b1a68aed7a653cd7e67acc04cc5eb9574d7d50c92fc7ca8223dff0c73f1cfde994e4ee1d787f536588b99 +AUX xen-pvgrub-4.8-jserver.patch 547 SHA256 aa50f1eb0f2672b7c15f472f16f34b1949f60749696a343c1667578f7db80e6f SHA512 38819b6041d679257a8ebf91f481bf3d9957d3c25ead64725fba9f83fee033235909a8599e986604546008c3077f37db332958fee70eafb4016d723c2e2bfc2a WHIRLPOOL 68ebff1f234888a486101dcc63855e644c13ab395a786817799622a63ca9c23f6797c7a811d33ce3a7569b4ecd65bc77a3fc85e12b5311a6718c57668243cc8e +DIST grub-0.97.tar.gz 971783 SHA256 4e1d15d12dbd3e9208111d6b806ad5a9857ca8850c47877d36575b904559260b SHA512 c2bc9ffc8583aeae71cee9ddcc4418969768d4e3764d47307da54f93981c0109fb07d84b061b3a3628bd00ba4d14a54742bc04848110eb3ae8ca25dbfbaabadb WHIRLPOOL 0ad7f5dc035e2a3ad5fd29b6388f06fd12a8cc694117b4cbd42b5302433aa522db23566222d35219fe17fb95edb5090553156198507f70208eda5d858fd52dd5 +DIST lwip-1.3.0.tar.gz 398933 SHA256 772e4d550e07826665ed0528c071dd5404ef7dbe1825a38c8adbc2a00bca948f SHA512 1465b58279af1647f909450e394fe002ca165f0ff4a0254bfa9fe0e64316f50facdde2729d79a4e632565b4500cf4d6c74192ac0dd3bc9fe09129bbd67ba089d WHIRLPOOL 63bdd9eb70f168ba2006a8f4bbe166b68528abe8364b23cdc1d468ccc4b137bb3447bf90695920f016e09d53d3b93ccf6e3697b3c46840f00b794789cb424acc +DIST newlib-1.16.0.tar.gz 12024353 SHA256 db426394965c48c1d29023e1cc6d965ea6b9a9035d8a849be2750ca4659a3d07 SHA512 40eb96bbc6736a16b6399e0cdb73e853d0d90b685c967e77899183446664d64570277a633fdafdefc351b46ce210a99115769a1d9f47ac749d7e82837d4d1ac3 WHIRLPOOL 47f7afd525f482d79d9e964f0e75ee8a77e59551bd19cd94f9b95ac3af9406afa381c9d8d224f76eb568441ab613b2b194f8e5be50aa222f9ed2d9b9761829db +DIST pciutils-2.2.9.tar.bz2 212265 SHA256 f60ae61cfbd5da1d849d0beaa21f593c38dac9359f0b3ddc612f447408265b24 SHA512 2b3d98d027e46d8c08037366dde6f0781ca03c610ef2b380984639e4ef39899ed8d8b8e4cd9c9dc54df101279b95879bd66bfd4d04ad07fef41e847ea7ae32b5 WHIRLPOOL ce801947fcf7ba0b56710029f25e746d3e03a80699af9d3570efcd417b12b546264f286b2e78b1402cca766c08e35bdd0ff0a692ab4ad419295f00bcfe91130e +DIST polarssl-1.1.4-gpl.tgz 611340 SHA256 2d29fd04a0d0ba29dae6bd29fb418944c08d3916665dcca74afb297ef37584b6 SHA512 88da614e4d3f4409c4fd3bb3e44c7587ba051e3fed4e33d526069a67e8180212e1ea22da984656f50e290049f60ddca65383e5983c0f8884f648d71f698303ad WHIRLPOOL 39448c00dda142a836a78381b446c7b586272a44d8afc867a7ea702228f105bb2adffe757bd6c23af090cff64ef32e7af0c373dccc5145ff4c11552cf3f28383 +DIST xen-4.7.2.tar.gz 20714281 SHA256 61494a56d9251e2108080f95b0dc8e3d175f1ba4da34603fc07b91cfebf358d5 SHA512 8f447e7feffec81fea5b5a4098968b8b8cebc6989e7b6a845413317644d5d328d6f12181d09266366200878ab6a29ab34c7235c1af7b55463a3fdaea40ee1500 WHIRLPOOL 27f3fd88846724e03bf9bb53133046cb79139950c9162dd9c9a85798e169259f73dc2fe4212e750ce9a8fd1d0abd99f1f76108faceb7bf1934ce0495377ee756 +DIST xen-4.7.3.tar.gz 20722625 SHA256 5b5385b476e59e4cf31ecc6dd605df38814b83432b8e8d917f18c8edfdfb708f SHA512 df596bef7f0f0e7f35246fb025913721dae5aa91da27f1b47a49256e9faa8f7dcb80e8c4679345c19614093c02059b6ced54fc51e6900a372b0e76b4ad827126 WHIRLPOOL 9e88db149e216651711cd56830fba33d587de60d57d53fd3ab3db231319f74e4e88222bf1b2bb9b20fea68739bccd4b26304c73a0ae25aad6dbbac64681e3a62 +DIST xen-4.8.2.tar.gz 22522336 SHA256 cb1cc2f0985e3d8651215e5d24c1fcc3036994fa7cc495a5091a2c85ece2aff9 SHA512 7805531f73d23ecfff3439770e62d387f4254a444875670d53a0a739323e5d4d8f8fcc478f8936ee1ae8aff3e0229549e47c01c606365a8ce060dd5c503e87da WHIRLPOOL 8e54e79219f89640162673da471a02ee8a39bb884e2376a79a09226462903185b49a771fef51ceca54c4dd42a110ee1214db6dbf94235a156a17d6c597634c3d +DIST zlib-1.2.3.tar.gz 496597 SHA256 1795c7d067a43174113fdf03447532f373e1c6c57c08d61d9e4e9be5e244b05e SHA512 021b958fcd0d346c4ba761bcf0cc40f3522de6186cf5a0a6ea34a70504ce9622b1c2626fce40675bc8282cf5f5ade18473656abc38050f72f5d6480507a2106e WHIRLPOOL 8fd7010faf6a48a9c7ff4bcfe3ce4fe9061eb541259e0a2d0def214e8c4becf2b22e8d6f96f65ca827abffeaa9d96e95ed2402844f99835f7b079fc9f3e84276 +EBUILD xen-pvgrub-4.7.2.ebuild 4855 SHA256 05ecb38bd3cf2d7d2ee916bde949f7cc5e51e3c112786dab71864f55d0255644 SHA512 86198959919f66903003d83a0b9a9951b85c25bae2507a2cf98701adf7f2d61149bf2653687f9f8f24384b9119269c35b67ac4e7eb727f18e96fa1f892233947 WHIRLPOOL 15969302211b83c417a9481f31636c6555777f761ed082dbe5f510f8b86f5986122359481879b8d660f256bbb3629699c987309a82b8a1a8966913076b4ae030 +EBUILD xen-pvgrub-4.7.3.ebuild 4858 SHA256 b1a306442f38efe10e1699b44c7b0ef6da6765027e3b14505655bce7de77dfd0 SHA512 98342e4eb779dc0c8bd204baf73c177242d5678eec14871c252581456f0afd395e8758ea9f697b15bc242dc14a9c8217bba315ba71f891c238cb051c132fedd1 WHIRLPOOL e0f909b7701460529463cbc411e32f27e0437d1f1883c0b25bb84a8aafa8439875684057f4418a9a71aff5cffb8c6f63b7de4e5c2573137045ced23c4d4a9b5c +EBUILD xen-pvgrub-4.8.2.ebuild 4860 SHA256 1d3dae13bc0280ec2627db29f9e875d2e61228fb4cd52899ac123462e4d5e431 SHA512 54ec10e72eb29850b48216e9d81c38cfe82510aac751be69bdcae124f05f07021562757f85e18f091a65b1dcf1f257ba4652d994d415d05ec4485845beedecc4 WHIRLPOOL 2a9ba421dc9e35d0fecd978d597c0b84d83f05671e0c2422985b0be2606f5fde3a818cc6c9d67eb7b429f2f11f3430b31710d06638c082454e4ebfdbc16c10aa +MISC ChangeLog 7852 SHA256 ad4918f5c2385e0cdce11a5a4dd3025138389a2cdb2242b111d4d2318bd62975 SHA512 182aac066289033e565c50fe3ed620a6d123ffb9570e55fcfe1834f59f172a758a9238e160b7a9525512f94887617ff89165df1519d752fe26df84ef0016405b WHIRLPOOL c77c268d908fd4dd26888841e295eabc2040598a7651e36e712ae9a94149ebdd28b778895a76eb804276f791da832360c02559fd70c2973a8f88fce62d2cfa6c +MISC ChangeLog-2015 15121 SHA256 729879428f3b9ee1f4d94eea1e3e3eaab4875658088799cfefe49eae3755fdcf SHA512 55627fe8e88dd3af475d65c33f28766ce475919add045bbf82a950729b4eec4df2ca02534cd39eba07dafb77b02c82d773d6540c05fa144ce96bc624c7bb915b WHIRLPOOL e66c52cf6783b0d77865b20074a3e2d4b8da4f3c37340e3f8ef96fbd9fbaf04ef2f8adcc0e21fa164bb2da1bab7ae5d664544080fa968f3d83e1d1461c3f27dc +MISC metadata.xml 245 SHA256 bfe5e8649d2656187f54bafd2f4d76a05449c0fd305709716b7f7270a38b7237 SHA512 3f646ec3197e46d25dde4f698b571fb85b040198f4cba7508c8d38405b4d9d0fc31dbd5ae6242aea8c2acd613aabe0486cb347a1db4811fa807b861148661f8b WHIRLPOOL 71c6d614b0671440d48277e9d3fdea989dba7a5e1d0e609163d8783f970538b8749eb74651b74c809b111d98c88109c2fb1f18fe223a2d7f62fdacb87b500ce9 diff --git a/app-emulation/xen-pvgrub/files/newlib-implicits.patch b/app-emulation/xen-pvgrub/files/newlib-implicits.patch new file mode 100644 index 000000000000..73c04931b31d --- /dev/null +++ b/app-emulation/xen-pvgrub/files/newlib-implicits.patch @@ -0,0 +1,149 @@ +diff -ur newlib-1.16.0.orig/newlib/libc/stdlib/wcstoull.c newlib-1.16.0/newlib/libc/stdlib/wcstoull.c +--- newlib/libc/stdlib/wcstoull.c 2007-07-07 04:03:28.000000000 +0800 ++++ newlib/libc/stdlib/wcstoull.c 2012-12-02 14:19:40.905136553 +0800 +@@ -124,7 +124,7 @@ + #include + #include + #include +- ++#include + #ifndef _REENT_ONLY + + unsigned long long +diff -ur newlib-1.16.0.orig/newlib/doc/makedoc.c +newlib-1.16.0/newlib/doc/makedoc.c +--- newlib/doc/makedoc.c 2007-01-03 01:59:59.000000000 +0900 ++++ newlib/doc/makedoc.c 2012-12-02 16:53:42.700289294 +0800 +@@ -39,7 +39,7 @@ + #include + #include + #include +- ++#include + #define DEF_SIZE 5000 + #define STACK 50 + +diff -ur newlib-1.16.0.orig/newlib/libc/reent/lseek64r.c newlib-1.16.0/newlib/libc/reent/lseek64r.c +--- newlib/libc/reent/lseek64r.c 2003-06-04 03:48:07.000000000 +0800 ++++ newlib/libc/reent/lseek64r.c 2012-12-02 18:29:45.435760985 +0800 +@@ -1,8 +1,8 @@ + /* Reentrant versions of lseek system call. */ + +-#include ++#include "../include/reent.h" + #include +-#include <_syslist.h> ++#include "../include/_syslist.h" + + /* Some targets provides their own versions of this functions. Those + targets should define REENTRANT_SYSCALLS_PROVIDED in TARGET_CFLAGS. */ +diff -ur newlib-1.16.0.orig/newlib/libc/stdio64/fseeko64.c newlib-1.16.0/newlib/libc/stdio64/fseeko64.c +--- newlib/libc/stdio64/fseeko64.c 2007-07-14 04:37:53.000000000 +0800 ++++ newlib/libc/stdio64/fseeko64.c 2012-12-02 18:26:29.955778906 +0800 +@@ -119,7 +119,7 @@ + ptr->_errno = EOVERFLOW; + return EOF; + } +- return (_off64_t) _fseeko_r (ptr, fp, offset, whence); ++ return (_off64_t) _fseeko64_r (ptr, fp, offset, whence); + } + + /* Make sure stdio is set up. */ + +diff -ur newlib-1.16.0.orig/newlib/libc/reent/fstat64r.c newlib-1.16.0/newlib/libc/reent/fstat64r.c +--- newlib/libc/reent/fstat64r.c 2012-12-03 13:17:26.569703981 +0800 ++++ newlib/libc/reent/fstat64r.c 2003-06-04 03:48:07.000000000 +0800 +@@ -1,10 +1,10 @@ + /* Reentrant versions of fstat system call. This implementation just + calls the fstat system call. */ + +-#include ++#include "../include/reent.h"> + #include + #include +-#include <_syslist.h> ++#include "../include/_syslist.h" + + #ifdef __LARGE64_FILES + +diff -ur newlib-1.16.0.orig/libgloss/i386/cygmon-gmon.c newlib-1.16.0/libgloss/i386/cygmon-gmon.c +--- libgloss/i386/cygmon-gmon.c 2002-10-26 03:18:46.000000000 +0800 ++++ libgloss/i386/cygmon-gmon.c 2012-12-03 14:38:41.454257066 +0800 +@@ -68,6 +68,9 @@ + + #include "cygmon-gmon.h" + ++#include ++#include ++#include + /* + * froms is actually a bunch of unsigned shorts indexing tos + */ +@@ -78,6 +78,8 @@ + static char *s_lowpc = 0; + static char *s_highpc = 0; + static unsigned long s_textsize = 0; ++extern void profil_write(int, char*, int); ++extern int moncontrol (int); + + static int ssiz; + static char *sbuf; +diff -ur newlib-1.16.0.orig/newlib/libc/include/_syslist.h +newlib-1.16.0/newlib/libc/include/_syslist.h +--- newlib/libc/include/_syslist.h 2005-08-23 05:13:35.000000000 +0800 ++++ newlib/libc/include/_syslist.h 2012-12-03 17:20:03.092369483 +0800 +@@ -2,6 +2,7 @@ + and only provide C names, so that we end up in violation of ANSI */ + #ifndef __SYSLIST_H + #define __SYSLIST_H ++#include + + #ifdef MISSING_SYSCALL_NAMES + #define _close close + +#diff -ur newlib-1.16.0.orig/newlib/libc/Makefile.in newlib-1.16.0/newlib/libc/Makefile.in +#--- newlib/libc/Makefile.in 2007-05-25 01:33:30.000000000 +0800 +#+++ newlib/libc/Makefile.in 2012-12-03 21:52:05.621873084 +0800 +diff -ur newlib-1.16.0.orig/newlib/libc/stdio64/ftello64.c newlib-1.16.0/newlib/libc/stdio64/ftello64.c +--- newlib/libc/stdio64/ftello64.c 2007-07-14 04:37:53.000000000 +0800 ++++ newlib/libc/stdio64/ftello64.c 2012-12-04 18:34:46.491509484 +0800 +@@ -93,7 +93,7 @@ + + /* Only do 64-bit tell on large file. */ + if (!(fp->_flags & __SL64)) +- return (_off64_t) _ftello_r (ptr, fp); ++ return (_off64_t) _ftello64_r (ptr, fp); + + /* Ensure stdio is set up. */ + +diff -ur newlib-1.16.0.orig/newlib/libc/reent/open64r.c newlib-1.16.0/newlib/libc/reent/open64r.c +--- newlib/libc/reent/open64r.c 2002-08-27 02:56:06.000000000 +0800 ++++ newlib/libc/reent/open64r.c 2012-12-04 20:06:10.044006769 +0800 +@@ -1,8 +1,8 @@ + /* Reentrant versions of open system call. */ + +-#include ++#include "../include/reent.h"> + #include +-#include ++#include + #include <_syslist.h> + + #ifdef __LARGE64_FILES +diff -ur newlib-1.16.0.orig/newlib/libc/reent/signalr.c newlib-1.16.0/newlib/libc/reent/signalr.c +--- newlib/libc/reent/signalr.c 2012-12-05 07:33:25.623393126 +0800 ++++ newlib/libc/reent/signalr.c 2012-12-05 07:34:03.943389613 +0800 +@@ -1,10 +1,10 @@ + /* Reentrant versions of syscalls need to support signal/raise. + These implementations just call the usual system calls. */ + +-#include ++#include "../include/reent.h" + #include + #include +-#include <_syslist.h> ++#include "../include/_syslist.h" + + /* Some targets provides their own versions of these functions. Those + targets should define REENTRANT_SYSCALLS_PROVIDED in TARGET_CFLAGS. */ + diff --git a/app-emulation/xen-pvgrub/files/xen-4.3-externals.patch b/app-emulation/xen-pvgrub/files/xen-4.3-externals.patch new file mode 100644 index 000000000000..0d8956fac098 --- /dev/null +++ b/app-emulation/xen-pvgrub/files/xen-4.3-externals.patch @@ -0,0 +1,75 @@ +diff -ur xen-4.3.0.orig/stubdom/Makefile xen-4.3.0/stubdom/Makefile +--- stubdom/Makefile 2013-07-09 18:46:56.000000000 +0800 ++++ stubdom/Makefile 2013-07-21 16:07:08.094663570 +0800 +@@ -68,12 +68,12 @@ + ############## + + newlib-$(NEWLIB_VERSION).tar.gz: +- $(FETCHER) $@ $(NEWLIB_URL)/$@ + + newlib-$(NEWLIB_VERSION): newlib-$(NEWLIB_VERSION).tar.gz + tar xzf $< + patch -d $@ -p0 < newlib.patch + patch -d $@ -p0 < newlib-chk.patch ++ patch -d $@ -p0 < newlib-implicits.patch + patch -d $@ -p1 < newlib-stdint-size_max-fix-from-1.17.0.patch + find $@ -type f | xargs perl -i.bak \ + -pe 's/\b_(tzname|daylight|timezone)\b/$$1/g' +@@ -85,7 +85,7 @@ + $(NEWLIB_STAMPFILE): mk-headers-$(XEN_TARGET_ARCH) newlib-$(NEWLIB_VERSION) + mkdir -p newlib-$(XEN_TARGET_ARCH) + ( cd newlib-$(XEN_TARGET_ARCH) && \ +- CC_FOR_TARGET="$(CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(NEWLIB_CFLAGS)" AR_FOR_TARGET=$(AR) LD_FOR_TARGET=$(LD) RANLIB_FOR_TARGET=$(RANLIB) ../newlib-$(NEWLIB_VERSION)/configure --prefix=$(CROSS_PREFIX) --verbose --target=$(GNU_TARGET_ARCH)-xen-elf --enable-newlib-io-long-long --disable-multilib && \ ++ CC_FOR_TARGET="$(CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(NEWLIB_CFLAGS)" AR_FOR_TARGET=$(AR) LD_FOR_TARGET=$(LD) LDFLAGS= RANLIB_FOR_TARGET=$(RANLIB) ../newlib-$(NEWLIB_VERSION)/configure --prefix=$(CROSS_PREFIX) --verbose --target=$(GNU_TARGET_ARCH)-xen-elf --enable-newlib-io-long-long --disable-multilib && \ + $(MAKE) DESTDIR= && \ + $(MAKE) DESTDIR= install ) + +@@ -94,7 +94,6 @@ + ############ + + zlib-$(ZLIB_VERSION).tar.gz: +- $(FETCHER) $@ $(ZLIB_URL)/$@ + + zlib-$(XEN_TARGET_ARCH): zlib-$(ZLIB_VERSION).tar.gz + tar xzf $< +@@ -105,7 +104,7 @@ + cross-zlib: $(ZLIB_STAMPFILE) + $(ZLIB_STAMPFILE): zlib-$(XEN_TARGET_ARCH) $(NEWLIB_STAMPFILE) + ( cd $< && \ +- CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" CC=$(CC) ./configure --prefix=$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf && \ ++ CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" CC="$(CC)" ./configure --prefix=$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf && \ + $(MAKE) DESTDIR= libz.a && \ + $(MAKE) DESTDIR= install ) + +@@ -114,7 +113,6 @@ + ############## + + pciutils-$(LIBPCI_VERSION).tar.bz2: +- $(FETCHER) $@ $(LIBPCI_URL)/$@ + + pciutils-$(XEN_TARGET_ARCH): pciutils-$(LIBPCI_VERSION).tar.bz2 + tar xjf $< +@@ -142,7 +140,6 @@ + ###### + + lwip-$(LWIP_VERSION).tar.gz: +- $(FETCHER) $@ $(LWIP_URL)/$@ + + lwip-$(XEN_TARGET_ARCH): lwip-$(LWIP_VERSION).tar.gz + tar xzf $< +@@ -180,7 +177,6 @@ + # cross-polarssl + ############# + polarssl-$(POLARSSL_VERSION)-gpl.tgz: +- $(FETCHER) $@ $(POLARSSL_URL)/$@ + + polarssl-$(XEN_TARGET_ARCH): polarssl-$(POLARSSL_VERSION)-gpl.tgz + tar xzf $< +@@ -385,7 +382,6 @@ + ###### + + grub-$(GRUB_VERSION).tar.gz: +- $(FETCHER) $@ $(GRUB_URL)/$@ + + grub-upstream: grub-$(GRUB_VERSION).tar.gz + tar xzf $< diff --git a/app-emulation/xen-pvgrub/files/xen-pvgrub-4.2-jserver.patch b/app-emulation/xen-pvgrub/files/xen-pvgrub-4.2-jserver.patch new file mode 100644 index 000000000000..514fd0575b23 --- /dev/null +++ b/app-emulation/xen-pvgrub/files/xen-pvgrub-4.2-jserver.patch @@ -0,0 +1,32 @@ +diff -ur xen-4.2.0.orig/tools/tests/x86_emulator/Makefile xen-4.2.0/tools/tests/x86_emulator/Makefile +--- tools/tests/x86_emulator/Makefile 2012-09-17 18:21:19.000000000 +0800 ++++ tools/tests/x86_emulator/Makefile 2012-11-24 05:06:24.355778737 +0800 +@@ -14,13 +14,13 @@ + .PHONY: blowfish.h + blowfish.h: + rm -f blowfish.bin +- XEN_TARGET_ARCH=x86_32 make -f blowfish.mk all ++ XEN_TARGET_ARCH=x86_32 $(MAKE) -f blowfish.mk all + (echo "static unsigned int blowfish32_code[] = {"; \ + od -v -t x blowfish.bin | sed 's/^[0-9]* /0x/' | sed 's/ /, 0x/g' | sed 's/$$/,/';\ + echo "};") >$@ + rm -f blowfish.bin + ifeq ($(XEN_COMPILE_ARCH),x86_64) +- XEN_TARGET_ARCH=x86_64 make -f blowfish.mk all ++ XEN_TARGET_ARCH=x86_64 $(MAKE) -f blowfish.mk all + (echo "static unsigned int blowfish64_code[] = {"; \ + od -v -t x blowfish.bin | sed 's/^[0-9]* /0x/' | sed 's/ /, 0x/g' | sed 's/$$/,/';\ + echo "};") >>$@ + +diff -ur xen-4.2.0.orig/tools/firmware/vgabios/Makefile xen-4.2.0/tools/firmware/vgabios/Makefile +--- tools/firmware/vgabios/Makefile 2013-02-04 13:56:50.973533544 +0800 ++++ tools/firmware/vgabios/Makefile 2013-02-04 13:57:21.380535958 +0800 +@@ -27,7 +27,7 @@ + + .PHONY: release + release: +- VGABIOS_VERS=\"-DVGABIOS_VERS=\\\"$(RELVERS)\\\"\" make bios cirrus-bios ++ VGABIOS_VERS=\"-DVGABIOS_VERS=\\\"$(RELVERS)\\\"\" $(MAKE) bios cirrus-bios + /bin/rm -f *.o *.s *.ld86 \ + temp.awk.* vgabios.*.orig _vgabios_.*.c core *.bak .#* + cp VGABIOS-lgpl-latest.bin ../$(RELEASE).bin diff --git a/app-emulation/xen-pvgrub/files/xen-pvgrub-4.8-jserver.patch b/app-emulation/xen-pvgrub/files/xen-pvgrub-4.8-jserver.patch new file mode 100644 index 000000000000..aebc1ee5926e --- /dev/null +++ b/app-emulation/xen-pvgrub/files/xen-pvgrub-4.8-jserver.patch @@ -0,0 +1,13 @@ +diff --git a/tools/firmware/vgabios/Makefile b/tools/firmware/vgabios/Makefile +index 3284812..ef242b3 100644 +--- a/tools/firmware/vgabios/Makefile ++++ b/tools/firmware/vgabios/Makefile +@@ -30,7 +30,7 @@ distclean: clean + + .PHONY: release + release: +- VGABIOS_VERS=\"-DVGABIOS_VERS=\\\"$(RELVERS)\\\"\" make bios cirrus-bios ++ VGABIOS_VERS=\"-DVGABIOS_VERS=\\\"$(RELVERS)\\\"\" $(MAKE) bios cirrus-bios + /bin/rm -f *.o *.s *.ld86 \ + temp.awk.* vgabios.*.orig _vgabios_.*.c core *.bak .#* + cp VGABIOS-lgpl-latest.bin ../$(RELEASE).bin diff --git a/app-emulation/xen-pvgrub/metadata.xml b/app-emulation/xen-pvgrub/metadata.xml new file mode 100644 index 000000000000..64e6e971243c --- /dev/null +++ b/app-emulation/xen-pvgrub/metadata.xml @@ -0,0 +1,8 @@ + + + + + xen@gentoo.org + Gentoo Xen Project + + diff --git a/app-emulation/xen-pvgrub/xen-pvgrub-4.7.2.ebuild b/app-emulation/xen-pvgrub/xen-pvgrub-4.7.2.ebuild new file mode 100644 index 000000000000..af5278706daf --- /dev/null +++ b/app-emulation/xen-pvgrub/xen-pvgrub-4.7.2.ebuild @@ -0,0 +1,161 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE='xml,threads' + +inherit flag-o-matic eutils multilib python-single-r1 toolchain-funcs + +XEN_EXTFILES_URL="http://xenbits.xensource.com/xen-extfiles" +LIBPCI_URL=ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci +GRUB_URL=mirror://gnu-alpha/grub + +UPSTREAM_VER= +[[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz" + +SRC_URI=" + http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz + $GRUB_URL/grub-0.97.tar.gz + $XEN_EXTFILES_URL/zlib-1.2.3.tar.gz + $LIBPCI_URL/pciutils-2.2.9.tar.bz2 + $XEN_EXTFILES_URL/lwip-1.3.0.tar.gz + $XEN_EXTFILES_URL/newlib/newlib-1.16.0.tar.gz + $XEN_EXTFILES_URL/polarssl-1.1.4-gpl.tgz + ${UPSTREAM_PATCHSET_URI}" + +S="${WORKDIR}/xen-${PV}" + +DESCRIPTION="allows to boot Xen domU kernels from a menu.lst laying inside guest filesystem" +HOMEPAGE="http://xen.org/" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="custom-cflags" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +DEPEND="sys-devel/gettext + sys-devel/bin86 + sys-apps/texinfo + x11-libs/pixman" + +RDEPEND="${PYTHON_DEPS} + >=app-emulation/xen-tools-${PV}" + +pkg_setup() { + python-single-r1_pkg_setup +} + +retar-externals() { + # Purely to unclutter src_prepare + 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" + + # epatch can't patch in $WORKDIR, requires a sed; Bug #455194. Patchable, but sed informative + sed -e s':AR=${AR-"ar rc"}:AR=${AR-"ar"}:' \ + -i "${WORKDIR}"/zlib-1.2.3/configure + sed -e 's:^AR=ar rc:AR=ar:' \ + -e s':$(AR) $@:$(AR) rc $@:' \ + -i "${WORKDIR}"/zlib-1.2.3/{Makefile,Makefile.in} + einfo "zlib Makefile edited" + + cd "${WORKDIR}" + tar czp zlib-1.2.3 -f zlib-1.2.3.tar.gz + tar czp grub-0.97 -f grub-0.97.tar.gz + tar czp lwip -f lwip-1.3.0.tar.gz + tar czp newlib-1.16.0 -f newlib-1.16.0.tar.gz + tar czp polarssl-1.1.4 -f polarssl-1.1.4-gpl.tgz + mv $set "${S}"/stubdom/ + einfo "tarballs moved to source" +} + +src_prepare() { + # Upstream's patchset + if [[ -n ${UPSTREAM_VER} ]]; then + einfo "Try to apply Xen Upstream patch set" + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch "${WORKDIR}"/patches-upstream + fi + + # if the user *really* wants to use their own custom-cflags, let them + if use custom-cflags; then + einfo "User wants their own CFLAGS - removing defaults" + # try and remove all the default custom-cflags + find "${S}" -name Makefile -o -name Rules.mk -o -name Config.mk -exec sed \ + -e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \ + -i {} \; + fi + + # Patch the unmergeable newlib, fix most of the leftover gcc QA issues + cp "${FILESDIR}"/newlib-implicits.patch stubdom || die + + # Patch stubdom/Makefile to patch insource newlib & prevent internal downloading + epatch "${FILESDIR}"/${PN/-pvgrub/}-4.3-externals.patch + + # fix jobserver in Makefile + epatch "${FILESDIR}"/${PN}-4.2-jserver.patch + + #Substitute for internal downloading. pciutils copied only due to the only .bz2 + cp "${DISTDIR}"/pciutils-2.2.9.tar.bz2 ./stubdom/ || die "pciutils not copied to stubdom" + retar-externals || die "re-tar procedure failed" + + epatch_user +} + +src_configure() { + local myconf="--prefix=${PREFIX}/usr \ + --libdir=${PREFIX}/usr/$(get_libdir) \ + --libexecdir=${PREFIX}/usr/libexec \ + --disable-werror \ + --disable-xen" + + econf ${myconf} +} + +src_compile() { + use custom-cflags || unset CFLAGS + if test-flag-CC -fno-strict-overflow; then + append-flags -fno-strict-overflow + fi + + emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" -C tools/include + + if use x86; then + emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \ + XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub + elif use amd64; then + emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \ + XEN_TARGET_ARCH="x86_64" -C stubdom pv-grub + if has_multilib_profile; then + multilib_toolchain_setup x86 + emake CC="$(tc-getCC)" AR="$(tc-getAR)" \ + XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub + fi + fi +} + +src_install() { + if use x86; then + emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub + fi + if use amd64; then + emake XEN_TARGET_ARCH="x86_64" DESTDIR="${D}" -C stubdom install-grub + if has_multilib_profile; then + emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub + fi + fi +} + +pkg_postinst() { + elog "Official Xen Guide and the offical wiki page:" + elog "https://wiki.gentoo.org/wiki/Xen" + elog "http://wiki.xen.org/wiki/Main_Page" +} diff --git a/app-emulation/xen-pvgrub/xen-pvgrub-4.7.3.ebuild b/app-emulation/xen-pvgrub/xen-pvgrub-4.7.3.ebuild new file mode 100644 index 000000000000..28b054d2bc9b --- /dev/null +++ b/app-emulation/xen-pvgrub/xen-pvgrub-4.7.3.ebuild @@ -0,0 +1,161 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE='xml,threads' + +inherit flag-o-matic eutils multilib python-single-r1 toolchain-funcs + +XEN_EXTFILES_URL="http://xenbits.xensource.com/xen-extfiles" +LIBPCI_URL=ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci +GRUB_URL=mirror://gnu-alpha/grub + +UPSTREAM_VER= +[[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz" + +SRC_URI=" + https://downloads.xenproject.org/release/xen/${PV}/xen-${PV}.tar.gz + $GRUB_URL/grub-0.97.tar.gz + $XEN_EXTFILES_URL/zlib-1.2.3.tar.gz + $LIBPCI_URL/pciutils-2.2.9.tar.bz2 + $XEN_EXTFILES_URL/lwip-1.3.0.tar.gz + $XEN_EXTFILES_URL/newlib/newlib-1.16.0.tar.gz + $XEN_EXTFILES_URL/polarssl-1.1.4-gpl.tgz + ${UPSTREAM_PATCHSET_URI}" + +S="${WORKDIR}/xen-${PV}" + +DESCRIPTION="allows to boot Xen domU kernels from a menu.lst laying inside guest filesystem" +HOMEPAGE="http://xen.org/" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="custom-cflags" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +DEPEND="sys-devel/gettext + sys-devel/bin86 + sys-apps/texinfo + x11-libs/pixman" + +RDEPEND="${PYTHON_DEPS} + >=app-emulation/xen-tools-${PV}" + +pkg_setup() { + python-single-r1_pkg_setup +} + +retar-externals() { + # Purely to unclutter src_prepare + 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" + + # epatch can't patch in $WORKDIR, requires a sed; Bug #455194. Patchable, but sed informative + sed -e s':AR=${AR-"ar rc"}:AR=${AR-"ar"}:' \ + -i "${WORKDIR}"/zlib-1.2.3/configure + sed -e 's:^AR=ar rc:AR=ar:' \ + -e s':$(AR) $@:$(AR) rc $@:' \ + -i "${WORKDIR}"/zlib-1.2.3/{Makefile,Makefile.in} + einfo "zlib Makefile edited" + + cd "${WORKDIR}" + tar czp zlib-1.2.3 -f zlib-1.2.3.tar.gz + tar czp grub-0.97 -f grub-0.97.tar.gz + tar czp lwip -f lwip-1.3.0.tar.gz + tar czp newlib-1.16.0 -f newlib-1.16.0.tar.gz + tar czp polarssl-1.1.4 -f polarssl-1.1.4-gpl.tgz + mv $set "${S}"/stubdom/ + einfo "tarballs moved to source" +} + +src_prepare() { + # Upstream's patchset + if [[ -n ${UPSTREAM_VER} ]]; then + einfo "Try to apply Xen Upstream patch set" + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch "${WORKDIR}"/patches-upstream + fi + + # if the user *really* wants to use their own custom-cflags, let them + if use custom-cflags; then + einfo "User wants their own CFLAGS - removing defaults" + # try and remove all the default custom-cflags + find "${S}" -name Makefile -o -name Rules.mk -o -name Config.mk -exec sed \ + -e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \ + -i {} \; + fi + + # Patch the unmergeable newlib, fix most of the leftover gcc QA issues + cp "${FILESDIR}"/newlib-implicits.patch stubdom || die + + # Patch stubdom/Makefile to patch insource newlib & prevent internal downloading + epatch "${FILESDIR}"/${PN/-pvgrub/}-4.3-externals.patch + + # fix jobserver in Makefile + epatch "${FILESDIR}"/${PN}-4.2-jserver.patch + + #Substitute for internal downloading. pciutils copied only due to the only .bz2 + cp "${DISTDIR}"/pciutils-2.2.9.tar.bz2 ./stubdom/ || die "pciutils not copied to stubdom" + retar-externals || die "re-tar procedure failed" + + epatch_user +} + +src_configure() { + local myconf="--prefix=${PREFIX}/usr \ + --libdir=${PREFIX}/usr/$(get_libdir) \ + --libexecdir=${PREFIX}/usr/libexec \ + --disable-werror \ + --disable-xen" + + econf ${myconf} +} + +src_compile() { + use custom-cflags || unset CFLAGS + if test-flag-CC -fno-strict-overflow; then + append-flags -fno-strict-overflow + fi + + emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" -C tools/include + + if use x86; then + emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \ + XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub + elif use amd64; then + emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \ + XEN_TARGET_ARCH="x86_64" -C stubdom pv-grub + if has_multilib_profile; then + multilib_toolchain_setup x86 + emake CC="$(tc-getCC)" AR="$(tc-getAR)" \ + XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub + fi + fi +} + +src_install() { + if use x86; then + emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub + fi + if use amd64; then + emake XEN_TARGET_ARCH="x86_64" DESTDIR="${D}" -C stubdom install-grub + if has_multilib_profile; then + emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub + fi + fi +} + +pkg_postinst() { + elog "Official Xen Guide and the offical wiki page:" + elog "https://wiki.gentoo.org/wiki/Xen" + elog "http://wiki.xen.org/wiki/Main_Page" +} diff --git a/app-emulation/xen-pvgrub/xen-pvgrub-4.8.2.ebuild b/app-emulation/xen-pvgrub/xen-pvgrub-4.8.2.ebuild new file mode 100644 index 000000000000..72d54928c84d --- /dev/null +++ b/app-emulation/xen-pvgrub/xen-pvgrub-4.8.2.ebuild @@ -0,0 +1,161 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE='xml,threads' + +inherit flag-o-matic eutils multilib python-single-r1 toolchain-funcs + +XEN_EXTFILES_URL="http://xenbits.xensource.com/xen-extfiles" +LIBPCI_URL=ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci +GRUB_URL=mirror://gnu-alpha/grub + +UPSTREAM_VER= +[[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz" + +SRC_URI=" + https://downloads.xenproject.org/release/xen/${PV}/xen-${PV}.tar.gz + $GRUB_URL/grub-0.97.tar.gz + $XEN_EXTFILES_URL/zlib-1.2.3.tar.gz + $LIBPCI_URL/pciutils-2.2.9.tar.bz2 + $XEN_EXTFILES_URL/lwip-1.3.0.tar.gz + $XEN_EXTFILES_URL/newlib/newlib-1.16.0.tar.gz + $XEN_EXTFILES_URL/polarssl-1.1.4-gpl.tgz + ${UPSTREAM_PATCHSET_URI}" + +S="${WORKDIR}/xen-${PV}" + +DESCRIPTION="allows to boot Xen domU kernels from a menu.lst laying inside guest filesystem" +HOMEPAGE="http://xen.org/" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="custom-cflags" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +DEPEND="sys-devel/gettext + sys-devel/bin86 + sys-apps/texinfo + x11-libs/pixman" + +RDEPEND="${PYTHON_DEPS} + >=app-emulation/xen-tools-${PV}" + +pkg_setup() { + python-single-r1_pkg_setup +} + +retar-externals() { + # Purely to unclutter src_prepare + 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" + + # epatch can't patch in $WORKDIR, requires a sed; Bug #455194. Patchable, but sed informative + sed -e s':AR=${AR-"ar rc"}:AR=${AR-"ar"}:' \ + -i "${WORKDIR}"/zlib-1.2.3/configure + sed -e 's:^AR=ar rc:AR=ar:' \ + -e s':$(AR) $@:$(AR) rc $@:' \ + -i "${WORKDIR}"/zlib-1.2.3/{Makefile,Makefile.in} + einfo "zlib Makefile edited" + + cd "${WORKDIR}" + tar czp zlib-1.2.3 -f zlib-1.2.3.tar.gz + tar czp grub-0.97 -f grub-0.97.tar.gz + tar czp lwip -f lwip-1.3.0.tar.gz + tar czp newlib-1.16.0 -f newlib-1.16.0.tar.gz + tar czp polarssl-1.1.4 -f polarssl-1.1.4-gpl.tgz + mv $set "${S}"/stubdom/ + einfo "tarballs moved to source" +} + +src_prepare() { + # Upstream's patchset + if [[ -n ${UPSTREAM_VER} ]]; then + einfo "Try to apply Xen Upstream patch set" + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch "${WORKDIR}"/patches-upstream + fi + + # if the user *really* wants to use their own custom-cflags, let them + if use custom-cflags; then + einfo "User wants their own CFLAGS - removing defaults" + # try and remove all the default custom-cflags + find "${S}" -name Makefile -o -name Rules.mk -o -name Config.mk -exec sed \ + -e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \ + -i {} \; + fi + + # Patch the unmergeable newlib, fix most of the leftover gcc QA issues + cp "${FILESDIR}"/newlib-implicits.patch stubdom || die + + # Patch stubdom/Makefile to patch insource newlib & prevent internal downloading + epatch "${FILESDIR}"/${PN/-pvgrub/}-4.3-externals.patch + + # fix jobserver in Makefile + epatch "${FILESDIR}"/${PN}-4.8-jserver.patch + + #Substitute for internal downloading. pciutils copied only due to the only .bz2 + cp "${DISTDIR}"/pciutils-2.2.9.tar.bz2 ./stubdom/ || die "pciutils not copied to stubdom" + retar-externals || die "re-tar procedure failed" + + epatch_user +} + +src_configure() { + local myconf="--prefix=${PREFIX}/usr \ + --libdir=${PREFIX}/usr/$(get_libdir) \ + --libexecdir=${PREFIX}/usr/libexec \ + --disable-werror \ + --disable-xen" + + econf ${myconf} +} + +src_compile() { + use custom-cflags || unset CFLAGS + if test-flag-CC -fno-strict-overflow; then + append-flags -fno-strict-overflow + fi + + emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" -C tools/include + + if use x86; then + emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \ + XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub + elif use amd64; then + emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \ + XEN_TARGET_ARCH="x86_64" -C stubdom pv-grub + if has_multilib_profile; then + multilib_toolchain_setup x86 + emake CC="$(tc-getCC)" AR="$(tc-getAR)" \ + XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub + fi + fi +} + +src_install() { + if use x86; then + emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub + fi + if use amd64; then + emake XEN_TARGET_ARCH="x86_64" DESTDIR="${D}" -C stubdom install-grub + if has_multilib_profile; then + emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub + fi + fi +} + +pkg_postinst() { + elog "Official Xen Guide and the offical wiki page:" + elog "https://wiki.gentoo.org/wiki/Xen" + elog "http://wiki.xen.org/wiki/Main_Page" +} -- cgit v1.2.3