# distribution specific definitions
%define bdir %{_builddir}/%{name}-%{version}

%if (0%{?rhel} == 7 && 0%{?amzn} == 0)
%define dist .el7
%endif

%%MODULE_DEFINITIONS%%

%if 0%{?rhel}%{?fedora}
BuildRequires: gcc
%if 0%{?amzn2}
BuildRequires: openssl11-devel
%else
BuildRequires: openssl-devel
%endif
%endif

%define unit_version %%UNIT_VERSION%%
%define unit_release %%UNIT_RELEASE%%%{?dist}.ngx

%define CC_OPT %{optflags}

%define CONFIGURE_ARGS $(echo "%%CONFIGURE_ARGS%%")

Name: %%NAME%%
Summary: %%SUMMARY%%
Version: %%VERSION%%
Release: %%RELEASE%%%{?dist}.ngx
License: ASL 2.0
Vendor: %%PACKAGE_VENDOR%%
URL: https://unit.nginx.org/
Group: System Environment/Daemons

Source0: unit-%{version}.tar.gz
%%MODULE_SOURCES%%

BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires: pcre2-devel

Requires: unit-r%%UNIT_VERSION%%

%description
NGINX Unit is a runtime and delivery environment for modern distributed
applications. It runs the application code in multiple languages
(PHP, Python, Go, etc.), and tightly couples it with traffic delivery
in and out of the application. Take this application server and proxy
directly in the cloud / container environments and fully control your app
dynamically via an API.
This package contains %%SUMMARY%%.

%if (0%{?fedora}) || (0%{?rhel} >= 8)
%define _debugsource_template %{nil}
%endif

%prep
%setup -qcTn %{name}-%{unit_version}
tar --strip-components=1 -zxf %{SOURCE0}

%build
./configure \
	%{CONFIGURE_ARGS} \
	--modulesdir=%{_libdir}/unit/debug-modules \
	--cc-opt="%{CC_OPT}" \
	--debug
./configure %%MODULE_CONFARGS%%
make %%MODULE_MAKEARGS%%
%{__mv} build build-debug
./configure \
	%{CONFIGURE_ARGS} \
	--modulesdir=%{_libdir}/unit/modules \
	--cc-opt="%{CC_OPT}"
./configure %%MODULE_CONFARGS%%
make %%MODULE_MAKEARGS%%
%{__mv} build build-nodebug

%install
%{__rm} -rf %{buildroot}
%{__mkdir} -p %{buildroot}%{_datadir}/doc/%%NAME%%
if [ `basename %{SOURCE100}` == COPYRIGHT.%{name} ]; then
%{__install} -m 644 -p %{SOURCE100} \
    %{buildroot}%{_datadir}/doc/%%NAME%%/COPYRIGHT
else
%{__install} -m 644 -p NOTICE \
    %{buildroot}%{_datadir}/doc/%%NAME%%/COPYRIGHT
fi
%%MODULE_PREINSTALL%%
%{__ln_s} build-debug build
DESTDIR=%{buildroot} make %%MODULE_INSTARGS%%
%{__rm} -f build
%{__ln_s} build-nodebug build
DESTDIR=%{buildroot} make %%MODULE_INSTARGS%%
%%MODULE_POSTINSTALL%%

%check
%{__rm} -rf %{buildroot}/usr/src
cd %{bdir}
grep -v 'usr/src' debugfiles.list > debugfiles.list.new && mv debugfiles.list.new debugfiles.list
cat /dev/null > debugsources.list

%clean
%{__rm} -rf %{buildroot}

%post
if [ $1 -eq 1 ]; then
%%MODULE_POST%%
fi

%files
%defattr(-,root,root,-)
%dir %{_datadir}/doc/%%NAME%%
%{_datadir}/doc/%%NAME%%/*
%%MODULE_FILES%%

%changelog
