Bug 190753 - net-www/gnash-0.8.1 released
|
Bug#:
190753
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: x86
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: enhancement
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: genstef@gentoo.org
|
Reported By: vininim@gmail.com
|
|
Component: Ebuilds
|
|
|
URL:
|
|
Summary: net-www/gnash-0.8.1 released
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2007-08-30 07:36 0000
|
I like 0-days :)
Well, please give me a better ebuild that deals with the options and I will add
it.
# emerge -va =gnash-0.8.1
These are the packages that would be merged, in order:
Calculating dependencies \
!!! Invalid or corrupt dependency specification:
Conditional without parenthesis: 'gtk?'
('ebuild', '/', 'net-www/gnash-0.8.1', 'merge')
agg? ( >=x11-libs/agg-2.5 ) cairo? ( x11-libs/cairo ) opengl? ( virtual/opengl
gtk? x11-libs/gtkglext ) kde? ( kde-base/kdelibs ) xml? ( dev-libs/libxml2 )
sys-libs/zlib media-libs/jpeg media-libs/libpng net-misc/curl mysql? (
virtua/mysql ) ffmpeg? ( media-video/ffmpeg ) gstreamer? ( media-libs/gstreamer
|| ( media-plugins/gst-plugins-ffmpeg media-plugins/gst-plugins-mad ) )
!gstreamer? ( !ffmpeg? ( media-libs/libsdl ) ) dev-libs/boost x11-libs/libX11
x11-libs/libXi x11-libs/libXmu x11-libs/libXt x11-proto/xproto
dev-util/pkgconfig =sys-devel/automake-1.9* >=sys-devel/autoconf-2.59
sys-devel/libtool
This package can not be installed. Please notify the
'net-www/gnash-0.8.1' package maintainer about this problem.
Add parenthesis around x11-libs/gtkglext and it'll work.
Looks to me like all the interesting possibilities (3 renderers, 2 media
handlers, 2 GUIs, 2 plugins) are catered for.
Only strange thing is that the 'mad' media handler is not available any more.
Or is it enabled by default ? In any case, the 'eerror' text mentions mad as an
option, without testing for it.
Works for me on konqueror (not using gnas on firefox) with USE="ffmpeg
gstreamer kde konqueror nsplugin opengl xml -agg -cairo -gtk"
Comments on the updated ebuild:
paludis doesn't like "opengl?(" and "gtk?(". Inserting a space between "?" and
"(" fixes that.
The Firefox plugin isn't actually installed unless "gtk" is enabled. (the
/usr/lib/nsbrowser/plugins/libgnashplugin.so symlink is created, but the file
it points to doesn't exist)
It looks like either "kde" or "gtk" needs to be enabled for gnash to be useful.
If neither is, running the 'gnash' command gives:
Could not find any <gui>-gnash executable under directory /usr/bin, with
<gui> in .
It's working beautifully for me now, though.
> The Firefox plugin isn't actually installed unless "gtk" is enabled. (the
> /usr/lib/nsbrowser/plugins/libgnashplugin.so symlink is created, but the file
> it points to doesn't exist)
It's the same for konqueror plugin. I'm submitting updated ebuild with added
checks.
Just a little note on gnash completeness:
I don't know for previous versions, testing Lukas Turek ebuild with
Konqueror (kde and konqueror flags on , but also gtk) showed some flaws:
flash used to give input (as flash menus) aren't displayed/gettin input in
the right way, more, if you click on a flash with embedded link inside
konqueror, it will open the link in firefox if an istance of firefox is open,
or it will do just nothing (yes, I click a flash in konqueror and it opens
a firefox tab, if firefox is not open instead it does nothing).
If I open the same page in firefox then some more flash work, but some other
hang firefox sending my cpu to 100% occupation.
All the flash tested are working with netscape-flash-9.0.48-r1
gnash 0.8.0 is not compiling with 4.2 we need a bump
Created an attachment (id=133914) [details]
Suggested changes to proposed ebuild.
1. xml? ( dev-libs/libxml2 )
The xml use flag should be removed and the dependency dev-libs/libxml2 should
be an unconditional dependency.
Gnash will not even get pass the configure script without libxml2 installed on
the system.
2. mysql? ( virtual/mysql )
Why are you testing for the mysql use flag when you don't even have it set
under IUSE ?
3. ffmpeg? ( media-video/ffmpeg )
This should be:
ffmpeg? (
media-libs/libsdl
media-video/ffmpeg
)
Gnash will not even get past the configure script when ffmpeg is set as the
media handler and libsdl is not installed.
4. gstreamer? (
media-libs/gstreamer
|| (
media-plugins/gst-plugins-ffmpeg
media-plugins/gst-plugins-mad
)
)
This test to see if one or the other plugins is installed. If mad is installed
ffmpeg is not installed if ffmpeg or neither plugins are installed it will
install the ffmpeg plugin if necessary but not the mad plugin.
When testing video's at youtube i have found at least on my system you need
both
the ffmpeg and mad plugins installed.
This should be:
gstreamer? ( !ffmpeg? (
media-plugins/gst-plugins-ffmpeg
media-plugins/gst-plugins-mad
)
)
No need to add media-libs/gstreamer as it is a dependency of the plugins.
5. !gstreamer? (
!ffmpeg? (
media-libs/libsdl
)
)
This condition will never be meet because the pkg_setup check below will
prevent it and should be removed.
if use !ffmpeg && use !gstreamer; then
eerror "You are trying to build Gnash without choosing a media
handler."
eerror "Please enable one of the following ffmpeg, gstreamer or
mad (mp3 audio only)."
die "No media handler selected !"
fi
6. eerror "Please enable one of the following ffmpeg, gstreamer or mad (mp3
audio only)."
Mad is no longer supported by the ebuild and should be removed from the error
message.
7. if use agg; then
myconf="${myconf} --enable-renderer=agg"
fi
if use cairo; then
myconf="${myconf} --enable-renderer=cairo"
fi
if use opengl; then
myconf="${myconf} --enable-renderer=ogl"
fi
Only one renderer at a time is allowed this will try to set all three and Gnash
will end up using opengl if all three use flags are set.
This should be:
if use agg; then
myconf="${myconf} --enable-renderer=agg"
elif use opengl; then
myconf="${myconf} --enable-renderer=ogl"
else
myconf="${myconf} --enable-renderer=cairo"
fi
This will favor agg over both opengl and cairo ( agg is the gnash default )
and it will favor opengl over cairo.
8. econf \
$(use_enable nsplugin plugin) \
$(use_enable xml) \
$(use_enable video_cards_i810 i810-lod-bias) \
--enable-gui=${gui} \
--without-gcc-arch --disable-debugger \
use_enable nsplugin plugin is saying if the nsplugin use flag is set then add
--enable-plugin to the configuration. --enable-plugin is not an option in gnash
anymore. This should be removed.
The plugins are already addressed earlier in the ebuild.
use_enable xml should be removed.
--disable-debugger is unnecessary as it is disabled by default now.
--without-gcc-arch is not a valid option in gnash anymore.
9. emake -j1
Gnash 0.8.1 compiles just fine in parallel no need to restrict it.
This should be:
emake ${MAKEOPTS}
Created an attachment (id=135280) [details]
Suggested ebuild with several improvements
I made several refinements in the ebuild.
1. WANT_AUTOMAKE="1.9"
This is a release tarball and does not need the autotools. The README
explicitly suggest the user to use the provided 'configure'. Using the provided
'configure' significantly simplifies the ebuild. No need to set WANT_AUTOMAKE,
no need to inherit autotools eclass, no need to specify a src_unpack function.
Also, the compilation has less dependencies and is faster.
2. gstreamer? ( !ffmpeg? (
media-plugins/gst-plugins-ffmpeg
media-plugins/gst-plugins-mad
)
)
If the user enables both gstreamer and ffmpeg USE flags, he is asking for both
GStreamer and FFmpeg to be activated. If we must choose only one of FFmpeg and
GStreamer, and the user selects both, the ebuild should die with a clear error
message. To silently choose FFmpeg instead of GStreamer is unreasonable. I
changed the ebuild to die if an impossible USE flag combination is set by the
user.
3. I changed all the error messages to be more didactic and consistent.
4. The local variable named 'extensions' in function 'src_compile' was unused,
so I deleted it.
5. I made some changes to the coding style
6. I replaced emake ${MAKEOPTS} with just emake. Doesn't emake already uses
MAKEOPTS? The ebuilds in the portage tree don't specify MAKEOPTS as an argument
to emake. In fact, a cd /usr/portage; find -iname '*.ebuild' -exec grep -H
--color=always MAKEOPTS {} \; shows that MAKEOPTS is very rarely used as an
argument to emake. Besides, we are not changing the default MAKEOPTS.
Note: repoman complains with IUSE.invalid about the konqueror USE flag
Any idea whether / when this will be in Portage?
Well, I just added that ebuild without much changing. Thank you everyone for
working on this.