forked from pool/libtorrent-rasterbar
Accepting request 833549 from home:alois:branches:devel:libraries:c_c++
- Switch to cmake build - Remove references to python2 - Add libtorrent-rasterbar-fix_pkgconfig_path.patch and libtorrent-rasterbar-fix_library_version.patch - Build in c++14 mode (qbittorrent prefers it) OBS-URL: https://build.opensuse.org/request/show/833549 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libtorrent-rasterbar?expand=0&rev=136
This commit is contained in:
parent
992b4076f4
commit
721390ceba
@ -2,7 +2,7 @@
|
||||
<constraints>
|
||||
<hardware>
|
||||
<memory>
|
||||
<size unit="M">3500</size>
|
||||
<size unit="G">4</size>
|
||||
</memory>
|
||||
</hardware>
|
||||
<overwrite>
|
||||
@ -20,11 +20,15 @@
|
||||
<conditions>
|
||||
<arch>ppc64</arch>
|
||||
<arch>ppc64le</arch>
|
||||
<arch>aarch64</arch>
|
||||
</conditions>
|
||||
<hardware>
|
||||
<memory>
|
||||
<size unit="M">4500</size>
|
||||
<size unit="G">5</size>
|
||||
</memory>
|
||||
<disk>
|
||||
<size unit="G">4</size>
|
||||
</disk>
|
||||
</hardware>
|
||||
</overwrite>
|
||||
</constraints>
|
||||
|
30
libtorrent-rasterbar-fix_library_version.patch
Normal file
30
libtorrent-rasterbar-fix_library_version.patch
Normal file
@ -0,0 +1,30 @@
|
||||
From: Luigi Baldoni <aloisio@gmx.com>
|
||||
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}
|
||||
)
|
||||
|
33
libtorrent-rasterbar-fix_pkgconfig_path.patch
Normal file
33
libtorrent-rasterbar-fix_pkgconfig_path.patch
Normal file
@ -0,0 +1,33 @@
|
||||
From ad3bb12b4a05e3efd7bc3fbc692109203e5c9331 Mon Sep 17 00:00:00 2001
|
||||
From: Luigi Baldoni <aloisio@gmx.com>
|
||||
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
|
||||
+++ libtorrent-rasterbar-1.2.10/cmake/Modules/GeneratePkgConfig/pkg-config.cmake.in
|
||||
@@ -1,7 +1,7 @@
|
||||
prefix=@CMAKE_INSTALL_PREFIX@
|
||||
-libdir=${prefix}/@_INSTALL_LIBDIR@
|
||||
+libdir=@_INSTALL_LIBDIR@
|
||||
|
||||
-Name: @_PROJECT_NAME@
|
||||
+Name: libtorrent-rasterbar
|
||||
Description: @_PROJECT_DESCRIPTION@
|
||||
Version: @_PROJECT_VERSION@
|
||||
Libs: -L${libdir} -l@_TARGET_OUTPUT_NAME@ @_interface_link_libraries@
|
@ -1,3 +1,12 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 9 08:24:41 UTC 2020 - Luigi Baldoni <aloisio@gmx.com>
|
||||
|
||||
- Switch to cmake build
|
||||
- Remove references to python2
|
||||
- Add libtorrent-rasterbar-fix_pkgconfig_path.patch and
|
||||
libtorrent-rasterbar-fix_library_version.patch
|
||||
- Build in c++14 mode (qbittorrent prefers it)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 3 13:49:19 UTC 2020 - Luigi Baldoni <aloisio@gmx.com>
|
||||
|
||||
|
@ -18,8 +18,6 @@
|
||||
|
||||
%define _name libtorrent
|
||||
%define sover 10
|
||||
%bcond_without python2
|
||||
%bcond_without python3
|
||||
%bcond_with examples
|
||||
%bcond_with tests
|
||||
Name: libtorrent-rasterbar
|
||||
@ -30,26 +28,22 @@ 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
|
||||
# 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: fdupes
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: pkgconfig(openssl)
|
||||
%if %{with python2}
|
||||
BuildRequires: python-devel
|
||||
%endif
|
||||
%if %{with python3}
|
||||
BuildRequires: python3-devel
|
||||
%endif
|
||||
BuildRequires: libboost_chrono-devel
|
||||
BuildRequires: libboost_python3-devel
|
||||
BuildRequires: libboost_random-devel
|
||||
BuildRequires: libboost_system-devel
|
||||
%if %{with python2}
|
||||
BuildRequires: libboost_python-devel
|
||||
%endif
|
||||
%if %{with python3}
|
||||
BuildRequires: libboost_python3-devel
|
||||
%endif
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-setuptools
|
||||
BuildRequires: pkgconfig(openssl)
|
||||
|
||||
%description
|
||||
libtorrent-rasterbar is a C++ library that aims to be a good
|
||||
@ -70,16 +64,6 @@ alternative to all the other bittorrent implementations around.
|
||||
It is a library and not a full featured client, although it comes
|
||||
with a working example client.
|
||||
|
||||
%package -n python2-%{name}
|
||||
Summary: Python Bindings for libtorrent-rasterbar
|
||||
# python-libtorrent-rasterbar was last used in openSUSE Leap 42.2.
|
||||
Group: Development/Libraries/Python
|
||||
Provides: python-%{name} = %{version}-%{release}
|
||||
Obsoletes: python-%{name} < %{version}-%{release}
|
||||
|
||||
%description -n python2-%{name}
|
||||
Python Bindings for the libtorrent-rasterbar package.
|
||||
|
||||
%package -n python3-%{name}
|
||||
Summary: Python Bindings for libtorrent-rasterbar
|
||||
Group: Development/Libraries/Python
|
||||
@ -87,6 +71,7 @@ Group: Development/Libraries/Python
|
||||
%description -n python3-%{name}
|
||||
Python Bindings for the libtorrent-rasterbar package.
|
||||
|
||||
### conditional here? %%if %%{with examples}
|
||||
%package tools
|
||||
Summary: Example tools from libtorrent-rasterbar
|
||||
Group: Development/Libraries/C and C++
|
||||
@ -119,61 +104,37 @@ BuildArch: noarch
|
||||
Documentation for the libtorrent-rasterbar package.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
export CFLAGS="%{optflags} -fno-strict-aliasing"
|
||||
export CXXFLAGS="$CFLAGS"
|
||||
|
||||
%global _configure ../configure
|
||||
for py in %{?with_python2:python} %{?with_python3:python3}; do
|
||||
mkdir -p "build-$py"
|
||||
pushd "build-$py"
|
||||
export PYTHON="$py"
|
||||
%configure \
|
||||
--disable-static \
|
||||
--disable-silent-rules \
|
||||
--with-libiconv \
|
||||
export CXXFLAGS="-std=c++14"
|
||||
%cmake \
|
||||
%if %{with tests}
|
||||
--enable-tests \
|
||||
-Dbuild_tests=ON \
|
||||
%endif
|
||||
%if %{with examples}
|
||||
--enable-examples \
|
||||
-Dbuild_examples=ON \
|
||||
%endif
|
||||
--with-boost-python="boost_$py" \
|
||||
--enable-python-binding
|
||||
make %{?_smp_mflags} V=1
|
||||
popd
|
||||
done
|
||||
-Dpython-bindings=ON
|
||||
%cmake_build
|
||||
|
||||
%install
|
||||
%if %{with python2}
|
||||
%make_install -C build-python
|
||||
%endif
|
||||
%if %{with python3}
|
||||
%make_install -C build-python3
|
||||
%endif
|
||||
%cmake_install
|
||||
|
||||
find %{buildroot} -type f -name "*.la" -delete -print
|
||||
# Move doc to a separate package.
|
||||
mkdir -p %{buildroot}%{_docdir}/%{name}/
|
||||
cp -r docs/* %{buildroot}%{_docdir}/%{name}/
|
||||
|
||||
%if %{with examples}
|
||||
# Drop tests binaries from the libtorrent-rasterbar-tools subpackage.
|
||||
rm -v %{buildroot}%{_bindir}/{client_test,connection_tester,enum_if} \
|
||||
%{buildroot}%{_bindir}/{fragmentation_test,parse_hash_fails} \
|
||||
%{buildroot}%{_bindir}/{parse_request_log,rss_reader,upnp_test,utp_test}
|
||||
install -Dm0755 build/examples/dump_torrent build/examples/make_torrent \
|
||||
build/examples/simple_client -t %{buildroot}%{_bindir}
|
||||
%endif
|
||||
|
||||
%fdupes %{buildroot}%{python3_sitearch}
|
||||
|
||||
%if %{with tests}
|
||||
%check
|
||||
%if %{with python2}
|
||||
make check %{?_smp_mflags} V=1 -C build-python
|
||||
%endif
|
||||
%if %{with python3}
|
||||
make check %{?_smp_mflags} V=1 -C build-python3
|
||||
%endif
|
||||
%ctest --verbose --exclude-regex "(test_flags|test_resume|test_torrent|test_url_seed|test_upnp)"
|
||||
%endif
|
||||
|
||||
%post -n %{name}%{sover} -p /sbin/ldconfig
|
||||
@ -191,21 +152,14 @@ make check %{?_smp_mflags} V=1 -C build-python3
|
||||
%doc AUTHORS ChangeLog
|
||||
%{_libdir}/%{name}.so.%{sover}*
|
||||
|
||||
%if %{with python2}
|
||||
%files -n python2-%{name}
|
||||
%{python_sitearch}/%{_name}*.so
|
||||
%{python_sitearch}/python_%{_name}-*
|
||||
%endif
|
||||
|
||||
%if %{with python3}
|
||||
%files -n python3-%{name}
|
||||
%{python3_sitearch}/%{_name}*.so
|
||||
%{python3_sitearch}/python_%{_name}-*
|
||||
%endif
|
||||
%{python3_sitearch}/%{_name}.egg-info
|
||||
|
||||
%files devel
|
||||
%{_datadir}/cmake/Modules/FindLibtorrentRasterbar.cmake
|
||||
%{_includedir}/%{_name}/
|
||||
%{_libdir}/cmake/LibtorrentRasterbar
|
||||
%{_libdir}/%{name}.so
|
||||
%{_libdir}/pkgconfig/%{name}.pc
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user