Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 88924 - FOX/FXScintilla/FXPy/FXRuby workover
Summary: FOX/FXScintilla/FXPy/FXRuby workover
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All All
: High enhancement (vote)
Assignee: Default Assignee for New Packages
URL:
Whiteboard:
Keywords:
Depends on: 88983
Blocks:
  Show dependency tree
 
Reported: 2005-04-12 22:51 UTC by Yaakov S
Modified: 2010-03-13 13:57 UTC (History)
4 users (show)

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


Attachments
tarball of fox overlay (fox-overlay.tar.bz2,7.71 KB, application/octet-stream)
2005-04-12 22:53 UTC, Yaakov S
Details
fox.eclass (fox.eclass,6.75 KB, text/plain)
2005-04-12 22:54 UTC, Yaakov S
Details
fox-overlay.tar.bz2 (fox-overlay.tar.bz2,8.48 KB, application/octet-stream)
2005-04-13 08:24 UTC, Yaakov S
Details
fox.eclass (fox.eclass,5.74 KB, text/plain)
2005-04-13 08:27 UTC, Yaakov S
Details
diff fo media-video/goggles ebuilds (goggles.diff,3.49 KB, patch)
2005-04-13 10:32 UTC, Yaakov S
Details | Diff
diff fo media-sound/rezound ebuilds (rezound.diff,1.46 KB, patch)
2005-04-13 10:32 UTC, Yaakov S
Details | Diff
diff for x11-misc/xfe ebuilds (xfe.diff,1.03 KB, patch)
2005-04-13 10:33 UTC, Yaakov S
Details | Diff
fox.eclass (fox.eclass,5.74 KB, text/plain)
2005-04-14 06:58 UTC, Yaakov S
Details
diff for dev-util/freeride ebuilds (freeride.diff,1.14 KB, patch)
2005-04-14 17:19 UTC, Yaakov S
Details | Diff
diff for net-irc/xdcc-fetch ebuilds (xdcc-fetch.diff,333 bytes, patch)
2005-04-14 17:26 UTC, Yaakov S
Details | Diff
fox.eclass (fox.eclass,5.70 KB, text/plain)
2005-04-16 22:40 UTC, Yaakov S
Details
diff for media-video/goggles ebuilds (goggles.diff,3.62 KB, patch)
2005-04-17 13:25 UTC, Yaakov S
Details | Diff
fox.eclass (fox.eclass,6.12 KB, text/plain)
2005-04-17 20:10 UTC, Yaakov S
Details
fox-overlay.tar.bz2 (fox-overlay.tar.bz2,8.63 KB, application/octet-stream)
2005-04-17 20:13 UTC, Yaakov S
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Yaakov S 2005-04-12 22:51:14 UTC
The problem is thus:  each minor version number of fox has an incompatible API, but (thankfully) is made to install in parallel, except that each version comes with the same applications, which don't change as much, except to keep with the API version their packaged with.

Now, for example, fxscintilla will work with either fox-1.0 or 1.2, FXPy needs fox-1.0, FXRuby-1.2 (used by dev-util/freeride) needs fox-1.2 and fxscintilla for fox-1.2, but FXRuby-1.0.29 needs fox-1.0 with fxscintilla for fox-1.0 (and these two can be installed in parallel), foXdesktop[1] (not currently in portage) needs fox-1.4.  Currently, there is no way to merge all of these at once, which is obviously not the Gentoo way.

The solution:  have x11-libs/fox install just the headers, libs, and (depending on USE flags) docs into different SLOTs, and break out the applications into separate (all SLOT="0") ebuilds.  Then, go through portage and make sure that everything dependent on fox DEPENDs on only the SLOT it needs.

I've done the first part by creating a fox.eclass which handles building fox itself and the apps from the fox tarball in separate ebuilds, namely:

app-editors/adie
dev-util/reswrap
sci-calculators/calculator
x11-misc/pathfinder
x11-misc/shutterbug

