From 86d1624cff7347bfc73187e209b5017f06201a2c 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. --- deluge/core/autoadd.py | 5 ++++- deluge/core/core.py | 5 ++++- deluge/core/oldstateupgrader.py | 5 ++++- deluge/core/preferencesmanager.py | 5 ++++- deluge/core/torrent.py | 5 ++++- deluge/core/torrentmanager.py | 5 ++++- setup.py | 23 ++++++++++++++--------- 7 files changed, 38 insertions(+), 15 deletions(-) diff --git a/deluge/core/autoadd.py b/deluge/core/autoadd.py index c84fc6e3b..b4016f67f 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 36d8f59d0..3ce6e5715 100644 --- a/deluge/core/core.py +++ b/deluge/core/core.py @@ -46,7 +46,10 @@ 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/preferencesmanager.py b/deluge/core/preferencesmanager.py index 969aa5890..b67757d4d 100644 --- a/deluge/core/preferencesmanager.py +++ b/deluge/core/preferencesmanager.py @@ -35,7 +35,10 @@ import os.path import threading import gobject -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/torrent.py b/deluge/core/torrent.py index 6e988cee3..d348155ee 100644 --- a/deluge/core/torrent.py +++ b/deluge/core/torrent.py @@ -36,7 +36,10 @@ import os from urlparse import urlparse -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 6de300d13..65233f144 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/setup.py b/setup.py index e1d39bd9c..7afa7e3e9 100644 --- a/setup.py +++ b/setup.py @@ -188,14 +188,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' @@ -298,7 +303,7 @@ setup( deluged = deluge.main:start_daemon """, ext_package = "deluge", - ext_modules = [libtorrent], + ext_modules = _ext_modules, fullname = "Deluge Bittorent Client", include_package_data = True, license = "GPLv3",