package/libtorrent-rasterbar: new package
PATCH 1/2 package/libtorrent-rasterbar: new package
libtorrent is a feature complete C++ bittorrent implementation focusing on efficiency and scalability.
--- DEVELOPERS | 3 +++ package/Config.in | 1 + package/libtorrent-rasterbar/Config.in | 21 +++++++++++++++++ .../libtorrent-rasterbar.hash | 3 +++ .../libtorrent-rasterbar.mk | 23 +++++++++++++++++++ 5 files changed, 51 insertions(+) create mode 100644 package/libtorrent-rasterbar/Config.in create mode 100644 package/libtorrent-rasterbar/libtorrent-rasterbar.hash create mode 100644 package/libtorrent-rasterbar/libtorrent-rasterbar.mk
DEVELOPERS +3 -0
@@ -1698,6 +1698,9 @@ F: package/psplash/ F: package/sispmctl/ F: package/zsh/ +N: Philipp Richter <[email protected]> +F: package/libtorrent-rasterbar/ + N: Philippe Proulx <[email protected]> F: package/lttng-babeltrace/ F: package/lttng-libust/
package/Config.in +1 -0
@@ -1550,6 +1550,7 @@ menu "Networking" source "package/libstrophe/Config.in" source "package/libtirpc/Config.in" source "package/libtorrent/Config.in" + source "package/libtorrent-rasterbar/Config.in" source "package/libupnp/Config.in" source "package/libupnp18/Config.in" source "package/libupnpp/Config.in"
package/libtorrent-rasterbar/Config.in new file +21 -0
@@ -0,0 +1,21 @@ +comment "libtorrent-rasterbar needs a toolchain w/ C++, threads, wchar, gcc >= 4.8" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \ + !BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + +config BR2_PACKAGE_LIBTORRENT_RASTERBAR + bool "libtorrent-rasterbar" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_HOST_GCC_AT_LEAST_4_8 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_USE_WCHAR + select BR2_PACKAGE_BOOST + select BR2_PACKAGE_BOOST_CHRONO + select BR2_PACKAGE_BOOST_SYSTEM + select BR2_PACKAGE_BOOST_RANDOM + select BR2_PACKAGE_OPENSSL + help + libtorrent is a feature complete C++ bittorrent implementation + focusing on efficiency and scalability. + + https://www.libtorrent.org/
package/libtorrent-rasterbar/libtorrent-rasterbar.hash new file +3 -0
@@ -0,0 +1,3 @@ +# Locally calculated +sha256 7c23deba7fa279825642307587609d51c9935ac7606e0ef2f2d0ba10728b5847 libtorrent-rasterbar-1.1.11.tar.gz +sha256 f3a5dd1558cce616b12edad521427ec8976ce2bb0af33f7f359cfa648bf55ad8 COPYING
package/libtorrent-rasterbar/libtorrent-rasterbar.mk new file +23 -0
@@ -0,0 +1,23 @@ +################################################################################ +# +# libtorrent-rasterbar +# +################################################################################ + +LIBTORRENT_RASTERBAR_VERSION = 1.1.11 +LIBTORRENT_RASTERBAR_SITE = https://github.com/arvidn/libtorrent/releases/download/libtorrent_$(subst .,_,$(LIBTORRENT_RASTERBAR_VERSION)) +LIBTORRENT_RASTERBAR_LICENSE = BSD-2-Clause +LIBTORRENT_RASTERBAR_LICENSE_FILES = COPYING +LIBTORRENT_RASTERBAR_DEPENDENCIES = host-pkgconf boost openssl +LIBTORRENT_RASTERBAR_INSTALL_STAGING = YES +LIBTORRENT_RASTERBAR_CONF_OPTS += --with-boost-libdir=$(STAGING_DIR)/usr/lib --disable-invariant-checks +LIBTORRENT_RASTERBAR_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" + +ifeq ($(BR2_ENABLE_LOCALE)$(BR2_PACKAGE_LIBICONV),y) +LIBTORRENT_RASTERBAR_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv) +LIBTORRENT_RASTERBAR_CONF_OPTS += --with-libiconv +else +LIBTORRENT_RASTERBAR_CONF_OPTS += --without-libiconv +endif + +$(eval $(autotools-package))
Signature · 1 line
2.19.1
PATCH 1/2 package/libtorrent-rasterbar: new package
Hello,
I'm really sorry that I only now get back to you, got distracted and forgot to send the revised patch series as promised.
I followed your recommendations and comments and got rid of the all the unneeded options and switches.
Style check passes and the tests too.
Best Regards,
Philipp Richter
Quoted 112 lines · Philipp Richter
libtorrent is a feature complete C++ bittorrent implementation focusing on efficiency and scalability.
Signed-off-by Philipp Richter <[email protected]>--- DEVELOPERS | 3 +++ package/Config.in | 1 + package/libtorrent-rasterbar/Config.in | 21 +++++++++++++++++ .../libtorrent-rasterbar.hash | 3 +++ .../libtorrent-rasterbar.mk | 23 +++++++++++++++++++ 5 files changed, 51 insertions(+) create mode 100644 package/libtorrent-rasterbar/Config.in create mode 100644 package/libtorrent-rasterbar/libtorrent-rasterbar.hash create mode 100644 package/libtorrent-rasterbar/libtorrent-rasterbar.mkDEVELOPERS +3
-0@@ -1698,6 +1698,9 @@ F: package/psplash/ F: package/sispmctl/ F: package/zsh/ +N: Philipp Richter <[email protected]> +F: package/libtorrent-rasterbar/ + N: Philippe Proulx <[email protected]> F: package/lttng-babeltrace/ F: package/lttng-libust/package/Config.in +1
-0@@ -1550,6 +1550,7 @@ menu "Networking" source "package/libstrophe/Config.in" source "package/libtirpc/Config.in" source "package/libtorrent/Config.in" + source "package/libtorrent-rasterbar/Config.in" source "package/libupnp/Config.in" source "package/libupnp18/Config.in" source "package/libupnpp/Config.in"package/libtorrent-rasterbar/Config.in new file +21
-0@@ -0,0 +1,21 @@ +comment "libtorrent-rasterbar needs a toolchain w/ C++, threads, wchar, gcc >= 4.8" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \ + !BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + +config BR2_PACKAGE_LIBTORRENT_RASTERBAR + bool "libtorrent-rasterbar" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_HOST_GCC_AT_LEAST_4_8 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_USE_WCHAR + select BR2_PACKAGE_BOOST + select BR2_PACKAGE_BOOST_CHRONO + select BR2_PACKAGE_BOOST_SYSTEM + select BR2_PACKAGE_BOOST_RANDOM + select BR2_PACKAGE_OPENSSL + help + libtorrent is a feature complete C++ bittorrent implementation + focusing on efficiency and scalability. + + https://www.libtorrent.org/package/libtorrent-rasterbar/libtorrent-rasterbar.hash new file +3
-0@@ -0,0 +1,3 @@ +# Locally calculated +sha256 7c23deba7fa279825642307587609d51c9935ac7606e0ef2f2d0ba10728b5847 libtorrent-rasterbar-1.1.11.tar.gz +sha256 f3a5dd1558cce616b12edad521427ec8976ce2bb0af33f7f359cfa648bf55ad8 COPYINGpackage/libtorrent-rasterbar/libtorrent-rasterbar.mk new file +23
-1@@ -0,0 +1,23 @@ +################################################################################ +# +# libtorrent-rasterbar +# +################################################################################ + +LIBTORRENT_RASTERBAR_VERSION = 1.1.11 +LIBTORRENT_RASTERBAR_SITE = https://github.com/arvidn/libtorrent/releases/download/libtorrent_$(subst .,_,$(LIBTORRENT_RASTERBAR_VERSION)) +LIBTORRENT_RASTERBAR_LICENSE = BSD-2-Clause +LIBTORRENT_RASTERBAR_LICENSE_FILES = COPYING +LIBTORRENT_RASTERBAR_DEPENDENCIES = host-pkgconf boost openssl +LIBTORRENT_RASTERBAR_INSTALL_STAGING = YES +LIBTORRENT_RASTERBAR_CONF_OPTS += --with-boost-libdir=$(STAGING_DIR)/usr/lib --disable-invariant-checks +LIBTORRENT_RASTERBAR_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" + +ifeq ($(BR2_ENABLE_LOCALE)$(BR2_PACKAGE_LIBICONV),y) +LIBTORRENT_RASTERBAR_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv) +LIBTORRENT_RASTERBAR_CONF_OPTS += --with-libiconv +else +LIBTORRENT_RASTERBAR_CONF_OPTS += --without-libiconv +endif + +$(eval $(autotools-package)) --2.19.1
PATCH 2/2 package/qbittorrent: new package
In reply to Philipp RichterThe qBittorrent project aims to provide
an open-source software alternative to ?Torrent.
--- DEVELOPERS | 1 + package/Config.in | 1 + package/qbittorrent/Config.in | 63 ++++++++++++++++++++++++++++ package/qbittorrent/qbittorrent.hash | 5 +++ package/qbittorrent/qbittorrent.mk | 41 ++++++++++++++++++ 5 files changed, 111 insertions(+) create mode 100644 package/qbittorrent/Config.in create mode 100644 package/qbittorrent/qbittorrent.hash create mode 100644 package/qbittorrent/qbittorrent.mk
DEVELOPERS +1 -0
@@ -1700,6 +1700,7 @@ F: package/zsh/ N: Philipp Richter <[email protected]> F: package/libtorrent-rasterbar/ +F: package/qbittorrent/ N: Philippe Proulx <[email protected]> F: package/lttng-babeltrace/
package/Config.in +1 -0
@@ -1951,6 +1951,7 @@ endif source "package/ptpd2/Config.in" source "package/pure-ftpd/Config.in" source "package/putty/Config.in" + source "package/qbittorrent/Config.in" source "package/quagga/Config.in" source "package/rabbitmq-server/Config.in" source "package/radvd/Config.in"
package/qbittorrent/Config.in new file +63 -0
63 lines not on this page · raw message
package/qbittorrent/qbittorrent.hash new file +5 -0
@@ -0,0 +1,5 @@ +# Locally checked with PGP signature from https://downloads.sourceforge.net/sourceforge/qbittorrent/qbittorrent-4.1.4.tar.xz.asc +sha256 5f7b4c5ae891ce7fbab880ff322764a0d433fccf655164f6b98ef08f1ae52386 qbittorrent-4.1.4.tar.xz + +# Locally calculated +sha256 fc68233a17d308ee633aefedbd761c7582ec48557539aca310b4162e54212fe5 COPYING
package/qbittorrent/qbittorrent.mk new file +41 -0
41 lines not on this page · raw message
Signature · 1 line
2.19.1
PATCH 2/2 package/qbittorrent: new package
Hi Philipp,
Sorry for the late reply. We have a very long patch backlog, and this one got a
bit forgotten...
There are still a few issues with it, could you fix up and resubmit?
Quoted 6 lines · Philipp Richter
The qBittorrent project aims to provide
an open-source software alternative to ?Torrent.Signed-off-by Philipp Richter <[email protected]>
Please add a patch changelog below the --- line, and also add the version in
the subject using the -v2 option to git format-patch. See [1].
[1] https://buildroot.org/downloads/manual/manual.html#_patch_revision_changelog
[snip]
package/qbittorrent/Config.in line 2
Quoted 8 lines
package/qbittorrent/Config.in new file +2
-0@@ -0,0 +1,63 @@ +comment "qbittorrent needs a toolchain w/ C++, threads, wchar, NPTL, dynamic library, gcc >= 4.8" + depends on !BR2_PACKAGE_QT
We no longer have qt4, so this is not needed.
package/qbittorrent/Config.in line 10
Quoted 7 lines
package/qbittorrent/Config.in new file +7
-0+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \ + !BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ + !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS> + +config BR2_PACKAGE_QBITTORRENT + bool "qbittorrent" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_HOST_GCC_AT_LEAST_4_8
Why is this needed? Put a small comment here, and a more extensive explanation
in the commit message.
package/qbittorrent/Config.in line 11
Quoted 1 line
package/qbittorrent/Config.in new file +1
-0+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
You should add a comment why. Typically this would be # C++11.
package/qbittorrent/Config.in line 12
Quoted 1 line
package/qbittorrent/Config.in new file +1
-0+ depends on BR2_TOOLCHAIN_HAS_THREADS
This is redundant, the NPTL below implies it.
package/qbittorrent/Config.in line 13
Quoted 1 line
package/qbittorrent/Config.in new file +1
-0+ depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
I assume this comes from qt5. Add a comment for that:
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # qt5
package/qbittorrent/Config.in line 19
Quoted 6 lines
package/qbittorrent/Config.in new file +6
-0+ depends on BR2_USE_WCHAR + depends on !BR2_STATIC_LIBS + depends on !BR2_PACKAGE_QT + select BR2_PACKAGE_BOOST + select BR2_PACKAGE_BOOST_SYSTEM + select BR2_PACKAGE_BOOST_THREAD
You didn't reply to Thomas's comment in v1 of the patch:
Is this package directly using Boost, or only indirectly because it's using libtorrent-rasterbar ? It's rather odd for a program to use both Boost and Qt.
I'll answer it myself, though: it *does* use Boost directly.
Quoted 24 lines
package/qbittorrent/Config.in new file +24
-0+ select BR2_PACKAGE_LIBTORRENT_RASTERBAR + select BR2_PACKAGE_QT5 + select BR2_PACKAGE_QT5BASE + select BR2_PACKAGE_ZLIB + help + The qBittorrent project aims to provide + an open-source software alternative to ?Torrent. + + https://www.qbittorrent.org/ + +if BR2_PACKAGE_QBITTORRENT + +config BR2_PACKAGE_QBITTORRENT_GUI + bool "GUI" + select BR2_PACKAGE_HICOLOR_ICON_THEME + select BR2_PACKAGE_QT5BASE_GUI + select BR2_PACKAGE_QT5BASE_WIDGETS + select BR2_PACKAGE_QT5SVG + help + Disable for headless mode. + The target binary will be called qbittorrent-nox. + +if BR2_PACKAGE_QBITTORRENT_GUI +
package/qbittorrent/Config.in line 53
Quoted 10 lines
package/qbittorrent/Config.in new file +10
-0+config BR2_PACKAGE_QBITTORRENT_QTDBUS + bool "D-Bus support" + default y + select BR2_PACKAGE_QT5BASE_DBUS + help + Enable D-Bus support. + +endif + +if !BR2_PACKAGE_QBITTORRENT_GUI
Why would you exclude the webUI if the GUI is selected? To me, it makes perfect
sense to have both available.
package/qbittorrent/Config.in line 54
Quoted 2 lines
package/qbittorrent/Config.in new file +2
-0+ +config BR2_PACKAGE_QBITTORRENT_WEBUI
If neither webUI nor GUI are selected, does the package still do something
useful? If not, then you should add the following to the top-level qbittorrent symbol:
select BR2_PACKAGE_QBITTORRENT_WEBUI if !BR2_PACKAGE_QBITTORRENT_GUI
This makes sure the webUI is unconditionally enabled when the GUI is not.
Quoted 14 lines
package/qbittorrent/Config.in new file +8
-0+ bool "WebUI" + default y + help + Enable the WebUI. + +endif + +endifpackage/qbittorrent/qbittorrent.hash new file +0
-0
package/qbittorrent/qbittorrent.hash line 1
Quoted 1 line
package/qbittorrent/qbittorrent.hash new file +1
-0@@ -0,0 +1,5 @@ +# Locally checked with PGP signature from https://downloads.sourceforge.net/sourceforge/qbittorrent/qbittorrent-4.1.4.tar.xz.asc
Excellent!
Quoted 10 lines
package/qbittorrent/qbittorrent.hash new file +4
-0+sha256 5f7b4c5ae891ce7fbab880ff322764a0d433fccf655164f6b98ef08f1ae52386 qbittorrent-4.1.4.tar.xz + +# Locally calculated +sha256 fc68233a17d308ee633aefedbd761c7582ec48557539aca310b4162e54212fe5 COPYINGpackage/qbittorrent/qbittorrent.mk new file +0
-0
package/qbittorrent/qbittorrent.mk line 10
Quoted 10 lines
package/qbittorrent/qbittorrent.mk new file +10
-0@@ -0,0 +1,41 @@ +################################################################################ +# +# qbittorrent +# +################################################################################ + +QBITTORRENT_VERSION = 4.1.4 +QBITTORRENT_SOURCE = qbittorrent-$(QBITTORRENT_VERSION).tar.xz +QBITTORRENT_SITE = https://downloads.sourceforge.net/sourceforge/qbittorrent +QBITTORRENT_LICENSE = GPL-2.0
All files have the 'or later' clause, so this is GPL-2.0+
package/qbittorrent/qbittorrent.mk line 13
Quoted 3 lines
package/qbittorrent/qbittorrent.mk new file +3
-0+QBITTORRENT_LICENSE_FILES = COPYING +QBITTORRENT_DEPENDENCIES = host-pkgconf boost libtorrent-rasterbar qt5base zlib +QBITTORRENT_CONF_OPTS += --with-boost-libdir=$(STAGING_DIR)/usr/lib
I think we should also set --with-qtsingleapplication=system
package/qbittorrent/qbittorrent.mk line 23
Quoted 10 lines
package/qbittorrent/qbittorrent.mk new file +10
-0+QBITTORRENT_INSTALL_TARGET_OPTS = INSTALL_ROOT="$(TARGET_DIR)" install + +ifeq ($(BR2_PACKAGE_QBITTORRENT_GUI),y) +QBITTORRENT_CONF_OPTS += --enable-gui +QBITTORRENT_DEPENDENCIES += hicolor-icon-theme qt5svg +else +QBITTORRENT_CONF_OPTS += --disable-gui +endif + +ifeq ($(BR2_PACKAGE_QBITTORRENT_QTDBUS),y)
Actually, for this one, you could also do it automatically, i.e.
ifeq ($(BR2_PACKAGE_QT5BASE_DBUS),y)
and remove the BR2_PACKAGE_QBITTORRENT_QTDBUS option. But it's not so important.
Quoted 8 lines
package/qbittorrent/qbittorrent.mk new file +8
-0+QBITTORRENT_CONF_OPTS += --enable-qt-dbus +else +QBITTORRENT_CONF_OPTS += --disable-qt-dbus +endif + +ifeq ($(BR2_INIT_SYSTEMD),y) +QBITTORRENT_CONF_OPTS += --enable-systemd +else
package/qbittorrent/qbittorrent.mk line 41
Quoted 10 lines
package/qbittorrent/qbittorrent.mk new file +10
-0+QBITTORRENT_CONF_OPTS += --disable-systemd +endif + +ifeq ($(BR2_PACKAGE_QBITTORRENT_WEBUI),y) +QBITTORRENT_CONF_OPTS += --enable-webui +else +QBITTORRENT_CONF_OPTS += --disable-webui +endif + +$(eval $(autotools-package))
Interesting... This package uses autoconf to generate a qmake configuration,
then qmake to generate a Makefile... I've never seen that.
Regards,
Arnout
PATCH 1/2 package/libtorrent-rasterbar: new package
In reply to Philipp RichterHello,
Quoted 6 lines · Philipp Richter
libtorrent is a feature complete C++ bittorrent implementation focusing on efficiency and scalability.
Signed-off-by Philipp Richter <[email protected]>
Quoted 10 lines
--- DEVELOPERS | 3 +++ package/Config.in | 1 + package/libtorrent-rasterbar/Config.in | 21 +++++++++++++++++ .../libtorrent-rasterbar.hash | 3 +++ .../libtorrent-rasterbar.mk | 23 +++++++++++++++++++ 5 files changed, 51 insertions(+) create mode 100644 package/libtorrent-rasterbar/Config.in create mode 100644 package/libtorrent-rasterbar/libtorrent-rasterbar.hash create mode 100644 package/libtorrent-rasterbar/libtorrent-rasterbar.mk
Thanks, I've applied to next, with one significant change (and a few minor formatting fixes). See below.
package/libtorrent-rasterbar/libtorrent-rasterbar.mk line 9
Quoted 3 lines
package/libtorrent-rasterbar/libtorrent-rasterbar.mk new file +3
-0+LIBTORRENT_RASTERBAR_VERSION = 1.1.11 +LIBTORRENT_RASTERBAR_SITE = https://github.com/arvidn/libtorrent/releases/download/libtorrent_$(subst .,_,$(LIBTORRENT_RASTERBAR_VERSION)) +LIBTORRENT_RASTERBAR_LICENSE = BSD-2-Clause
The license text says BSD-3-Clause, not BSD-2-Clause, so I fixed that when applying.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
PATCH 1/2 package/libtorrent-rasterbar: new package
Hello,
oh right my bad, thank you for correcting this.
Best Regards,
Philipp Richter
Quoted 39 lines · Thomas Petazzoni
Hello,
Quoted 6 lines · Philipp Richter
libtorrent is a feature complete C++ bittorrent implementation focusing on efficiency and scalability.
Signed-off-by Philipp Richter <[email protected]>Quoted 10 lines
--- DEVELOPERS | 3 +++ package/Config.in | 1 + package/libtorrent-rasterbar/Config.in | 21 +++++++++++++++++ .../libtorrent-rasterbar.hash | 3 +++ .../libtorrent-rasterbar.mk | 23 +++++++++++++++++++ 5 files changed, 51 insertions(+) create mode 100644 package/libtorrent-rasterbar/Config.in create mode 100644 package/libtorrent-rasterbar/libtorrent-rasterbar.hash create mode 100644 package/libtorrent-rasterbar/libtorrent-rasterbar.mkThanks, I've applied to next, with one significant change (and a few minor formatting fixes). See below.
package/libtorrent-rasterbar/libtorrent-rasterbar.mk line 9
Quoted 3 lines
package/libtorrent-rasterbar/libtorrent-rasterbar.mk new file +3
-0+LIBTORRENT_RASTERBAR_VERSION = 1.1.11 +LIBTORRENT_RASTERBAR_SITE = https://github.com/arvidn/libtorrent/releases/download/libtorrent_$(subst .,_,$(LIBTORRENT_RASTERBAR_VERSION)) +LIBTORRENT_RASTERBAR_LICENSE = BSD-2-ClauseThe license text says BSD-3-Clause, not BSD-2-Clause, so I fixed that when applying.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com