I've made ebuilds for all of the above, plus x11-libs/fox, which inherit the fox.eclass to do the work for them.  The ebuilds comprise patch-level version bumps for each SLOT: 1.0.53 (slot 0), 1.2.15 (slot 1.2), 1.4.12 (slot 1.4), and a devel branch 1.5.3 (slot 1.5, to be p'masked if you import it yet).  The ebuilds themselves are pretty small, leaving the work to fox.eclass to build, install, and SLOT and symlink the fox-config scripts.

Fixing fxscintilla for the multiple SLOTs was a bit of a challenge; in the end, I borrowed from wxGTK, which also installs several APIs from the same ebuild.  So, fxscintilla DEPENDs on both fox-1.0 and fox-1.2, and builds separate libs for each API.

Then, dev-python/fxpy was a matter of fixing deps, plus a small unrelated patch (since we now use econf and hence respect EXTRA_ECONF, the only library file we can count on being present is libFOX.la).

dev-ruby/fxruby-1.0 and 1.2 can now also be SLOTted (fox.so and fox12.so), with corrected deps.  I bumped both fxpy and fxruby to catch these changes.

What's left is to correct the remaining packages in the tree that DEPEND on x11-libs/fox, namely:

dev-util/freeride
media-sound/rezound
media-video/goggles
x11-misc/xfe

DEPENDs on fox must *ALWAYS* (irrespective of this work) be in the form of '=x11-libs/fox-1.2*', or if necessary, '>=x11-libs/fox-1.0.17 <x11-libs/fox-1.1'.  The above ebuilds (except for xfe?) incorrectly DEPEND, for example, on '>=x11-libs/fox-1.2', which portage will think is provided by 1.4 when in reality it won't work.

