%global realname rebar3
%global otp_app_name rebar
# Bootstrapping
%global bootstrap 1
Name: erlang-%{realname}
Version: 3.22.0
Release: 1%{?dist}
Summary: Tool for working with Erlang projects
License: ASL 2.0 and MIT
URL: https://github.com/erlang/%{realname}
Source0: %{url}/archive/%{version}/%{realname}-%{version}.tar.gz
Source1: rebar3.escript
Patch1: erlang-rebar3-0001-Skip-deps.patch
Patch2: erlang-rebar3-0002-Unbundle-hex_core-ver.-0.7.1.patch
Patch3: erlang-rebar3-0003-WIP-ignore-deps-on-demand.patch
Patch4: erlang-rebar3-0004-WIP-prefer-locally-installed-plugins.patch
%if 0%{?bootstrap}
# noop
%else
BuildRequires: erlang-rebar3
%endif
BuildArch: noarch
BuildRequires: erlang-bbmustache
BuildRequires: erlang-certifi
BuildRequires: erlang-cf
BuildRequires: erlang-cth_readable
BuildRequires: erlang-dialyzer
BuildRequires: erlang-edoc
BuildRequires: erlang-erl_interface
BuildRequires: erlang-erlware_commons
BuildRequires: erlang-erts
BuildRequires: erlang-eunit_formatters
BuildRequires: erlang-getopt
BuildRequires: erlang-hex_core
BuildRequires: erlang-parsetools
BuildRequires: erlang-providers
BuildRequires: erlang-relx
BuildRequires: erlang-rpm-macros
BuildRequires: erlang-ssl_verify_fun
BuildRequires: perl-interpreter
# FIXME wip
#Requires: erlang-abnfc
#Requires: erlang-gpb
# This one cannot be picked up automatically
Requires: erlang-cth_readable
# This one cannot be picked up automatically
# See https://bugzilla.redhat.com/960079
Requires: erlang-common_test
# Requires for port compiling - no direct references in Rebar's src/*.erl files
Requires: erlang-erl_interface
# This one cannot be picked up automatically
Requires: erlang-eunit_formatters
# This one cannot be picked up automatically
# See https://bugzilla.redhat.com/960079
Requires: erlang-parsetools
Requires: erlang-rpm-macros >= 0.3.6
%description
Rebar3 is an Erlang tool that makes it easy to create, develop, and release
Erlang libraries, applications, and systems in a repeatable manner.
%prep
%autosetup -p1 -n %{realname}-%{version}
%build
ebin_paths=$(perl -e 'print join(":", grep { !/rebar/} (glob("%{_libdir}/erlang/lib/*/ebin"), glob("%{_datadir}/erlang/lib/*/ebin")))')
%if 0%{?bootstrap}
DIAGNOSTIC=1 ./bootstrap bare compile --paths $ebin_paths --separator :
%else
DEBUG=1 %{realname} bare compile --paths $ebin_paths --separator :
%endif
%install
# Install rebar script itself
install -D -p -m 0755 %{SOURCE1} %{buildroot}%{_bindir}/rebar3
mkdir -p %{buildroot}%{_datadir}/erlang/lib/%{realname}-%{version}/ebin/
install -p -m644 _build/bootstrap/lib/rebar/ebin/*.beam %{buildroot}%{_datadir}/erlang/lib/%{realname}-%{version}/ebin/
install -p -m644 _build/bootstrap/lib/rebar/ebin/%{otp_app_name}.app %{buildroot}%{_datadir}/erlang/lib/%{realname}-%{version}/ebin/
# Copy the contents of priv folder
cp -a apps/rebar/priv %{buildroot}%{_erllibdir}/%{realname}-%{version}/
mkdir -p %{buildroot}%{_mandir}/man1/
install -p -m644 manpages/%{realname}.1 %{buildroot}%{_mandir}/man1/
%files
%license LICENSE
%doc README.md rebar.config.sample THANKS
%{_bindir}/%{realname}
%{_datadir}/erlang/lib/%{realname}-%{version}
%{_mandir}/man1/%{realname}.1*
%changelog
* Thu Jul 6 2023 Peter Lemenkov <lemenkov@gmail.com> - 3.22.0-1
- New upstream release
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.18.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.18.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Apr 7 2022 Peter Lemenkov <lemenkov@gmail.com> - 3.18.0-5
- One more missing dep
* Thu Feb 17 2022 Peter Lemenkov <lemenkov@gmail.com> - 3.18.0-4
- One more missing dep
* Thu Feb 17 2022 Peter Lemenkov <lemenkov@gmail.com> - 3.18.0-3
- Missing deps
* Fri Feb 4 2022 Peter Lemenkov <lemenkov@gmail.com> - 3.18.0-2
- Install templates
- Drop bundled hex_core
* Wed Feb 2 2022 Peter Lemenkov <lemenkov@gmail.com> - 3.18.0-1
- New upstream release
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Dec 15 2020 Peter Lemenkov <lemenkov@gmail.com> - 3.14.3-1
- New upstream release
* Tue Dec 1 2020 Peter Lemenkov <lemenkov@gmail.com> - 3.14.1-1
- New upstream release
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.13.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Mar 13 2020 Timothée Floure <fnux@fedoraproject.org> - 3.13.1-1
- New upstream release
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.11.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.11.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Jun 16 2019 Timothée Floure <fnux@fedoraproject.org> - 3.11.1-1
- New upstream release
* Fri May 31 2019 Timothée Floure <fnux@fedoraproject.org> - 3.10.1-1
- Rebase on latest upstream release
* Thu May 30 2019 Timothée Floure <fnux@fedoraproject.org> - 3.8.0-4
- Rebootstrap from upstream rebar 3.8.0 binary (see packaging-comittee/#889 on pagure)
* Fri Mar 08 2019 Timothée Floure <fnux@fedoraproject.org> - 3.8.0-3
- Add dependency on erlang-hex_core
- Load noarch erlang dependencies during compilation
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Jan 17 2019 Timothée Floure <fnux@fedoraproject.org> - 3.8.0-1
- New upstream release
* Tue Dec 18 2018 Timothée Floure <fnux@fedoraproject.org> - 3.6.2-3
- Switch to noarch in accord with 'Changes/TrueNoarchErlangPackages'
* Wed Dec 12 2018 Timothée Floure <fnux@fedoraproject.org> - 3.6.2-2
- Disable bootstaping following initial build in rawhide
* Fri Oct 12 2018 Timothée Floure <fnux@fedoraproject.org> - 3.6.2-1
- Let there be package