Subject: plan for updating guile-using pkgs to 1.6
To: None <tech-pkg@netbsd.org>
From: Greg Troxel <gdt@ir.bbn.com>
List: tech-pkg
Date: 12/03/2004 10:42:43
I've created a number of 1.6-using packages in wip/ (guile-gtk,
guile-gnome, g-wrap2, guile-lib, guile-pg, gnucash).  wiz asked me
about moving all the guile packages to 1.6.  I've written up the
following analysis and plan about which I request comments.

The basic intent is to provide 1.6 versions of infrastructure guile
pacakges (those used by other packages) with an unsuffixed and, and
leave 1.4 versions of those packages, where appropriate/helpful, with
14 suffixes.

The hard part about all of this is gnucash, since there is a fairly
large depenency chain.  My proposal involves copying each dependency
(in tsort order) to a 14-suffixed version, repointing later
dependencies, and converting the program to something more modern.
Then, each end-user pkg can be converted at will without dependency
issues; right now it's too hard since too many things have to change
at once.

----------------------------------------

* Basic Goal:

Migrate all packages that depend on guile14 to guile (1.6).  For
libraries that depend on guile, provide 14 versions if there is a need
(e.g. because of a dependency), and make the main (unnumbered) version
be for 1.6.


* Complex dependencies (indented depends on prior line):

math/guppi [this is guile 1.4 version]
  finance/gnucash

devel/guile-gtk [this is guile 1.4 version]
  www/galway
  cad/gwave
  devel/g-wrap

devel/guile-slib [this is guile 1.4 version]
  devel/g-wrap

devel/g-wrap
  finance/gnucash

wip/g-wrap2 [new version of g-wrap, uses guile 1.6]
  wip/guile-gnome

devel/guile16-slib [this is the guile 1.6 version]
  wip/guile-gnome

* IMMEDIATE PLAN

This plan aims to replace all guile-using packages that are used by
other packages with 1.6 versions, and to rename the 1.4 versions with
the 14 suffix.  After this, guile-using packages should be easily
individually upgradeable, because all guile library-type packages will
have 1.6 versions available.

guile-pg:
	move wip/guile-pg to databases, thereby dropping 1.4 version
	[in progress by wiz]

guile-slib:
	rename to guile14-slib
	repoint devel/g-wrap

	move wip/guile16-slib to devel/guile-slib
	repoint wip/guile-gnome

guile-gtk:
	rename to guile14-gtk
	repoint g-wrap, galway, mwave
	move wip/guile-gtk-devel to devel/guile-gtk
		[note that this uses an unofficial tarball; there is
		inexplicably no release of this software]

g-wrap:
	move to g-wrap1
	repoint finance/gnucash
	[do not bother with guile 1.6 version of g-wrap1 for now]
	move wip/g-wrap2 to devel/g-wrap
	repoint wip/guile-gnome

gnucash:
	[At this point, gnucash will still work with g-wrap1 and
	guile14.  wip/gnucash is an attempt at g-wrap 2 and guile 1.6.
	This can persist indefinitely; it's no worse than the current
	situation.]

guile-lib:
	move from wip
	repoint wip/g-wrap2 if next step is not simultaneous
	repoint wip/guile-gnome

g-wrap:
	move from wip/g-wrap2 to devel/g-wrap
	repoint wip/guile-gnome

guile-gnome:
	move from wip to devel/

* FUTURE

After executing above plan, reassess, and do some of the following.

* math/guppi:
	Copy to guppi14 for gnucash
	repoint gnucash
  	change to 1.6:  {edit makefile, bl3: s/guile14/guile/}
        check upstream for new version (gnome2?)
        test with gnumeric (nonobvious dependency - via bonobo)

* finance/gnucash
	Convert to use devel/g-wrap (1.9.3/2), guile 1.6, and
	math/guppi (now 1.6).

* www/galway: change to guile 1.6, new upstream?

* cad/gwave:  change to guile 1.6, new upstream?

* guile-{fcgi,www}: change to guile 1.6, new upstream?

* math/cassowary: change to guile 1.6, new upstream?

* misc/siag: change to guile 1.6, new upstream?

* lilypond:
	wip/lilypond20 uses 1.6.  It is not clear if stable lilypond
	works with 1.6, but it probably does.  If so, simply adjust
	lilypond to use 1.6.

* devel/guile-oops
	perhaps rename to guile14-oops to make it clear this is only
	for 1.4.  (1.6 includes GOOPS, so there is no need for a 1.6
	oops package.)

* misc/gnome-utils:
	This has guile commented out.  This is a gnome1 package, so
	it can be ignored as no longer relevant.  Or, someone could
	test with 1.6.