Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 114430 - CastPodder (former iPodder) - new ebuild
Summary: CastPodder (former iPodder) - new ebuild
Status: RESOLVED CANTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Default Assignee for New Packages
URL: http://www.castpodder.net/
Whiteboard:
Keywords: EBUILD
: 118742 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-12-04 03:51 UTC by Salim Fadhley
Modified: 2007-01-23 06:09 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
ebuild for CastPodder 4.0 (castpodder-4.0.ebuild,2.15 KB, text/plain)
2006-04-04 10:08 UTC, Roy Wright
Details
castpodder-5.0.ebuild (castpodder-5.0.ebuild,2.18 KB, application/octet-stream)
2006-05-04 15:29 UTC, Roy Wright
Details
castpodder-5.0-r1.ebuild (castpodder-5.0-r1.ebuild,2.18 KB, text/plain)
2006-05-25 15:48 UTC, Roy Wright
Details
Emerge log (emerge.log,25.76 KB, text/x-log)
2006-05-27 07:23 UTC, Greisberger Christophe
Details
castpodder-5.0-r2.ebuild (castpodder-5.0-r2.ebuild,2.39 KB, text/plain)
2006-05-30 16:32 UTC, Roy Wright
Details
castpodder-5.0-r3.ebuild (castpodder-5.0-r3.ebuild,2.55 KB, text/plain)
2006-06-15 00:17 UTC, Roy Wright
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Salim Fadhley 2005-12-04 03:51:32 UTC
CastPodder is a "Podcatcher" application for Linux, implemented in Python with
wxGTK. It is a fork of the application formerly known as iPodder (which has been
renamed to Juice and no longer supports Linux). 

At the moment, there is no dedicated podcatcher application for Gentoo Linux.
Other programs have this functionality (e.g. Amarok), howver a user might not
want to use Amarok in order to just get a podcatcher; hence it is worthwhile
supporting  a simple podcatcher like CastPodder in addition to more fully
featured apps like Amarok.
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2006-01-12 00:27:21 UTC
*** Bug 118742 has been marked as a duplicate of this bug. ***
Comment 2 Roy Wright 2006-04-04 10:08:23 UTC
Created attachment 83899 [details]
ebuild for CastPodder 4.0

First attempt at ebuild.  I've been using net-misc/castpodder for the location.
Critique very welcome.
Comment 3 Roy Wright 2006-04-04 22:38:27 UTC
Recommend running xmms stand-alone and changing preferences to use alsa instead of oss.
Comment 4 Roy Wright 2006-05-04 15:29:34 UTC
Created attachment 86170 [details]
castpodder-5.0.ebuild

New release (5.0) and new SRC_URI

# diff castpodder-4.0.ebuild castpodder-5.0.ebuild
12c12
< SRC_URI="http://www.castpodder.net/${MY_NAME}-${PV}.tar.bz2"
---
> SRC_URI="http://dev-1.borgforge.net:82/castpodder/chrome/site/downloads/${MY_NAME}-${PV}.tar.bz2"
Comment 5 Greisberger Christophe 2006-05-24 13:38:32 UTC
This ebuild does not work anymore since 4-5 days.
I installed it on 1 machine last week, where it was ok.
I installed it on 2 other ones today and I have following error:

> CastPodder
/usr/lib/python2.4/site-packages/wx-2.6-gtk2-unicode/wx/_core.py:13155: UserWarning: wxPython/wxWidgets release number mismatch
  warnings.warn("wxPython/wxWidgets release number mismatch")
Traceback (most recent call last):
  File "CastPodderGui.py", line 42, in ?
    import pickle, bsddb.db, bsddb.dbshelve
ImportError: No module named bsddb.db

I installed dev-python/bsddb3 but it didn't help.
Comment 6 Scott Grayban 2006-05-24 14:18:48 UTC
The error in question is the following lines in CastPodderGui.py

