[arch-commits] Commit in (6 files)

Sven-Hendrik Haase svenstaro at archlinux.org
Fri Jun 5 08:09:47 UTC 2015


    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 <sh at lutzhaase.com>
+# Contributor: carstene1ns <arch carsten-teibes de> - http://git.io/ctPKG
+# Contributor: Stefan Husmann <stefan-husmann at t-online.de>
+# Contributor: Vlad Kolotvin <vlad.kolotvin at gmail.com>
+
+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



More information about the arch-commits mailing list