-#
-# Copyright (C) 2007 OpenWrt.org
+#
+# Copyright (C) 2007-2010 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
-# $Id$
include $(TOPDIR)/rules.mk
PKG_NAME:=libtorrent
-PKG_VERSION:=0.11.7
-PKG_RELEASE:=1
+PKG_REV:=1130
+PKG_VERSION:=0.12.6_r$(PKG_REV)
+PKG_RELEASE:=3
+
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://libtorrent.rakshasa.no/downloads/
-PKG_MD5SUM:=86cdfca2d1c3cfb3b6b316d9beaa25e0
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=svn://rakshasa.no/libtorrent/trunk/libtorrent
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE_VERSION:=$(PKG_REV)
+PKG_SOURCE_PROTO:=svn
-PKG_BUILD_DEPENDS:=libtool
+PKG_FIXUP:=libtool
+PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
CATEGORY:=Libraries
TITLE:=Rakshasa's BitTorrent library
URL:=http://libtorrent.rakshasa.no/
- DEPENDS:=+libsigcxx
+ DEPENDS:=+libopenssl +libsigcxx @LINUX_2_6
endef
define Package/libtorrent/description
- LibTorrent is a BitTorrent library written in C++ for *nix, with a focus
- on high performance and good code. The library differentiates itself from
- other implementations by transfering directly from file pages to the
- network stack. On high-bandwidth connections it is able to seed at 3 times
+ LibTorrent is a BitTorrent library written in C++ for *nix, with a focus
+ on high performance and good code. The library differentiates itself from
+ other implementations by transfering directly from file pages to the
+ network stack. On high-bandwidth connections it is able to seed at 3 times
the speed of the official client.
endef
+ifneq ($(CONFIG_GCC_VERSION_3_4)$(CONFIG_GCC_VERSION_4_1),)
+TARGET_CPPFLAGS += -fno-strict-aliasing
+endif
+
+TARGET_CPPFLAGS += -fno-inline
+
+# XXX: rtorrent needs encryption (--enable-openssl)
CONFIGURE_ARGS+= \
--enable-shared \
--enable-static \
--enable-aligned \
--disable-debug \
- --disable-openssl \
-
-CONFIGURE_VARS += \
- CXX="g++-uc+std" \
- CXXFLAGS="$$$$CXXFLAGS -fno-rtti" \
+ --enable-openssl \
define Build/Configure
- $(call Build/Configure/Default,)
- $(call libtool_disable_rpath)
- $(SED) 's|^sys_lib_dlsearch_path_spec=.*|sys_lib_dlsearch_path_spec="$(STAGING_DIR)/usr/lib"|g' \
- $(PKG_BUILD_DIR)/libtool
- $(SED) 's|^postdeps=.*|postdeps=|g' $(PKG_BUILD_DIR)/libtool
-endef
-
-define Build/Compile
- $(MAKE) -C $(PKG_BUILD_DIR) all
- $(call libtool_fixup_libdir,$(PKG_INSTALL_DIR))
- $(MAKE) -C $(PKG_BUILD_DIR) DESTDIR="$(PKG_INSTALL_DIR)" install
+ (cd $(PKG_BUILD_DIR); ./autogen.sh );
+ $(call Build/Configure/Default)
endef
define Build/InstallDev
- mkdir -p $(STAGING_DIR)/usr/include
- $(CP) $(PKG_INSTALL_DIR)/usr/include/torrent $(STAGING_DIR)/usr/include/
- mkdir -p $(STAGING_DIR)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libtorrent.{a,so*} $(STAGING_DIR)/usr/lib/
- mkdir -p $(STAGING_DIR)/usr/lib/pkgconfig
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libtorrent.pc $(STAGING_DIR)/usr/lib/pkgconfig/
- $(SED) 's,$(TARGET_LDFLAGS),,g' $(STAGING_DIR)/usr/lib/pkgconfig/libtorrent.pc
-endef
-
-define Build/UninstallDev
- rm -rf $(STAGING_DIR)/usr/include/torrent \
- $(STAGING_DIR)/usr/lib/libtorrent.{a,so*} \
- $(STAGING_DIR)/usr/lib/pkgconfig/libtorrent.pc
+ $(INSTALL_DIR) $(1)/usr/include
+ $(CP) $(PKG_INSTALL_DIR)/usr/include/torrent $(1)/usr/include/
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libtorrent.{a,so*} $(1)/usr/lib/
+ $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libtorrent.pc $(1)/usr/lib/pkgconfig/
endef
define Package/libtorrent/install