Name:           libuv
Epoch:          1
Version:        1.52.1
Release:        1
Summary:        A multi-platform support library with a focus on asynchronous I/O

# from README.md
License:        MIT and CC-BY-4.0
URL:            https://libuv.org/
Source0:        https://dist.libuv.org/dist/v%{version}/%{name}-v%{version}.tar.gz
Source3:        libuv.abignore
# Disable timer-for-check as it fails always for aarch64 as of 1.50.0
Patch0:         libuv-v1.50.0-disable-test-timer-from-check.patch

BuildRequires:  gcc make
BuildRequires:  cmake >= 3.9
BuildRequires:  /usr/bin/sphinx-build

%description
libuv is a multi-platform support library with a focus on asynchronous I/O. 
It was primarily developed for use by Node.js, but it’s also used by Luvit,
Julia, pyuv, and others.

%package devel
Summary:        Development libraries for libuv
Requires:       %{name}%{?_isa} = %{epoch}:%{version}-%{release}
Obsoletes:      %{name}-static < %{epoch}:%{version}-%{release}
Provides:       %{name}-static = %{epoch}:%{version}-%{release}

%description devel
Development libraries for libuv

%package_help

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

%build
%cmake -DBUILD_TESTING=ON
%cmake_build

# Build Documentation
pushd docs
make man
popd

%install
%cmake_install

# install documentation
mkdir -p  %{buildroot}/%{_mandir}/man1/
install -p -m 644 docs/build/man/libuv.1 %{buildroot}/%{_mandir}/man1/

mkdir -p %{buildroot}%{_libdir}/libuv/
install -Dm0644 -t %{buildroot}%{_libdir}/libuv/ %{S:3}

# Remove packaged license files
rm %{buildroot}/%{_docdir}/libuv/LICENSE
rm %{buildroot}/%{_docdir}/libuv/LICENSE-extra

%check
env UV_TEST_TIMEOUT_MULTIPLIER=10 ./%{__cmake_builddir}/uv_run_tests
env UV_TEST_TIMEOUT_MULTIPLIER=10 ./%{__cmake_builddir}/uv_run_tests_a

%files
%license LICENSE
%{_libdir}/%{name}.so.*
%{_libdir}/libuv/libuv.abignore

%files devel
%{_libdir}/%{name}.so
%{_libdir}/%{name}.a
%{_libdir}/pkgconfig/*.pc
%{_includedir}/uv.h
%{_includedir}/uv/
%{_libdir}/cmake/%{name}

%files help
%doc README.md AUTHORS CONTRIBUTING.md MAINTAINERS.md SUPPORTED_PLATFORMS.md
%doc ChangeLog
%{_mandir}/man1/*

%changelog
* Sat Mar 07 2026 Funda Wang <fundawang@yeah.net> - 1:1.52.1-1
- update to 1.52.1

* Thu Feb 12 2026 Funda Wang <fundawang@yeah.net> - 1:1.52.0-1
- update to 1.52.0

* Tue May 13 2025  openeuler_bot <infra@openeuler.sh> - 1:1.51.0-1
- There are no changes mentioned in the document.

* Thu Jan 16 2025 Funda Wang <fundawang@yeah.net> - 1:1.50.0-1
- update to 1.50.0

* Sun Feb 18 2024 shixuantong <shixuantong1@huawei.com> - 1:1.47.0-2
- fix CVE-2024-24806

* Mon Nov 27 2023 Jingwiw  <wangjingwei@iscas.ac.cn> - 1:1.47.0-1
- Upgrade to 1.47.0

* Thu May 04 2023 lilong <lilong@kylinos.cn> - 1:1.44.2-1
- Upgrade to 1.44.2

* Mon Apr 24 2023 shixuantong <shixuantong1@huawei.com> - 1:1.42.0-5
- fix Obsoletes in spec and remove ldconfig_scriptlets from check

* Thu Dec 15 2022 shixuantong <shixuantong1@huawei.com> - 1:1.42.0-4
- add make to buildrequires

* Thu Dec 08 2022 shixuantong <shixuantong1@huawei.com> - 1:1.42.0-3
- skip some test

* Mon Jun 20 2022 renhongxun <renhongxun@h-partners.com> - 1.42.0-2
- enable check

* Sat Sep 25 2021 sdlzx <hdu_sdlzx@163.com> - 1.42.0-1
- upgrade version to 1.42.0

* Tue Jan 26 2021 liudabo <liudabo1@huawei.com> - 1.40.0-1
- upgrade version to 1.40.0

* Mon Dec 14 2020 wangxiao <wangxiao65@huawei.com> - 1.38.1-2
- fix CVE-2020-8252

* Mon Jul 27 2020 wenzhanli <wenzhanli2@huawei.com> - 1.38.1-1
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:version update 1.38.1

* Mon Jun 1 2020 lizhenhua <lizhenhua21@huawei.com> - 1.35.0-1
- update to 1.35.0

* Tue Dec 3 2019 mengxian <mengxian@huawei.com> - 1.23.0-2
- Package init