diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 65 |
1 files changed, 21 insertions, 44 deletions
@@ -1,6 +1,6 @@ # Maintainer: Jon Gjengset <jon@thesquareplanet.com> pkgname=opensgx-git -pkgver=r43.57cf92c +pkgver=r47.40f48bf pkgrel=1 pkgdesc="an open platform for Intel SGX" arch=('x86_64') @@ -13,21 +13,17 @@ install= source=( 'opensgx-git::git+https://github.com/sslab-gatech/opensgx.git' 'opensgx-bin-paths.patch' - 'demo-include-sgx.patch' 'opensgx-compile.patch' 'sgx-qemu-path.patch' - 'sgx-h-paths.patch' 'test-sh.patch' 'sgx-compile' ) md5sums=('SKIP' - '58999f0f6a15026bf3f1a6c853f4f723' - '6284157d5a2a1ce6ab44ca3577ab9eb2' + '4caf85f42c36ff31994539ad64e9ec26' 'e862b28b09581142af78369c6c65ce66' '9ac0fa0ddae6d0e70f18992894bd1205' - 'e65b4d1335c29babacaa0d5dbcbffe3a' '48523504a8c9c6b4fc9175d143d87bf1' - '2a5dd594a15d21ef549f3efe2b3ae406') + '1ff291421c523bacf735d1aa69a56661') pkgver() { cd "$srcdir/$pkgname" @@ -43,50 +39,27 @@ prepare() { msg2 "Fix binary paths in opensgx executable" patch -Np1 -i '../opensgx-bin-paths.patch' - msg2 "Fix sgx header paths" - patch -Np1 -i '../sgx-h-paths.patch' - test -d user/include/sgx || mkdir user/include/sgx - mv user/include/*.h user/include/sgx - - test -L user/include/polarssl || mv user/include/polarssl user/include/sgx/ - - cd user/include - ln -sfn sgx/* ./ - test -L qemu || ln -sfn ../../../qemu/target-i386/ sgx/qemu - cd ../../ - msg2 "Make opensgx use sgx-compile" patch -Np1 -i '../opensgx-compile.patch' msg2 "Make test.sh use system sgx" patch -Np1 -i '../test-sh.patch' - msg2 "Make hello.c use <sgx.h>" - patch -Np1 -i '../demo-include-sgx.patch' - msg2 "Configure QEMU" - cd qemu - ./configure-arch + cd qemu && ./configure-arch } build() { cd "$srcdir/$pkgname" msg2 "Build QEMU" - cd qemu - make + make -C qemu - msg2 "Build PolarSSL" - cd ../user/polarssl_sgx - make - - cd .. - msg2 "Make .os needed for .sgx compilation" - make -dn demo/hello.sgx | grep 'Considering target file' | awk '{print $4}' | sed -e "s/'//g" -e 's/\.$//' | grep '\.o' | grep -v demo | xargs make - make sgx.lds + msg2 "Build libsgx" + make -C libsgx msg2 "Build userspace utilities" - make + make -C user } package() { @@ -95,27 +68,31 @@ package() { # Binaries install -d "$pkgdir/usr/bin" install -m755 ./{sgx,sgx-dbg,opensgx} -t "$pkgdir/usr/bin/" - install -m755 user/{sgx-tool,sgx-test-runtime,sgx-runtime} -t "$pkgdir/usr/bin/" + install -m755 user/{sgx-tool,sgx-runtime} -t "$pkgdir/usr/bin/" install -Dm755 qemu/x86_64-linux-user/qemu-x86_64 "$pkgdir/usr/share/sgx/qemu" install -m755 "$srcdir/sgx-compile" -t "$pkgdir/usr/bin/" # Libraries cd user install -d "$pkgdir/usr/lib/sgx" - all=$(make -dn demo/hello.sgx | grep 'Considering target file' | awk '{print $4}' | sed -e "s/'//g" -e 's/\.$//' | grep '\.o' | grep -v demo) + all=$(make -dn demo/hello.sgx | grep 'Considering target file' | awk '{print $4}' | sed -e "s/'//g" -e 's/\.$//' | grep '\.a' | grep -v demo) for f in $all; do - install -Dm644 "$f" -t "$pkgdir/usr/lib/sgx/$(dirname "$f")" + install -Dm644 "$f" "$pkgdir/usr/lib/sgx/$(basename "$f")" done cd .. install -Dm644 "user/sgx.lds" "$pkgdir/usr/lib/sgx" # Headers - install -d "$pkgdir/usr/include/sgx/polarssl" - install -d "$pkgdir/usr/include/sgx/qemu" - install -m644 user/include/*.h -t "$pkgdir/usr/include/sgx" - install -m644 user/include/polarssl/*.h -t "$pkgdir/usr/include/sgx/polarssl" - install -m644 qemu/target-i386/*.h -t "$pkgdir/usr/include/sgx/qemu" - mv "$pkgdir/usr/include/sgx/sgx-lib.h" "$pkgdir/usr/include/sgx.h" + install -d "$pkgdir/usr/include/sgx" + install -m644 libsgx/include/*.h -t "$pkgdir/usr/include/sgx" + install -m644 user/share/include/*.h -t "$pkgdir/usr/include/sgx" + + # Fix header prefixes + for f in "$pkgdir/usr/include/sgx"/*.h; do + sed -i -e 's@#include <sgx-@#include <sgx/@g' "$f" + b="$(basename "$f")" + mv "$f" "$(dirname "$f")"/"${b#sgx-}" + done } # vim:set ts=2 sw=2 et: |