1 |
Hi all. Here is a tentative guide for explaining how to move all |
2 |
guile stuff in the overlay to the tree, and hope avoiding |
3 |
forthcoming bugs. This guide is written according to what |
4 |
I recall for the year and a half since I started slotting guile. |
5 |
|
6 |
I should have written this a year ago, I was waiting for some Lisp |
7 |
Project dev to get enough time to dig into guile, but it has not |
8 |
happened, and more and more packages require their attention. I did |
9 |
not find the time to become myself a dev either, and time passes. |
10 |
|
11 |
|
12 |
I CC proxy-maint@ here, as I volonteer to maintain guile for the time |
13 |
being, and I think I'm currently the one using the lisp overlay having |
14 |
the best knowledge in Gentoo's guile status. |
15 |
|
16 |
|
17 |
Foreword |
18 |
-------- |
19 |
|
20 |
I used SLOTted guile before I pushed it to the lisp overlay [1]. |
21 |
I had some issues regarding eselect-guile script that I fixed |
22 |
since. I no longer have any Gentoo machine (my last and main laptop |
23 |
died two weeks ago), I only have a Gentoo Alt/Prefix amd64-linux on my |
24 |
work laptop, but I haven't really tested guile-2 on prefix yet. I am |
25 |
confident with what I have done with guile, but it needs more |
26 |
testing. Pushing it to the overlay with p.mask will benefit from |
27 |
flameeyes' tinderbox. |
28 |
|
29 |
1. http://git.overlays.gentoo.org/gitweb/?p=proj/lisp.git;a=commit;h=8409eb91bf10a18080d33cb0c69797335f5aeec9 |
30 |
|
31 |
|
32 |
Here is a short outline: first I list the new packages that need to be |
33 |
added to the tree, then review the known issues, and propose |
34 |
a migration plan. |
35 |
|
36 |
New Ebuilds |
37 |
=========== |
38 |
|
39 |
|
40 |
dev-scheme/guile-1.8.8-r2 |
41 |
------------------------- |
42 |
|
43 |
Same version as in-tree guile-1.8.8-r1, but not compatible with. |
44 |
I wrote it long ago, and the tree version has been updated since, and |
45 |
I didn't get it in sync with. Changes summary: |
46 |
|
47 |
- Bump to EAPI4 |
48 |
- Add +readline in IUSE and sys-libs/readline conditionnal dependency |
49 |
using a patch available in $FILESDIR |
50 |
- It misses the ~arm-linux and ~x64-macos KEYWORDS |
51 |
- R/Depends on app-admin/eselect-guile (see below) |
52 |
- 3 configure changes --program-suffix, slotted --infodir and use_with |
53 |
readline |
54 |
- einstall --infodir (I don't remember why it is here, seems redundant |
55 |
with configure's parameter) |
56 |
- Rename the guile.m4 file to guile-1.8.m4 |
57 |
- Remove env file manipulation |
58 |
- Add eselect guile update ifunset to src_post{inst,rm} phases. |
59 |
|
60 |
dev-scheme/guile-2.0.9 |
61 |
---------------------- |
62 |
|
63 |
The main change compared to guile-1.8 is the removal of emacs support, |
64 |
no longer supported by upstream. All the rest of the ebuild seems |
65 |
mostly trivial. |
66 |
|
67 |
|
68 |
app-admin/eselect-guile |
69 |
----------------------- |
70 |
|
71 |
An eselect module for managing slotted guile versions, barely tested. |
72 |
Explicit block on <dev-scheme/guile-1.8.8-r2 which is not |
73 |
properly slotted. |
74 |
|
75 |
|
76 |
2. Known Issues |
77 |
=============== |
78 |
|
79 |
app-text/texmacs |
80 |
---------------- |
81 |
|
82 |
See https://bugs.gentoo.org/show_bug.cgi?id=436400 |
83 |
|
84 |
Won't support guile-2, said grozin. I patched the texmacs build system |
85 |
to explicitly change all `guile-config` calls to |
86 |
`guile-config-1.8`. This patch is gentoo-specific and unlikely to be |
87 |
merged upstream anytime soon, as guile-1.8 does not provide any |
88 |
pkgconfig interface (guile-2.0 does). |
89 |
|
90 |
See texmacs-1.0.7.16-r2 in the overlay, here are the differences: |
91 |
- Change guile dependency to specify the correct slotted version |
92 |
1.8.8-r2 |
93 |
- Add a patch (in FILESDIR) to force guile*-1.8 in the build system. |
94 |
|
95 |
I haven't followed new texmacs releases (tree has 1.0.7.17 and |
96 |
1.0.7.19). |
97 |
|
98 |
|
99 |
dev-scheme/greg |
100 |
--------------- |
101 |
|
102 |
See https://bugs.gentoo.org/show_bug.cgi?id=351991 |
103 |
|
104 |
Almost used by nothing (only one package in sci- needs greg when |
105 |
FEATURE=test). Needs a proper fix, like texmacs maybe. |
106 |
|
107 |
Others |
108 |
------ |
109 |
|
110 |
I have not check all reverse deps, maybe there are more issue to |
111 |
come. We won't find them until we get all guile stuff in the tree. |
112 |
|
113 |
|
114 |
3. Migration Plan |
115 |
================= |
116 |
|
117 |
Here is how I would move all that, based on my experience, quizes and |
118 |
documentation I read. |
119 |
|
120 |
First push app-admin/eselect-guile, as nothing depends on it yet, and |
121 |
won't block anything. Then push guile-1.8.8-r2, p.mask it, as it may |
122 |
break several packages in ~arch. Maybe just drop keywords for testing |
123 |
the slot system?. Then push guile-2.0.9, p.mask or w/o keywords, same |
124 |
reasons. |
125 |
|
126 |
|
127 |
This might mot be ideal, it will break texmacs and stuff, but I don't |
128 |
know of a better way to achieve it yet. Some of you have more |
129 |
experience here :-). |
130 |
|
131 |
|
132 |
I hope this helps, feel free to ask any question regarding guile if |
133 |
needed. I thank the one who volonteer to make this happen. |
134 |
|
135 |
Oh, as a sidenote, guile upstream does not really support 1.8 anymore, |
136 |
they don't have time to, and concentrate all efforts on 2.0, so moving |
137 |
to guile-2.0 is getting more and more urgent day after day. I heard |
138 |
remors that future autogen version will require guile-2.0. The earlier |
139 |
we push guile-2.0, the more testing window we have. |
140 |
|
141 |
Cheers, |
142 |
-- |
143 |
Cyprien Nicolas (Fulax) |
144 |
Gentoo Lisp project contrib |