Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 101831 - Request for ebuild: mp3act-1.2
Summary: Request for ebuild: mp3act-1.2
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Default Assignee for New Packages
URL: http://www.mp3act.net/
Whiteboard:
Keywords: EBUILD
Depends on:
Blocks:
 
Reported: 2005-08-09 02:46 UTC by Simon Stelling (RETIRED)
Modified: 2006-01-08 12:59 UTC (History)
3 users (show)

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


Attachments
ebuild (mp3act-1.2.ebuild,958 bytes, text/plain)
2005-11-21 16:34 UTC, Maxwell Grender-Jones
Details
revised ebuild (mp3act-1.2.ebuild,977 bytes, text/plain)
2005-11-22 06:50 UTC, Simon Stelling (RETIRED)
Details
uses php helper functions (mp3act-1.2.ebuild,1.13 KB, text/plain)
2005-12-02 12:22 UTC, Maxwell Grender-Jones
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Stelling (RETIRED) gentoo-dev 2005-08-09 02:46:19 UTC
mp3act is a music manager, based on php. It supports streaming and jukebox mode
for mp3, support for oggvorbis, FLAC and others is planned for the next release.
It supports multiple users with various access limitations and uses mysql
databases for data storage. Since it uses AJAX it doesn't feel like a website
but a full-featured app. There's currently nothing comparable to mp3act, and
it's the only one I could find that is still actively maintained by upstream.
Comment 1 Maxwell Grender-Jones 2005-11-21 16:34:51 UTC
Created attachment 73334 [details]
ebuild

Here's my attempt at an ebuild. Haven't managed to get the stupid thing running
yet, as it gives a 'Fatal error: Call to undefined function session_save_path()
in /var/www/localhost/htdocs/mp3act/includes/sessions.php on line 2' error, but
that's probably my fault.

Note I've used stream as if it's a global use flag (it's currently local). I've
also used sed where I shouldn't - someone with leeter bash knowledge than me
can probably correct this in a moment.

Anyway, hopefully I've done the hard work - if the reporter could help me get
this to a comittable level, we'll both be glad for it!
Comment 2 Simon Stelling (RETIRED) gentoo-dev 2005-11-22 06:49:06 UTC
Nice to see that others are interested too :)

I've made some changes to your ebuild, trying to explain them in the diff just
below:

--- mp3act-1.2.ebuild.old       2005-11-22 15:08:36.000000000 +0100
+++ gentoo/cvs/gentoo-x86/media-sound/mp3act/mp3act-1.2.ebuild  2005-11-22
15:44:03.000000000 +0100
@@ -2,22 +2,23 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Header: $

-inherit webapp
+inherit webapp versionator

 DESCRIPTION="Web based (PHP Script) Jukebox"
 HOMEPAGE="http://www.mp3act.net/"
-PV2=`echo ${PV} | sed s/\\\\.//`
-SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV2}.tar.bz2"
+MY_PV=$(replace_version_separator 1 '')
+SRC_URI="mirror://sourceforge/${PN}/${PN}_${MY_PV}.tar.bz2"

# versionator.eclass is a nice tool to avoid cryptic sed or bash statements

 LICENSE="GPL-2"
-KEYWORDS="~x86"
-IUSE="stream"
+KEYWORDS="~amd64 ~x86"
# works fine on my amd64 ;)
+IUSE=""
# the streaming feature is always provided by mp3act, so there's no need for a
use flag

 DEPEND="virtual/httpd-php
                dev-db/mysql
-               stream? (media-sound/xmms media-sound/lame)
# no stream use flag anymore, depending on xmms doesn't make any sense: there
are thousands of other players, and they might be playing on another box
-               media-sound/mpg123
-"
+               media-sound/lame
+               virtual/mpg123"
# mpg321 also works, hence using the virtual

 src_unpack() {
        mkdir ${S}

other than that, it might be nice to mention the exact webapp-config command the
user has to run, but i'm not sure what it would look like.. webapp herd, any
suggestions?
Comment 3 Simon Stelling (RETIRED) gentoo-dev 2005-11-22 06:50:06 UTC
Created attachment 73373 [details]
revised ebuild
Comment 4 Maxwell Grender-Jones 2005-11-22 15:02:28 UTC
blubb: many thanks for that.

a word on use flags. Given that lame is required for streaming, if the user
wants streaming, don't we want to force the installation of lame? If not, then
they don't need it.

also, I discovered why my install wasn't working - I didn't have the cli and
session use flags set when I emerged php. Is there anything we can do about
that? e.g. complain in the emerge if they're not set and tell the user to
recompile their php?
Comment 5 Maxwell Grender-Jones 2005-11-23 04:56:52 UTC
The only other thing is that for the jukebox functionality to work, apache needs
to be a member of the audio group. The functions in the eutils eclass don't
appear to help with that, so is it worth adding to the pkg_postinst einfo section?
Comment 6 Simon Stelling (RETIRED) gentoo-dev 2005-11-23 14:20:48 UTC
(In reply to comment #4)
> a word on use flags. Given that lame is required for streaming, if the user
> wants streaming, don't we want to force the installation of lame? If not, then
> they don't need it.

Since you can't disable streaming with a configure option like
--disable-streaming, you have to assume that the user will use streaming, so we
always have to force the dependency on lame.
 
> also, I discovered why my install wasn't working - I didn't have the cli and
> session use flags set when I emerged php. Is there anything we can do about
> that? e.g. complain in the emerge if they're not set and tell the user to
> recompile their php?

basically, there is such a function: built_with_use from eutils.eclass. However,
we only need that for dev-lang/php, dev-php/php doesn't have a cli use flag,
since it only builds the cli variant. we'd probably have to do sth like this in
RDEPEND:

|| ( dev-php/php dev-lang/php)

and then later on check dev-lang/php for beeing built with the cli use flag. but
that will break again if you're using dev-php/php. i'm not very familiar with
the php cruft, and i really don't know how to work around this problem :/

(In reply to comment #5)
> The only other thing is that for the jukebox functionality to work, apache needs
> to be a member of the audio group. The functions in the eutils eclass don't
> appear to help with that, so is it worth adding to the pkg_postinst einfo section?

absolutely. will save quite some bug reports about jukebox mode not working
Comment 7 Maxwell Grender-Jones 2005-12-02 12:22:18 UTC
Created attachment 73953 [details]
uses php helper functions

This latest ebuild uses the depend.php eclass to make sure we have a php with
http and command line support that has been built with the session flag. It
also tells the user to add apache to the audio group. Hopefully that's all the
outstanding problems covered so it should be ready for admission...
Comment 8 Renat Lumpau (RETIRED) gentoo-dev 2006-01-08 12:59:27 UTC
Hi,

mp3act is now in our unofficial overlay:
http://svn.gnqs.org/projects/gentoo-webapps-overlay/browser/www-apps/mp3act

The overlay is intended to provide easier access to new web applications.