Some changes, including use the rb_libtorrent library from the system, and some other...
authorRaúl Porcel <armin76@gentoo.org>
Fri, 16 Mar 2007 19:44:45 +0000 (19:44 +0000)
committerRaúl Porcel <armin76@gentoo.org>
Fri, 16 Mar 2007 19:44:45 +0000 (19:44 +0000)
Package-Manager: portage-2.1.2.2

net-p2p/deluge/ChangeLog
net-p2p/deluge/Manifest
net-p2p/deluge/deluge-0.5.0_rc2.ebuild
net-p2p/deluge/files/0.5.0_rc2-use-system-rblibtorrent.patch [new file with mode: 0644]

index 3564dfdccae1c1fe418dcd3d4023eb52a0fbed88..f13bbbc143b450a0de8e726193fae9f0977cd3a4 100644 (file)
@@ -1,6 +1,11 @@
 # ChangeLog for net-p2p/deluge
 # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-p2p/deluge/ChangeLog,v 1.1 2007/03/16 16:38:38 armin76 Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-p2p/deluge/ChangeLog,v 1.2 2007/03/16 19:44:45 armin76 Exp $
+
+  16 Mar 2007; Raúl Porcel <armin76@gentoo.org>
+  +files/0.5.0_rc2-use-system-rblibtorrent.patch, deluge-0.5.0_rc2.ebuild:
+  Some changes, including use the rb_libtorrent library from the system, and
+  some other changes from Fedora
 
 *deluge-0.5.0_rc2 (16 Mar 2007)
 
index 377a27832c4ed78e2a998193d95edfc43f64c741..3ca5eb61c9c2c08da2b9da9a857b047367bdbc73 100644 (file)
@@ -1,12 +1,16 @@
+AUX 0.5.0_rc2-use-system-rblibtorrent.patch 8101 RMD160 65c08b73d5d6aeaf822dfc6839272dbe9296ed0d SHA1 45818b8cc5e1e547881c91f8c393520b39280ec3 SHA256 e6bbe3ffc5a3e31b5d139f08b8764e059bdc2e8f6bc351439cca99c882a18784
+MD5 245fe121257f091f64b5a15af8235277 files/0.5.0_rc2-use-system-rblibtorrent.patch 8101
+RMD160 65c08b73d5d6aeaf822dfc6839272dbe9296ed0d files/0.5.0_rc2-use-system-rblibtorrent.patch 8101
+SHA256 e6bbe3ffc5a3e31b5d139f08b8764e059bdc2e8f6bc351439cca99c882a18784 files/0.5.0_rc2-use-system-rblibtorrent.patch 8101
 DIST deluge-0.4.99.2.tar.gz 513257 RMD160 2a8337e68eecfd24367a438fabd02b1dceecd24e SHA1 6e12d18cd1b41bd7b472ad19f373e33e7df7c188 SHA256 58ed4a12f5eb2e2e628c45e77ecd26e321e5ffdda49a6d229645008598943f63