AFAICS all current fox ebuilds >=1.2 (which aren't SLOTted) will need to be p.mask'ed and then removed to avoid interfering with this.

I'm attaching a tarballed overlay which contains the eclass and ebuilds for fox, its apps, fxscintilla, fxpy, and fxruby.  If there's something that needs clarification please feel free to ask; I believe, however, that I covered all the bases with this work.

I hope you find this helpful.

[1] http://foxdesktop.sourceforge.net/
Comment 1 Yaakov S 2005-04-12 22:53:04 UTC
Created attachment 56144 [details]
tarball of fox overlay

I know it's generally undesirable to attach tarballs, but there's too many
files involved to post one at a time.  Sorry for the inconvience.
Comment 2 Yaakov S 2005-04-12 22:54:40 UTC
Created attachment 56145 [details]
fox.eclass

Well, since this is the core of the work, I'll attach this separately as well;
it's the same file as included in the tarball.
Comment 3 Yaakov S 2005-04-13 08:24:10 UTC
Created attachment 56168 [details]
fox-overlay.tar.bz2

Take two.

After further testing, I saw that creating symlinks for fox-config was at best
unreliable.  So instead, I made x11-libs/fox-wrapper, which makes
/usr/bin/fox-config a symlink to a wrapper script, similar to automake-wrapper.


I believe that this a better solution and is working properly.	The only catch
is to check the other apps which DEPEND fox and see if their builds call
fox-config directly; if so, an 'export WANT_FOX="1.?"' will need to be added to
their ebuilds.

Also, about dealing with the current fox ebuilds, even the existing 1.0 builds
will be a problem with collision-protect, as dev-util/reswrap will collide with
whichever fox currently installed.

BTW, besides the apps noted above which DEPEND fox directly, the following
DEPEND fxruby:

dev-util/freeride
net-irc/xdcc-fetch

AFAICS nothing in portage DEPENDs fxpy.
Comment 4 Yaakov S 2005-04-13 08:27:01 UTC
Created attachment 56169 [details]
fox.eclass

Here's the revised eclass, which is also in the tarball.
Comment 5 Yaakov S 2005-04-13 10:17:08 UTC
I filed bug 88983 to get newicon into eutils and out of the fox.eclass.
Comment 6 Yaakov S 2005-04-13 10:32:10 UTC
Created attachment 56180 [details, diff]
diff fo media-video/goggles ebuilds
Comment 7 Yaakov S 2005-04-13 10:32:51 UTC
Created attachment 56181 [details, diff]
diff fo media-sound/rezound ebuilds
Comment 8 Yaakov S 2005-04-13 10:33:32 UTC
Created attachment 56182 [details, diff]
diff for x11-misc/xfe ebuilds
Comment 9 Yaakov S 2005-04-14 06:58:55 UTC
Created attachment 56257 [details]
fox.eclass

Looks like I slipped in a last-minute typo in the eclass.
This *supersedes* the eclass in the tarball.
Comment 10 Ryan Phillips (RETIRED) gentoo-dev 2005-04-14 14:37:28 UTC
Looks like some nice work.  I'll commit this soon.
Comment 11 Yaakov S 2005-04-14 17:19:31 UTC
Created attachment 56311 [details, diff]
diff for dev-util/freeride ebuilds
Comment 12 Yaakov S 2005-04-14 17:26:45 UTC
Created attachment 56313 [details, diff]
diff for net-irc/xdcc-fetch ebuilds

I think that's everything now, short of waiting for bug 88983.

Here are the affected package maintainers/herds, based on current metadata.xml:


dev-python/fxpy: python
dev-ruby/fxruby: ruby
dev-util/freeride: ruby
media-sound/rezound: sound
media-video/goggles: video
net-irc/xdcc-fetch: net-irc
x11-misc/xfe: s4t4n desktop-misc
Comment 13 Yaakov S 2005-04-16 22:40:27 UTC
Created attachment 56489 [details]
fox.eclass

newicon is now in eutils.eclass.
I also added to pkg_postinst an einfo about the separate ebuilds for reswrap
and the apps.
Comment 14 Yaakov S 2005-04-17 13:25:27 UTC
Created attachment 56537 [details, diff]
diff for media-video/goggles ebuilds

This is an updated patch for goggles due to a change in 0.8.0-r1, which also
uses domenu and newicon (not related to this really, but while I was at it...)
Comment 15 Yaakov S 2005-04-17 20:10:24 UTC
Created attachment 56552 [details]
fox.eclass

Take five.  Learned something new today...

I saw on the fox-users list that doxygen can be used to build class reference
docs for FOX >=1.2.  This new ebuild handles that as well.
Comment 16 Yaakov S 2005-04-17 20:13:48 UTC
Created attachment 56553 [details]
fox-overlay.tar.bz2

This overlay includes the newest eclass from comment 15, plus version bumps to
the 1.5 devel branch (1.5.3 -> 1.5.4) and fxruby (1.2.6).
Comment 17 Ryan Phillips (RETIRED) gentoo-dev 2005-05-07 13:08:54 UTC
Most of the ebuilds have been committed and masked for testing.
Comment 18 Yaakov S 2005-05-19 17:16:09 UTC
Looks like you made an x11-misc/pathfinder directory, but there's no files
there, and you didn't include sci-calculators/calculator.  I assume that's what
you mean by "most".  Just curious, are there any issues with those ebuilds in
particular?
Comment 19 Ryan Phillips (RETIRED) gentoo-dev 2005-05-20 16:18:46 UTC
Yaakov... Are you getting repoman errors within the pathfinder directory?  What
is causing them?
Comment 20 Yaakov S 2005-07-07 15:11:10 UTC
Never mind comment 18.  Everything looks good now.

FYI, there are bumps to 1.2.16, 1.4.16, and 1.5.5 upstream; haven't had a chance
to test them though.
Comment 21 Hynek Schlawack 2005-10-15 07:10:40 UTC
How's going? I currently can't emerge FXRuby because of exactly the problems
mentioned in the motivation. Any solution on the horizon?
Comment 22 Yaakov S 2005-10-16 19:24:07 UTC
These ebuilds were committed to the portage tree on 07 May 2005, but are still
p.mask'ed and ~arch.  You'll need to add these packages to package.unmask and
package.keywords in order to emerge them (you can find the full list of fox
packages in profiles/package.mask, entered on the aforementioned date. 
Comment 23 Diego Cano Lagneaux 2005-11-17 08:03:08 UTC
Hello,
Has this evolved in any way?
I can not help but notice that fox, fxruby, and fxscintilla are quite out-of-
date even in the hardmasked ones.
I would like to know if this nice idea is frozen, and I'd better update the 
ebuilds on my own, or somebody else is working on it.

(I need to use fxruby 1.4.x, which is not in Portage yet)
Comment 24 Pierre Y. 2006-01-19 12:17:24 UTC
So... what's the shortest way to install FreeRIDE ?
Comment 25 Yaakov S 2006-01-19 17:33:47 UTC
Try 'emerge dev-util/freeride' :-)
http://packages.gentoo.org/packages/?category=dev-util;name=freeride
Comment 26 Pierre Y. 2006-01-23 12:51:04 UTC
(In reply to comment #25)
> Try 'emerge dev-util/freeride' :-)
> http://packages.gentoo.org/packages/?category=dev-util;name=freeride

Even FreeRide 0.9.4 ? I have compile problems at fxScintilla emerge time :-(
Comment 27 VinnieNZ 2006-06-28 22:06:27 UTC
Is this moving forward at all?

I only ask, because since I've upgraded to GCC4 I'm unable to use fxruby and fox with the version of ruby I do have (even though fxruby 1.6 and fox 1.6 are released).

I'm sure others are experiencing the same issue, and am wondering if there is a work around at the moment to be able to get these working again?
Comment 28 Yaakov S 2006-06-29 17:04:33 UTC
The Gentoo developer who originally managed the fox packages (i.e. the previous bug owner) has retired, hence no progress has been made.  The versions in this overlay need to be updated.

If you're having problems since upgrading GCC, you probably need to rebuild; see the GCC migrating guide for details.
Comment 29 Matti Bickel (RETIRED) gentoo-dev 2006-10-22 10:44:43 UTC
I'll take a look and report back once i have something working.
From what i can see now, we need to drop fxruby-1.2* b/c it doesn't compile with GCC4.1 and upstream isn't accepting fixes anymore (no time to fix it myself, any patches?)
I'd like to bring the -1.4 and -1.6 stable branches up2date and provide the development -1.7 branch. Lets see what i can come up with.
Comment 30 Yaakov S 2006-10-22 11:49:32 UTC
> From what i can see now, we need to drop fxruby-1.2* b/c it doesn't compile
> with GCC4.1 and upstream isn't accepting fixes anymore (no time to fix it
> myself, any patches?)

That will mean masking dev-util/freeride as well, as the latest version still uses fxruby-1.2.

Providing fxruby-1.6 (is anything using it yet?) will also need a CVS build of fxscintilla.

I'm just getting my Gentoo box running again after quite a while, but I'll try to help as I can.
Comment 31 Matti Bickel (RETIRED) gentoo-dev 2007-01-01 11:27:38 UTC
I've just committed two new versions of fxruby to the tree. I'm unsure about the status of freeride though, my last test run yielded quite scaring 'invalid header format (i686)' warnings for the binarys and i'm looking into it (ruby herd?).
Comment 32 Matti Bickel (RETIRED) gentoo-dev 2007-05-22 08:55:09 UTC
So last issue is a unusable freeride. I'm getting me the sources and try to stitch it together with fxruby-1.6, as that is what all arches have stable now.
Freeride is abondoned upstream as of yesterday, but i still will try to solve the issue.

The stale fxruby-1.2 ebuilds are gone, sorry, it was high time for them.
Comment 33 fish ghoti 2007-07-09 21:50:59 UTC
(In reply to comment #32)
> Freeride is abondoned upstream as of yesterday
No, it seems to be still alive ! :)
See http://rubyforge.org/pipermail/freeride-devel/2007-June/000594.html
Comment 34 Matti Bickel (RETIRED) gentoo-dev 2010-03-13 13:57:35 UTC
This was "fixed" with the removal of freeride in bug #251935

Everything else was dealt with by upgrading.