You are not logged in.

#1 2007-02-24 02:03:32

lunke
Member
From: Sweden
Registered: 2005-05-21
Posts: 86

My BitTorrent client

I've been hacking together a Bittorrent client for GTK for a while now and it's getting fairly usefull (well sort of anyway, still alpha quality software).
So I thought it's about time I have some people try out to get some comment/suggestion/bug reports so I can inprove it further.
For the interested here is two PKGBUILDS (not sure if the dependencies are correct though).

If you try it out please do comment either directly to my mail or report bugs/request here http://code.google.com/p/linkage/issues/list
Also if you're a C++ devoloper looking to help out do drop me a line smile

#Contributor: Christian Lundgren <zeflunk@gmail.com>
pkgname=linkage
pkgver=0.1.1
pkgrel=1
pkgdesc="A GTK BitTorrent client"
url="http://code.google.com/p/linkage"
#optional depends are geoip
depends=(gtkmm rb_libtorrent libnotify curl dbus-glib)
source=()

build() {
  cd $startdir/src/
  svn checkout http://linkage.googlecode.com/svn/trunk/ linkage
  cd linkage
  ./autogen.sh && ./configure --prefix=/usr
  make || return 1
  make PREFIX=$startdir/pkg/usr DESTDIR=$startdir/pkg install
}
#Contributor: Christian Lundgren <zeflunk@gmail.com>
pkgname=rb_libtorrent
pkgver=0.11
pkgrel=1
pkgdesc="A BitTorrent library"
url="http://libtorrent.sf.net"
depends=(boost)
conflicts(libtorrent)
source=(http://puzzle.dl.sourceforge.net/sourceforge/libtorrent/libtorrent-0.11.tar.gz)
md5sums=('56e9071b95a6e3f9377121f2fead3499')

build() {
  cd $startdir/src/$pkgname-$pkgver
  ./configure --prefix=/usr
  make || return 1
  make PREFIX=$startdir/pkg/usr DESTDIR=$startdir/pkg install
}

Last edited by lunke (2007-02-24 16:45:07)

Offline

#2 2007-02-24 02:22:44

phrakture
Arch Overlord
From: behind you
Registered: 2003-10-29
Posts: 7,879
Website

Re: My BitTorrent client

Needs screenshots: http://zeflunk.googlepages.com/

Definitely looks interesting.  I'm currently using transmission, but IIRC it's a dead app.

/me builds

Offline

#3 2007-02-24 02:37:10

daedalusman
Member
From: CO, USA
Registered: 2006-12-05
Posts: 258

Re: My BitTorrent client

Looks nice, what kind of memory usage do you see with this client, knowing that optimization probably hasn't taken place yet? I will check it out later when I get some time though, and report any bugs I come across. I currently using deluge but I'm still in the market for a better lighter weight client for linux. Thanks for the contribution.

Offline

#4 2007-02-24 12:00:53

bboozzoo
Member
From: Poland
Registered: 2006-08-01
Posts: 119

Re: My BitTorrent client

libnotify yay! had to add libnotify support to transmission by myself to get a decent torrent client smile

Offline

#5 2007-02-24 14:22:42

Stalwart
Member
From: Latvia, Riga
Registered: 2005-10-18
Posts: 445
Website

Re: My BitTorrent client

phrak, transmission isn't dead at all. Try SVN version. For arch64 it's in my repo


IRC: Stalwart @ FreeNode
Skype ID: thestalwart
WeeChat-devel nightly packages for i686

Offline

#6 2007-02-24 16:49:38

lunke
Member
From: Sweden
Registered: 2005-05-21
Posts: 86

Re: My BitTorrent client

phrakture wrote:

Needs screenshots: http://zeflunk.googlepages.com/

Yea those screenshots are quite old, the UI has changed quite a lot. I'll post new ones sooner or later..

Offline

#7 2007-02-24 19:39:59

tardo
Member
Registered: 2006-07-15
Posts: 526

Re: My BitTorrent client

FYI: libtorrent is in AUR as rb_libtorrent

Offline

#8 2007-02-24 23:59:57

noriko
Member
From: In My Mind
Registered: 2006-06-09
Posts: 535
Website

Re: My BitTorrent client

kool, it looks great so far...
i just wish it loaded torrents as cl args so i could open it directly form fx... and/or drag-drop either is good wink


The.Revolution.Is.Coming - - To fight, To hunger, To Resist!

Offline

#9 2007-02-25 04:09:25

barebones
Member
Registered: 2006-04-30
Posts: 235

Re: My BitTorrent client

Looks pretty cool, i've got two problems so far though:

1. linkage crashes with a segmentation fault when I click the close button on the preferences menu. All the terminal says when it crashes is "segmentation fault" so I can't really give you any more info on it.

2. the whole program closes when you hit the x in the corner even though it has a tray icon. Any chance of fixing it up so it just "minimizes" to the tray instead of closing?

Overall it's looking pretty cool though, keep up the good work!

Edit: I just noticed that if you click the try icon it'll do exactly what i was asking for in 2. Nice!

Last edited by barebones (2007-02-25 04:18:43)

Offline

#10 2007-02-25 13:13:25

lunke
Member
From: Sweden
Registered: 2005-05-21
Posts: 86

Re: My BitTorrent client

barebones wrote:

1. linkage crashes with a segmentation fault when I click the close button on the preferences menu. All the terminal says when it crashes is "segmentation fault" so I can't really give you any more info on it.

Does it always segfault or did you change something specific? If you could get a back trace from the segfault that would be great. just run

$ gdb linkage
>> run
// make it crash
>> bt
// Lot's of text... copy and paste this part

And preferably post a new entry here http://code.google.com/p/linkage/issues/entry

daedalusman wrote:

Looks nice, what kind of memory usage do you see with this client, knowing that optimization probably hasn't taken place yet?

Haven't looked into it that much, yet. But I guess it's somewhere between 10-50+Mb  depending on how many torrents you have running.

noriko wrote:

kool, it looks great so far...
i just wish it loaded torrents as cl args so i could open it directly form fx... and/or drag-drop either is good wink

Command line args are on the todo running linkage MyTorrent.torrent works if, and only if, you already have a running instance. And the DnD support is so-so, I haven't tested it much and I pretty sure it's broken right now.

UPDATE: Issues regarding the segfault when closing settings windows are fixed, so is command line opening of torrents. Also drag and drop of torrents and http links should be working as well. Enjoy smile

Last edited by lunke (2007-02-25 17:09:40)

Offline

#11 2007-02-25 16:11:18

noriko
Member
From: In My Mind
Registered: 2006-06-09
Posts: 535
Website

Re: My BitTorrent client

ah cool smile
i don't mind opening it before hand as i do with azeurus ...
it's usable so i think i will use it in my every-day bt needs, wink


The.Revolution.Is.Coming - - To fight, To hunger, To Resist!

Offline

#12 2007-02-25 16:48:04

barebones
Member
Registered: 2006-04-30
Posts: 235

Re: My BitTorrent client

I take it you don't need that debugger info any more then?

Offline

#13 2007-02-25 16:56:44

noriko
Member
From: In My Mind
Registered: 2006-06-09
Posts: 535
Website

Re: My BitTorrent client

found new bug, submitted to ur bug tracker thingy....


The.Revolution.Is.Coming - - To fight, To hunger, To Resist!

Offline

#14 2007-02-25 17:11:15

lunke
Member
From: Sweden
Registered: 2005-05-21
Posts: 86

Re: My BitTorrent client

barebones wrote:

I take it you don't need that debugger info any more then?

Nope, I managed to reproduce it. Thanks for pointing it out thought.

noriko wrote:

found new bug, submitted to ur bug tracker thingy....

Ok thanks, I'll check it out.

Offline

#15 2007-02-25 17:41:06

barebones
Member
Registered: 2006-04-30
Posts: 235

Re: My BitTorrent client

I've made an svn PKGBUILD for this (so I can versionpkg it) would you like me to add it to the aur?

#Contributor: Christian Lundgren <zeflunk@gmail.com>
pkgname=linkage-svn
pkgver=38
pkgrel=1
pkgdesc="A GTK BitTorrent client"
url="http://code.google.com/p/linkage"
#optional depends are geoip
makedepends=('subversion')
depends=(gtkmm rb_libtorrent libnotify curl dbus-glib)
conflicts=('linkage')
provides=('linkage')
source=()
md5sums=()

_svntrunk=http://linkage.googlecode.com/svn/trunk/
_svnmod=linkage

build() {
  cd $startdir/src/

  svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod

  msg "SVN checkout done or server timeout"
  msg "Starting make..."

  cp -r $_svnmod $_svnmod-build
  cd $_svnmod-build

  ./autogen.sh && ./configure --prefix=/usr
  make || return 1
  make PREFIX=$startdir/pkg/usr DESTDIR=$startdir/pkg install
}

Offline

#16 2007-02-25 19:54:36

Xilon
Member
Registered: 2007-01-01
Posts: 243

Re: My BitTorrent client

I don't mean to be a pain in the ass (I know actually implementing this "feature" would be), but have you considered splitting the client up and going by a damon/client design like BTG? Hmm... actually this client is very similar to BTG (C++, GTKMM), so I guess that would be pointless. BTG lacks many features though sad You could help them though big_smile lol
Well, consider it maybe, it would be a pain to actually implement, I know, but a daemon/client design would be great for an application like this, and so far I have only found one bittorrent client which does so.

I wish you all the best on this project smile There is still a "uTorrent" space to fill on Linux big_smile

Offline

#17 2007-02-25 22:42:48

lunke
Member
From: Sweden
Registered: 2005-05-21
Posts: 86

Re: My BitTorrent client

barebones wrote:

I've made an svn PKGBUILD for this (so I can versionpkg it) would you like me to add it to the aur?

Sure, be my guest. You will probably wanna bump the pkgver before you do it though.

Xilon wrote:

I don't mean to be a pain in the ass (I know actually implementing this "feature" would be), but have you considered splitting the client up and going by a damon/client design like BTG? Hmm... actually this client is very similar to BTG (C++, GTKMM), so I guess that would be pointless. BTG lacks many features though sad You could help them though big_smile lol
Well, consider it maybe, it would be a pain to actually implement, I know, but a daemon/client design would be great for an application like this, and so far I have only found one bittorrent client which does so.

I wish you all the best on this project smile There is still a "uTorrent" space to fill on Linux big_smile

Yup that would be a pain, and personally I wouldn't find it usefull for me so I don't think it's going to be done for this client. But BTG is looking quite promising, and in the world of FLOSS multiple choices is a good thing smile
What would the benefits be with having a daemon/frontend layout?

Offline

#18 2007-02-25 23:13:18

billy
Member
From: Slovenia
Registered: 2006-09-13
Posts: 164

Re: My BitTorrent client

lunke wrote:

What would the benefits be with having a daemon/frontend layout?

You could easily run it at boot, torrents would still be downloading/uploading even if you restart/close X.

Offline

#19 2007-02-26 00:39:13

dolby
Member
From: 1992
Registered: 2006-08-08
Posts: 1,581

Re: My BitTorrent client

looks like an azureus written in C++. not surprised someone actually did this. many ppl had that idea (me included) but u actually made it through. gonna try to use it and file bug reports and feature requests & generally help as much as i can.


There shouldn't be any reason to learn more editor types than emacs or vi -- mg (1)
[You learn that sarcasm does not often work well in international forums.  That is why we avoid it. -- ewaller (arch linux forum moderator)

Offline

#20 2007-02-26 01:11:37

daedalusman
Member
From: CO, USA
Registered: 2006-12-05
Posts: 258

Re: My BitTorrent client

Well I tried building linkage today, both the linkage PKGBUILD and the linkage-svn PKGBUILD, and I get this error on both and build fails.

./configure: line 4505: syntax error near unexpected token `GTKMM,'
./configure: line 4505: `PKG_CHECK_MODULES(GTKMM, gtkmm-2.4 >= 2.10)'
make *** No targets specified and no makefile found. Stop.
==> ERROR: Build Failded. Aborting...

I have the lastest version of gtkmm installed. Can someone help me out here. Thanks.

Last edited by daedalusman (2007-02-26 02:55:57)

Offline

#21 2007-02-26 01:36:37

stonecrest
Member
From: Boulder
Registered: 2005-01-22
Posts: 1,190

Re: My BitTorrent client

lunke wrote:
barebones wrote:

I've made an svn PKGBUILD for this (so I can versionpkg it) would you like me to add it to the aur?

Sure, be my guest. You will probably wanna bump the pkgver before you do it though.

The whole point of versionpkg is that pkgver doesn't matter.


I am a gated community.

Offline

#22 2007-02-26 07:44:40

lunke
Member
From: Sweden
Registered: 2005-05-21
Posts: 86

Re: My BitTorrent client

stonecrest wrote:

The whole point of versionpkg is that pkgver doesn't matter.

Ah I see, nice smile


daedalusman: Do you pkgconfig installed? I hate autotools.. also make sure you have libtool/autotools installed.
You can always try building with:
GTKMM_CFLAG=`pkg-config --cflags gtkmm-2.4` GTKMM_LIBS=`pkg-config --libs gtkmm-2.4` make

Last edited by lunke (2007-02-26 07:46:05)

Offline

#23 2007-02-26 18:42:52

daedalusman
Member
From: CO, USA
Registered: 2006-12-05
Posts: 258

Re: My BitTorrent client

lunke wrote:

daedalusman: Do you pkgconfig installed? I hate autotools.. also make sure you have libtool/autotools installed.
You can always try building with:
GTKMM_CFLAG=`pkg-config --cflags gtkmm-2.4` GTKMM_LIBS=`pkg-config --libs gtkmm-2.4` make

I did not have pkgconfig installed, maybe it should be a makedepend? Once I installed it everything went just great. Thanks for the help and I will let you know of any bugs I encounter.

Offline

#24 2007-02-26 18:57:16

.:B:.
Forum Fellow
Registered: 2006-11-26
Posts: 5,819

Re: My BitTorrent client

Pkgconfig is required for a lot of packages to build... But it should be added probably, yes smile. It's a pretty essential package anyway, surprises me a bit you don't have it around.


Got Leenucks? :: Arch: Power in simplicity :: Get Counted! Registered Linux User #392717 :: Blog thingy

Offline

#25 2007-02-27 00:38:37

barebones
Member
Registered: 2006-04-30
Posts: 235

Re: My BitTorrent client

I added linkage  to the aur today, for anyone that's interested, it can be found here

Offline

Board footer

Powered by FluxBB