ping. I am looking for someone to commit with an existing OK from rsadowski@ for the latest version. Diff is provided inline for convenience.
Rafael Sadowski writes: > Still OK rsadowski Nam Nguyen writes: > Nam Nguyen writes: > >> 1.2.9 was just released August 20, 2020. I'm running into some trouble >> with 1.2.9 where deluge works but qbitorrent has a compilation >> error. I'll send it once this is resolved. > > CC rsadowski@, who gave an OK for an earlier version of this diff, and > mariani@, $MAINTAINER of qbittorrent (FYI). > > This is a diff for 1.2.9 that just got released August 20, 2020. The > proposed license marker from before and the iconv hack can go away. > > changelog: > https://github.com/arvidn/libtorrent/blob/libtorrent-1.2.9/ChangeLog > > This diff: > - updates to 1.2.9 > - uses c++14 instead of clang++'s default gnu++14 > - moves to autoreconf because configure defaults to c++11 instead of the > desired c++14 > - bumps library major due to symbol deletion > - changes MASTER_SITES to properly download the new release > - specifies devel/boost>=1.67.0 (from rsadowski@) > - uses MODPY_VERSION for naming boost python bindings in WANTLIB and > CONFIGURE_ARGS (from rsadowski@) > - uses mt variants of libboost_system-mt and libboost_python38-mt > - links to libiconv.so.7.0 instead of libiconv.a now that upstream > updated m4 macros > - regens WANTLIB with boost_python38, boost_system (non-mt) and iconv > - Remove PYTHON_CXXFLAGS and CXXFLAGS. gnu++14 is now the default for > ports-gcc. (from brad@) > > It seems like the MAKE_ENV line is needed to avoid missing symbols. > Leave it in and still remove PYTHON_CXXFLAGS and CXXFLAGS as brad@ > suggested.[0] > > Moving to c++14 instead of gnu++14 is fine, as upstream confirmed[3] that > no gnu extensions are used. gnu++14 just happens to be the default for > clang++. > > The major thing is moving to autoreconf. Other options: move to cmake or > patch every Makefile to replace c++11 with c++14. > > I opened a pull request[1] to try to add a --with-cxx-standard=14 > configure flag. It requires modifying ax_cxx_compile_stdcxx.m4 and > configure.ac; qbittorrent upstream described how cmake behaves and I > tried to emulate it, but there is no guarantee that the PR will be > accepted. > > m4 scripts were updated as a result of brad's bug report. I patched > configure.ac to use ax_cxx_compile_stdcxx.m4 instead of > ax_cxx_compile_stdcxx_11.m4. This supports multiple c++ standards. The > default _11.m4 now inserts -std=c++11, which causes compilation problems > with net/qbittorrent, which requires c++14. As hinted by qBittorrent > upstream[2], libtorrent-rasterbar and qbittorrent should both be built > with c++14. > > I tested net/qbittorrent and net/deluge. Feedback and tests are welcome. > > [0] https://marc.info/?l=openbsd-ports&m=152450576520425&w=2 > [1] https://github.com/arvidn/libtorrent/pull/5026 > [2] https://github.com/arvidn/libtorrent/issues/5024#issuecomment-677964487 > [3] https://github.com/arvidn/libtorrent/pull/5026#issuecomment-678095156 Index: Makefile =================================================================== RCS file: /cvs/ports/net/libtorrent-rasterbar/Makefile,v retrieving revision 1.11 diff -u -p -u -p -r1.11 Makefile --- Makefile 15 Aug 2020 20:31:06 -0000 1.11 +++ Makefile 23 Aug 2020 07:03:19 -0000 @@ -2,11 +2,10 @@ COMMENT = C++ library implementing a BitTorrent client -MODPY_EGG_VERSION = 1.2.3 +MODPY_EGG_VERSION = 1.2.9 DISTNAME = libtorrent-rasterbar-${MODPY_EGG_VERSION} -REVISION = 1 -SHARED_LIBS += torrent-rasterbar 2.0 # 10.0.0 +SHARED_LIBS += torrent-rasterbar 3.0 # 10.0.0 CATEGORIES = net devel @@ -15,10 +14,10 @@ HOMEPAGE = https://libtorrent.org/ # BSD3 PERMIT_PACKAGE = Yes -WANTLIB += boost_python${MODPY_VERSION:C/\.//g} boost_system-mt crypto m ssl -WANTLIB += ${COMPILER_LIBCXX} +WANTLIB += ${COMPILER_LIBCXX} boost_python${MODPY_VERSION:C/\.//g}-mt +WANTLIB += boost_system-mt crypto iconv m ssl -MASTER_SITES = https://github.com/arvidn/libtorrent/releases/download/libtorrent-${MODPY_EGG_VERSION:S/./_/g}/ +MASTER_SITES = https://github.com/arvidn/libtorrent/releases/download/libtorrent-${MODPY_EGG_VERSION}/ MODULES = lang/python MODPY_VERSION = ${MODPY_DEFAULT_VERSION_3} @@ -31,19 +30,22 @@ LIB_DEPENDS = converters/libiconv \ # boost COMPILER = base-clang ports-gcc -CONFIGURE_STYLE = gnu +CONFIGURE_STYLE = autoreconf + +AUTOCONF_VERSION = 2.69 +AUTOMAKE_VERSION = 1.16 + CONFIGURE_ARGS = --enable-python-binding \ --enable-tests \ --with-boost-system=boost_system-mt \ - --with-boost-python=boost_python${MODPY_VERSION:C/\.//g} \ + --with-boost-python=boost_python${MODPY_VERSION:C/\.//g}-mt \ --with-libiconv CONFIGURE_ENV += CPPFLAGS="-Wno-deprecated-declarations \ -Wno-macro-redefined \ -pthread" \ - PYTHON_CXXFLAGS="${PYTHON_CXXFLAGS} -std=gnu++14" \ PYTHON=${MODPY_DEFAULT_VERSION_3} +# python bindings setup.py need CXX MAKE_ENV = CC="${CC}" CXX="${CXX}" -CXXFLAGS += -std=gnu++14 .ifdef DEBUG CONFIGURE_ARGS += --enable-debug Index: distinfo =================================================================== RCS file: /cvs/ports/net/libtorrent-rasterbar/distinfo,v retrieving revision 1.6 diff -u -p -u -p -r1.6 distinfo --- distinfo 6 Feb 2020 20:00:16 -0000 1.6 +++ distinfo 23 Aug 2020 07:03:19 -0000 @@ -1,2 +1,2 @@ -SHA256 (libtorrent-rasterbar-1.2.3.tar.gz) = FYL9u9BEm8/k/64sy55b8Fd0WaMrslYE4BrMuEfaGi0= -SIZE (libtorrent-rasterbar-1.2.3.tar.gz) = 4145859 +SHA256 (libtorrent-rasterbar-1.2.9.tar.gz) = bJhiJaHC2esjxbGsBpLYMgi3IaBcloECoX7j/eAb1wk= +SIZE (libtorrent-rasterbar-1.2.9.tar.gz) = 4128035 Index: patches/patch-configure_ac =================================================================== RCS file: patches/patch-configure_ac diff -N patches/patch-configure_ac --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-configure_ac 23 Aug 2020 07:03:19 -0000 @@ -0,0 +1,17 @@ +$OpenBSD$ + +use c++14 instead of c++11. see: +https://github.com/arvidn/libtorrent/pull/5026 + +Index: configure.ac +--- configure.ac.orig ++++ configure.ac +@@ -144,7 +144,7 @@ AS_ECHO "Checking for boost libraries:" + + AX_BOOST_BASE([1.58]) + +-AX_CXX_COMPILE_STDCXX_11([noext], [mandatory]) ++AX_CXX_COMPILE_STDCXX(14, [noext], [mandatory]) + + AX_BOOST_SYSTEM() + AS_IF([test -z "$BOOST_SYSTEM_LIB"], Index: patches/patch-include_libtorrent_config_hpp =================================================================== RCS file: /cvs/ports/net/libtorrent-rasterbar/patches/patch-include_libtorrent_config_hpp,v retrieving revision 1.3 diff -u -p -u -p -r1.3 patch-include_libtorrent_config_hpp --- patches/patch-include_libtorrent_config_hpp 6 Feb 2020 20:00:16 -0000 1.3 +++ patches/patch-include_libtorrent_config_hpp 23 Aug 2020 07:03:19 -0000 @@ -2,7 +2,7 @@ $OpenBSD: patch-include_libtorrent_confi Index: include/libtorrent/config.hpp --- include/libtorrent/config.hpp.orig +++ include/libtorrent/config.hpp -@@ -411,6 +411,10 @@ POSSIBILITY OF SUCH DAMAGE. +@@ -414,6 +414,10 @@ POSSIBILITY OF SUCH DAMAGE. #define TORRENT_USE_UNC_PATHS 0 #endif Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/net/libtorrent-rasterbar/pkg/PLIST,v retrieving revision 1.4 diff -u -p -u -p -r1.4 PLIST --- pkg/PLIST 6 Feb 2020 20:00:16 -0000 1.4 +++ pkg/PLIST 23 Aug 2020 07:03:19 -0000 @@ -1,6 +1,5 @@ @comment $OpenBSD: PLIST,v 1.4 2020/02/06 20:00:16 rsadowski Exp $ include/libtorrent/ -include/libtorrent/ConvertUTF.h include/libtorrent/add_torrent_params.hpp include/libtorrent/address.hpp include/libtorrent/alert.hpp @@ -36,6 +35,7 @@ include/libtorrent/aux_/has_block.hpp include/libtorrent/aux_/instantiate_connection.hpp include/libtorrent/aux_/io.hpp include/libtorrent/aux_/ip_notifier.hpp +include/libtorrent/aux_/keepalive.hpp include/libtorrent/aux_/listen_socket_handle.hpp include/libtorrent/aux_/lsd.hpp include/libtorrent/aux_/merkle.hpp @@ -254,3 +254,6 @@ lib/libtorrent-rasterbar.la lib/pkgconfig/libtorrent-rasterbar.pc @so lib/python${MODPY_VERSION}/site-packages/libtorrent.so lib/python${MODPY_VERSION}/site-packages/python_libtorrent-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info +share/cmake/ +share/cmake/Modules/ +share/cmake/Modules/FindLibtorrentRasterbar.cmake