Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 435250 - [tracker] packages that should depend on virtual/fortran
Summary: [tracker] packages that should depend on virtual/fortran
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Science Related Packages
URL:
Whiteboard:
Keywords: Tracker
Depends on: 435914 435916 435918 435928 435930 435936 435938 435940 435942 435944 435946 435948 435950
Blocks:
  Show dependency tree
 
Reported: 2012-09-16 19:39 UTC by Ben Longbons
Modified: 2012-10-07 13:31 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ben Longbons 2012-09-16 19:39:56 UTC
Background:
USE=fortran is in the default profile, bug I figured, why spend that extra time in gcc builds if I don't use it?
As it turns out, I had a couple of packages (that I could do without) that depended on sys-devel/gcc[fortran], but I discovered this not when changing the USE flags and rebuilding gcc, but when running revdep-rebuild later.

Bug:
various package do not declare their dependency on sys-devel/gcc[fortran]. A list of likely packages may be generated by this command:
$ cd /usr/portage
$ grep -l -r inherit.*fortran .
Comment 1 Chí-Thanh Christopher Nguyễn gentoo-dev 2012-09-16 19:47:28 UTC
And packages don't declare a dependency on sys-devel[cxx] either.

There is virtual/fortran too.
Comment 2 Ben Longbons 2012-09-16 19:50:10 UTC
(In reply to comment #1)
> And packages don't declare a dependency on sys-devel[cxx] either.
The difference is, it's not likely to have a full system without sys-devel/gcc[cxx] (and completely impossible once gcc 4.8 happens), whereas most people can do without fortran.

> There is virtual/fortran too.
Yeah, that'd be better.
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2012-09-17 11:38:19 UTC
Please file separate bug reports for those packages that lack the dependency, and make those bugs block this one.
Comment 4 Jeroen Roovers (RETIRED) gentoo-dev 2012-09-20 14:47:45 UTC
You'll have to reopen this if you find time to work on it.
Comment 5 Ben Longbons 2012-09-22 19:07:58 UTC
Sorry, I only have time for Gentoo stuff on weekends. I'll be filing dozens of bug reports now ...
Comment 6 Ben Longbons 2012-09-22 19:39:35 UTC
Sorry for the noise ... I started filing bug reports before actually checking whether they already *had* the dependency.

As it turns out, *most* packages already do have it.

In some cases some versions have the inherit but not the depend, but others have only the inherit ... I will not file the bugs in these cases, since the ebuild maintainer is obviously aware of the problem.

OTOH I am going to file bug reports for packages where only some versions inherit fortran, but don't have the depend; but other versions have no fortran at all, so the package maintainer can decide whether to fix it or just remove the old ebuilds from the tree.
Comment 7 Ben Longbons 2012-09-22 20:37:38 UTC
Okay, the original problem I had is different than I thought:

virtual/fortran *is* still installed on my system, because I (somehow) have dev-lang/ekopath installed, but it does not make users of fortran-2.eclass happy without putting special environment variables. It would be better if this were handled by an eselect or something (why is gcc-config not an eselect, anyway?)

It's possible that some packages that depend on virtual/fortran really depend only on sys-devel/gcc[fortran]

dev-lang/ekopath (formerly dev-lang/ekopath-bin) smells funny:
LICENSE="GPL-3"
RESTRICT="mirror"
it's a binary ELF download and I cannot find any source.

--

I'll continue filing the dependency bugs blocking this one. I have no clue what to do about this latest revelation.
Comment 8 Kacper Kowalik (Xarthisius) (RETIRED) gentoo-dev 2012-09-22 20:54:00 UTC
That dependency is a bit useless with current way things are interpreted by portage. Nevertheless let's keep it uniform across the tree, hoping it'll be useful someday.

If you find more bugs, keep them coming. If that's old, please close the tracker. Thanks!
Comment 9 Ben Longbons 2012-09-22 21:50:32 UTC
(In reply to comment #8)
> If you find more bugs, keep them coming. If that's old, please close the
> tracker. Thanks!
I was just getting started, then. That should be everything, now.

Things beyond the scope of this bug:
* If the package conditionally depends on virtual/fortran, it must override pkg_setup (I did note this when filing the blocking bugs, I just haven't searched the rest of the tree)
* Whether the package needs/lists fortran only in DEPEND, or also in RDEPEND
* Whether the package really happen with any fortran (assuming proper environment variables are set), or only with sys-devel/gcc[fortran]
Comment 10 Justin Lecher (RETIRED) gentoo-dev 2012-10-05 13:50:43 UTC
(In reply to comment #9)
> (In reply to comment #8)
> > If you find more bugs, keep them coming. If that's old, please close the
> > tracker. Thanks!
> I was just getting started, then. That should be everything, now.
> 
Thanks for digging the missing packages. I will work on them when they come in from you

> Things beyond the scope of this bug:
> * If the package conditionally depends on virtual/fortran, it must override
> pkg_setup (I did note this when filing the blocking bugs, I just haven't
> searched the rest of the tree)

I will create the same thing like python eclass is doing for their pkg_setup(). Thanks for the idea.

> * Whether the package needs/lists fortran only in DEPEND, or also in RDEPEND
I would think as long as it build shared/dynamically linked objects, we need it in RDEPEND.
> * Whether the package really happen with any fortran (assuming proper
> environment variables are set), or only with sys-devel/gcc[fortran]
I will ask Diego to do some tinderboxing on that.
Comment 11 Justin Lecher (RETIRED) gentoo-dev 2012-10-07 13:11:12 UTC
cvs ci -m "Depend on virtual/fortran eclass wise, #435250" ChangeLog fortran-2.eclass

we will depend on it eclass wise.
Comment 12 Justin Lecher (RETIRED) gentoo-dev 2012-10-07 13:14:12 UTC
Wrong, packages with optional fortran support will break.
Comment 13 Justin Lecher (RETIRED) gentoo-dev 2012-10-07 13:31:16 UTC
Now we got it right.