diff --git a/zeromq-configure-c99.patch b/zeromq-configure-c99.patch deleted file mode 100644 index 0bee83b..0000000 --- a/zeromq-configure-c99.patch +++ /dev/null @@ -1,37 +0,0 @@ -Build with -D_DEFAULT_SOURCE along with -std=c11 - -On its own, -std=c11 hides POSIX and other extensions from C headers -such as when building against glibc. This causes the -posix_memalign probe to fail incorrectly with compilers that do not -accept implicit function declarations. _DEFAULT_SOURCE is ignored by -most non-GNU/Linux systems or not relevant in this context, so there -is no separate check for adding it. - -Submitted upstream: - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 68fb7251..f956f3fd 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -122,7 +122,7 @@ if (NOT MSVC) - if(NOT CMAKE_C_FLAGS MATCHES "-std=" AND NOT C_STANDARD AND NOT CMAKE_C_STANDARD) - check_c_compiler_flag("-std=c11" COMPILER_SUPPORTS_C11) - if(COMPILER_SUPPORTS_C11) -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11") -+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_DEFAULT_SOURCE -std=c11") - else() - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99") - endif() -diff --git a/configure.ac b/configure.ac -index b9e13d4f..ffcc145b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -66,7 +66,7 @@ ZMQ_ORIG_CXXFLAGS="${CXXFLAGS:-none}" - - # Checks for programs. - AC_PROG_CC --AX_CHECK_COMPILE_FLAG([-std=c11], [CFLAGS+=" -std=c11"], [AC_PROG_CC_C99]) -+AX_CHECK_COMPILE_FLAG([-std=c11], [CFLAGS+=" -std=c11 -D_DEFAULT_SOURCE"], [AC_PROG_CC_C99]) - AC_PROG_CXX - AX_CODE_COVERAGE - AM_PROG_CC_C_O diff --git a/zeromq-fix-cmake-warnings.patch b/zeromq-fix-cmake-warnings.patch new file mode 100644 index 0000000..8b228b6 --- /dev/null +++ b/zeromq-fix-cmake-warnings.patch @@ -0,0 +1,50 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c64ccc1f..deae8efe 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,12 +1,7 @@ + # CMake build script for ZeroMQ ++cmake_minimum_required(VERSION 3.5..3.27) + project(ZeroMQ) + +-if(${CMAKE_SYSTEM_NAME} STREQUAL Darwin) +- cmake_minimum_required(VERSION 3.0.2) +-else() +- cmake_minimum_required(VERSION 2.8.12) +-endif() +- + include(CheckIncludeFiles) + include(CheckCCompilerFlag) + include(CheckCXXCompilerFlag) +diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt +index c1bda3bd..ce157c1e 100644 +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -1,10 +1,15 @@ + # CMake build script for ZeroMQ tests +-cmake_minimum_required(VERSION "2.8.1") ++cmake_minimum_required(VERSION 3.5..3.27) + + # On Windows: solution file will be called tests.sln + project(tests) + + set(tests ++ test_bind_stream_fuzzer ++ test_bind_ws_fuzzer ++ test_connect_stream_fuzzer ++ test_connect_ws_fuzzer ++ test_socket_options_fuzzer + test_ancillaries + test_system + test_pair_inproc +diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt +index 7132f00b..f76c3a1b 100644 +--- a/unittests/CMakeLists.txt ++++ b/unittests/CMakeLists.txt +@@ -1,5 +1,5 @@ + # CMake build script for ZeroMQ unit tests +-cmake_minimum_required(VERSION "2.8.1") ++cmake_minimum_required(VERSION 3.5..3.27) + + set(unittests + unittest_ypipe diff --git a/zeromq.spec b/zeromq.spec index a4f31f1..d581cf4 100644 --- a/zeromq.spec +++ b/zeromq.spec @@ -6,19 +6,16 @@ Version: 4.3.5 Release: %autorelease Summary: Software library for fast, message-based applications -License: MPL-2.0 AND BSD-3-Clause AND MIT +License: MPLv2.0 AND BSD-3-Clause AND MIT URL: https://zeromq.org Source0: https://github.com/%{name}/libzmq/archive/v%{version}/%{name}-%{version}.tar.gz -Patch1: zeromq-configure-c99.patch -BuildRequires: make -BuildRequires: autoconf -BuildRequires: automake BuildRequires: gcc-c++ -BuildRequires: libtool +BuildRequires: cmake BuildRequires: asciidoc BuildRequires: xmlto BuildRequires: libsodium-devel +BuildRequires: gnutls-devel %if %{with unwind} BuildRequires: libunwind-devel @@ -29,6 +26,9 @@ BuildRequires: openpgm-devel BuildRequires: krb5-devel %endif +# https://github.com/zeromq/libzmq/pull/4609 - Upgrade of CMake files +Patch0: zeromq-fix-cmake-warnings.patch + %description The 0MQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by @@ -49,6 +49,12 @@ Requires: %{name}%{?_isa} = %{version}-%{release} The %{name}-devel package contains libraries and header files for developing applications that use %{name}. +%package doc +Summary: HTML documentation for the %{name} library +BuildArch: noarch + +%description doc +This package contains HTML pages for %{name}. %prep %autosetup -p1 @@ -61,42 +67,40 @@ chmod -x src/xsub.hpp %build -autoreconf -fi -%configure \ -%if %{with pgm} - --with-pgm \ - --with-libgssapi_krb5 \ -%endif - --with-libsodium \ - --enable-drafts \ -%if %{with unwind} - --enable-libunwind \ -%endif - --disable-Werror \ - --disable-static -%make_build +%cmake +#cmake -DENABLE_CURVE:BOOL=ON -DWITH_LIBSODIUM:BOOL=ON -DWITH_OPENPGM:BOOL=ON .. +%cmake_build %install -%make_install +%cmake_install -# remove *.la -rm %{buildroot}%{_libdir}/libzmq.la +# Doc +mv -f %{buildroot}/usr/doc/zmq %{buildroot}%{_docdir}/ +# Manual pages +install -d %{buildroot}%{_mandir}/{man3,man7} +install -pm 0644 doc/*.3 %{buildroot}%{_mandir}/man3/ +install -pm 0644 doc/*.7 %{buildroot}%{_mandir}/man7/ + +# Static library +rm -f %{buildroot}%{_libdir}/libzmq.a + +# Unused binaries +rm -f %{buildroot}%{_bindir}/{inproc_lat,inproc_thr,local_lat,local_thr,proxy_thr,remote_lat,remote_thr} %check +%ifnarch s390x +%ctest +%endif %ifarch s390x -make check V=1 XFAIL_TESTS=tests/test_radio_dish || ( cat test-suite.log && exit 1 ) +make check V=1 || ( cat test-suite.log && exit 1 ) %endif - - -%ldconfig_scriptlets - %files %doc README.md AUTHORS NEWS %license LICENSE -%{_bindir}/curve_keygen +#%%{_bindir}/curve_keygen %{_libdir}/libzmq.so.5* %{_mandir}/man3/zmq_* %{_mandir}/man7/zmq_* @@ -106,7 +110,10 @@ make check V=1 XFAIL_TESTS=tests/test_radio_dish || ( cat test-suite.log && exit %{_libdir}/libzmq.so %{_libdir}/pkgconfig/libzmq.pc %{_includedir}/zmq*.h +%{_libdir}/cmake/ZeroMQ/ +%files doc +%{_docdir}/zmq/ %changelog %autochangelog