118 lines
3.3 KiB
RPMSpec
118 lines
3.3 KiB
RPMSpec
%global debug_package %{nil}
|
|
%global __with_rebar 1
|
|
%global __with_rebar3 0
|
|
Name: elixir
|
|
Version: 1.12.0
|
|
Release: 1
|
|
Summary: A modern approach to programming for the Erlang VM
|
|
License: ASL 2.0
|
|
URL: http://elixir-lang.org/
|
|
Source0: https://github.com/elixir-lang/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
|
Source1: https://github.com/elixir-lang/%{name}/releases/download/v%{version}/Docs.zip#/%{name}-%{version}-doc.zip
|
|
BuildRequires: erlang-compiler erlang-crypto erlang-dialyzer erlang-erts erlang-eunit
|
|
BuildRequires: erlang-inets erlang-kernel erlang-parsetools erlang-public_key
|
|
%if %{__with_rebar}
|
|
BuildRequires: erlang-rebar
|
|
%endif
|
|
%if %{__with_rebar3}
|
|
BuildRequires: erlang-rebar3
|
|
%endif
|
|
BuildRequires: erlang-sasl make
|
|
BuildRequires: erlang-stdlib erlang-tools erlang-xmerl git sed
|
|
Requires: erlang-compiler erlang-crypto erlang-erts erlang-inets erlang-kernel
|
|
Requires: erlang-parsetools erlang-public_key erlang-stdlib erlang-tools erlang-sasl
|
|
|
|
%description
|
|
Elixir is a programming language built on top of the Erlang VM.
|
|
As Erlang, it is a functional language built to support distributed,
|
|
fault-tolerant, non-stop applications with hot code swapping.
|
|
|
|
%prep
|
|
%setup -q -T -c -n %{name}-%{version}/docs -a 1
|
|
find -name ".build" -exec rm \{\} \;
|
|
%setup -q -D
|
|
find -name '*.bat' -exec rm \{\} \;
|
|
rm lib/elixir/test/elixir/io/ansi_test.exs
|
|
find . -name .gitignore -delete
|
|
find . -name .gitkeep -delete
|
|
sed -i '/^Q\s*:=/d' Makefile
|
|
rm -f ./lib/mix/test/fixtures/rebar ./lib/mix/test/fixtures/rebar3
|
|
%if %{__with_rebar}
|
|
# Do nothing
|
|
%else
|
|
rm -f ./lib/mix/test/mix/rebar_test.exs
|
|
touch ./lib/mix/test/fixtures/rebar
|
|
%endif
|
|
%if %{__with_rebar3}
|
|
# Do nothing
|
|
%else
|
|
rm -f ./lib/mix/test/mix/rebar_test.exs
|
|
touch ./lib/mix/test/fixtures/rebar3
|
|
%endif
|
|
|
|
%build
|
|
export LANG=C.UTF-8
|
|
%if %{__with_rebar}
|
|
export REBAR=/usr/bin/rebar
|
|
export REBAR_DEPS_PREFER_LIBS=TRUE
|
|
%endif
|
|
%if %{__with_rebar3}
|
|
export REBAR3=/usr/bin/rebar3
|
|
%endif
|
|
export ERL_LIBS=/usr/share/erlang/lib/
|
|
make compile
|
|
make build_man
|
|
|
|
%check
|
|
export LANG=C.UTF-8
|
|
%if %{__with_rebar}
|
|
export REBAR=/usr/bin/rebar
|
|
export REBAR_DEPS_PREFER_LIBS=TRUE
|
|
%endif
|
|
%if %{__with_rebar3}
|
|
export REBAR3=/usr/bin/rebar3
|
|
%endif
|
|
export ERL_LIBS=/usr/share/erlang/lib/
|
|
make test
|
|
|
|
%install
|
|
mkdir -p %{buildroot}/%{_datadir}/%{name}/%{version}
|
|
cp -ra bin lib %{buildroot}/%{_datadir}/%{name}/%{version}
|
|
mkdir -p %{buildroot}/%{_bindir}
|
|
ln -s %{_datadir}/%{name}/%{version}/bin/{elixir,elixirc,iex,mix} %{buildroot}/%{_bindir}/
|
|
mkdir -p %{buildroot}/%{_mandir}/man1
|
|
cp -a man/elixir.1 man/elixirc.1 man/iex.1 man/mix.1 %{buildroot}/%{_mandir}/man1
|
|
|
|
%files
|
|
%license LICENSE
|
|
%{_bindir}/elixir
|
|
%{_bindir}/elixirc
|
|
%{_bindir}/iex
|
|
%{_bindir}/mix
|
|
%{_datadir}/%{name}
|
|
%{_mandir}/man1/elixir.1*
|
|
%{_mandir}/man1/elixirc.1*
|
|
%{_mandir}/man1/iex.1*
|
|
%{_mandir}/man1/mix.1*
|
|
|
|
%package doc
|
|
License: ASL 2.0
|
|
Summary: Documentation for the elixir language and tools
|
|
|
|
%description doc
|
|
HTML documentation for eex, elixir, iex, logger and mix.
|
|
|
|
%files doc
|
|
%license docs/LICENSE
|
|
%doc docs/doc/eex docs/doc/elixir docs/doc/iex docs/doc/logger docs/doc/mix
|
|
|
|
%changelog
|
|
* Tue Jan 18 2022 Ge Wang <wangge20@huawei.com> - 1.12.0-1
|
|
- Update to version 1.12.0
|
|
|
|
* Sat Sep 19 2020 huanghaitao <huanghaitao8@huawei.com> - 1.9.0-1
|
|
- Update to fix test errors
|
|
|
|
* Fri Aug 28 2020 wutao <wutao61@huawei.com> - 1.8.1-1
|
|
- Package init
|