Hello community, here is the log from the commit of package nanomsg for openSUSE:Factory checked in at 2020-03-31 17:16:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/nanomsg (Old) and /work/SRC/openSUSE:Factory/.nanomsg.new.3160 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nanomsg" Tue Mar 31 17:16:29 2020 rev:6 rq:790015 version:1.1.5 Changes: -------- --- /work/SRC/openSUSE:Factory/nanomsg/nanomsg.changes 2018-06-22 13:30:48.596793426 +0200 +++ /work/SRC/openSUSE:Factory/.nanomsg.new.3160/nanomsg.changes 2020-03-31 17:16:32.427676950 +0200 @@ -1,0 +2,16 @@ +Mon Mar 30 10:09:27 UTC 2020 - Martin Hauke <mar...@gmx.de> + +- Add patch: + * nanomsg-fix-rpath-issue.patch + +------------------------------------------------------------------- +Sun Mar 29 11:19:25 UTC 2020 - Martin Hauke <mar...@gmx.de> + +- Update to version 1.1.5 + * This release is a minor bug fix release, and includes some + improvements to the CMake logic that should make incorporating + nanomsg into larger projects easier. + * Removed patch: + - strict.diff (fixed by upstream) GH#990 + +------------------------------------------------------------------- @@ -4 +20 @@ -- Update to versoin 1.1.4 +- Update to version 1.1.4 Old: ---- nanomsg-1.1.4.tar.gz strict.diff New: ---- nanomsg-1.1.5.tar.gz nanomsg-fix-rpath-issue.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nanomsg.spec ++++++ --- /var/tmp/diff_new_pack.VYdxse/_old 2020-03-31 17:16:34.251678108 +0200 +++ /var/tmp/diff_new_pack.VYdxse/_new 2020-03-31 17:16:34.271678121 +0200 @@ -1,7 +1,7 @@ # # spec file for package nanomsg # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,20 +12,20 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define sover 5 Name: nanomsg -Version: 1.1.4 +Version: 1.1.5 Release: 0 Summary: Socket library providing several common communication patterns License: MIT Group: Development/Languages/C and C++ URL: http://nanomsg.org/ Source: https://github.com/nanomsg/nanomsg/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz -Patch1: strict.diff +Patch0: nanomsg-fix-rpath-issue.patch BuildRequires: cmake BuildRequires: libtool BuildRequires: pkgconfig @@ -52,7 +52,7 @@ %prep %setup -q -%patch1 -p1 +%patch0 -p1 %build %cmake @@ -74,7 +74,8 @@ %{_libdir}/libnanomsg.so %{_bindir}/nanocat %{_libdir}/pkgconfig/nanomsg.pc -%dir %{_libdir}/cmake/nanomsg -%{_libdir}/cmake/nanomsg/nanomsg-config*.cmake +%dir %{_libdir}/cmake/nanomsg-%{version} +%{_libdir}/cmake/nanomsg-%{version}/nanomsg-config*.cmake +%{_libdir}/cmake/nanomsg-%{version}/nanomsg-target*.cmake %changelog ++++++ nanomsg-1.1.4.tar.gz -> nanomsg-1.1.5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nanomsg-1.1.4/.version new/nanomsg-1.1.5/.version --- old/nanomsg-1.1.4/.version 2018-06-08 02:46:50.000000000 +0200 +++ new/nanomsg-1.1.5/.version 2018-10-15 15:50:59.000000000 +0200 @@ -1 +1 @@ -1.1.4 +1.1.5 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nanomsg-1.1.4/AUTHORS new/nanomsg-1.1.5/AUTHORS --- old/nanomsg-1.1.4/AUTHORS 2018-06-08 02:46:50.000000000 +0200 +++ new/nanomsg-1.1.5/AUTHORS 2018-10-15 15:50:59.000000000 +0200 @@ -13,6 +13,7 @@ Bruno Bigras <bigras.br...@gmail.com> Chip Salzenberg <c...@pobox.com> David Beck <db...@beckground.hu> +Dennis Klein <d.kl...@gsi.de> Dirkjan Ochtman <dirk...@ochtman.nl> Dong Fang <yp.fangd...@gmail.com> Drew Crawford <d...@sealedabstract.com> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nanomsg-1.1.4/CMakeLists.txt new/nanomsg-1.1.5/CMakeLists.txt --- old/nanomsg-1.1.4/CMakeLists.txt 2018-06-08 02:46:50.000000000 +0200 +++ new/nanomsg-1.1.5/CMakeLists.txt 2018-10-15 15:50:59.000000000 +0200 @@ -24,7 +24,7 @@ # IN THE SOFTWARE. # -cmake_minimum_required (VERSION 2.8.7) +cmake_minimum_required (VERSION 2.8.12) project (nanomsg C) include (CheckFunctionExists) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nanomsg-1.1.4/cmake/nanomsg-config.cmake.in new/nanomsg-1.1.5/cmake/nanomsg-config.cmake.in --- old/nanomsg-1.1.4/cmake/nanomsg-config.cmake.in 1970-01-01 01:00:00.000000000 +0100 +++ new/nanomsg-1.1.5/cmake/nanomsg-config.cmake.in 2018-10-15 15:50:59.000000000 +0200 @@ -0,0 +1,34 @@ +# +# Copyright (c) 2018 Dennis Klein <d.kl...@gsi.de> +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom +# the Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# + +@PACKAGE_INIT@ + +### General variables for project discovery/inspection +set_and_check(@PROJECT_NAME@_INSTALL_PREFIX @PACKAGE_CMAKE_INSTALL_PREFIX@) +set_and_check(@PROJECT_NAME@_BINDIR @PACKAGE_CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@) +set_and_check(@PROJECT_NAME@_INCDIR @PACKAGE_CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@) +set_and_check(@PROJECT_NAME@_LIBDIR @PACKAGE_CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@) + +### Import targets +include(@PACKAGE_CMAKE_INSTALL_PREFIX@/@PACKAGE_INSTALL_DESTINATION@/@PROJECT_NAME@-target.cmake) + +check_required_components(@PROJECT_NAME@) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nanomsg-1.1.4/src/CMakeLists.txt new/nanomsg-1.1.5/src/CMakeLists.txt --- old/nanomsg-1.1.4/src/CMakeLists.txt 2018-06-08 02:46:50.000000000 +0200 +++ new/nanomsg-1.1.5/src/CMakeLists.txt 2018-10-15 15:50:59.000000000 +0200 @@ -3,6 +3,7 @@ # Copyright (c) 2013 GoPivotal, Inc. All rights reserved. # Copyright (c) 2015-2016 Jack R. Dunaway. All rights reserved. # Copyright 2016 Garrett D'Amore <garr...@damore.org> +# Copyright (c) 2018 Dennis Klein <d.kl...@gsi.de> # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), @@ -377,4 +378,28 @@ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) -install (EXPORT ${PROJECT_NAME}-target DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} FILE ${PROJECT_NAME}-config.cmake) + +# Generate and install CMake package +include(CMakePackageConfigHelpers) +set(PACKAGE_INSTALL_DESTINATION + ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}-${NN_PACKAGE_VERSION} +) +install(EXPORT ${PROJECT_NAME}-target + DESTINATION ${PACKAGE_INSTALL_DESTINATION} +) +write_basic_package_version_file( + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake + VERSION ${NN_PACKAGE_VERSION} + COMPATIBILITY SameMajorVersion +) +configure_package_config_file( + ${CMAKE_SOURCE_DIR}/cmake/${PROJECT_NAME}-config.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake + INSTALL_DESTINATION ${PACKAGE_INSTALL_DESTINATION} + PATH_VARS CMAKE_INSTALL_PREFIX +) +install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake + DESTINATION ${PACKAGE_INSTALL_DESTINATION} +) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nanomsg-1.1.4/src/aio/usock_posix.inc new/nanomsg-1.1.5/src/aio/usock_posix.inc --- old/nanomsg-1.1.4/src/aio/usock_posix.inc 2018-06-08 02:46:50.000000000 +0200 +++ new/nanomsg-1.1.5/src/aio/usock_posix.inc 2018-10-15 15:50:59.000000000 +0200 @@ -1085,6 +1085,7 @@ #if defined NN_HAVE_MSG_CONTROL struct cmsghdr *cmsg; #endif + int fd; /* If batch buffer doesn't exist, allocate it. The point of delayed deallocation to allow non-receiving sockets, such as TCP listening @@ -1152,13 +1153,16 @@ #if defined NN_HAVE_MSG_CONTROL cmsg = CMSG_FIRSTHDR (&hdr); while (cmsg) { - if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SCM_RIGHTS) { + if (cmsg->cmsg_level == SOL_SOCKET && + cmsg->cmsg_type == SCM_RIGHTS) { if (self->in.pfd) { - *self->in.pfd = *((int*) CMSG_DATA (cmsg)); + memcpy (self->in.pfd, CMSG_DATA (cmsg), + sizeof (*self->in.pfd)); self->in.pfd = NULL; } else { - nn_closefd (*((int*) CMSG_DATA (cmsg))); + memcpy (&fd, CMSG_DATA (cmsg), sizeof (fd)); + nn_closefd (fd); } break; } @@ -1168,11 +1172,13 @@ if (hdr.msg_accrightslen > 0) { nn_assert (hdr.msg_accrightslen == sizeof (int)); if (self->in.pfd) { - *self->in.pfd = *((int*) hdr.msg_accrights); + memcpy (self->in.pfd, hdr.msg_accrights, + sizeof (*self->in.pfd)); self->in.pfd = NULL; } else { - nn_closefd (*((int*) hdr.msg_accrights)); + memcpy (&fd, hdr.msg_accrights, sizeof (fd)); + nn_closefd (fd); } } #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nanomsg-1.1.4/src/utils/efd_win.inc new/nanomsg-1.1.5/src/utils/efd_win.inc --- old/nanomsg-1.1.4/src/utils/efd_win.inc 2018-06-08 02:46:50.000000000 +0200 +++ new/nanomsg-1.1.5/src/utils/efd_win.inc 2018-10-15 15:50:59.000000000 +0200 @@ -24,9 +24,6 @@ IN THE SOFTWARE. */ -#define NN_EFD_PORT 5907 -#define NN_EFD_RETRIES 1000 - #include "err.h" #include "fast.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nanomsg-1.1.4/src/utils/hash.c new/nanomsg-1.1.5/src/utils/hash.c --- old/nanomsg-1.1.4/src/utils/hash.c 2018-06-08 02:46:50.000000000 +0200 +++ new/nanomsg-1.1.5/src/utils/hash.c 2018-10-15 15:50:59.000000000 +0200 @@ -52,7 +52,8 @@ nn_free (self->array); } -static void nn_hash_rehash (struct nn_hash *self) { +static void nn_hash_rehash (struct nn_hash *self) +{ uint32_t i; uint32_t oldslots; struct nn_list *oldarray; @@ -66,27 +67,26 @@ self->array = nn_alloc (sizeof (struct nn_list) * self->slots, "hash map"); alloc_assert (self->array); for (i = 0; i != self->slots; ++i) - nn_list_init (&self->array [i]); + nn_list_init (&self->array [i]); /* Move the items from old slot array to new slot array. */ for (i = 0; i != oldslots; ++i) { - while (!nn_list_empty (&oldarray [i])) { - hitm = nn_cont (nn_list_begin (&oldarray [i]), - struct nn_hash_item, list); - nn_list_erase (&oldarray [i], &hitm->list); - newslot = nn_hash_key (hitm->key) % self->slots; - nn_list_insert (&self->array [newslot], &hitm->list, - nn_list_end (&self->array [newslot])); - } + while (!nn_list_empty (&oldarray [i])) { + hitm = nn_cont (nn_list_begin (&oldarray [i]), + struct nn_hash_item, list); + nn_list_erase (&oldarray [i], &hitm->list); + newslot = nn_hash_key (hitm->key) % self->slots; + nn_list_insert (&self->array [newslot], &hitm->list, + nn_list_end (&self->array [newslot])); + } - nn_list_term (&oldarray [i]); + nn_list_term (&oldarray [i]); } /* Deallocate the old array of slots. */ nn_free (oldarray); } - void nn_hash_insert (struct nn_hash *self, uint32_t key, struct nn_hash_item *item) { @@ -108,7 +108,7 @@ /* If the hash is getting full, double the amount of slots and re-hash all the items. */ if (nn_slow (self->items * 2 > self->slots && self->slots < 0x80000000)) - nn_hash_rehash(self); + nn_hash_rehash(self); } void nn_hash_erase (struct nn_hash *self, struct nn_hash_item *item) ++++++ nanomsg-fix-rpath-issue.patch ++++++ diff --git a/CMakeLists.txt b/CMakeLists.txt index 62e5beb..3cd37d2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,12 +39,6 @@ if (POLICY CMP0042) cmake_policy (SET CMP0042 NEW) endif () -set (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) -list (FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}" isSystemDir) -if ("${isSystemDir}" STREQUAL "-1") - set (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") -endif ("${isSystemDir}" STREQUAL "-1") - set (NN_DESCRIPTION "High-Performance Scalability Protocols") set (ISSUE_REPORT_MSG "Please consider opening an issue at https://github.com/nanomsg/nanomsg")