From a389afff7d64408b0978722809cb9434cf6983b433998d6b3a11dad976876078 Mon Sep 17 00:00:00 2001 From: Alexei Sorokin Date: Thu, 17 Sep 2020 16:29:19 +0000 Subject: [PATCH] Accepting request 835261 from home:alois:branches:devel:libraries:c_c++ - Update to version 2.0.0 * dropped depenency on iconv * deprecate set_file_hash() in torrent creator, as it's superceded by v2 torrents * deprecate mutable access to info_section in torrent_info * removed deprecated lazy_entry/lazy_bdecode * stats_alert deprecated * remove bittyrant choking algorithm * update userdata in add_torrent_params to be type-safe and add to torrent_handle * add ip_filter to session_params * added support for wolfSSL for SHA-1 hash and HTTPS (no Torrents over SSL) * requires OpenSSL minimum version 1.0.0 with SNI support * deprecated save_state() and load_state() on session in favour of new write_session_params() and read_session_params() * added support for BitTorrent v2 (see docs/upgrade_to_2.0.html) * create_torrent() pad_file_limit parameter removed * create_torrent() merkle- and optimize-alignment flags removed * merkle_tree removed from add_torrent_params * announce_entry expose information per v1 and v2 info-hash announces * deprecated sha1_hash info_hash members on torrent_removed_alert, torrent_deleted_alert, torrent_delete_failed_alert and add_torrent_params * undeprecate error_file_metadata for torrent errors related to its metadata * remove support for adding a torrent under a UUID (used for previous RSS support) * remove deprecated feature to add torrents by file:// URL * remove deprecated feature to download .torrent file from URL * requires boost >= 1.66 to build * update networking API to networking TS compatible boost.asio * overhauled disk I/O subsystem to use memory mapped files (where available) * libtorrent now requires C++14 to build * added support for GnuTLS for HTTPS and torrents over SSL - Refreshlibtorrent-rasterbar-fix_pkgconfig_path.patch - Drop libtorrent-rasterbar-fix_library_version.patch OBS-URL: https://build.opensuse.org/request/show/835261 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libtorrent-rasterbar?expand=0&rev=139 --- libtorrent-rasterbar-1.2.10.tar.gz | 3 -- libtorrent-rasterbar-2.0.0.tar.gz | 3 ++ ...orrent-rasterbar-fix_library_version.patch | 30 ----------- libtorrent-rasterbar-fix_pkgconfig_path.patch | 12 ----- libtorrent-rasterbar.changes | 45 +++++++++++++++++ libtorrent-rasterbar.spec | 50 +++++++++++-------- 6 files changed, 76 insertions(+), 67 deletions(-) delete mode 100644 libtorrent-rasterbar-1.2.10.tar.gz create mode 100644 libtorrent-rasterbar-2.0.0.tar.gz delete mode 100644 libtorrent-rasterbar-fix_library_version.patch diff --git a/libtorrent-rasterbar-1.2.10.tar.gz b/libtorrent-rasterbar-1.2.10.tar.gz deleted file mode 100644 index 09734d7..0000000 --- a/libtorrent-rasterbar-1.2.10.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d0dd30bdc3926587c4241f4068d8e39628a6c1f9f6cf53195f0e9bc90017befb -size 4128498 diff --git a/libtorrent-rasterbar-2.0.0.tar.gz b/libtorrent-rasterbar-2.0.0.tar.gz new file mode 100644 index 0000000..c737adb --- /dev/null +++ b/libtorrent-rasterbar-2.0.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33d802ea35bbc13daa70dc621c15553a0b7393961e29c9211fc239de821d4e98 +size 4223979 diff --git a/libtorrent-rasterbar-fix_library_version.patch b/libtorrent-rasterbar-fix_library_version.patch deleted file mode 100644 index 9fb5be7..0000000 --- a/libtorrent-rasterbar-fix_library_version.patch +++ /dev/null @@ -1,30 +0,0 @@ -From: Luigi Baldoni -Date: 2020-09-09 16:22:42 +0200 -Subject: Avoid soname/library version confusion -References: gh#arvidn/libtorrent#4927 - -Upstream has changed the version format in 2.0 and this has percolated -down to the cmake scripts in 1.2.x. This patch makes it match autotools -behaviour. - -Index: libtorrent-rasterbar-1.2.10/CMakeLists.txt -=================================================================== ---- libtorrent-rasterbar-1.2.10.orig/CMakeLists.txt -+++ libtorrent-rasterbar-1.2.10/CMakeLists.txt -@@ -10,6 +10,7 @@ project(libtorrent - VERSION ${VER_MAJOR}.${VER_MINOR}.${VER_TINY} - ) - set (SOVERSION "10") -+set (SOVERSION_FULL "${SOVERSION}.0.0") - - include(GNUInstallDirs) - include(GeneratePkgConfig) -@@ -555,7 +556,7 @@ set_target_properties(torrent-rasterbar - PROPERTIES - CXX_VISIBILITY_PRESET "hidden" - VISIBILITY_INLINES_HIDDEN "true" -- VERSION ${PROJECT_VERSION} -+ VERSION ${SOVERSION_FULL} - SOVERSION ${SOVERSION} - ) - diff --git a/libtorrent-rasterbar-fix_pkgconfig_path.patch b/libtorrent-rasterbar-fix_pkgconfig_path.patch index 39a31b9..aec4ba7 100644 --- a/libtorrent-rasterbar-fix_pkgconfig_path.patch +++ b/libtorrent-rasterbar-fix_pkgconfig_path.patch @@ -4,19 +4,7 @@ Date: Sat, 1 Aug 2020 07:44:33 +0200 Subject: [PATCH] Fix path duplication in .pc file installation --- - cmake/Modules/GeneratePkgConfig/generate-pkg-config.cmake.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) -Index: libtorrent-rasterbar-1.2.10/cmake/Modules/GeneratePkgConfig/generate-pkg-config.cmake.in -=================================================================== ---- libtorrent-rasterbar-1.2.10.orig/cmake/Modules/GeneratePkgConfig/generate-pkg-config.cmake.in -+++ libtorrent-rasterbar-1.2.10/cmake/Modules/GeneratePkgConfig/generate-pkg-config.cmake.in -@@ -49,4 +49,4 @@ set(_interface_compile_options "${_TARGE - string(REPLACE ";" " " _interface_compile_options "${_interface_compile_options}") - - configure_file("@_pkg_config_file_template_filename@" "@_generate_target_dir@/@_package_name@.pc" @ONLY) --file(INSTALL "@_generate_target_dir@/@_package_name@.pc" DESTINATION "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@/pkgconfig") -+file(INSTALL "@_generate_target_dir@/@_package_name@.pc" DESTINATION "@CMAKE_INSTALL_FULL_LIBDIR@/pkgconfig") Index: libtorrent-rasterbar-1.2.10/cmake/Modules/GeneratePkgConfig/pkg-config.cmake.in =================================================================== --- libtorrent-rasterbar-1.2.10.orig/cmake/Modules/GeneratePkgConfig/pkg-config.cmake.in diff --git a/libtorrent-rasterbar.changes b/libtorrent-rasterbar.changes index df7a190..80ac80a 100644 --- a/libtorrent-rasterbar.changes +++ b/libtorrent-rasterbar.changes @@ -1,3 +1,48 @@ +------------------------------------------------------------------- +Thu Sep 17 16:20:30 UTC 2020 - Luigi Baldoni + +- Update to version 2.0.0 + * dropped depenency on iconv + * deprecate set_file_hash() in torrent creator, as it's + superceded by v2 torrents + * deprecate mutable access to info_section in torrent_info + * removed deprecated lazy_entry/lazy_bdecode + * stats_alert deprecated + * remove bittyrant choking algorithm + * update userdata in add_torrent_params to be type-safe and + add to torrent_handle + * add ip_filter to session_params + * added support for wolfSSL for SHA-1 hash and HTTPS (no + Torrents over SSL) + * requires OpenSSL minimum version 1.0.0 with SNI support + * deprecated save_state() and load_state() on session in + favour of new write_session_params() and + read_session_params() + * added support for BitTorrent v2 (see + docs/upgrade_to_2.0.html) + * create_torrent() pad_file_limit parameter removed + * create_torrent() merkle- and optimize-alignment flags removed + * merkle_tree removed from add_torrent_params + * announce_entry expose information per v1 and v2 info-hash + announces + * deprecated sha1_hash info_hash members on + torrent_removed_alert, torrent_deleted_alert, + torrent_delete_failed_alert and add_torrent_params + * undeprecate error_file_metadata for torrent errors related + to its metadata + * remove support for adding a torrent under a UUID (used for + previous RSS support) + * remove deprecated feature to add torrents by file:// URL + * remove deprecated feature to download .torrent file from URL + * requires boost >= 1.66 to build + * update networking API to networking TS compatible boost.asio + * overhauled disk I/O subsystem to use memory mapped files + (where available) + * libtorrent now requires C++14 to build + * added support for GnuTLS for HTTPS and torrents over SSL +- Refreshlibtorrent-rasterbar-fix_pkgconfig_path.patch +- Drop libtorrent-rasterbar-fix_library_version.patch + ------------------------------------------------------------------- Wed Sep 16 07:20:45 UTC 2020 - Michel Normand diff --git a/libtorrent-rasterbar.spec b/libtorrent-rasterbar.spec index a514520..3474987 100644 --- a/libtorrent-rasterbar.spec +++ b/libtorrent-rasterbar.spec @@ -17,33 +17,33 @@ %define _name libtorrent -%define sover 10 +%define _ver 2.0 +%define libver 2_0 +%define sover 2.0 +%define _legacy 1 %bcond_with examples %bcond_with tests Name: libtorrent-rasterbar -Version: 1.2.10 +Version: 2.0.0 Release: 0 Summary: A C++ implementation of the BitTorrent protocol License: BSD-3-Clause Group: Development/Libraries/C and C++ URL: https://libtorrent.org/ -Source: https://github.com/arvidn/%{_name}/releases/download/%{_name}-%{version}/%{name}-%{version}.tar.gz +Source: https://github.com/arvidn/%{_name}/releases/download/%{_ver}/%{name}-%{version}.tar.gz # PATCH-FIX-UPSTREAM libtorrent-rasterbar-fix_pkgconfig_path.patch Patch0: libtorrent-rasterbar-fix_pkgconfig_path.patch -# PATCH-FIX-OPENSUSE libtorrent-rasterbar-fix_library_version.patch -Patch1: libtorrent-rasterbar-fix_library_version.patch -# for directory ownership -BuildRequires: cmake-full +BuildRequires: cmake >= 3.12.0 BuildRequires: fdupes BuildRequires: gcc-c++ -BuildRequires: libboost_chrono-devel -BuildRequires: libboost_python3-devel -BuildRequires: libboost_random-devel -BuildRequires: libboost_system-devel +BuildRequires: libboost_chrono-devel >= 1.66 +BuildRequires: libboost_python3-devel >= 1.66 +BuildRequires: libboost_random-devel >= 1.66 +BuildRequires: libboost_system-devel >= 1.66 BuildRequires: pkgconfig BuildRequires: python3-devel BuildRequires: python3-setuptools -BuildRequires: pkgconfig(openssl) +BuildRequires: pkgconfig(openssl) >= 1.0.0 %description libtorrent-rasterbar is a C++ library that aims to be a good @@ -54,11 +54,11 @@ with a working example client. This package holds the sample client and example files for libtorrent-rasterbar. -%package -n %{name}%{sover} +%package -n %{name}%{libver} Summary: A C++ implementation of the BitTorrent protocol Group: System/Libraries -%description -n %{name}%{sover} +%description -n %{name}%{libver} libtorrent-rasterbar is a C++ library that aims to be a good alternative to all the other bittorrent implementations around. It is a library and not a full featured client, although it comes @@ -67,25 +67,28 @@ with a working example client. %package -n python3-%{name} Summary: Python Bindings for libtorrent-rasterbar Group: Development/Libraries/Python +Conflicts: python3-%{name}-%{_legacy} %description -n python3-%{name} Python Bindings for the libtorrent-rasterbar package. -### conditional here? %%if %%{with examples} +%if %{with examples} %package tools Summary: Example tools from libtorrent-rasterbar Group: Development/Libraries/C and C++ %description tools Example tools from the libtorrent-rasterbar package. +%endif %package devel Summary: Header files for libtorrent, a C++ implementation of the BitTorrent protocol Group: Development/Libraries/C and C++ -Requires: %{name}%{sover} = %{version} +Requires: %{name}%{libver} = %{version} Requires: gcc-c++ Requires: libboost_headers-devel Requires: pkgconfig(openssl) +Conflicts: %{name}-%{_legacy}-devel %description devel libtorrent-rasterbar is a C++ library that aims to be a good @@ -107,7 +110,6 @@ Documentation for the libtorrent-rasterbar package. %autosetup -p1 %build -export CXXFLAGS="-std=c++14" %cmake \ %if %{with tests} -Dbuild_tests=ON \ @@ -115,7 +117,8 @@ export CXXFLAGS="-std=c++14" %if %{with examples} -Dbuild_examples=ON \ %endif - -Dpython-bindings=ON + -Dpython-bindings=ON \ + -Dboost-python-module-name=python %cmake_build %install @@ -134,11 +137,14 @@ install -Dm0755 build/examples/dump_torrent build/examples/make_torrent \ %if %{with tests} %check -%ctest --verbose --exclude-regex "(test_flags|test_resume|test_torrent|test_url_seed|test_upnp)" +export LD_LIBRARY_PATH=$PWD/build +ln -s build/web_server.py . +# test_flags until gh#arvidn/libtorrent#4985 is fixed +%ctest --verbose --exclude-regex "(test_flags|test_upnp)" %endif -%post -n %{name}%{sover} -p /sbin/ldconfig -%postun -n %{name}%{sover} -p /sbin/ldconfig +%post -n %{name}%{libver} -p /sbin/ldconfig +%postun -n %{name}%{libver} -p /sbin/ldconfig %if %{with examples} %files tools @@ -147,7 +153,7 @@ install -Dm0755 build/examples/dump_torrent build/examples/make_torrent \ %{_bindir}/simple_client %endif -%files -n %{name}%{sover} +%files -n %{name}%{libver} %license COPYING %doc AUTHORS ChangeLog %{_libdir}/%{name}.so.%{sover}*