Subject: [alpine-devel] [PATCH] Upgrade v8 Java Script Engine

From: k0r10n <[email-masked]>
Date: Tue, 23 Sep 2014 17:10:28 +0400

---
 testing/v8/APKBUILD | 68 +++++++++++++++++++++++++++++++++--------------------
 testing/v8/v8.pc    | 10 ++++++++
 2 files changed, 52 insertions(+), 26 deletions(-)
 create mode 100755 testing/v8/v8.pc

diff --git a/testing/v8/APKBUILD b/testing/v8/APKBUILD
index f444439..cbe79cd 100644
--- a/testing/v8/APKBUILD
+++ b/testing/v8/APKBUILD
@@ -1,20 +1,25 @@
 # Contributor: William Pitcock <[email-masked]>
 # Maintainer: William Pitcock <[email-masked]>
 pkgname=v8
-pkgver=3.9.9
+pkgver=3.26.31.15
 pkgrel=0
 pkgdesc="V8 JavaScript/ECMAScript Engine"
 url="http://www.chromium.org/"
 arch="x86 x86_64 arm"
 license="BSD"
-depends=""
-depends_dev=""
-makedepends="scons wget"
+depends="readline icu"
+depends_dev="icu-dev readline-dev"
+makedepends="${depends_dev} python paxctl"
 install=""
 subpackages="$pkgname-dev"
-source="http://gsdview.appspot.com/chromium-browser-official/v8-$pkgver.tar.bz2"
+source="http://gsdview.appspot.com/chromium-browser-official/v8-$pkgver.tar.bz2
+	v8.pc"
 
 _builddir="$srcdir"/v8-$pkgver
+
+[[ "$CARCH" = 'x86' ]] && ARCH=ia32
+[[ "$CARCH" = 'x86_64' ]] && ARCH=x64
+
 prepare() {
 	local i
 	cd "$_builddir"
@@ -23,38 +28,49 @@ prepare() {
 		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
 		esac
 	done
+	find build/ test/ tools/ src/ -type f -exec \
+		sed -e 's_^#!/usr/bin/env python$_&2_' \
+		    -e 's_^#!/usr/bin/python$_&2_' \
+		    -e "s_'python'_'python2'_" -i {} \;
+	
+	sed 's/\bpython\b/python2/' -i Makefile build/gyp/gyp
+
+	sed "s/@VERSION@/$pkgver/g" -i "$srcdir/v8.pc"
 }
 
 build() {
 	cd "$_builddir"
+	local paxflags="-m"
+	[ "$CARCH" = "x86" ] && paxflags="-msp"
 
-	v8_arch=${CARCH}
-	test ${CARCH} = x86 && v8_arch=ia32
-	test ${CARCH} = x86_64 && v8_arch=x64
-
-	msg "building for ${v8_arch}"
+	msg "Start building..."
+	build/gyp_v8 -Dv8_enable_i18n_support=1 -Duse_system_icu=1 -Dconsole=readline -Dcomponent=shared_library -Dv8_target_arch=$ARCH -Dwerror= --generator-output=out -f make
+	make -C out builddir=$(pwd)/out/Release BUILDTYPE=Release mksnapshot.$ARCH
+	paxctl -c $paxflags out/Release/mksnapshot.$ARCH
+	make -C out builddir=$(pwd)/out/Release BUILDTYPE=Release
 
-	export LINKFLAGS="${LDFLAGS}"
-
-	scons -j$JOBS \
-		library=shared \
-		inspector=on \
-		objectprint=on \
-		console=readline \
-		soname=on \
-		arch=${v8_arch} \
-		|| return 1
 }
 
 package() {
 	cd "$_builddir"
+	
+	install -Dm755 out/Release/d8 "$pkgdir"/usr/bin/d8
+	install -Dm755 out/Release/lib.target/libv8.so "$pkgdir"/usr/lib/libv8.so
+
+	install -d "$pkgdir"/usr/include
+	install -Dm644 include/*.h "$pkgdir"/usr/include
+
+	install -d "$pkgdir"/usr/lib/pkgconfig
+	install -m644 "$srcdir/v8.pc" "$pkgdir"/usr/lib/pkgconfig
 
-	mkdir -p "$pkgdir"/usr/include
-	cp include/* "$pkgdir"/usr/include
+	install -d "$pkgdir"/usr/share/licenses/v8
+	install -m644 LICENSE* "$pkgdir"/usr/share/licenses/v8
 
-	mkdir -p "$pkgdir"/usr/lib
-	install -c -m755 libv8-${pkgver}.so "$pkgdir"/usr/lib/libv8-${pkgver}.so
-	ln -sf libv8-${pkgver}.so "$pkgdir"/usr/lib/libv8.so
 }
 
-md5sums="927f84585d99e83208dd58882e79764c  v8-3.9.9.tar.bz2"
+md5sums="e206a825dffb468bb5b15ed32786c306  v8-3.26.31.15.tar.bz2
+082724bc560e90d846c0aa441847020c  v8.pc"
+sha256sums="1455d3d9d25771d9fc6fdecd33d07133946d3350b4280abb3f5df293a199f718  v8-3.26.31.15.tar.bz2
+2b054309df9af9fb2e3e14527e88360b44745649b4866e592fb357ac90935f5d  v8.pc"
+sha512sums="7d980192e34ac668b2847e435bf5939791614c7bb01782a5ec2f217ea30f06b728d21c80fc6e09a5568ead117a93ec450e3fa2a261ee68cdbe25a3d4f0ad0134  v8-3.26.31.15.tar.bz2
+67848ce85a6e4b674cf8775a21e687884530748a0296a2259373636729c9a230a27b7ebfbf5fafff3c1e9c102956246ec4eb744853e564fc8337b42a125aeea8  v8.pc"
diff --git a/testing/v8/v8.pc b/testing/v8/v8.pc
new file mode 100755
index 0000000..f3e604b
--- /dev/null
+++ b/testing/v8/v8.pc
@@ -0,0 +1,10 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=/usr/lib
+includedir=${prefix}/include
+
+Name: v8
+Description: V8 JavaScript Engine
+Version: @VERSION@
+Libs: -L${libdir} -lv8 -pthread
+Cflags: -I${includedir}
-- 
2.0.0

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---