-EBUILD deluge-0.5.0_rc2.ebuild 1357 RMD160 102cbf20c437bfcaf85429afdae4c1559ba271bc SHA1 dad5a94767a3d71b82042ff1e4441af18dcd0ea6 SHA256 ad775fed16a21170a7bde90e16f1a069e7a72191b3eb5cfaae0b37743ed8018a
-MD5 8721ef24d3a99964eb16ff1ffb04c2b2 deluge-0.5.0_rc2.ebuild 1357
-RMD160 102cbf20c437bfcaf85429afdae4c1559ba271bc deluge-0.5.0_rc2.ebuild 1357
-SHA256 ad775fed16a21170a7bde90e16f1a069e7a72191b3eb5cfaae0b37743ed8018a deluge-0.5.0_rc2.ebuild 1357
-MISC ChangeLog 353 RMD160 32c180b7f55a61520b16ab34f77ea52cb8cc6e2c SHA1 25812ceb0b628395747c9eef1e695a3f2d58068f SHA256 836c8bd16896c3369e3bf19c3eea5e869338546b47de57e47f46d64aae1dcdeb
-MD5 79527ac6cca53c4775f170673f48683f ChangeLog 353
-RMD160 32c180b7f55a61520b16ab34f77ea52cb8cc6e2c ChangeLog 353
-SHA256 836c8bd16896c3369e3bf19c3eea5e869338546b47de57e47f46d64aae1dcdeb ChangeLog 353
+EBUILD deluge-0.5.0_rc2.ebuild 1567 RMD160 b597601864b2d7931d5d1881e82557e06e51bd4e SHA1 17563ceda2e94ab24e0e6897a8438d66a7ce4b8e SHA256 7d883e7106f9d1d452092c38b946baad75f888e27e3cfefc032bb2feb82903ac
+MD5 5927837cfca188d1505c966c248897a7 deluge-0.5.0_rc2.ebuild 1567
+RMD160 b597601864b2d7931d5d1881e82557e06e51bd4e deluge-0.5.0_rc2.ebuild 1567
+SHA256 7d883e7106f9d1d452092c38b946baad75f888e27e3cfefc032bb2feb82903ac deluge-0.5.0_rc2.ebuild 1567
+MISC ChangeLog 588 RMD160 23d4f6cbd1c9c748a326146f7d60a0e2851025d6 SHA1 068f5c626a5688ec506036ae69a9ef235de9be29 SHA256 450fadd534847e4d05bab02ebe0c079e94e6d0899cca55cce80c2a96e9863148
+MD5 07eb32193e55eba9f2550d94c36a209d ChangeLog 588
+RMD160 23d4f6cbd1c9c748a326146f7d60a0e2851025d6 ChangeLog 588
+SHA256 450fadd534847e4d05bab02ebe0c079e94e6d0899cca55cce80c2a96e9863148 ChangeLog 588
 MISC metadata.xml 160 RMD160 828887200387b28c37fc97111fc6bc3a0a2fcccd SHA1 813ef5bc57f6a8d95e7cab7a745a2a824858f49c SHA256 fe06593409e7f28665c032001005e94cb650299711a0af7f1a558bdb56c4004f
 MD5 8aefbc0e49db723ca1ad02d0c409cd49 metadata.xml 160
 RMD160 828887200387b28c37fc97111fc6bc3a0a2fcccd metadata.xml 160
index 8be4004e71c9393878e6b35dac86e056b26c55dc..a8412bbdcd4d0e045495011ecb705ab7ddcab465 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2007 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-p2p/deluge/deluge-0.5.0_rc2.ebuild,v 1.1 2007/03/16 16:38:38 armin76 Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-p2p/deluge/deluge-0.5.0_rc2.ebuild,v 1.2 2007/03/16 19:44:45 armin76 Exp $
 
 inherit eutils distutils
 
@@ -16,7 +16,8 @@ KEYWORDS="~amd64 ~x86"
 IUSE="libnotify"
 
 DEPEND=">=dev-lang/python-2.3
-       dev-libs/boost"
+       dev-libs/boost
+       >=net-libs/rb_libtorrent-0.11"
 RDEPEND="${DEPEND}
        >=dev-python/pygtk-2
        dev-python/pyxdg
