diff --git a/.gitignore b/.gitignore index 49bc65c..590b461 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,2 @@ /uvw-2.10.0_libuv_v1.42.tar.gz /uvw-2.11.0_libuv_v1.43.tar.gz -/uvw-2.12.1_libuv_v1.44.tar.gz -/uvw-3.*_libuv_v1.*.tar.gz diff --git a/sources b/sources index eeafd3b..65cd467 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uvw-3.4.0_libuv_v1.48.tar.gz) = dbf03c63b0693263b77b405e8f6bf4c207795be9bd024bbc06484e523b55257add1eab632067a956d03399d91ee389c46312603e7754b152c4caf51b40f6bec4 +SHA512 (uvw-2.11.0_libuv_v1.43.tar.gz) = 55fbe3964ba74c078d7d7a1b49813b3a84d414c19f22c3892e38d2cd8d60bcfb4ad4dfefae8985c686f8615a81d972b8421ef03ca1d7509bd2936fe0624441d4 diff --git a/uvw-2.10-test-libuv-dynamic.patch b/uvw-2.10-test-libuv-dynamic.patch new file mode 100644 index 0000000..55b8420 --- /dev/null +++ b/uvw-2.10-test-libuv-dynamic.patch @@ -0,0 +1,46 @@ +From efefe50cbf7b0069174b8381805ad9cf51a719a5 Mon Sep 17 00:00:00 2001 +From: Petr Mensik +Date: Sat, 21 Aug 2021 20:54:11 +0200 +Subject: [PATCH] Support dynamic linkage of tests + +If libuv is not fetched, try to find and provide libuv parameters using +pkg-config. Makes dynamic linking to shared libuv library from the +system. +--- + test/CMakeLists.txt | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt +index b482523..d071c04 100644 +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -44,6 +44,18 @@ endif() + function(ADD_UVW_TEST TEST_NAME TEST_SOURCE) + add_executable(${TEST_NAME} ${TEST_SOURCE}) + ++ if (NOT FETCH_LIBUV) ++ find_package(PkgConfig QUIET) ++ if (PkgConfig_FOUND) ++ pkg_check_modules(LIBUV REQUIRED libuv) ++ ++ target_include_directories( ++ ${TEST_NAME} ++ PUBLIC ${LIBUV_INCLUDE_DIRS} ++ ) ++ endif(PkgConfig_FOUND) ++ endif(NOT FETCH_LIBUV) ++ + target_link_libraries( + ${TEST_NAME} + PRIVATE +@@ -52,6 +64,7 @@ function(ADD_UVW_TEST TEST_NAME TEST_SOURCE) + $<$:uvw::uvw-static> + $<$:uv::uv-shared> + $<$:uvw::uvw-shared> ++ ${LIBUV_LDFLAGS} ${LIBUV_LIBRARIES} + GTest::Main + Threads::Threads + ${LIBRT} +-- +2.31.1 + diff --git a/uvw.spec b/uvw.spec index d1bce84..7a40a25 100644 --- a/uvw.spec +++ b/uvw.spec @@ -1,5 +1,5 @@ %global forgeurl0 https://github.com/skypjack/uvw -%global libuv_ver 1.48 +%global libuv_ver 1.43 %global tag0 v%{version}_libuv_v%{libuv_ver} %global distprefix %{nil} @@ -7,18 +7,24 @@ %global debug_package %{nil} Name: uvw -Version: 3.4.0 +Version: 2.11.0 %forgemeta Release: %autorelease Summary: Header-only easy to use libuv C++ wrapper -License: MIT +License: MIT and CC-BY +# Doxygen generated documentation were considered CC-BY-SA 4.0 +# That changed on my request, would be just MIT in the new release +# https://github.com/skypjack/uvw/issues/260 URL: https://github.com/skypjack/uvw Source0: %forgesource -BuildRequires: gcc-c++ -BuildRequires: cmake +# https://github.com/skypjack/uvw/pull/253 +Patch1: uvw-2.10-test-libuv-dynamic.patch + +BuildRequires: gcc-c++, cmake BuildRequires: libuv-devel >= %{libuv_ver} +BuildRequires: libcxx-devel BuildRequires: doxygen BuildRequires: gtest-devel BuildRequires: sed @@ -71,18 +77,19 @@ echo 'Requires: libuv' >> libuvw-static.pc.in # This check is failing on some platforms sed -e 's|ASSERT_NE(cpuInfo\[0\].speed, decltype(cpuInfo\[0\].speed){0});|// &|' \ -i test/uvw/util.cpp -# does not pass now in mock for some reason -sed -e 's/TEST(Loop, Walk)/TEST(Loop, DISABLED_Walk)/' \ - -i test/uvw/loop.cpp %build -%cmake -DFIND_LIBUV=ON -DFETCH_LIBUV=OFF -DBUILD_TESTING=ON -DBUILD_DOCS=ON -DFIND_GTEST_PACKAGE=ON +%cmake -DFETCH_LIBUV=OFF -DBUILD_TESTING=ON -DBUILD_DOCS=ON -DFIND_GTEST_PACKAGE=ON %cmake_build %install %cmake_install +pushd %{buildroot}%{_libdir}/pkgconfig/ +ln -s libuvw-static.pc libuvw.pc +popd + %check %ctest @@ -95,6 +102,7 @@ sed -e 's/TEST(Loop, Walk)/TEST(Loop, DISABLED_Walk)/' \ %license LICENSE %doc README.md %{_includedir}/%{name}* +%{_libdir}/pkgconfig/libuvw* %{_libdir}/cmake/%{name}/ %files doc