File graphql.spec of Package graphql

%define bname graphql
Name: %bname
Version: 0.9.0
Release: 1
Summary: An Erlang implementation of Facebook's GraphQL
License: Apache-2.0
Group: Development/Tools/Other
Source: %bname-erlang-%version.tar.xz
Patch1: %bname-erlang-0.9.0-doc.patch
BuildArch: noarch
Provides: erlang-%bname = %version-%release
Provides: %bname-erlang = %version-%release

BuildRequires: rpm-macros-erlang rpm-build-erlang
BuildRequires: rebar >= 2.6.1-7
BuildRequires: erlang-parsetools erlang-parsetools-devel
# check
BuildRequires: erlang-common_test epmd
BuildRequires: erlang-jsx >= 2.8.0

Erlang GraphQL is an Erlang implementation of Facebook's GraphQL.
This is the core GraphQL query parsing and execution engine which goal is to be
transport, server and datastore agnostic.

%package doc
Summary: Documentation of %bname
Group: Documentation/HTML
Provides: erlang-%bname-doc = %version-%release
Provides: %bname-erlang-doc = %version-%release

%description doc
Documentation of %bname.

%setup -q -n %bname-erlang-%version
%patch1 -p1

erl -noshell -eval '
{ok, L} = file:consult("rebar.config"),
                lists:map(fun(E) -> [io_lib:print(E), ".\n"] end, lists:keydelete(deps, 1, L)),
ERL_COMPILER_OPTIONS="[inline,verbose]" rebar %{?_smp_mflags} -C %bname.rebar.config compile -v
rebar %{?_smp_mflags} -C %bname.rebar.config doc -v

install -d -m 0755 %buildroot%_otplibdir/%bname-%version/ebin
install -p -m 0644 ebin/* %buildroot%_otplibdir/%bname-%version/ebin/
install -d -m 0755 %buildroot%_otplibdir/%bname-%version/doc
install -p -m 0644 doc/*.{css,html,png} %buildroot%_otplibdir/%bname-%version/doc/
install -d -m 0755 %buildroot%_docdir/%name
ln -sf %_otplibdir/%bname-%version/doc %buildroot%_docdir/%name/html
install -p -m 0644 README* %buildroot%_docdir/%name/

rebar -C %bname.rebar.config ct

%exclude %_otplibdir/%bname-*/doc

%files doc
%doc %_docdir/%name
%doc %dir %_otplibdir/%bname-*
%doc %_otplibdir/%bname-*/doc

* Mon Sep 18 2017 Led <> 0.9.0-1
- initial build