# Multislot wxPython patch from gentoo dev
# http://bugs.gentoo.org/show_bug.cgi?id=109116
import wxversion
wxversion.ensureMinimal('2.6')
# ensures the wx is atleast 2.6
Comment 7 Greisberger Christophe 2006-05-24 17:16:25 UTC
Hmmm.
For info: I have dev-python/wxpython-2.4.2.4-r3 and dev-python/wxpython-2.6.1.0 installed.
Comment 8 Scott Grayban 2006-05-24 17:30:35 UTC
(In reply to comment #7)
> Hmmm.
> For info: I have dev-python/wxpython-2.4.2.4-r3 and dev-python/wxpython-2.6.1.0
> installed.
> 

That's probably causing a conflict then. Remove both and just install the 2.6 version.
Comment 9 Greisberger Christophe 2006-05-25 01:56:56 UTC
I don't think.
On the PC where is works I also have the 2 wxpython versions installed.
Besides, I unmerged wxpython-2.4 before emerging CastPodder, but it was reinstalled during the emerge.

I focus more on bsddb.
On the working machine, a "locate bsddb" returns:
/usr/lib/python2.4/test/test_bsddb.py
/usr/lib/python2.4/test/test_bsddb.pyc
/usr/lib/python2.4/test/test_bsddb.pyo
/usr/lib/python2.4/lib-dynload/_bsddb.so

On the non-working ones:
/usr/lib/python2.3/test/test_bsddb185.py
/usr/lib/python2.3/test/test_bsddb3.pyc
/usr/lib/python2.3/test/test_bsddb3.pyo
/usr/lib/python2.3/test/test_bsddb.py
/usr/lib/python2.3/test/test_bsddb3.py
/usr/lib/python2.3/test/test_bsddb.pyc
/usr/lib/python2.3/test/test_bsddb.pyo
/usr/lib/python2.3/test/test_bsddb185.pyc
/usr/lib/python2.3/test/test_bsddb185.pyo
/usr/lib/python2.3/lib-dynload/_bsddb.so
/usr/lib/python2.3/bsddb
/usr/lib/python2.3/bsddb/dbrecio.pyc
/usr/lib/python2.3/bsddb/dbrecio.pyo
/usr/lib/python2.3/bsddb/dbobj.pyc
/usr/lib/python2.3/bsddb/dbobj.pyo
/usr/lib/python2.3/bsddb/db.py
/usr/lib/python2.3/bsddb/dbobj.py
/usr/lib/python2.3/bsddb/db.pyc
/usr/lib/python2.3/bsddb/db.pyo
/usr/lib/python2.3/bsddb/dbrecio.py
/usr/lib/python2.3/bsddb/dbutils.py
/usr/lib/python2.3/bsddb/dbshelve.pyc
/usr/lib/python2.3/bsddb/dbshelve.pyo
/usr/lib/python2.3/bsddb/__init__.pyc
/usr/lib/python2.3/bsddb/__init__.pyo
/usr/lib/python2.3/bsddb/dbtables.py
/usr/lib/python2.3/bsddb/dbutils.pyc
/usr/lib/python2.3/bsddb/dbutils.pyo
/usr/lib/python2.3/bsddb/dbshelve.py
/usr/lib/python2.3/bsddb/__init__.py
/usr/lib/python2.3/bsddb/dbtables.pyc
/usr/lib/python2.3/bsddb/dbtables.pyo
/usr/lib/python2.4/test/test_bsddb185.py
/usr/lib/python2.4/test/test_bsddb3.pyc
/usr/lib/python2.4/test/test_bsddb3.pyo
/usr/lib/python2.4/test/test_bsddb.py
/usr/lib/python2.4/test/test_bsddb3.py
/usr/lib/python2.4/test/test_bsddb.pyc
/usr/lib/python2.4/test/test_bsddb.pyo
/usr/lib/python2.4/test/test_bsddb185.pyc
/usr/lib/python2.4/test/test_bsddb185.pyo
/usr/lib/python2.4/lib-dynload/_bsddb.so

(dev-python/bsddb3 is not installed)

Is it possible that these files belong to a package that was removed from portage?
"equery belongs /usr/lib/python2.3/bsddb/*" returns nothing...

Well, I will 1st run python-updater, remove and cleanup python-2.3 and try again running CastPodder.
Comment 10 Scott Grayban 2006-05-25 13:33:25 UTC
Well I have no idea. I was just offering help. I don't use gentoo -- I'm onlt the developer for CastPodder.
Comment 11 Roy Wright 2006-05-25 15:45:43 UTC
Looks like my mistake in the ebuild, I'm requiring wxpython-2.4* and CastPodder-5.0 now requires >= 2.6.  I'll go over the prerequisites again and post a new ebuild.
Comment 12 Roy Wright 2006-05-25 15:48:09 UTC
Created attachment 87514 [details]
castpodder-5.0-r1.ebuild

Bumped the dependencies.
diff castpodder-5.0.ebuild castpodder-5.0-r1.ebuild
20c20
<       =dev-python/wxpython-2.4*
---
>       =dev-python/wxpython-2.6*
22c22
<       >=dev-python/pygtk-2.4"
---
>       >=dev-python/pygtk-2.6"
Comment 13 Scott Grayban 2006-05-25 15:57:58 UTC
Yes I had to require wx 2.6 because of few distributions only have that version now. Sorry for the troubles.

Comment 14 Greisberger Christophe 2006-05-27 07:22:38 UTC
Hi again.

I cleanup up my system a bit. I removed python-2.3 and wxpython-2.4.

1. I just realized that something strange happened during the emerge of castpodder-5.0-r1 : it seems incomplete (emerge log attached).
No /usr/bin/CastPodder for example.

2. Anyway, I tried starting it with "cd /usr/share/castpodder ; python CastPodderGui.py" but it still fails with the same error:
Traceback (most recent call last):
  File "CastPodderGui.py", line 42, in ?
    import pickle, bsddb.db, bsddb.dbshelve
ImportError: No module named bsddb.db

The module bsddb.db seems to be missing (or failing?).
What the hell is bsddb.db? Berkley DB, like dev-python/bsddb3?
Is it part of python?
Comment 15 Greisberger Christophe 2006-05-27 07:23:36 UTC
Created attachment 87653 [details]
Emerge log
Comment 16 Scott Grayban 2006-05-27 07:47:15 UTC
(In reply to comment #14)
> Hi again.
> 
> I cleanup up my system a bit. I removed python-2.3 and wxpython-2.4.
> 
> 1. I just realized that something strange happened during the emerge of
> castpodder-5.0-r1 : it seems incomplete (emerge log attached).
> No /usr/bin/CastPodder for example.
> 
> 2. Anyway, I tried starting it with "cd /usr/share/castpodder ; python
> CastPodderGui.py" but it still fails with the same error:
> Traceback (most recent call last):
>   File "CastPodderGui.py", line 42, in ?
>     import pickle, bsddb.db, bsddb.dbshelve
> ImportError: No module named bsddb.db
> 
> The module bsddb.db seems to be missing (or failing?).
> What the hell is bsddb.db? Berkley DB, like dev-python/bsddb3?
> Is it part of python?
> 

Berkley DB support should be part of the normal install of python. But then again I have no idea how gentoo does there packages. IMO they shouldn't be separating any package that is a normal part of python.

Your error is suggesting a few things. Broke python 2.4, missing the berkley db libs, or gentoo has done wrong.

You could always just get the source tarball yourself and run that and see if that clears up your problems.

Comment 17 Greisberger Christophe 2006-05-27 08:57:11 UTC
I think I found something.

# equery uses python
[ Searching for packages matching python... ]
[ Colour Code : set unset ]
[ Legend        : Left column  (U) - USE flags from make.conf                    ]
[                  : Right column (I) - USE flags packages was installed with ]
[ Found these USE variables for dev-lang/python-2.4.2 ]
 U I
 + + X         : Adds support for X11
 - - berkdb    : Adds support for sys-libs/db (Berkeley DB for MySQL)
 - - bootstrap : !!internal use only!! DO NOT SET THIS FLAG YOURSELF!, used during original system bootstrapping
 - - build     : !!internal use only!! DO NOT SET THIS FLAG YOURSELF!, used for creating build images and the first half of bootstrapping.
 + + doc       : Adds extra documentation (API, Javadoc, etc)
 + + gdbm      : Adds support for sys-libs/gdbm (GNU database libraries)
 + + ipv6      : Adds support for IP version 6
 + + ncurses   : Adds ncurses support (console display library)
 - - nocxx     : Disable support for C++ (DON'T USE THIS UNLESS YOU KNOW WHAT YOU'RE DOING)
 + + readline  : Enables support for libreadline, a GNU line-editing library that almost everyone wants
 + + ssl       : Adds support for Secure Socket Layer connections
 + + tcltk     : Support for Tcl and/or Tk GUI toolkits
 + + ucs2      : Enable byte size 2 unicode

berkdb is described as a use flag for mysql, so I disabled it.
It's perhaps a wrong description or the python ebuild is misusing it.
I'll reenable, reinstall python and check what happens.
Comment 18 Greisberger Christophe 2006-05-27 09:34:32 UTC
Hehe. Yes, that's it!
I only have a warning now, and CastPodder starts.

$ CastPodder
/usr/lib/python2.4/site-packages/wx-2.6-gtk2-unicode/wx/_core.py:13155: UserWarning: wxPython/wxWidgets release number mismatch
  warnings.warn("wxPython/wxWidgets release number mismatch")
Comment 19 Roy Wright 2006-05-27 15:46:35 UTC
I'll add a USES clause for berkdb (I did have it set on my system so didn't see the python problem).  I'll also investigate the /usr/bin/castpodder linkage problem.

Thank you.
Comment 20 Roy Wright 2006-05-27 16:00:57 UTC
According to the gentoo development guide: 

  Currently it is impossible to depend upon "foo built with the bar USE flag enabled".

So the best I can do is print out a message saying:

  Python must be built with the berkdb USE flag.
  You can check the user flags of python by running:  equery uses python

If anyone has a better solution, please chime in.

Thank you.
Comment 21 Jakub Moc (RETIRED) gentoo-dev 2006-05-27 17:03:15 UTC
(In reply to comment #20)
>   Python must be built with the berkdb USE flag.
>   You can check the user flags of python by running:  equery uses python
> 
> If anyone has a better solution, please chime in.

As this dies anyway, the following won't do any harm:

<snip>
inherit eutils
if ! built_with_use dev-lang/python berkdb ; then
        eerror "Re-emerge python with USE=\"berkdb\""
        die "python is missing berkdb support"
fi
</snip>
Comment 22 Roy Wright 2006-05-30 16:32:08 UTC
Created attachment 87922 [details]
castpodder-5.0-r2.ebuild

added check for python built with berkdb
/usr/bin/CastPodder should now be linked to /usr/share/castpodder/CastPodder.sh
# diff castpodder-5.0-r1.ebuild castpodder-5.0-r2.ebuild
31a32,38
> pkg_preinst() {
>       if ! built_with_use dev-lang/python berkdb ; then
>               eerror "Re-emerge python with USE=\"berkdb\""
>               die "python is missing berkdb support"
>       fi
> }
>
55a63
>       # copy files into /usr/share/castpodder
57a66,68
>
>       # create a symbolic link from /usr/share/castpodder/CastPodder.sh to /usr/bin/CastPodder
>       dosym /usr/share/castpodder/CastPodder.sh /usr/bin/CastPodder
61,63d71
<       # need to create a symbolic link from /usr/share/castpodder/CastPodder.sh to /usr/bin/CastPodder
<       ln -sf /usr/share/castpodder/CastPodder.sh /usr/bin/CastPodder
<
Comment 23 Nick Rout 2006-06-14 21:49:57 UTC
Using the castpodder-5.0-r2.ebuild from comment #22 I get this when running castpodder:

usr/lib/python2.4/site-packages/wx-2.6-gtk2-ansi/wx/_core.py:13155: UserWarning: wxPython/wxWidgets release number mismatch
  warnings.warn("wxPython/wxWidgets release number mismatch")
[<class 'ipodder.players.XMMSPlayer'>, <class 'ipodder.players.NoPlayer'>]
Beep-Media-Player couldn't be imported
Traceback (most recent call last):
  File "./CastPodderGui.py", line 3700, in ?
    main()
  File "./CastPodderGui.py", line 3694, in main
    myApp = iPodderGui(ipodder)
  File "./CastPodderGui.py", line 721, in __init__
    wx.App.__init__(self, False, None)
  File "/usr/lib/python2.4/site-packages/wx-2.6-gtk2-ansi/wx/_core.py", line 7473, in __init__
    self._BootstrapApp()
  File "/usr/lib/python2.4/site-packages/wx-2.6-gtk2-ansi/wx/_core.py", line 7125, in _BootstrapApp
    return _core_.PyApp__BootstrapApp(*args, **kwargs)
  File "./CastPodderGui.py", line 1538, in OnInit
    self.SetLanguages()
  File "./CastPodderGui.py", line 874, in SetLanguages
    self.InitLanguageMenu()
  File "./CastPodderGui.py", line 744, in InitLanguageMenu
    langmenu.AppendRadioItem(id,catalog.get_language_name(lang))
  File "/usr/lib/python2.4/site-packages/wx-2.6-gtk2-ansi/wx/_core.py", line 10214, in AppendRadioItem
    return _core_.Menu_AppendRadioItem(*args, **kwargs)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xea' in position 7: ordinal not in range(128)


Seems the last line is the relevant one. Seems to be a unicode error, about which I am clueless. 
Comment 24 Nick Rout 2006-06-14 22:12:48 UTC
OK easily solved, i re-emerged wxpython with the unicode USE flag enabled. Maybe you should add another test to check that wxpython was emerged with unicode support.

Cheers, Nick
Comment 25 Roy Wright 2006-06-15 00:17:20 UTC
Created attachment 89233 [details]
castpodder-5.0-r3.ebuild

added check to make sure wxpython was built with USE="unicode".  Thank you Nick!

# diff castpodder-5.0-r2.ebuild castpodder-5.0-r3.ebuild
36a37,40
>       if ! built_with_use dev-python/wxpython unicode ; then
>               eerror "Re-emerge wxpython with USE=\"unicode\""
>               die "wxpython is missing unicode support"
>       fi
Comment 26 Nick Rout 2006-06-15 14:39:16 UTC
Right, next I intend to find out why the dosym symlink thing doesn't work. Its a path thing by the looks of this error message from the install:

ln: creating symbolic link `/var/tmp/portage/castpodder-5.0-r2/image//usr/bin/CastPodder' to `/usr/share/castpodder/CastPodder.sh': No such file or directory

It'll be a weekend thing. Weather looks foul so I might get a chance to look into it.
Comment 27 Roy Wright 2006-07-26 17:21:25 UTC
Well, this looks like the end of the line for my CastPodder ebuild.  The CastPodder team changed packaging for 5.1 to either a gui installer or an rpm and moved the downloads into their account protected forum download area.  That's beyond my beginner ebuild skills.

Best of luck,
Roy

Comment 28 Scott Grayban 2006-07-26 17:35:46 UTC
(In reply to comment #27)
> Well, this looks like the end of the line for my CastPodder ebuild.  The
> CastPodder team changed packaging for 5.1 to either a gui installer or an rpm
> and moved the downloads into their account protected forum download area. 
> That's beyond my beginner ebuild skills.
> 
> Best of luck,
> Roy
> 

There is a source tarball. All you had to do was email me and I would have sent it to you.

And registering isn't that hard. Everyone place requires some registration now. For instance here. I can't reply to my own program problems unless I registered.

Scott
Comment 29 Jigme Datse 2006-11-23 19:32:43 UTC
Castpodder has died as of Nov 8, 2006.  Do we wish to take the code for castpodder and maintain it ourselves?  Is someone willing to do this.  From what I can see the answer looks like no.  I could be wrong.

Comment 30 Jakub Moc (RETIRED) gentoo-dev 2007-01-22 00:23:34 UTC
We are not putting stuff with dead upstream into the tree, sorry.