public inbox for gentoo-lisp@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-lisp] dev-scheme/guile:2.0 status update and migration plan
@ 2013-04-15 21:42 Cyprien Nicolas
  2013-04-16  7:20 ` Thomas Kahle
  0 siblings, 1 reply; 2+ messages in thread
From: Cyprien Nicolas @ 2013-04-15 21:42 UTC (permalink / raw
  To: gentoo-lisp; +Cc: proxy-maint

[-- Attachment #1: Type: text/plain, Size: 4983 bytes --]

Hi all. Here is a tentative guide for explaining how to move all
guile stuff in the overlay to the tree, and hope avoiding
forthcoming bugs. This guide is written according to what
I recall for the year and a half since I started slotting guile.

I should have written this a year ago, I was waiting for some Lisp
Project dev to get enough time to dig into guile, but it has not
happened, and more and more packages require their attention.  I did
not find the time to become myself a dev either, and time passes.


I CC proxy-maint@ here, as I volonteer to maintain guile for the time
being, and I think I'm currently the one using the lisp overlay having
the best knowledge in Gentoo's guile status.


Foreword
--------

I used SLOTted guile before I pushed it to the lisp overlay [1].
I had some issues regarding eselect-guile script that I fixed
since. I no longer have any Gentoo machine (my last and main laptop
died two weeks ago), I only have a Gentoo Alt/Prefix amd64-linux on my
work laptop, but I haven't really tested guile-2 on prefix yet. I am
confident with what I have done with guile, but it needs more
testing. Pushing it to the overlay with p.mask will benefit from
flameeyes' tinderbox.

1. http://git.overlays.gentoo.org/gitweb/?p=proj/lisp.git;a=commit;h=8409eb91bf10a18080d33cb0c69797335f5aeec9


Here is a short outline: first I list the new packages that need to be
added to the tree, then review the known issues, and propose
a migration plan.

New Ebuilds
===========


dev-scheme/guile-1.8.8-r2
-------------------------

Same version as in-tree guile-1.8.8-r1, but not compatible with.
I wrote it long ago, and the tree version has been updated since, and
I didn't get it in sync with. Changes summary:

- Bump to EAPI4
- Add +readline in IUSE and sys-libs/readline conditionnal dependency
  using a patch available in $FILESDIR
- It misses the ~arm-linux and ~x64-macos KEYWORDS
- R/Depends on app-admin/eselect-guile (see below)
- 3 configure changes --program-suffix, slotted --infodir and use_with
  readline
- einstall --infodir (I don't remember why it is here, seems redundant
  with configure's parameter)
- Rename the guile.m4 file to guile-1.8.m4
- Remove env file manipulation
- Add eselect guile update ifunset to src_post{inst,rm} phases.

dev-scheme/guile-2.0.9
----------------------

The main change compared to guile-1.8 is the removal of emacs support,
no longer supported by upstream. All the rest of the ebuild seems
mostly trivial.


app-admin/eselect-guile
-----------------------

An eselect module for managing slotted guile versions, barely tested.
Explicit block on <dev-scheme/guile-1.8.8-r2 which is not
properly slotted.


2. Known Issues
===============

app-text/texmacs
----------------

See https://bugs.gentoo.org/show_bug.cgi?id=436400

Won't support guile-2, said grozin. I patched the texmacs build system
to explicitly change all `guile-config` calls to
`guile-config-1.8`. This patch is gentoo-specific and unlikely to be
merged upstream anytime soon, as guile-1.8 does not provide any
pkgconfig interface (guile-2.0 does).

See texmacs-1.0.7.16-r2 in the overlay, here are the differences:
- Change guile dependency to specify the correct slotted version
  1.8.8-r2
- Add a patch (in FILESDIR) to force guile*-1.8 in the build system.

I haven't followed new texmacs releases (tree has 1.0.7.17 and
1.0.7.19).


dev-scheme/greg
---------------

See https://bugs.gentoo.org/show_bug.cgi?id=351991

Almost used by nothing (only one package in sci- needs greg when
FEATURE=test). Needs a proper fix, like texmacs maybe.

Others
------

I have not check all reverse deps, maybe there are more issue to
come. We won't find them until we get all guile stuff in the tree.


3. Migration Plan
=================

Here is how I would move all that, based on my experience, quizes and
documentation I read.

First push app-admin/eselect-guile, as nothing depends on it yet, and
won't block anything. Then push guile-1.8.8-r2, p.mask it, as it may
break several packages in ~arch. Maybe just drop keywords for testing
the slot system?. Then push guile-2.0.9, p.mask or w/o keywords, same
reasons.


This might mot be ideal, it will break texmacs and stuff, but I don't
know of a better way to achieve it yet. Some of you have more
experience here :-).


I hope this helps, feel free to ask any question regarding guile if
needed.  I thank the one who volonteer to make this happen.

Oh, as a sidenote, guile upstream does not really support 1.8 anymore,
they don't have time to, and concentrate all efforts on 2.0, so moving
to guile-2.0 is getting more and more urgent day after day.  I heard
remors that future autogen version will require guile-2.0. The earlier
we push guile-2.0, the more testing window we have.

Cheers,
-- 
Cyprien Nicolas (Fulax)
Gentoo Lisp project contrib

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [gentoo-lisp] dev-scheme/guile:2.0 status update and migration plan
  2013-04-15 21:42 [gentoo-lisp] dev-scheme/guile:2.0 status update and migration plan Cyprien Nicolas
@ 2013-04-16  7:20 ` Thomas Kahle
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Kahle @ 2013-04-16  7:20 UTC (permalink / raw
  To: gentoo-lisp

[-- Attachment #1: Type: text/plain, Size: 5748 bytes --]

Hi,

Thanks for this update!

On 23:42 Mon 15 Apr 2013, Cyprien Nicolas wrote:
> Hi all. Here is a tentative guide for explaining how to move all
> guile stuff in the overlay to the tree, and hope avoiding
> forthcoming bugs. This guide is written according to what
> I recall for the year and a half since I started slotting guile.

As a consumer of lisp stuff, I would be mostly interested in plans to
unmask a version of guile:2.  The package net-mai/mu that I maintain
supports only guile:2 and all those features are disabled at the moment.
It has been like this for a felt eternity now.  So +1 for unmasking
guile:2 as soon as possible.

Cheers,
Thomas

> 
> I should have written this a year ago, I was waiting for some Lisp
> Project dev to get enough time to dig into guile, but it has not
> happened, and more and more packages require their attention.  I did
> not find the time to become myself a dev either, and time passes.
> 
> 
> I CC proxy-maint@ here, as I volonteer to maintain guile for the time
> being, and I think I'm currently the one using the lisp overlay having
> the best knowledge in Gentoo's guile status.
> 
> 
> Foreword
> --------
> 
> I used SLOTted guile before I pushed it to the lisp overlay [1].
> I had some issues regarding eselect-guile script that I fixed
> since. I no longer have any Gentoo machine (my last and main laptop
> died two weeks ago), I only have a Gentoo Alt/Prefix amd64-linux on my
> work laptop, but I haven't really tested guile-2 on prefix yet. I am
> confident with what I have done with guile, but it needs more
> testing. Pushing it to the overlay with p.mask will benefit from
> flameeyes' tinderbox.
> 
> 1. http://git.overlays.gentoo.org/gitweb/?p=proj/lisp.git;a=commit;h=8409eb91bf10a18080d33cb0c69797335f5aeec9
> 
> 
> Here is a short outline: first I list the new packages that need to be
> added to the tree, then review the known issues, and propose
> a migration plan.
> 
> New Ebuilds
> ===========
> 
> 
> dev-scheme/guile-1.8.8-r2
> -------------------------
> 
> Same version as in-tree guile-1.8.8-r1, but not compatible with.
> I wrote it long ago, and the tree version has been updated since, and
> I didn't get it in sync with. Changes summary:
> 
> - Bump to EAPI4
> - Add +readline in IUSE and sys-libs/readline conditionnal dependency
>   using a patch available in $FILESDIR
> - It misses the ~arm-linux and ~x64-macos KEYWORDS
> - R/Depends on app-admin/eselect-guile (see below)
> - 3 configure changes --program-suffix, slotted --infodir and use_with
>   readline
> - einstall --infodir (I don't remember why it is here, seems redundant
>   with configure's parameter)
> - Rename the guile.m4 file to guile-1.8.m4
> - Remove env file manipulation
> - Add eselect guile update ifunset to src_post{inst,rm} phases.
> 
> dev-scheme/guile-2.0.9
> ----------------------
> 
> The main change compared to guile-1.8 is the removal of emacs support,
> no longer supported by upstream. All the rest of the ebuild seems
> mostly trivial.
> 
> 
> app-admin/eselect-guile
> -----------------------
> 
> An eselect module for managing slotted guile versions, barely tested.
> Explicit block on <dev-scheme/guile-1.8.8-r2 which is not
> properly slotted.
> 
> 
> 2. Known Issues
> ===============
> 
> app-text/texmacs
> ----------------
> 
> See https://bugs.gentoo.org/show_bug.cgi?id=436400
> 
> Won't support guile-2, said grozin. I patched the texmacs build system
> to explicitly change all `guile-config` calls to
> `guile-config-1.8`. This patch is gentoo-specific and unlikely to be
> merged upstream anytime soon, as guile-1.8 does not provide any
> pkgconfig interface (guile-2.0 does).
> 
> See texmacs-1.0.7.16-r2 in the overlay, here are the differences:
> - Change guile dependency to specify the correct slotted version
>   1.8.8-r2
> - Add a patch (in FILESDIR) to force guile*-1.8 in the build system.
> 
> I haven't followed new texmacs releases (tree has 1.0.7.17 and
> 1.0.7.19).
> 
> 
> dev-scheme/greg
> ---------------
> 
> See https://bugs.gentoo.org/show_bug.cgi?id=351991
> 
> Almost used by nothing (only one package in sci- needs greg when
> FEATURE=test). Needs a proper fix, like texmacs maybe.
> 
> Others
> ------
> 
> I have not check all reverse deps, maybe there are more issue to
> come. We won't find them until we get all guile stuff in the tree.
> 
> 
> 3. Migration Plan
> =================
> 
> Here is how I would move all that, based on my experience, quizes and
> documentation I read.
> 
> First push app-admin/eselect-guile, as nothing depends on it yet, and
> won't block anything. Then push guile-1.8.8-r2, p.mask it, as it may
> break several packages in ~arch. Maybe just drop keywords for testing
> the slot system?. Then push guile-2.0.9, p.mask or w/o keywords, same
> reasons.
> 
> 
> This might mot be ideal, it will break texmacs and stuff, but I don't
> know of a better way to achieve it yet. Some of you have more
> experience here :-).
> 
> 
> I hope this helps, feel free to ask any question regarding guile if
> needed.  I thank the one who volonteer to make this happen.
> 
> Oh, as a sidenote, guile upstream does not really support 1.8 anymore,
> they don't have time to, and concentrate all efforts on 2.0, so moving
> to guile-2.0 is getting more and more urgent day after day.  I heard
> remors that future autogen version will require guile-2.0. The earlier
> we push guile-2.0, the more testing window we have.
> 
> Cheers,
> -- 
> Cyprien Nicolas (Fulax)
> Gentoo Lisp project contrib



-- 
Thomas Kahle
http://dev.gentoo.org/~tomka/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 316 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-04-16  7:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-15 21:42 [gentoo-lisp] dev-scheme/guile:2.0 status update and migration plan Cyprien Nicolas
2013-04-16  7:20 ` Thomas Kahle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox