From cc7e6d1ff277c6cfe105be02833471e5b463f0fc Mon Sep 17 00:00:00 2001 From: Andrew Resch Date: Fri, 17 Oct 2008 17:52:12 +0000 Subject: [PATCH] Deluge will now use a system libtorrent library if available. --- ChangeLog | 7 ++++++- deluge/core/alertmanager.py | 5 ++++- deluge/core/autoadd.py | 5 ++++- deluge/core/core.py | 6 +++++- deluge/core/oldstateupgrader.py | 5 ++++- deluge/core/torrent.py | 5 ++++- deluge/core/torrentmanager.py | 5 ++++- deluge/ui/gtkui/addtorrentdialog.py | 5 ++++- setup.py | 21 +++++++++++++-------- 9 files changed, 48 insertions(+), 16 deletions(-) diff --git a/ChangeLog b/ChangeLog index bd118f162..f9fa2229f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -8,7 +8,12 @@ Deluge 1.0.3 (In Development) * Fix ip filtering WebUI: - * Fix White template for Opera + * Fix White template for Opera + + Misc: + * Deluge will now use a system libtorrent library if available. + * The build system will no longer build libtorrent if a system library is + detected. Deluge 1.0.2 (10 October 2008) Core: diff --git a/deluge/core/alertmanager.py b/deluge/core/alertmanager.py index 31bbb644e..2ed05149b 100644 --- a/deluge/core/alertmanager.py +++ b/deluge/core/alertmanager.py @@ -36,7 +36,10 @@ import gobject import deluge.component as component -import deluge.libtorrent as lt +try: + import libtorrent as lt +except ImportError: + import deluge.libtorrent as lt from deluge.log import LOG as log class AlertManager(component.Component): diff --git a/deluge/core/autoadd.py b/deluge/core/autoadd.py index a4c40314b..b15b1d0cc 100644 --- a/deluge/core/autoadd.py +++ b/deluge/core/autoadd.py @@ -33,7 +33,10 @@ import os -import deluge.libtorrent as lt +try: + import libtorrent as lt +except ImportError: + import deluge.libtorrent as lt import deluge.component as component from deluge.configmanager import ConfigManager from deluge.log import LOG as log diff --git a/deluge/core/core.py b/deluge/core/core.py index 7bebe46e6..fac5d65c4 100644 --- a/deluge/core/core.py +++ b/deluge/core/core.py @@ -46,7 +46,11 @@ import gobject import threading import socket -import deluge.libtorrent as lt +try: + import libtorrent as lt +except ImportError: + import deluge.libtorrent as lt + import deluge.configmanager import deluge.common import deluge.component as component diff --git a/deluge/core/oldstateupgrader.py b/deluge/core/oldstateupgrader.py index d7389d00a..ac08b50fb 100644 --- a/deluge/core/oldstateupgrader.py +++ b/deluge/core/oldstateupgrader.py @@ -37,7 +37,10 @@ import pickle import cPickle import shutil -import deluge.libtorrent as lt +try: + import libtorrent as lt +except ImportError: + import deluge.libtorrent as lt from deluge.configmanager import ConfigManager import deluge.core.torrentmanager from deluge.log import LOG as log diff --git a/deluge/core/torrent.py b/deluge/core/torrent.py index 4a3116ab8..8ddb8e463 100644 --- a/deluge/core/torrent.py +++ b/deluge/core/torrent.py @@ -35,7 +35,10 @@ import os -import deluge.libtorrent as lt +try: + import libtorrent as lt +except ImportError: + import deluge.libtorrent as lt import deluge.common import deluge.component as component from deluge.configmanager import ConfigManager diff --git a/deluge/core/torrentmanager.py b/deluge/core/torrentmanager.py index f14f6885d..c76dd0a2d 100644 --- a/deluge/core/torrentmanager.py +++ b/deluge/core/torrentmanager.py @@ -40,7 +40,10 @@ import time import gobject -import deluge.libtorrent as lt +try: + import libtorrent as lt +except ImportError: + import deluge.libtorrent as lt import deluge.common import deluge.component as component diff --git a/deluge/ui/gtkui/addtorrentdialog.py b/deluge/ui/gtkui/addtorrentdialog.py index 6f90a9a42..31cba43a6 100644 --- a/deluge/ui/gtkui/addtorrentdialog.py +++ b/deluge/ui/gtkui/addtorrentdialog.py @@ -179,7 +179,10 @@ class AddTorrentDialog(component.Component): break def add_from_files(self, filenames): - import deluge.libtorrent as lt + try: + import libtorrent as lt + except ImportError: + import deluge.libtorrent as lt import os.path new_row = None diff --git a/setup.py b/setup.py index 5a512b1df..e9a42e594 100644 --- a/setup.py +++ b/setup.py @@ -165,14 +165,19 @@ for source in _sources: _sources.remove(source) break -libtorrent = Extension( - 'libtorrent', - extra_compile_args = _extra_compile_args, - include_dirs = _include_dirs, - libraries = _libraries, - library_dirs = _library_dirs, - sources = _sources -) +_ext_modules = [] +if not os.path.exists(os.path.join(sysconfig.get_config_var("LIBDIR"), "libtorrent-rasterbar.so.1")): + # There isn't a system libtorrent library, so let's build the one included with deluge + libtorrent = Extension( + 'libtorrent', + extra_compile_args = _extra_compile_args, + include_dirs = _include_dirs, + libraries = _libraries, + library_dirs = _library_dirs, + sources = _sources + ) + + _ext_modules = [libtorrent] class build_trans(cmd.Command): description = 'Compile .po files into .mo files'