%global _module_build 1

%if 0%{?_module_build}
%bcond_with documentation
%else
%bcond_without documentation
%endif

Name:     nasm
Version:  2.15.05
Release:  5
Summary:  The Netwide Assembler, a portable x86 assembler with Intel-like syntax
License:  BSD-2-Clause
URL:      http://www.nasm.us
Source0:  http://www.nasm.us/pub/nasm/releasebuilds/%{version}/%{name}-%{version}.tar.bz2
Source1:  http://www.nasm.us/pub/nasm/releasebuilds/%{version}/%{name}-%{version}-xdoc.tar.bz2

Patch6000: enable-make-check.patch
Patch6001: fix-help-info-error.patch 
# https://github.com/netwide-assembler/nasm/commit/2d4e6952417ec6f08b6f135d2b5d0e19b7dae30d
Patch6002: CVE-2022-44370.patch
#https://bugzilla.nasm.us/attachment.cgi?id=411648
BuildRequires: perl(Env) autoconf asciidoc xmlto gcc make git

Provides:  %{name}-rdoff
Obsoletes: %{name}-rdoff

%description
NASM is the Netwide Assembler, a free portable assembler for the Intel
80x86 microprocessor series, using primarily the traditional Intel
instruction mnemonics and syntax. It also provides tools in RDOFF binary
format, includes linker, library manager, loader, and information dump.

%package help
Summary: Help files for NASM
%if %{with documentation}
BuildRequires: perl(Font::TTF::Font) perl(File::Spec)
BuildRequires: perl(Sort::Versions)
BuildRequires: adobe-source-sans-pro-fonts adobe-source-code-pro-fonts
BuildRequires: ghostscript
Provides:  %{name}-doc
Obsoletes: %{name}-doc
%endif
BuildArch: noarch

%description help
Help files for %{name}, includes documentation in HTML, PDF, PostScript,
and text formats.

%prep
%autosetup -n %{name}-%{version} -p1

%build
%configure
%if %{with documentation}
%make everything
gzip -9f doc/nasmdoc.{ps,txt}
%else
make all %{?_smp_mflags}
%endif

%install
%make_install install_rdf

%check
make golden
make test

%files
%doc CHANGES README.md
%license AUTHORS
%{_bindir}/nasm
%{_bindir}/ndisasm
%{_bindir}/ldrdf
%{_bindir}/rdf2bin
%{_bindir}/rdf2ihx
%{_bindir}/rdf2com
%{_bindir}/rdfdump
%{_bindir}/rdflib
%{_bindir}/rdx
%{_bindir}/rdf2ith
%{_bindir}/rdf2srec

%files help
%if %{with documentation}
%doc doc/html doc/nasmdoc.txt.gz doc/nasmdoc.ps.gz doc/nasmdoc.pdf
%endif
%{_mandir}/man1/nasm*
%{_mandir}/man1/ndisasm*
%{_mandir}/man1/rd*
%{_mandir}/man1/ld*

%changelog
* Wed Apr 12 2023 yaoxin <yao_xin001@hoperun.com> - 2.15.05-5
- Fix CVE-2022-44370

* Thu Jan 19 2023 yangchenguang <yangchenguang@uniontech.com> - 2.15.05-4
- Fix help info error

* Wed May 11 2022 wulei <wulei80@h-partners.com> - 2.15.05-3
- License compliance rectification

* Sat Nov 27 2021 ExtinctFire <shenyining_00@126.com> - 2.15.05-2
- enable make check

* Thu Jan 28 2021 liudabo <liudabo1@huawei.com> - 2.15.05-1
- upgrade version to 2.15.05

* Thu Jan 07 2020 shixuantong <shixuantong@huawei.com> - 2.15.03-2
- fix CVE-2019-20352 CVE-2020-24241 

* Thu Jul 23 2020 shixuantong <shixuantong@huawei.com> - 2.15.03-1
- update to 2.15.03-1

* Tue Jun 9 2020 lizhenhua <lizhenhua21@huawei.com> - 2.13.03-6
- fix compile error

* Fri Mar 20 2020 shijian<shijian16@huawei.com> - 2.13.03-5
- fix CVE-2018-10254

* Mon Jan 13 2020 openEuler BuildTeam<buildteam@openeuler.org> - 2.13.03-4
- build without documentation

* Mon Dec 09 2019 openEuler BuildTeam<buildteam@openeuler.org> - 2.13.03-3
- Package Init
