diff options
author | Justin Lecher <jlec@gentoo.org> | 2015-10-29 14:01:08 +0100 |
---|---|---|
committer | Justin Lecher <jlec@gentoo.org> | 2015-10-29 14:01:08 +0100 |
commit | 0baa9031a3708fb575c991b0771cebcb65e8c15e (patch) | |
tree | cffde91c56a31793a7223fc8747c2dddd7f842f9 | |
parent | sci-chemistry/xplor-nih: Add missing dep on dev-libs/libedit (diff) | |
parent | emscripten update to "to simplify revision bumps" (diff) | |
download | sci-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/Manifest | 2 | ||||
-rw-r--r-- | dev-util/emscripten-fastcomp/emscripten-fastcomp-1.35.2.ebuild | 40 | ||||
-rw-r--r-- | dev-util/emscripten/Manifest | 1 | ||||
-rw-r--r-- | dev-util/emscripten/emscripten-1.34.11.ebuild | 14 | ||||
-rw-r--r-- | dev-util/emscripten/emscripten-1.35.2.ebuild | 72 | ||||
-rw-r--r-- | dev-util/emscripten/files/99emscripten | 2 | ||||
-rw-r--r-- | dev-util/emscripten/files/emscripten.config | 4 |
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' |