aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Lecher <jlec@gentoo.org>2015-10-29 14:01:08 +0100
committerJustin Lecher <jlec@gentoo.org>2015-10-29 14:01:08 +0100
commit0baa9031a3708fb575c991b0771cebcb65e8c15e (patch)
treecffde91c56a31793a7223fc8747c2dddd7f842f9
parentsci-chemistry/xplor-nih: Add missing dep on dev-libs/libedit (diff)
parentemscripten update to "to simplify revision bumps" (diff)
downloadsci-0baa9031a3708fb575c991b0771cebcb65e8c15e.tar.gz
sci-0baa9031a3708fb575c991b0771cebcb65e8c15e.tar.bz2
sci-0baa9031a3708fb575c991b0771cebcb65e8c15e.zip
Merge pull request #524 from timeraider4u/master
added ebuilds for emscripten-1.35.2 and emscripten-fastcomp-1.35.2
-rw-r--r--dev-util/emscripten-fastcomp/Manifest2
-rw-r--r--dev-util/emscripten-fastcomp/emscripten-fastcomp-1.35.2.ebuild40
-rw-r--r--dev-util/emscripten/Manifest1
-rw-r--r--dev-util/emscripten/emscripten-1.34.11.ebuild14
-rw-r--r--dev-util/emscripten/emscripten-1.35.2.ebuild72
-rw-r--r--dev-util/emscripten/files/99emscripten2
-rw-r--r--dev-util/emscripten/files/emscripten.config4
7 files changed, 128 insertions, 7 deletions
diff --git a/dev-util/emscripten-fastcomp/Manifest b/dev-util/emscripten-fastcomp/Manifest
index f04ec8850..4d8e9cac6 100644
--- a/dev-util/emscripten-fastcomp/Manifest
+++ b/dev-util/emscripten-fastcomp/Manifest
@@ -1,2 +1,4 @@
DIST emscripten-fastcomp-1.34.11.tar.gz 20193336 SHA256 476b9b3bb6e88cf31c66a6618b1174a7b770b0c02703f8ddc37ba350c63f2f2e SHA512 53b2f91ea0c923f582300e6e73f1c9f9c830b74db165a1e01a660e0110da2229029d3283a9b38aa6a55658c492ce8e632e233ae0e3a154842fd41fcd68eebb47 WHIRLPOOL ebd3e6c833c65b0d365fd11bd668cc5d61656ae357d6ba62bd0f4eda772589241e4ad90351f343edda5659c2d957784c28f118bb502ea86e3f7549b87216cfd5
+DIST emscripten-fastcomp-1.35.2.tar.gz 21566912 SHA256 3bbc7990138381b0cbdac39f83afee76fa143efe81dba4939c1f514dccc307a3 SHA512 589844960a43f9ba70f1e073751bb9eea5b31f954fe798138e00a5ca0100472d6e0f32f08d4e04f2dc9f0c9bb422d36e7fcdb0a4981b876807d04ff4424c6b93 WHIRLPOOL a08adbed097ff2a8f2115ebcd768258a99266734432c1742c8499b53736546733b214ca0e5c00a51048d0f979cbf83017954ee52ca1348717343ceb5dbeeb818
DIST emscripten-fastcomp-clang-1.34.11.tar.gz 12055966 SHA256 4a453a90212eb8ae9ab90ea055f7072642aca4b5343ff9c33ff28d3f17759241 SHA512 2e69cc41d8ca1a632c36406a5ab42e316a09befbd5390f05ab9852b50fa38b22b719bf41e100e14c63d11d9a4848ac3f6cae4371dfb69f63a93cadbff178aca6 WHIRLPOOL 7f9bda2449bda31b030c1f582f7fde7390873fd5a2a1fb3904de883b990802c2b617e90b5d41dfae1936e7992e60f64dcd05e8647c7f05676c180c1832418ba4
+DIST emscripten-fastcomp-clang-1.35.2.tar.gz 12505548 SHA256 5f7090fe66b9462e172cb7a889d9044aa301ffc946072293dd2b269973f358ce SHA512 1dd57ebd4c87251b99a9dd03c7f0d34762e39717523c50338262d1d95e5a9fd826a8cc2e9a46f0389510bd372da59a8163b2995007e81e5a6a6bcdd66e993b4b WHIRLPOOL dca22b5d38eb517a2e39b69bc2d6c3b1e966f3e6b7d5a4c05fe9fa28e917cee0fbd6dcdda116e73e1cb1a54b747a9d7d74549cc48f37187c48cfd7ac025da973
diff --git a/dev-util/emscripten-fastcomp/emscripten-fastcomp-1.35.2.ebuild b/dev-util/emscripten-fastcomp/emscripten-fastcomp-1.35.2.ebuild
new file mode 100644
index 000000000..94698801d
--- /dev/null
+++ b/dev-util/emscripten-fastcomp/emscripten-fastcomp-1.35.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils python-single-r1
+
+DESCRIPTION="Emscripten LLVM backend - Fastcomp is the default compiler core for Emscripten"
+HOMEPAGE="http://emscripten.org/"
+SRC_URI="https://github.com/kripken/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/kripken/${PN}-clang/archive/${PV}.tar.gz -> ${PN}-clang-${PV}.tar.gz"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+LICENSE="UoI-NCSA"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="${PYTHON_DEPS}
+ net-libs/nodejs"
+RDEPEND="${DEPEND}
+ >=virtual/jre-1.5"
+
+src_configure() {
+ # create symlink to tools/clang
+ ln -s "${WORKDIR}/${PN}-clang-${PV}/" "${WORKDIR}/${P}/tools/clang" \
+ || die "Could not create symlink to tools/clang"
+ local mycmakeargs=(
+ # avoid clashes with sys-devel/llvm
+ -DCMAKE_INSTALL_PREFIX="/usr/share/${P}"
+ -DLLVM_TARGETS_TO_BUILD="X86;JSBackend"
+ -DLLVM_INCLUDE_EXAMPLES=OFF
+ -DLLVM_INCLUDE_TESTS=OFF
+ -DCLANG_INCLUDE_EXAMPLES=OFF
+ -DCLANG_INCLUDE_TESTS=OFF
+ )
+ cmake-utils_src_configure
+}
diff --git a/dev-util/emscripten/Manifest b/dev-util/emscripten/Manifest
index 0d243047a..43faa69bf 100644
--- a/dev-util/emscripten/Manifest
+++ b/dev-util/emscripten/Manifest
@@ -1 +1,2 @@
DIST emscripten-1.34.11.tar.gz 31637704 SHA256 4b2790279372ea016dbe64eda95cfde3f2a695e369c5f7cd9a62e2f69991ceb7 SHA512 8ecd3972b6ea3ccf27a8ab2532716910cf1d0425e3708a3a4b9808182c2662591b6389cbf27bc98a2b96ecb8948fc1e0bc3204cb3c88bb349f29c0ba55758088 WHIRLPOOL 266782cdbc44c3ccb036ea8f02dafc2d7fe3f5d1ea1aa5fe8d2deff30c73b08a95dd1d22251df9d4f666277ea73da5bc88ade3b5ce1531b7158b112be05e3b2e
+DIST emscripten-1.35.2.tar.gz 31758712 SHA256 56feaa3037ec72e2d5299b0a92d7e3b9e1da164db32338c1fe02fe3ca68d8adb SHA512 a7391424a8a0845062360c0ccecda30030e32cb6732009b83a781baef0f7cfd6890fe1ad95531380221b728d707cb315157f2717597e1ca74aedc5e8a73e64e6 WHIRLPOOL 092f8d98d2571b18422a2fde48802520b74739be9ad9402ff317176a3260f72695cee5e84eef9644e9659bc503c9d8b75b5a510f67a71f4b78545fc5c45db4b3
diff --git a/dev-util/emscripten/emscripten-1.34.11.ebuild b/dev-util/emscripten/emscripten-1.34.11.ebuild
index 1ab9f7f1c..967b66c34 100644
--- a/dev-util/emscripten/emscripten-1.34.11.ebuild
+++ b/dev-util/emscripten/emscripten-1.34.11.ebuild
@@ -18,22 +18,28 @@ LICENSE="UoI-NCSA"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND="${PYTHON_DEPS}
- =dev-util/emscripten-fastcomp-1.34.11
+ ~dev-util/emscripten-fastcomp-${PV}
net-libs/nodejs"
RDEPEND="${DEPEND}"
DEST="/usr/share/"
TEST="${WORKDIR}/test/"
+prepare_file() {
+ cp "${FILESDIR}/${1}" "${S}/" || die "could not copy '${1}'"
+ sed -i "s/\${PV}/${PV}/g" "${S}/${1}" || \
+ die "could not adjust path for '${1}'"
+}
+
src_prepare() {
- cp "${FILESDIR}/emscripten.config" "${S}/" || die "could not copy .config file"
- cp "${FILESDIR}/99emscripten" "${S}/" || die "could not copy 99emscripten file"
+ prepare_file "99emscripten"
+ prepare_file "emscripten.config"
}
src_test() {
mkdir "${TEST}" || die "Could not create test directory!"
cp "${FILESDIR}/hello_world.cpp" "${TEST}" || die "Could not copy example file"
- cp "${FILESDIR}/emscripten.config" "${TEST}" || die "Could not copy config file"
+ cp "${S}/emscripten.config" "${TEST}" || die "Could not copy config file"
sed -i -e "/^EMSCRIPTEN_ROOT/s|/usr/share/|${S}|" \
"${TEST}/emscripten.config" || die "Could not adjust path for testing"
export EM_CONFIG="${TEST}/emscripten.config" || die "Could not export variable"
diff --git a/dev-util/emscripten/emscripten-1.35.2.ebuild b/dev-util/emscripten/emscripten-1.35.2.ebuild
new file mode 100644
index 000000000..967b66c34
--- /dev/null
+++ b/dev-util/emscripten/emscripten-1.35.2.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-single-r1
+
+DESCRIPTION="LLVM-to-JavaScript Compiler"
+HOMEPAGE="http://emscripten.org/"
+SRC_URI="https://github.com/kripken/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+LICENSE="UoI-NCSA"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="${PYTHON_DEPS}
+ ~dev-util/emscripten-fastcomp-${PV}
+ net-libs/nodejs"
+RDEPEND="${DEPEND}"
+
+DEST="/usr/share/"
+TEST="${WORKDIR}/test/"
+
+prepare_file() {
+ cp "${FILESDIR}/${1}" "${S}/" || die "could not copy '${1}'"
+ sed -i "s/\${PV}/${PV}/g" "${S}/${1}" || \
+ die "could not adjust path for '${1}'"
+}
+
+src_prepare() {
+ prepare_file "99emscripten"
+ prepare_file "emscripten.config"
+}
+
+src_test() {
+ mkdir "${TEST}" || die "Could not create test directory!"
+ cp "${FILESDIR}/hello_world.cpp" "${TEST}" || die "Could not copy example file"
+ cp "${S}/emscripten.config" "${TEST}" || die "Could not copy config file"
+ sed -i -e "/^EMSCRIPTEN_ROOT/s|/usr/share/|${S}|" \
+ "${TEST}/emscripten.config" || die "Could not adjust path for testing"
+ export EM_CONFIG="${TEST}/emscripten.config" || die "Could not export variable"
+ ../"${P}/emcc" "${TEST}/hello_world.cpp" -o "${TEST}/hello_world.js" || \
+ die "Error during executing emcc!"
+ test -f "${TEST}/hello_world.js" || die "Could not find '${TEST}/hello_world.js'"
+ OUT=$(/usr/bin/node "${TEST}/hello_world.js") || \
+ die "Could not execute /usr/bin/node"
+ EXP=$(echo -e -n 'Hello World!\n \n') || die "Could not create expected string"
+ if [ "${OUT}" != "${EXP}" ]; then
+ die "Expected '${EXP}' but got '${OUT}'!"
+ fi
+ rm -r "${TEST}" || die "Could not clean-up '${TEST}'"
+}
+
+src_install() {
+ dodir ${DEST}/${P}
+ cp -R "${S}/" "${D}/${DEST}" || die "Could not install files"
+ dosym ../share/${P}/emcc /usr/bin/emcc
+ dosym ../share/${P}/emcmake /usr/bin/emcmake
+ doenvd 99emscripten
+ ewarn "If you consider using emscripten in an active shell,"\
+ "please execute 'source /etc/profile'"
+}
+
+pkg_postinst() {
+ elog "Running emscripten initialization, may take a few seconds..."
+ export EM_CONFIG="${DEST}/${P}/emscripten.config" || die "Could not export variable"
+ /usr/bin/emcc -v || die "Could not run emcc initialization"
+}
diff --git a/dev-util/emscripten/files/99emscripten b/dev-util/emscripten/files/99emscripten
index 505108912..b1acf2a71 100644
--- a/dev-util/emscripten/files/99emscripten
+++ b/dev-util/emscripten/files/99emscripten
@@ -1 +1 @@
-EM_CONFIG=/usr/share/emscripten-1.34.11/emscripten.config
+EM_CONFIG=/usr/share/emscripten-${PV}/emscripten.config
diff --git a/dev-util/emscripten/files/emscripten.config b/dev-util/emscripten/files/emscripten.config
index dc56c9264..e8a4d7a0e 100644
--- a/dev-util/emscripten/files/emscripten.config
+++ b/dev-util/emscripten/files/emscripten.config
@@ -6,8 +6,8 @@
import os
# this helps projects using emscripten find it
-EMSCRIPTEN_ROOT = os.path.expanduser(os.getenv('EMSCRIPTEN') or '/usr/share/emscripten-1.34.11') # directory
-LLVM_ROOT = os.path.expanduser(os.getenv('LLVM') or '/usr/share/emscripten-fastcomp-1.34.11/bin') # directory
+EMSCRIPTEN_ROOT = os.path.expanduser(os.getenv('EMSCRIPTEN') or '/usr/share/emscripten-${PV}') # directory
+LLVM_ROOT = os.path.expanduser(os.getenv('LLVM') or '/usr/share/emscripten-fastcomp-${PV}/bin') # directory
# If not specified, defaults to sys.executable.
#PYTHON = 'python'