Bug 112635 - librsvg nsplugin won't build
|
Bug#:
112635
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: x86
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: major
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: gnome@gentoo.org
|
Reported By: portage@bigmichi1.dyndns.org
|
|
Component: GNOME
|
|
|
URL:
|
|
Summary: librsvg nsplugin won't build
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2005-11-15 12:47 0000
|
i'm installing gnome and this puts in firefox and also gecko-sdk and also
librsvg, but there i get this message:
>>> md5 files ;-) librsvg-2.12.7.ebuild
>>> md5 files ;-) files/digest-librsvg-2.12.6
>>> md5 files ;-) files/digest-librsvg-2.12.7
>>> md5 files ;-) files/digest-librsvg-2.9.5
>>> md5 files ;-) files/digest-librsvg-1.0.3
>>> md5 files ;-) files/librsvg-2.12.6-plugin_checks.patch
>>> md5 src_uri ;-) librsvg-2.12.7.tar.bz2
* A SVG plugin for mozilla-compatible browsers is already present
* in your system. To avoid replacing the old plug-in, librsvg
* will be built with the plugin disabled.
*
* In order to use the plugin from librsvg, please make sure to
* emerge gecko-sdk/mozilla-firefox/mozilla without the 'mozsvg'
* USE flag.
but all of them show mozsvg as disabled:
bigmichi1 librsvg # emerge -pv gecko-sdk mozilla-firefox mozilla --nodeps
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild R ] net-libs/gecko-sdk-1.7.12-r1 +crypt -debug +gnome +ipv6 +java
+ldap +mozcalendar +mozdevelop -moznocompose -moznoirc -moznomail -moznoxft
-mozsvg +postgres +ssl +truetype +xinerama +xprint 0 kB
[ebuild N ] www-client/mozilla-firefox-1.0.7-r3 -debug +gnome +ipv6 +java
+mozcalendar +mozdevelop -moznoxft -mozsvg +truetype +xinerama +xprint 32,131 kB
[ebuild N ] www-client/mozilla-1.7.12-r2 +crypt -debug +gnome +ipv6 +java
+ldap +mozcalendar +mozdevelop -moznocompose -moznoirc -moznomail -moznoxft
-mozsvg +postgres +ssl +truetype +xinerama +xprint 468 kB
i think the logic in the built_with_use is wrong, in my opinion all || must be
&& and then it would be compiled
Reproducible: Always
Steps to Reproduce:
1.
2.
3.
Actual Results:
svg-plugin is not build when nsplugin and -mozsvg is set
Expected Results:
should be build
you should change
if use nsplugin && ( \
built_with_use net-libs/gecko-sdk mozsvg || \
built_with_use www-client/mozilla-firefox mozsvg || \
built_with_use www-client/mozilla mozsvg ); then
in
if use nsplugin && ( \
built_with_use net-libs/gecko-sdk mozsvg && \
built_with_use www-client/mozilla-firefox mozsvg && \
built_with_use www-client/mozilla mozsvg ); then
I have the exact same problem and have done some investigation.
I have mozilla-firefox (1.0.7-r4) and gecko-sdk (1.7.12-r1) both installed
without mozsvg (I double checked with equery). I have not installed mozilla at
all.
Allthough I have little experience with ebuilds and shell programming (but I
know other programming languages well) it looks to me that the logic in the
ebuild is correct (but read on) and the proposal in comment #2 is wrong. I then
looked up the source for the built_with_use function in eutils.eclass and there
I found what's causing the problem. If the funtion is called for a package that
is not installed it returns as if the requested flag was set (if I followed the
code right, returning 0 is true and returning 1 is false in bash, right?)
That means that the logic in the ebuild is only correct if all three packages
are installed.
The logic needs to be changed to only check the mozsvg flag for installed
packages but how to do that is beyond my knowlege.
I looked it up too.
built_with_use is returning 0=true for packages that are not installed.
Either the logic of the ebuild is wrong (it has to check, whether the packages
are installed at all, and then if the useflag is set for them) or the logic
within built_with_use is really wrong. I prefer the latter.
Created an attachment (id=79875) [details]
Patch to fix the logic in the ebuild
The attached patch fixes the ebuild for me. It changes the logic to first test
if each package is installed before checking for the mozsvg use-flag.
The solution is similar to that in several other ebuilds in portage (e.g.
libquicktime-0.9.7-r1 and gimp-print-5.0.0_rc2)
Thanks for the patch Daniel. It's been committed to the tree.