| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- ##
- ## emscripten.spec -- OpenPKG RPM Package Specification
- ## Copyright (c) 2000-2017 OpenPKG Foundation e.V. <http://openpkg.net/>
- ##
- ## Permission to use, copy, modify, and distribute this software for
- ## any purpose with or without fee is hereby granted, provided that
- ## the above copyright notice and this permission notice appear in all
- ## copies.
- ##
- ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
- ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- ## SUCH DAMAGE.
- ##
- # package information
- Name: emscripten
- Summary: LLVM to JavaScript Compiler
- URL: http://emscripten.org/
- Vendor: Emscripten Project
- Packager: OpenPKG Foundation e.V.
- Distribution: OpenPKG Community
- Class: EVAL
- Group: Language
- License: MIT
- Version: 1.37.5
- Release: 20170313
- # list of sources
- Source0: https://github.com/kripken/emscripten/archive/%{version}.tar.gz
- # build information
- BuildPreReq: OpenPKG, openpkg >= 20160101
- PreReq: OpenPKG, openpkg >= 20160101
- BuildPreReq: llvm, node, python
- PreReq: llvm, node, python
- %description
- Emscripten is an LLVM-to-JavaScript compiler. It takes LLVM bitcode
- -- which can be generated from C/C++, using llvm-gcc or clang, or
- any other language that can be converted into LLVM -- and compiles
- that into JavaScript, which can be run on the web (or anywhere else
- JavaScript can run).
- %track
- prog emscripten = {
- version = %{version}
- url = https://github.com/kripken/emscripten/releases
- regex = (\d+\.\d+\.\d+)\.tar\.gz
- }
- %prep
- %setup -q
- %build
- # fix paths to Python
- %{l_shtool} subst \
- -e 's;#!/usr/bin/env python2;#!%{l_prefix}/bin/python;' \
- em++ em-config emar emcc emconfigure emlink.py emmake emranlib emscons emscripten.py
- # remove unneccessary parts
- rm -rf third_party/websockify/Windows
- rm -rf tests
- rm -f system/include/libc/bits
- rm -f "site/source/_themes/emscripten_sphinx_rtd_theme/static/css/theme - prior to centering.css"
- %install
- # create installation hierarchy
- %{l_shtool} mkdir -f -p -m 755 \
- $RPM_BUILD_ROOT%{l_prefix}/bin \
- $RPM_BUILD_ROOT%{l_prefix}/libexec/emscripten
- # install Emscripten as a whole
- cp -rp * \
- $RPM_BUILD_ROOT%{l_prefix}/libexec/emscripten/
- # provide executable wrappers
- for prog in em++ em-config emar emcc emconfigure emmake emranlib emrun emscons; do
- ( echo "#!/bin/sh"
- echo "EMSCRIPTEN=%{l_prefix}/libexec/emscripten"
- echo "export EMSCRIPTEN"
- echo "EMCC_FAST_COMPILER=0"
- echo "export EMCC_FAST_COMPILER"
- echo "exec %{l_prefix}/libexec/emscripten/$prog \${1+\"\$@\"}"
- ) >$prog.sh
- %{l_shtool} install -c -m 755 \
- $prog.sh $RPM_BUILD_ROOT%{l_prefix}/bin/$prog
- done
- # determime installation files
- %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
- %files -f files
- %clean
|