@@ -36,6 +37,8 @@ src_unpack() {
        unpack ${A}
        cd "${S}"
 
+       epatch "${FILESDIR}"/${PV}-use-system-rblibtorrent.patch
+
        # use the threaded libs
        sed -i -e "s:\('boost_[^']*\):\1-mt:g" setup.py \
                || die "sed failed"
@@ -45,6 +48,13 @@ src_unpack() {
                src/dcommon.py || die "sed failed"
 }
 
+src_compile() {
+       if use amd64 || use ia64 || use ppc64; then
+               CFLAGS="${CFLAGS} -DAMD64"
+       fi
+       distutils_src_compile
+}
+
 pkg_postinst() {
        elog
        elog "Please note that Deluge is still in it's early stages"
diff --git a/net-p2p/deluge/files/0.5.0_rc2-use-system-rblibtorrent.patch b/net-p2p/deluge/files/0.5.0_rc2-use-system-rblibtorrent.patch
new file mode 100644 (file)
index 0000000..ceb3771
--- /dev/null
@@ -0,0 +1,211 @@
+--- setup.py   2007-03-16 20:06:06.000000000 +0100
++++ deluge-fixed-setup.py      2007-03-16 20:06:20.000000000 +0100
+@@ -1,4 +1,9 @@
+ # Copyright (c) 2006 Zach Tibbitts ('zachtib') <zach@collegegeek.org>
++# Heavily modified by Peter Gordon ('codergeek42') <peter@thecodergeek.com>:
++# (1) Forcibly build against a system copy of libtorrent (Rasterbar's);
++# (2) Don't let the build script hardcode the RPM buildroot install path in the
++#  installed files.
++# (3) Use proper CFLAGS (e.g., don't strip any)
+ #
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+@@ -28,148 +33,29 @@
+ pythonVersion = platform.python_version()[0:3]
+-NAME          = "deluge"
+-FULLNAME      = "Deluge BitTorrent Client"
+-VERSION               = "0.4.99.2"
+-AUTHOR                = "Zach Tibbitts, Alon Zakai"
+-EMAIL         = "zach@collegegeek.org, kripkensteiner@gmail.com"
+-DESCRIPTION   = "A bittorrent client written in PyGTK"
+-URL                   = "http://deluge-torrent.org"
+-LICENSE               = "GPLv2"
+-
+-# NOTE: The following "hack" removes the -g and -Wstrict-prototypes
+-# build options from the command that will compile the C++ module,
+-# deluge_core.  While we understand that you aren't generally
+-# encouraged to do this, we have done so for the following reasons:
+-# 1) The -g compiler option produces debugging information about
+-#     the compiled module.  However, this option increases the 
+-#     size of deluge_core.so from ~1.9MB to 13.6MB and slows down
+-#     the program's execution without offering any benefits 
+-#     whatsoever.
+-# 2) -Wstrict-prototypes is not a valid C++ build option, and the
+-#     compiler will throw a number of warnings at compile time.
+-#     While this does not really impact anything, it makes it
+-#     seem as if something is going wrong with the compile, and
+-#     it has been removed to prevent confusion.
++APP_VERSION = "0.4.99.2"
+-removals = ['-g', '-DNDEBUG', '-O2', '-Wstrict-prototypes']
+ additions = ['-DNDEBUG', '-O2']
+ if pythonVersion == '2.5':
+       cv_opt = sysconfig.get_config_vars()["CFLAGS"]
+-      for removal in removals:
+-              cv_opt = cv_opt.replace(removal, " ")
+       for addition in additions:
+               cv_opt = cv_opt + " " + addition
+       sysconfig.get_config_vars()["CFLAGS"] = ' '.join(cv_opt.split())
+ else:
+       cv_opt = sysconfig.get_config_vars()["OPT"]
+-      for removal in removals:
+-              cv_opt = cv_opt.replace(removal, " ")
+       for addition in additions:
+               cv_opt = cv_opt + " " + addition
+       sysconfig.get_config_vars()["OPT"] = ' '.join(cv_opt.split())
+-# NOTE: The Rasterbar Libtorrent source code is in the libtorrent/ directory
+-# inside of Deluge's source tarball.  On several occasions, it has been 
+-# pointed out to us that we should build against the system's installed 
+-# libtorrent rather than our internal copy, and a few people even submitted
+-# patches to do just that. However, as of now, this version
+-# of libtorrent is not available in Debian, and as a result, Ubuntu. Once
+-# libtorrent-rasterbar is available in the repositories of these distributions,
+-# we will probably begin to build against a system libtorrent, but at the
+-# moment, we are including the source code to make packaging on Debian and
+-# Ubuntu possible.
+ deluge_core = Extension('deluge_core',
+-                    include_dirs = ['./libtorrent', './libtorrent/include', 
+-                                      './libtorrent/include/libtorrent', 
+-                                      '/usr/include/python' + pythonVersion],
+-                    libraries = ['boost_filesystem', 'boost_date_time',
+-                                      'boost_program_options', 'boost_regex',
+-                                      'boost_serialization', 'boost_thread', 
+-                                      'z', 'pthread'],
+-                    extra_compile_args = ["-Wno-missing-braces"],
+-                    sources = ['src/deluge_core.cpp',
+-                                      'libtorrent/src/alert.cpp',
+-                                      'libtorrent/src/allocate_resources.cpp',
+-                                      'libtorrent/src/bt_peer_connection.cpp',
+-                                      'libtorrent/src/entry.cpp',
+-                                      'libtorrent/src/escape_string.cpp',
+-                                      'libtorrent/src/file.cpp',
+-                                      'libtorrent/src/http_tracker_connection.cpp',
+-                                      'libtorrent/src/identify_client.cpp',
+-                                      'libtorrent/src/ip_filter.cpp',
+-                                      'libtorrent/src/peer_connection.cpp',
+-                                      'libtorrent/src/piece_picker.cpp',     
+-                                      'libtorrent/src/policy.cpp',       
+-                                      'libtorrent/src/session.cpp',   
+-                                      'libtorrent/src/session_impl.cpp',
+-                                      'libtorrent/src/sha1.cpp',
+-                                      'libtorrent/src/stat.cpp',
+-                                      'libtorrent/src/storage.cpp',
+-                                      'libtorrent/src/torrent.cpp',
+-                                      'libtorrent/src/torrent_handle.cpp',
+-                                      'libtorrent/src/torrent_info.cpp',
+-                                      'libtorrent/src/tracker_manager.cpp',
+-                                      'libtorrent/src/udp_tracker_connection.cpp',
+-                                      'libtorrent/src/web_peer_connection.cpp',
+-                                              'libtorrent/src/kademlia/closest_nodes.cpp',
+-                                              'libtorrent/src/kademlia/dht_tracker.cpp',
+-                                              'libtorrent/src/kademlia/find_data.cpp',
+-                                              'libtorrent/src/kademlia/node.cpp',
+-                                              'libtorrent/src/kademlia/node_id.cpp',
+-                                              'libtorrent/src/kademlia/refresh.cpp',
+-                                              'libtorrent/src/kademlia/routing_table.cpp',
+-                                              'libtorrent/src/kademlia/rpc_manager.cpp',
+-                                              'libtorrent/src/kademlia/traversal_algorithm.cpp'])
++      include_dirs = [sysconfig.get_python_inc(), '/usr/include', '/usr/include/libtorrent'],
++      libraries = ['boost_filesystem', 'torrent'],
++      extra_compile_args = ["-Wno-missing-braces"],
++      sources = ['src/deluge_core.cpp'])
+-# Thanks to Iain Nicol for code to save the location for installed prefix
+-# At runtime, we need to know where we installed the data to.
+-class write_data_install_path(cmd.Command):
+-      description = 'saves the data installation path for access at runtime'
+-      
+-      def initialize_options(self):
+-              self.prefix = None
+-              self.lib_build_dir = None
+-
+-      def finalize_options(self):
+-              self.set_undefined_options('install',
+-                      ('prefix', 'prefix')
+-              )
+-              self.set_undefined_options('build',
+-                      ('build_lib', 'lib_build_dir')
+-              )
+-
+-      def run(self):
+-              conf_filename = os.path.join(self.lib_build_dir,
+-                      'deluge', 'dcommon.py')
+-
+-              conf_file = open(conf_filename, 'r')
+-              data = conf_file.read()
+-              conf_file.close()
+-              data = data.replace('@datadir@', self.prefix)
+-
+-              conf_file = open(conf_filename, 'w')
+-              conf_file.write(data)
+-              conf_file.close()
+-
+-class unwrite_data_install_path(cmd.Command):
+-      description = 'undoes write_data_install_path'
+-
+-      def initialize_options(self):
+-              self.lib_build_dir = None
+-
+-      def finalize_options(self):             
+-              self.set_undefined_options('build',
+-                      ('build_lib', 'lib_build_dir')
+-              )
+-
+-      def run(self):
+-              dest = os.path.join(self.lib_build_dir,
+-                      'deluge', 'dcommon.py')
+-              shutil.copyfile('src/dcommon.py', dest)
+ class build_trans(cmd.Command):
+       description = 'Compile .po files into .mo files'
+@@ -206,12 +92,6 @@
+       def run(self):
+               _build.run(self)
+-class install(_install):
+-      sub_commands = [('write_data_install_path', None)] + \
+-              _install.sub_commands + [('unwrite_data_install_path', None)]
+-      def run(self):
+-              _install.run(self)
+-
+ class install_data(_install_data):
+       def run(self):
+               for lang in os.listdir('build/locale/'):
+@@ -220,13 +100,12 @@
+                       self.data_files.append( (lang_dir, [lang_file]) )
+               _install_data.run(self)
++
++
+ cmdclass = {
+       'build': build,
+-      'install': install,
+       'build_trans': build_trans,
+       'install_data': install_data,
+-      'write_data_install_path': write_data_install_path,
+-      'unwrite_data_install_path': unwrite_data_install_path,
+ }
+ data = [('share/deluge/glade',  glob.glob('glade/*.glade')),
+@@ -237,9 +116,12 @@
+ for plugin in glob.glob('plugins/*'):
+       data.append( ('share/deluge/' + plugin, glob.glob(plugin + '/*')) )
+-setup(name=NAME, fullname=FULLNAME, version=VERSION,
+-      author=AUTHOR, author_email=EMAIL, description=DESCRIPTION,
+-      url=URL, license=LICENSE,
++setup(name="deluge", fullname="Deluge BitTorrent Client", version=APP_VERSION,
++      author="Zach Tibbitts, Alon Zakai",
++      author_email="zach@collegegeek.org, kripkensteiner@gmail.com",
++      description="A bittorrent client written in PyGTK",
++      url="http://deluge-torrent.org",
++      license="GPLv2",
+       scripts=["scripts/deluge"],
+       packages=['deluge'],
+       package_dir = {'deluge': 'src'},