|
|
|
##
|
|
|
|
## bucklescript.spec -- OpenPKG RPM Package Specification
|
|
|
|
## Copyright (c) 2000-2019 OpenPKG Project <http://openpkg.org/>
|
|
|
|
##
|
|
|
|
## 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 version
|
|
|
|
%define V_base 4.02.3
|
|
|
|
%define V_snap 20161002
|
|
|
|
|
|
|
|
# package information
|
|
|
|
Name: bucklescript
|
|
|
|
Summary: Bloomberg's JavaScript Generating Objective Caml
|
|
|
|
URL: https://github.com/bloomberg/bucklescript
|
|
|
|
Vendor: Bloomberg
|
|
|
|
Packager: OpenPKG Project
|
|
|
|
Distribution: OpenPKG Community
|
|
|
|
Class: EVAL
|
|
|
|
Group: Language
|
|
|
|
License: LGPL+QPL
|
|
|
|
Version: %{V_base}.%{V_snap}
|
|
|
|
Release: 20161002
|
|
|
|
|
|
|
|
# list of sources
|
|
|
|
Source0: http://download.openpkg.org/components/versioned/bucklescript/bucklescript-%{V_snap}.tar.xz
|
|
|
|
|
|
|
|
# build information
|
|
|
|
BuildPreReq: OpenPKG, openpkg >= 20160101, gcc, make
|
|
|
|
PreReq: OpenPKG, openpkg >= 20160101, gcc
|
|
|
|
|
|
|
|
%description
|
|
|
|
Caml is a strongly-typed functional programming language from the ML
|
|
|
|
family. OCaml (Objective Caml) and Caml Light are two open source
|
|
|
|
implementations of Caml. This is the JavaScript generating variant
|
|
|
|
of OCaml from Bloomberg.
|
|
|
|
|
|
|
|
%track
|
|
|
|
prog bucklescript:base = {
|
|
|
|
version = %{V_base}
|
|
|
|
url = https://github.com/bloomberg/ocaml/releases
|
|
|
|
regex = (\d+\.\d+\.\d+)\.tar\.gz
|
|
|
|
}
|
|
|
|
prog bucklescript:snap = {
|
|
|
|
version = %{V_snap}
|
|
|
|
url = http://download.openpkg.org/components/versioned/bucklescript/
|
|
|
|
regex = bucklescript-(__VER__)\.tar\.xz
|
|
|
|
}
|
|
|
|
|
|
|
|
%prep
|
|
|
|
%setup -q -c
|
|
|
|
|
|
|
|
%build
|
|
|
|
( cd ocaml
|
|
|
|
./configure \
|
|
|
|
-prefix `pwd` \
|
|
|
|
-cc "%{l_cc} %{l_cflags -O}"
|
|
|
|
%{l_make} %{l_mflags} world.opt
|
|
|
|
%{l_make} %{l_mflags} install
|
|
|
|
) || exit $?
|
|
|
|
PATH="`pwd`/ocaml/bin:$PATH"
|
|
|
|
( cd bucklescript/jscomp
|
|
|
|
ocamlopt.opt -g -inline 100 -linkall -I +compiler-libs -I bin \
|
|
|
|
ocamlcommon.cmxa ocamlbytecomp.cmxa bin/compiler.mli bin/compiler.ml \
|
|
|
|
-o bsc
|
|
|
|
) || exit $?
|
|
|
|
|
|
|
|
%install
|
|
|
|
%{l_shtool} mkdir -f -p -m 755 \
|
|
|
|
$RPM_BUILD_ROOT%{l_prefix}/bin
|
|
|
|
%{l_shtool} install -c -s -m 755 \
|
|
|
|
bucklescript/jscomp/bsc $RPM_BUILD_ROOT%{l_prefix}/bin/
|
|
|
|
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
|
|
|
|
|
|
|
|
%files -f files
|
|
|
|
|
|
|
|
%clean
|
|
|
|
|