summaryrefslogtreecommitdiff
path: root/system/xen/xen.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'system/xen/xen.SlackBuild')
-rw-r--r--system/xen/xen.SlackBuild28
1 files changed, 25 insertions, 3 deletions
diff --git a/system/xen/xen.SlackBuild b/system/xen/xen.SlackBuild
index 7421c54c05..54e278aad4 100644
--- a/system/xen/xen.SlackBuild
+++ b/system/xen/xen.SlackBuild
@@ -23,12 +23,12 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=xen
-VERSION=${VERSION:-4.8.1}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-4.9.0}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
SEABIOS=${SEABIOS:-1.10.0}
-OVMF=${OVMF:-20160905_bc54e50}
+OVMF=${OVMF:-20170321_5920a9d}
IPXE=${IPXE:-827dd1bfee67daa683935ce65316f7e0f057fe1c}
if [ -z "$ARCH" ]; then
@@ -158,6 +158,25 @@ cp $CWD/ipxe-git-$IPXE.tar.gz tools/firmware/etherboot/_ipxe.tar.gz
cp $CWD/{lwip,zlib,newlib,pciutils,grub,gmp,tpm_emulator}-*.tar.?z* \
$CWD/polarssl-*.tgz stubdom
+# Prevent leaks during the build
+patch -p1 <$CWD/patches/stubdom_zlib_disable_man_install.diff
+
+# GCC7 support with help from Mark Pryor (PryMar56) and ArchLinux folks
+if [ $(gcc -dumpfullversion | cut -d. -f1) -eq 7 ]; then
+ # OVMF
+ patch -d tools/firmware/ovmf-dir \
+ -p1 <$CWD/patches/gcc7-fix-incorrect-comparison.patch
+ # vTPM
+ patch -p1 <$CWD/patches/gcc7-vtpmmgr-make-inline-static.patch
+ patch -p1 <$CWD/patches/gcc7-vtpm-implicit-fallthrough.patch
+ # Mini-OS
+ patch -d extras/mini-os \
+ -p1 <$CWD/patches/gcc7-minios-implement-udivmoddi4.patch
+ # IPXE
+ patch -p1 <$CWD/patches/patch-ipxe-patches-series.patch
+ cp $CWD/patches/patch-inbuild-ipxe*.patch tools/firmware/etherboot/patches/
+fi
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -214,6 +233,9 @@ rmdir $PKG/etc/rc.d/init.d/
# Append .new to config files
for i in $PKG/etc/{default/*,xen/*.conf} ; do mv $i $i.new ; done
+# Remove some executable flags
+chmod -x $PKG/usr/libexec/xen/boot/*.gz 2>/dev/null || true
+
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true