Skip to contentSkip to conversation

libtorrent: new package

PATCH Superseded Gustavo Zacarias 3 participants 7 messages May 11, 2012 – May 14, 2012

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 libtorrent: new package

---
 package/Config.in                                 |    1 +
 package/libtorrent/Config.in                      |   12 +++++++++
 package/libtorrent/libtorrent-cross_compile.patch |   27 +++++++++++++++++++++
 package/libtorrent/libtorrent.mk                  |   14 +++++++++++
 4 files changed, 54 insertions(+), 0 deletions(-)
 create mode 100644 package/libtorrent/Config.in
 create mode 100644 package/libtorrent/libtorrent-cross_compile.patch
 create mode 100644 package/libtorrent/libtorrent.mk
package/Config.in +1 -0
index 5c28174..6d5178e 100644
@@ -409,6 +409,7 @@ source "package/libpcap/Config.in"
 source "package/libosip2/Config.in"
 source "package/librsync/Config.in"
 source "package/libsoup/Config.in"
+source "package/libtorrent/Config.in"
 source "package/libupnp/Config.in"
 source "package/libvncserver/Config.in"
 source "package/zeromq/Config.in"
package/libtorrent/Config.in new file +12 -0
new file mode 100644
index 0000000..a1ce236
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_LIBTORRENT
+	bool "libtorrent"
+	depends on BR2_INSTALL_LIBSTDCPP
+	select BR2_PACKAGE_LIBSIGC
+	select BR2_PACKAGE_OPENSSL
+	help
+	  BitTorrent library written in C++ for *nix
+
+	  http://libtorrent.rakshasa.no/
+
+comment "libtorrent requires a toolchain with C++ support enabled"
+	depends on !BR2_INSTALL_LIBSTDCPP
package/libtorrent/libtorrent-cross_compile.patch new file +27 -0
new file mode 100644
index 0000000..39fe700
@@ -0,0 +1,27 @@
+Fix cross compilation, based on OpenWRT patch.
+
+Signed-off-by: Gustavo Zacarias <[email protected]>
+
+diff -Nura libtorrent-0.13.2/configure.ac libtorrent-0.13.2-cross/configure.ac
+--- libtorrent-0.13.2/configure.ac	2012-04-20 03:55:10.000000000 -0300
++++ libtorrent-0.13.2-cross/configure.ac	2012-05-09 10:57:49.671175421 -0300
+@@ -17,7 +17,6 @@
+ 
+ AM_INIT_AUTOMAKE
+ AM_CONFIG_HEADER(config.h)
+-AM_PATH_CPPUNIT(1.9.6)
+ AC_DISABLE_STATIC
+ 
+ AM_DISABLE_STATIC
+diff -Nura libtorrent-0.13.2/scripts/checks.m4 libtorrent-0.13.2-cross/scripts/checks.m4
+--- libtorrent-0.13.2/scripts/checks.m4	2012-04-12 06:44:23.000000000 -0300
++++ libtorrent-0.13.2-cross/scripts/checks.m4	2012-05-09 10:42:32.642728917 -0300
+@@ -96,7 +96,7 @@
+ AC_DEFUN([TORRENT_CHECK_KQUEUE_SOCKET_ONLY], [
+   AC_MSG_CHECKING(whether kqueue supports pipes and ptys)
+ 
+-  AC_RUN_IFELSE([AC_LANG_SOURCE([
++  AC_LINK_IFELSE([AC_LANG_SOURCE([
+       #include <fcntl.h>
+       #include <stdlib.h>
+       #include <unistd.h>
package/libtorrent/libtorrent.mk new file +14 -0
new file mode 100644
index 0000000..3f74c7b
@@ -0,0 +1,14 @@
+#############################################################
+#
+# libtorrent
+#
+#############################################################
+
+LIBTORRENT_VERSION = 0.13.2
+LIBTORRENT_SITE = http://libtorrent.rakshasa.no/downloads
+LIBTORRENT_DEPENDENCIES = host-pkg-config libsigc openssl
+LIBTORRENT_CONF_OPT = --enable-aligned --enable-openssl
+LIBTORRENT_INSTALL_STAGING = YES
+LIBTORRENT_AUTORECONF = YES
+
+$(eval $(call AUTOTARGETS))
Signature · 1 line
1.7.3.4
#1 lore raw

PATCH 2/2 rtorrent: new package

---
 package/Config.in                             |    1 +
 package/rtorrent/Config.in                    |   15 +++++++++++++
 package/rtorrent/rtorrent-cross_compile.patch |   27 +++++++++++++++++++++++++
 package/rtorrent/rtorrent.mk                  |   12 +++++++++++
 4 files changed, 55 insertions(+), 0 deletions(-)
 create mode 100644 package/rtorrent/Config.in
 create mode 100644 package/rtorrent/rtorrent-cross_compile.patch
 create mode 100644 package/rtorrent/rtorrent.mk
package/Config.in +1 -0
index 6d5178e..ffdcb21 100644
@@ -560,6 +560,7 @@ source "package/radvd/Config.in"
 source "package/rp-pppoe/Config.in"
 source "package/rsh-redone/Config.in"
 source "package/rsync/Config.in"
+source "package/rtorrent/Config.in"
 source "package/samba/Config.in"
 source "package/ser2net/Config.in"
 source "package/socat/Config.in"
package/rtorrent/Config.in new file +15 -0
new file mode 100644
index 0000000..702ab1d
@@ -0,0 +1,15 @@
+config BR2_PACKAGE_RTORRENT
+	bool "rtorrent"
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_USE_WCHAR
+	select BR2_PACKAGE_LIBCURL
+	select BR2_PACKAGE_LIBSIGC
+	select BR2_PACKAGE_LIBTORRENT
+	select BR2_PACKAGE_NCURSES
+	help
+	  BitTorrent Client using libtorrent
+
+	  http://libtorrent.rakshasa.no/
+
+comment "rtorrent requires a toolchain with C++ and WCHAR support"
+	depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR)
package/rtorrent/rtorrent-cross_compile.patch new file +27 -0
new file mode 100644
index 0000000..2be8d06
@@ -0,0 +1,27 @@
+Fix cross compilation, based on OpenWRT patch.
+
+Signed-off-by: Gustavo Zacarias <[email protected]>
+
+diff -Nura rtorrent-0.9.2/configure.ac rtorrent-0.9.2-cross/configure.ac
+--- rtorrent-0.9.2/configure.ac	2012-04-20 03:55:30.000000000 -0300
++++ rtorrent-0.9.2-cross/configure.ac	2012-05-09 11:06:49.436474039 -0300
+@@ -4,7 +4,6 @@
+ 
+ AM_INIT_AUTOMAKE
+ AM_CONFIG_HEADER(config.h)
+-AM_PATH_CPPUNIT(1.9.6)
+ 
+ AC_PROG_CXX
+ AC_PROG_LIBTOOL
+diff -Nura rtorrent-0.9.2/scripts/common.m4 rtorrent-0.9.2-cross/scripts/common.m4
+--- rtorrent-0.9.2/scripts/common.m4	2012-03-13 09:10:49.000000000 -0300
++++ rtorrent-0.9.2-cross/scripts/common.m4	2012-05-09 11:05:56.620102678 -0300
+@@ -223,7 +223,7 @@
+ AC_DEFUN([TORRENT_CHECK_EXECINFO], [
+   AC_MSG_CHECKING(for execinfo.h)
+ 
+-  AC_RUN_IFELSE([AC_LANG_SOURCE([
++  AC_LINK_IFELSE([AC_LANG_SOURCE([
+       #include <execinfo.h>
+       int main() { backtrace((void**)0, 0); backtrace_symbols((char**)0, 0); return 0;}
+       ])],
package/rtorrent/rtorrent.mk new file +12 -0
new file mode 100644
index 0000000..f60bd40
@@ -0,0 +1,12 @@
+#############################################################
+#
+# rtorrent
+#
+#############################################################
+
+RTORRENT_VERSION = 0.9.2
+RTORRENT_SITE = http://libtorrent.rakshasa.no/downloads
+RTORRENT_DEPENDENCIES = host-pkg-config libcurl libsigc libtorrent ncurses
+RTORRENT_AUTORECONF = YES
+
+$(eval $(call AUTOTARGETS))
Signature · 1 line
1.7.3.4
#2 lore raw

PATCH 1/2 libtorrent: new package

In reply to Gustavo Zacarias

package/libtorrent/libtorrent.mk line 10

Quoted 2 lines · Gustavo Zacarias
package/libtorrent/libtorrent.mk new file +2 -0
+LIBTORRENT_DEPENDENCIES = host-pkg-config libsigc openssl
+LIBTORRENT_CONF_OPT = --enable-aligned --enable-openssl

Isn't the openssl dependency optional?

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#3 lore raw

PATCH 1/2 libtorrent: new package

Quoted 8 lines · Arnout Vandecappelle

package/libtorrent/libtorrent.mk line 10

Quoted 2 lines · Gustavo Zacarias
package/libtorrent/libtorrent.mk new file +2 -0
+LIBTORRENT_DEPENDENCIES = host-pkg-config libsigc openssl
+LIBTORRENT_CONF_OPT = --enable-aligned --enable-openssl

Isn't the openssl dependency optional?

Regards,
Arnout

Yes for libtorrent, no if you want rtorrent to work (needs libtorrent built with openssl to work - it builds without it but will bail out when running it).
I can add an openssl Config.in knob but since 99% of the time libtorrent will be used as a dependency of rtorrent it's kind of pointless.
Regards.

#4 lore raw

PATCH 1/2 libtorrent: new package

Quoted 8 lines · Gustavo Zacarias
Quoted 6 lines · Arnout Vandecappelle

package/libtorrent/libtorrent.mk line 10

Quoted 2 lines · Gustavo Zacarias
package/libtorrent/libtorrent.mk new file +2 -0
+LIBTORRENT_DEPENDENCIES = host-pkg-config libsigc openssl
+LIBTORRENT_CONF_OPT = --enable-aligned --enable-openssl

Isn't the openssl dependency optional?

Quoted 7 lines
Quoted 2 lines

Regards,
Arnout

Yes for libtorrent, no if you want rtorrent to work (needs libtorrent built with openssl to work - it builds without it but will bail out when running it).
I can add an openssl Config.in knob but since 99% of the time libtorrent will be used as a dependency of rtorrent it's kind of pointless.

You could add 'select BR2_PACKAGE_OPENSSL' to rtorrent instead. But indeed
it is probably pointless.

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#5 lore raw

PATCH 1/2 libtorrent: new package

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Arnout" == Arnout Vandecappelle <[email protected]> writes:

Arnout> You could add 'select BR2_PACKAGE_OPENSSL' to rtorrent Arnout> instead. But indeed it is probably pointless.

Still, I would prefer if we do it correctly, E.G. make openssl optional in libtorrent, and select it by rtorrent.

Signature · 1 line
Bye, Peter Korsgaard
#6 lore raw

PATCH 1/2 libtorrent: new package

Quoted 3 lines · Peter Korsgaard

Still, I would prefer if we do it correctly, E.G. make openssl optional
in libtorrent, and select it by rtorrent.

Ok, i dunno who will use libtorrent on his own (specially since it was never added to BR) though.
Sent V3 set (on V2 i forgot to remove the select from libtorrent). Regards.