diff --git a/libtorrent-rasterbar-fix-get-ip-filter.patch b/libtorrent-rasterbar-fix-get-ip-filter.patch new file mode 100644 index 0000000..4f30a47 --- /dev/null +++ b/libtorrent-rasterbar-fix-get-ip-filter.patch @@ -0,0 +1,10 @@ +--- a/src/session_impl.cpp ++++ b/src/session_impl.cpp +@@ -1237,6 +1237,7 @@ namespace aux { + ip_filter const& session_impl::get_ip_filter() + { + TORRENT_ASSERT(is_single_thread()); ++ if (!m_ip_filter) m_ip_filter = boost::make_shared(); + return *m_ip_filter; + } + diff --git a/libtorrent-rasterbar.changes b/libtorrent-rasterbar.changes index 632dee4..d795db8 100644 --- a/libtorrent-rasterbar.changes +++ b/libtorrent-rasterbar.changes @@ -1,6 +1,9 @@ ------------------------------------------------------------------- Fri Jul 15 13:02:12 UTC 2016 - sor.alexei@meowr.ru +- Add libtorrent-rasterbar-fix-get-ip-filter.patch: fix Deluge + crashing when IP filters are used without patching Deluge + (boo#978600). - Add libtorrent-rasterbar-1.1.0-python-fixes.patch from upstream: fixes for Python bindings (commits e4fd45e, 80710ab, f01ac8f, 42c6376) (boo#988986). diff --git a/libtorrent-rasterbar.spec b/libtorrent-rasterbar.spec index 4ded4fd..815d66a 100644 --- a/libtorrent-rasterbar.spec +++ b/libtorrent-rasterbar.spec @@ -28,12 +28,14 @@ License: BSD-3-Clause Group: Development/Libraries/C and C++ Url: http://libtorrent.org/ Source: https://github.com/arvidn/%{_name}/releases/download/%{_name}-%{_version}/%{name}-%{version}.tar.gz +# PATCH-FIX-OPENSUSE libtorrent-rasterbar-fix-get-ip-filter.patch boo#978600 -- Don't crash when get_ip_filter is used before a default value is set. +Patch0: %{name}-fix-get-ip-filter.patch # PATCH-FIX-UPSTREAM libtorrent-rasterbar-1.1.0-remove-x86-only-flag.patch -- Remove -msse4.2 flag (commit 680eddf). -Patch0: %{name}-1.1.0-remove-x86-only-flag.patch +Patch1: %{name}-1.1.0-remove-x86-only-flag.patch # PATCH-FIX-UPSTREAM libtorrent-rasterbar-1.1.0-python-fixes.patch boo#988986 -- Fixes for Python bindings (commits e4fd45e, 80710ab, f01ac8f, 42c6376). -Patch1: %{name}-1.1.0-python-fixes.patch +Patch2: libtorrent-rasterbar-1.1.0-python-fixes.patch # PATCH-FIX-UPSTREAM libtorrent-rasterbar-1.1.0-fix-invalid-input-crash.patch boo#983228 -- Fix crash on invalid input in http_parser (commit 3624ce6). -Patch2: %{name}-1.1.0-fix-invalid-input-crash.patch +Patch3: %{name}-1.1.0-fix-invalid-input-crash.patch BuildRequires: boost-devel >= 1.54 BuildRequires: gcc-c++ BuildRequires: pkgconfig @@ -104,7 +106,7 @@ Example tools from the libtorrent-rasterbar package. Summary: Libtorrent is a C++ implementation of the BitTorrent protocol Group: Development/Libraries/C and C++ Requires: %{name}%{sover} = %{version} -Requires: boost-devel >= 1.36 +Requires: boost-devel >= 1.54 Requires: gcc-c++ Requires: pkgconfig Requires: pkgconfig(openssl) @@ -134,17 +136,18 @@ Documentation for the libtorrent-rasterbar package. %patch0 -p1 %patch1 -p1 %patch2 -p1 +%patch3 -p1 %build export CFLAGS="%{optflags} -fno-strict-aliasing" export CXXFLAGS="$CFLAGS" %if 0%{?suse_version} <= 1320 export CXXFLAGS="$CXXFLAGS -std=c++11" -%endif %ifarch aarch64 # Some architectures require explicit linkage to libboost_atomic on boost 1.55 and older. export LIBS="$LIBS -lboost_atomic" %endif +%endif %global _configure ../configure %if 0%{?suse_version} > 1320