Name:     libxslt
Version:  1.1.39
Release:  1
Summary:  XSLT Transformation Library
License:  MIT
URL:      https://gitlab.gnome.org/GNOME/libxslt
Source0:  https://download.gnome.org/sources/%{name}/1.1/%{name}-%{version}.tar.xz
# PATCH-FIX-UPSTREAM bug-fix https://github.com/GNOME/libxslt/
Patch0: CVE-2015-9019.patch

BuildRequires: gcc make libtool autoconf automake libgcrypt-devel pkgconfig(libxml-2.0) >= 2.6.27

%description
Libxslt is the XSLT C library developed for the GNOME project

%package  devel
Summary:  Development files for %{name}
Requires: %{name} = %{version}-%{release}
Requires: libgcrypt-devel libgpg-error-devel

%description  devel
%{name} allows you to transform XML files into other XML files
(or HTML, text, and more) using the standard XSLT stylesheet
transformation mechanism.

%package -n python3-libxslt
Summary:Python 3 bindings for %{name}
BuildRequires:  python3-devel python3-libxml2
Requires: %{name} = %{version}-%{release}
Requires: python3-libxml2 >= 2.6.27
Requires: libxml2 >= 2.6.27
%{?python_provide:%python_provide python3-%{name}}

%description -n python3-libxslt
The libxslt-python package contains a module that permits applications
written in the Python programming language to use the interface
supplied by the libxslt library to apply XSLT transformations.

This library allows to parse sytlesheets, uses the libxml2-python
to load and save XML and HTML files. Direct access to XPath and
the XSLT transformation context are possible to extend the XSLT language
with XPath functions written in Python.

%package_help

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

%build
chmod 644 python/tests/*
autoreconf -vfi
%configure --disable-static --disable-silent-rules --with-python 
%make_build

%install
%make_install
%delete_la
pushd $RPM_BUILD_ROOT/%{_includedir}/%{name}; touch -m --reference=xslt.h ../../bin/xslt-config;popd

%check
%make_build tests

%post
/sbin/ldconfig
%postun
/sbin/ldconfig

%files
%defattr(-,root,root)
%doc NEWS README.md FEATURES AUTHORS
%license Copyright
%{_bindir}/xsltproc
%{_libdir}/libxslt.so.*
%{_libdir}/libexslt.so.*
%{_libdir}/libxslt-plugins/
%{_mandir}/man1/xsltproc.1*

%files devel
%{_libdir}/libxslt.so
%{_libdir}/libexslt.so
%{_libdir}/xsltConf.sh
%{_libdir}/cmake/libxslt/
%{_datadir}/aclocal/libxslt.m4
%{_datadir}/gtk-doc/
%{_includedir}/libxslt/
%{_includedir}/libexslt/
%{_libdir}/pkgconfig/libxslt.pc
%{_libdir}/pkgconfig/libexslt.pc
%{_bindir}/xslt-config

%files -n python3-libxslt
%{python3_sitelib}/libxslt.py*
%{python3_sitearch}/libxsltmod.so
%{python3_sitelib}/__pycache__/libxslt*

%files help
%doc %{_docdir}/%{name}
%doc %{_mandir}/man3/*
%exclude %{_docdir}/%{name}/{NEWS,README,FEATURES,AUTHORS}
%exclude %{_docdir}/../licenses/libxslt/Copyright

%changelog
* Fri Dec 15 2023 fuanan <fuanan3@h-partners.com> - 1.1.39-1
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:update version to 1.1.39

* Thu Jul 13 2023 fuanan <fuanan3@h-partners.com> - 1.1.38-1
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:update version to 1.1.38

* Sat Nov 05 2022 shixuantong <shixuantong1@huawei.com> - 1.1.37-1
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:upgrade version to 1.1.37

* Fri Jul 01 2022 fuanan <fuanan3@h-partners.com> - 1.1.34-7
- Type:CVE
- ID:CVE-2021-30560
- SUG:NA
- DESC:fix CVE-2021-30560

* Thu Mar 31 2022 panxiaohe<panxh.life@foxmail.com> - 1.1.34-6
- Fix test command

* Sat Oct 23 2021 panxiaohe<panxiaohe@huawei.com> - 1.1.34-5
- Fix double-free with stylesheets containing entity nodes

* Thu Oct 29 2020 wangchen<wangchen137@huawei.com> - 1.1.34-4
- remove python2

* Wed Sep 23 2020 yangzhuangzhuang<yangzhuangzhuang1@huawei.com> - 1.1.34-3
- sync patches from LTS branch

* Wed Sep 23 2020 yangzhuangzhuang<yangzhuangzhuang1@huawei.com> - 1.1.34-2
- Fix the large loop found in xsltApplyStylesheetUser through fuzzing testcase xslt.

* Mon Jun 22 2020 linwei<linwei54@huawei.com> - 1.1.34-1
- update to 1.1.34

* Sat Jan 11 2020 zhangguangzhi<zhanguangzhi3@huawei.com> - 1.1.32-7
- del patch to be consistent with open source

* Tue Dec 31 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.1.32-6
- fix bug in community files

* Sat Dec 21 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.1.32-5
- Fix CVE-2019-18197 and CVE-2019-13118

* Tue Sep 03 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.1.32-4 
- Package init
