public inbox for gentoo-lisp@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-lisp] How to make dev & users happy about dev-scheme/guile
@ 2019-06-16 16:09 Cyprien Nicolas
       [not found] ` <28b7c2228475ab1fd17c8bdd0d39712e705e7e2b.camel@gentoo.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Cyprien Nicolas @ 2019-06-16 16:09 UTC (permalink / raw
  To: gentoo-lisp; +Cc: amynka, pacho

Hello,

I've took the time to understand what I did 6-8 years ago about guile
SLOT support - as guile-3 is coming - and we are still struggled with
guile-1.8 for some packages, 2.0 and 2.2 breaks a lot of stuff.

I won't list the numerous bugs related to guile's versions, but the
more important ones are that texmacs still requires guile-1.8 (and
lilypond?).

I thing I now understand how guile evolved from upstream, and my
mistake was to believe we can have different slots for 1.8 and 2.0.
Both installs /usr/lib64/libguile.so and tweaking that in src_install
is hazardous.

guile-2.2 has clean SLOT support, files are installed in
/usr/share/guile/2.2 and /usr/lib64/guile/2.2/ naturally, the
pkg-config file is well named.

So my plan would be to:
- leave guile-1.8 and 2.0 in the 12 SLOT as they are currently
- slot guile-2.2 (it requires a very small patch to the ebuild)
- update DEPEND of packages OK with guile-2.2
- identify package that cannot build with guile-2.2
- if they all build with guile-1.8, drop guile-2.0

The only issue I have with SLOT is the /usr/share/aclocal/guile.m4
file, and I need a SLOT guru and autoconf guru to sort this
out properly.

CC amynka who pushed the guile ebuild to the tree
CC pacho who opened the guile-2.2 breakage tracker

Thanks for reading

--
Cyprien Nicolas (fulax)
(returning) Gentoo Lisp project contib


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

* [gentoo-lisp] Re: How to make dev & users happy about dev-scheme/guile
       [not found] ` <28b7c2228475ab1fd17c8bdd0d39712e705e7e2b.camel@gentoo.org>
@ 2019-06-22 13:38   ` Cyprien Nicolas
       [not found]     ` <3b334b81e98a14feca20dddba03cca8776e04687.camel@gentoo.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Cyprien Nicolas @ 2019-06-22 13:38 UTC (permalink / raw
  To: Pacho Ramos, gentoo-lisp; +Cc: amynka

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

On 16/06/2019 22:50, Pacho Ramos wrote:
> El dom, 16-06-2019 a las 18:09 +0200, Cyprien Nicolas escribió:
> 
> Thanks a lot for looking into this!

My pleasure :-)
> I agree with the plan. Regarding the aclocal file, it seems we should be able to
> simply rename the one installed by guile-2.2:
> https://src.fedoraproject.org/rpms/guile22/blob/master/f/guile22.spec#_80

Okay, this is done in the ebuild in the lisp overlay. I just pushed 
dev-scheme/guile-2.2.5:2.2, with a block to >=dev-scheme/guile-2.2:12 
(which has the wrong slot).

I have even removed the p.mask entry now there is no conflict. My amd64 
system seems happy with 3 guile versions.

See the attached patch, quite straight forward!

How can we proceed to add the slotted 2.2 in tree, remove the 
non-slotted 2.2, and then start fixing bugs?

Regards,


-- 
Cyprien

[-- Attachment #2: guile-2.2.5-slotted.patch --]
[-- Type: text/x-patch, Size: 1371 bytes --]

--- guile-2.2.4.ebuild	2019-06-16 10:03:35.338738240 +0200
+++ guile-2.2.5.ebuild	2019-06-22 15:08:57.471071781 +0200
@@ -11,13 +11,14 @@
 SRC_URI="mirror://gnu/guile/${P}.tar.gz"
 
 LICENSE="LGPL-3+"
-SLOT="12/2.2-1" # libguile-2.2.so.1 => 2.2-1
+SLOT="2.2/2.2-1" # libguile-2.2.so.1 => 2.2-1
 KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
 IUSE="debug debug-malloc +deprecated +networking +nls +regex +threads" # upstream recommended +networking +nls
 REQUIRED_USE="regex" # workaround for bug 596322
 RESTRICT="strip"
 
 RDEPEND="
+	!>=dev-scheme/guile-2.2:12
 	>=dev-libs/boehm-gc-7.0:=[threads?]
 	dev-libs/gmp:=
 	virtual/libffi:=
@@ -39,6 +40,8 @@
 	filter-flags -ftree-vectorize
 
 	econf \
+		--program-suffix="-${MAJOR}" \
+		--infodir="${EPREFIX}"/usr/share/info/guile-${MAJOR} \
 		--disable-error-on-warning \
 		--disable-rpath \
 		--disable-static \
@@ -61,6 +64,9 @@
 src_install() {
 	default
 
+	# Maybe there is a proper way to do this? Symlink handled by eselect
+	mv "${ED}"/usr/share/aclocal/guile.m4 "${ED}"/usr/share/aclocal/guile-${MAJOR}.m4 || die "rename of guile.m4 failed"
+
 	# From Novell
 	# 	https://bugzilla.novell.com/show_bug.cgi?id=874028#c0
 	dodir /usr/share/gdb/auto-load/$(get_libdir)

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

* [gentoo-lisp] Re: How to make dev & users happy about dev-scheme/guile
       [not found]     ` <3b334b81e98a14feca20dddba03cca8776e04687.camel@gentoo.org>
@ 2019-07-07  9:48       ` Cyprien Nicolas
  0 siblings, 0 replies; 3+ messages in thread
From: Cyprien Nicolas @ 2019-07-07  9:48 UTC (permalink / raw
  To: Pacho Ramos, gentoo-lisp; +Cc: amynka

On 30/06/2019 10:11, Pacho Ramos wrote:
>
> Personally I would simply add a 2.2 slot for the new ebuild and start migrating
> deps to that one
> 
> The same should be done for 1.8 slot:
> https://src.fedoraproject.org/rpms/compat-guile18
> 
> For reverse deps the policy would be to use always the newest supported version
> , allowing the progressively drop the slots that become not needed
> 
> To coordinate this I would open a bug in bugs.gentoo.org and provide the patches
> there (or as scheme@gentoo.org , that is the maintainer as listed in
> metadata.xml as I just checked, but I guess you don't need to resend all the
> mails as the only member of the project is amynka).
> 
> Then, we can start adding the slotted ebuilds and checking reverse deps
> 

I'm fine with that plan, I'll have to dig further about 1.8, as there 
was a conflict with guilereadline libraries between 1.8 and 2.0.

I have a few issues to sort out with upstream first, then I'll open the 
tracker bug, put patches and open a GitHub Pull Request as suggested by Amy.

Thanks for your advice.


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

end of thread, other threads:[~2019-07-07  9:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-06-16 16:09 [gentoo-lisp] How to make dev & users happy about dev-scheme/guile Cyprien Nicolas
     [not found] ` <28b7c2228475ab1fd17c8bdd0d39712e705e7e2b.camel@gentoo.org>
2019-06-22 13:38   ` [gentoo-lisp] " Cyprien Nicolas
     [not found]     ` <3b334b81e98a14feca20dddba03cca8776e04687.camel@gentoo.org>
2019-07-07  9:48       ` Cyprien Nicolas

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