Date: Friday, June 5, 2015 @ 10:09:46 Author: svenstaro Revision: 134829
Moving emscripten from AUR Added: emscripten/ emscripten/repos/ emscripten/trunk/ emscripten/trunk/PKGBUILD emscripten/trunk/emscripten.install emscripten/trunk/emscripten.sh --------------------+ PKGBUILD | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++ emscripten.install | 11 ++++++ emscripten.sh | 7 ++++ 3 files changed, 105 insertions(+) Added: emscripten/trunk/PKGBUILD =================================================================== --- emscripten/trunk/PKGBUILD (rev 0) +++ emscripten/trunk/PKGBUILD 2015-06-05 08:09:46 UTC (rev 134829) @@ -0,0 +1,87 @@ +# Maintainer: Sven-Hendrik Haase <[email protected]> +# Contributor: carstene1ns <arch carsten-teibes de> - http://git.io/ctPKG +# Contributor: Stefan Husmann <[email protected]> +# Contributor: Vlad Kolotvin <[email protected]> + +pkgname=emscripten +pkgver=1.33.1 +pkgrel=1 +pkgdesc="LLVM-based project that compiles C and C++ into highly-optimizable JavaScript in asm.js format" +arch=('i686' 'x86_64') +url="http://emscripten.org" +license=('custom') +depends=('nodejs' 'python2') +makedepends=('cmake' 'libxml2') +optdepends=('java-environment: for using clojure (optimized builds)' + 'ruby: for using websockify addon') +install=$pkgname.install +source=(emscripten-$pkgver.tar.gz::"https://github.com/kripken/emscripten/archive/$pkgver.tar.gz" + emscripten-fastcomp-$pkgver.tar.gz::"https://github.com/kripken/emscripten-fastcomp/archive/$pkgver.tar.gz" + emscripten-fastcomp-clang-$pkgver.tar.gz::"https://github.com/kripken/emscripten-fastcomp-clang/archive/$pkgver.tar.gz" + "emscripten.sh") +sha256sums=('cc28aa1075b6146daa73b4105e191b900e04d68b95a72c8b7738753a95f00e1f' + '7cf7fd28db34e53f4d50fc3821c69ea6321d70a7f2a4649812b062f9cf777c15' + 'd359c64c101bb6e5892870e4d107fa4b3f623f844cc503221ab135e0d6960249' + '556dc0126a439071e2591672c27f73a470cc260f37adc4994d698c04c7617847') + +prepare() { + cd emscripten-fastcomp-$pkgver + + # reset folder for out-of-source build + rm -rf build + mkdir build + + # put clang source into the right place (http://git.io/i1GBkg) + rm -rf tools/clang + ln -s "$srcdir"/emscripten-fastcomp-clang-$pkgver tools/clang + + # python2 shebang fixes + cd ../emscripten-$pkgver + sed '1s|python$|python2|' -i $(find third_party tools -name \*.py) emrun + + # adapt config file template to use our custom environment variable and path + sed -e "s|getenv('LLVM')|getenv('EMSCRIPTEN_FASTCOMP')|" \ + -e 's|{{{ LLVM_ROOT }}}|/usr/lib/emscripten-fastcomp|' \ + -i tools/settings_template_readonly.py +} + +build() { + cd emscripten-fastcomp-$pkgver/build + + CC=gcc CXX=g++ cmake .. -DPYTHON_EXECUTABLE=/usr/bin/python2 \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=YES \ + -DLLVM_TARGETS_TO_BUILD="X86;JSBackend" \ + -DLLVM_BUILD_RUNTIME=OFF \ + -DLLVM_INCLUDE_EXAMPLES=OFF \ + -DLLVM_INCLUDE_TESTS=OFF \ + -DCLANG_INCLUDE_EXAMPLES=OFF \ + -DCLANG_INCLUDE_TESTS=OFF + make +} + +package() { + # exported variables + install -Dm755 "$srcdir"/emscripten.sh "$pkgdir"/etc/profile.d/emscripten.sh + + # LLVM-backend, TODO: include only needed tools + cd "$srcdir"/emscripten-fastcomp-$pkgver + install -Dm644 emscripten-version.txt "$pkgdir"/usr/lib/emscripten-fastcomp/emscripten-version.txt + install -m755 build/bin/* "$pkgdir"/usr/lib/emscripten-fastcomp + + # copy structure + cd "$srcdir"/emscripten-$pkgver + install -d "$pkgdir"/usr/lib/emscripten + cp -rup em* cmake site src system third_party tools "$pkgdir"/usr/lib/emscripten + + # remove clutter + rm "$pkgdir"/usr/lib/emscripten-fastcomp/{*-test,llvm-lit} + rm "$pkgdir"/usr/lib/emscripten/*.bat + + # docs + install -d "$pkgdir"/usr/share/doc + ln -s /usr/lib/emscripten/site/source/docs "$pkgdir"/usr/share/doc/$pkgname + + # license + install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE +} Added: emscripten/trunk/emscripten.install =================================================================== --- emscripten/trunk/emscripten.install (rev 0) +++ emscripten/trunk/emscripten.install 2015-06-05 08:09:46 UTC (rev 134829) @@ -0,0 +1,11 @@ + +post_install() { + echo "=> You need to login again or 'source /etc/profile.d/emscripten.sh' in your" + echo "=> already running shells to be able to use emscripten." +} + +post_upgrade() { + echo "=> You may need to manually clear your emscripten cache as clang may not link" + echo "=> the new library versions with cached data properly. Use this command:" + echo " $ emcc --clear-cache" +} Added: emscripten/trunk/emscripten.sh =================================================================== --- emscripten/trunk/emscripten.sh (rev 0) +++ emscripten/trunk/emscripten.sh 2015-06-05 08:09:46 UTC (rev 134829) @@ -0,0 +1,7 @@ +#!/bin/sh + +export EMSCRIPTEN="/usr/lib/emscripten" +export EMSCRIPTEN_FASTCOMP="/usr/lib/emscripten-fastcomp" + +# add to path +export PATH=$PATH:$EMSCRIPTEN
