Summary: | www-plugins/gnash-0.8.10_p20160329-r1 should depend on media-libs/speex and media-libs/speexdsp | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | silver_ghost |
Component: | Current packages | Assignee: | Chí-Thanh Christopher Nguyễn <chithanh> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | cyberleo, nbowler |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
Switch speex dependency for gnash
Patch that works with both older and newer media-libs/speex Patch for gnash-0.8.10_p20160329-r1.ebuild |
Description
silver_ghost
2018-01-04 19:43:16 UTC
www-plugins/gnash does not need speexdec and speexenc tools which are provided by media-libs/speex[utils]. www-plugins/gnash needs media-libs/speexdsp: $ grep -ir speexdsp * ChangeLog: * configure.ac: Recommend installing the libspeexdsp library when Makefile.am: @echo " SPEEXDSP_CFLAGS is $(SPEEXDSP_CFLAGS)" Makefile.am: @echo " SPEEXDSP_LIBS is $(SPEEXDSP_LIBS)" configure.ac:GNASH_PKG_FIND(speexdsp, [speex/speex_resampler.h], [speex DSP utilities], speex_resampler_process_int) configure.ac:if test x$has_speexdsp = xyes ; then configure.ac:if test x"$SPEEXDSP_LIBS" != x; then configure.ac: if test x"$SPEEXDSP_CFLAGS" != x; then configure.ac: echo " Speex DSP flags are: $SPEEXDSP_CFLAGS" configure.ac: echo " Speex DSP libs are: $SPEEXDSP_LIBS" configure.ac: PKG_SUGGEST([Install libspeexdsp from http://speex.org]) configure.ac: DEB_INSTALL([libspeexdsp-dev]) configure.ac: RPM_INSTALL([speexdsp-devel]) libmedia/Makefile.am: $(SPEEXDSP_CFLAGS) \ libmedia/Makefile.am: $(SPEEXDSP_LIBS) \ Created attachment 517848 [details, diff]
Switch speex dependency for gnash
I just tested this in my overlay and I can confirm that changing the dependency media-libs/speex[ogg] to media-libs/speexdsp allows gnash to build.
Created attachment 520822 [details, diff]
Patch that works with both older and newer media-libs/speex
No new dependency. If speex is an older version, it must have the ogg USE flag.
(Oops--did not realize that adding an attachment would remove comments entered on the main bug page. This comment applies to "Patch that works with both older and newer media-libs/speex.) There was not a renaming of USE flags in speex: what happened is that libogg became a hard dependency of media-libs/speex starting with version 1.2.0-r1. Older versions has an optional dependency on libogg and hence the ogg USE flag. As it happens, media-libs/speexdsp depends on versions of speex no older than 1.2.0-r1, therefore the ogg dependency comes along automatically. In gnash, neither of speex or speexdsp are hard dependencies. It will use them if they are available at build time but otherwise build quite happily without them. Changing gnash to require speexdsp would have the unfortunate effect of forcing users to new things they might rather not have. Ghash should build OK with older or newer versions of speex. If a user is restricted from newer speex versions (say because of older alsa-utils), adding the speexdsp dependency would force him or her away from building gnash. With my patch, older speex versions still work. (In reply to Mike Thompson from comment #4) > In gnash, neither of speex or speexdsp are hard dependencies. It will use > them if they are available at build time but otherwise build quite happily > without them. Automagic dependencies are unacceptable. > Changing gnash to require speexdsp would have the unfortunate effect of > forcing users to new things they might rather not have. speexdsp was part of speex in versions <1.2.0 (including 1.2_rc1) and was split by upstream into separate package. So no new thing actually. In the meantime, the following can be used: || ( ( >=media-libs/speex-1.2.0 media-libs/speexdsp ) <media-libs/speex-1.2.0 ) Created attachment 527416 [details, diff] Patch for gnash-0.8.10_p20160329-r1.ebuild I've modified code from comment #5 to return ogg useflag. It builds successfully. The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3544dd4186e1b060bb446d449c1878a80ce38467 commit 3544dd4186e1b060bb446d449c1878a80ce38467 Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> AuthorDate: 2018-04-16 18:10:28 +0000 Commit: Mike Gilbert <floppym@gentoo.org> CommitDate: 2018-04-16 18:27:35 +0000 www-plugins/gnash: Update dependencies. Closes: https://bugs.gentoo.org/643480 www-plugins/gnash/gnash-0.8.10_p20160329-r1.ebuild | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) Why was ability to use both >=media-libs/speex-1.2.0 and <media-libs/speex-1.2.0 removed? media-libs/speex-1.2.0-r1 is now stable on all architectures (bug #641504). media-libs/speex-1.2_rc1-r2 will be deleted soon. I can't emerge gnash ([0.8.10_p20160329-r2::gentoo] is [0]). There is a conflict: # emerge -avt gnash These are the packages that would be merged, in reverse order: Calculating dependencies... done! [ebuild UD ] www-plugins/gnash-0.8.10_p20160329-r1::gentoo [0.8.10_p20160329-r2::gentoo] USE="X agg cairo dbus doc ffmpeg gtk nls opengl sdl sdl-sound ssl -cygnal (-directfb) -dump -egl -fbcon -gnome -harden -jemalloc -libav -libressl -lirc -mysql -nsplugin (-openvg) -python -ssh {-test} (-vaapi) (-ogg%*)" 0 KiB [ebuild UD ] media-libs/speex-1.2_rc1-r2::gentoo [1.2.0-r1::gentoo] USE="ogg%* -static-libs (-utils%) (-vbr%*)" ABI_X86="32 (64) (-x32)" CPU_FLAGS_X86="sse" 0 KiB [blocks B ] <media-libs/speex-1.2.0 ("<media-libs/speex-1.2.0" is blocking media-libs/speexdsp-1.2_rc3-r2) Total: 2 packages (2 downgrades), Size of downloads: 0 KiB Conflict: 1 block (1 unsatisfied) !!! Multiple package instances within a single package slot have been pulled !!! into the dependency graph, resulting in a slot conflict: media-libs/speex:0 (media-libs/speex-1.2_rc1-r2:0/0::gentoo, ebuild scheduled for merge) pulled in by media-libs/speex[ogg] required by (www-plugins/gnash-0.8.10_p20160329-r1:0/0::gentoo, ebuild scheduled for merge) ^^^ <media-libs/speex-1.2.0 required by (media-sound/pulseaudio-11.1:0/0::gentoo, installed) ^ ^^^^^ (media-libs/speex-1.2.0-r1:0/0::gentoo, installed) pulled in by >=media-libs/speex-1.2.0:0 required by (media-video/vlc-2.2.8-r1:0/5-8::gentoo, installed) ^^ ^^^^^^^ It may be possible to solve this problem by using package.mask to prevent one of those packages from being selected. However, it is also possible that conflicting dependencies exist such that they are impossible to satisfy simultaneously. If such a conflict exists in the dependencies of two different packages, then those packages can not be installed simultaneously. You may want to try a larger value of the --backtrack option, such as --backtrack=30, in order to see if that will solve this conflict automatically. For more information, see MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook. * Error: The above package list contains packages which cannot be * installed at the same time on the same system. (media-libs/speexdsp-1.2_rc3-r2:0/0::gentoo, installed) pulled in by media-libs/speexdsp:0 required by (media-video/vlc-2.2.8-r1:0/5-8::gentoo, installed) media-libs/speexdsp required by (net-analyzer/wireshark-2.4.6:0/2.4.6::gentoo, installed) [0] https://bugs.gentoo.org/attachment.cgi?id=527416 This is off-topic here. Anyway, firstly wait some hours, next synchronize the tree, next run: emerge -atv1 ">=media-libs/speex-1.2.0" media-libs/speexdsp www-plugins/gnash media-sound/pulseaudio media-video/vlc My mistake. Ebuild hadn't been synced that time yet. Now it works. |