File gun.spec of Package gun
%define bname gun
Name: %bname
Version: 1.3.3
%define prerel %nil
Release: 3
Summary: Erlang HTTP client with support for HTTP/1.1, SPDY and Websocket
License: BSD-3-Clause
Group: Development/Tools/Other
URL: https://github.com/ninenines/%bname
Source: %bname-%version%prerel.tar.xz
#Patch0: %bname-%version%prerel-git.patch
Patch1: %bname-1.3.3-stacktrace.patch
BuildArch: noarch
Provides: erlang-%bname = %version-%release
BuildRequires: rpm-macros-erlang rpm-build-erlang
BuildRequires: rebar >= 2.6.1-7
BuildRequires: erlang-otpbp-devel >= 0.37.0
# docs
BuildRequires: asciidoc
# check
BuildRequires: epmd erlang-ct_helper ct_run erlang-ranch
BuildRequires: erlang-cowlib >= 2.7.0
BuildRequires: erlang-cowboy >= 1.2.0
%description
Gun aims to provide an easy to use client compatible with HTTP, SPDY and
Websocket. Gun is always connected. It will maintain a permanent connection to
the server, reopening it as soon as the server closes it, saving time for the
requests that come in.
All connections are supervised automatically, allowing developers to focus on
writing their code without worrying.
%package doc
Summary: Documentation of %bname
Group: Documentation/HTML
Provides: erlang-%bname-doc = %version-%release
Conflicts: %name < 1.0.0-0.7
%description doc
Gun aims to provide an easy to use client compatible with HTTP, SPDY and
Websocket. Gun is always connected. It will maintain a permanent connection to
the server, reopening it as soon as the server closes it, saving time for the
requests that come in.
All connections are supervised automatically, allowing developers to focus on
writing their code without worrying.
This package contains documentation of %bname.
%prep
%setup -q -n %bname-%version%prerel
#patch0 -p1
%patch1 -p1
%if "%_otp_release" == "18"
sed -i '/^-type \(connect_destination\|intermediary\)()/,/^[[:blank:]]*}\./s/ := / => /' src/gun.erl
%endif
%build
erl -noshell -eval '
{ok, L} = file:consult("rebar.config"),
file:write_file("%bname.rebar.config", [[io_lib:print(E), ".\n"] || E <- lists:keydelete(deps, 1, L)], [raw]),
init:stop().'
make %{?_smp_mflags} DEPS= SKIP_DEPS=1 \
%if %_otp_release < 21
ERL_COMPILER_OPTIONS="[inline,{parse_transform,otpbp_pt}]" \
%else
ERL_COMPILER_OPTIONS="[inline]" \
%endif
V=1 clean all
make %{?_smp_mflags} -f - <<"__EOF__"
MANUAL_HTML := $(patsubst %.asciidoc,%.html,$(wildcard doc/src/manual/*.asciidoc))
all: guide manual
manual: $(MANUAL_HTML)
guide: doc/src/guide/book.html
doc/src/guide/book.html: $(wildcard doc/src/guide/*.asciidoc)
asciidoc -d book -s doc/src/guide/book.asciidoc
$(MANUAL_HTML): %.html: %.asciidoc
asciidoc -s $<
__EOF__
%install
install -d -m 0755 %buildroot%_otplibdir/%bname-%version/ebin
install -p -m 0644 ebin/* %buildroot%_otplibdir/%bname-%version/ebin/
install -d -m 0755 %buildroot%_docdir/%name/manual
install -p -m 0644 README.* %buildroot%_docdir/%name/README.md
install -p -m 0644 doc/src/manual/*.html %buildroot%_docdir/%name/manual/
install -p -m 0644 doc/src/guide/*.html %buildroot%_docdir/%name/
%check
# sse and twitter suits - on host only check
make DEPS= SKIP_DEPS=1 \
%if %_otp_release < 21
ERL_COMPILER_OPTIONS="[inline,{parse_transform,otpbp_pt}]" \
%else
ERL_COMPILER_OPTIONS="[inline]" \
%endif
TEST_DEPS= CT_SUITES="ws" tests
%files
%defattr(-,root,root)
%_otplibdir/*
%files doc
%defattr(-,root,root)
%doc %_docdir/%name
%changelog
* Wed Jul 27 2022 Led <ledest@gmail.com> 1.3.3-3
- remove patches:
+ gun-1.1.0-otp_release.patch
- add patches:
+ gun-1.3.3-stacktrace.patch
* Fri Sep 18 2020 Led <ledest@gmail.com> 1.3.3-2
- fix build on Erlang/OTP 18
* Fri Sep 18 2020 Led <ledest@gmail.com> 1.3.3-1
- 1.3.3
- update BuildRequires
* Fri Sep 18 2020 Led <ledest@gmail.com> 1.2.0-2
- fix build on Erlang/OTP 18
* Fri Sep 18 2020 Led <ledest@gmail.com> 1.2.0-1
- 1.2.0
- update BuildRequires
* Fri Sep 27 2019 Led <ledest@gmail.com> 1.1.0-2
- add patches:
+ gun-1.1.0-otp_release.patch
* Fri Sep 27 2019 Led <ledest@gmail.com> 1.1.0-1
- 1.1.0
* Fri Sep 27 2019 Led <ledest@gmail.com> 1.0.0-3
- fix BuildRequires
* Fri Sep 27 2019 Led <ledest@gmail.com> 1.0.0-2
- fix build docs
* Fri Sep 27 2019 Led <ledest@gmail.com> 1.0.0-1
- 1.0.0
* Fri Jul 06 2019 Led <ledest@gmail.com> 1.0.0-0.7
- fix build on Erlang/OTP >= 21
- remove ignoring requires cow_http2, cow_sse, cow_ws
- move docs to separate subpackage
* Tue Jul 25 2017 Led <ledest@gmail.com> 1.0.0-0.6
- ignore requires cow_http2, cow_sse, cow_ws
* Mon Jul 24 2017 Led <ledest@gmail.com> 1.0.0-0.5
- fix build
- build docs
* Mon Jul 24 2017 Led <ledest@gmail.com> 1.0.0-0.4
- 1.0.0-pre.3
- git 02fa5f3
* Sun Jan 31 2016 Led <ledest@gmail.com> 1.0.0-0.3
- add epmd to BuildRequires
* Sun Jul 26 2015 Led <ledest@gmail.com> 1.0.0-0.2
- add patches:
+ gun-1.0.0-pre.1-git.patch
- replcae deprecated functions
- build with erlang.mk
- add %%check
- disable build docs
- update BuildRequires
* Sun Jul 26 2015 Led <ledest@gmail.com> 1.0.0-0.1
- initial build