Opened 7 years ago

Closed 5 years ago

#54856 closed defect (wontfix)

guile: need a plan for happy coexistence

Reported by: kencu (Ken) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: maehne (Torsten Maehne), mojca (Mojca Miklavec), drkp (Dan Ports)
Port: guile

Description

There are presently two versions of guile available via MacPorts - guile18 and guile which gets you 2.2.2. The portfile for guile 2.0.14 is recent, and still works as well, in case a guile20 is wanted at some point. (I subbed guile 2.0.14 for guile on PPC as 2.2 won't build).

Changing from guile 2.0.14 to guile 2.2.2 appears to have broken many ports. For some, it's only when you try to build with the guile variant that you find this (eg gmake). For others, it's broken right off.

dan made a rather complicated guile18 port that almost works without intervention; most of the software I've tried looks for ${prefix}/include/libguile.h and that file doesn't exist (it's now called libguile18.h). I tried incorporating guile18 into one broken port, and with some patching for the include file, it builds OK <https://github.com/macports/macports-ports/pull/792>.

For other ports, there are third-party patches that enable autoconf to find guile 2.2, e.g autogen <https://github.com/macports/macports-ports/pull/778>.

  1. I suspect we might probably need a guile20 port, similar to guile18. Better to fix ports to use that than guile18, if we're going to get guile20 in the end.
  2. It would be nice to solve the missing <libguile.h> problem, and not to have to patch every port to alter the include file. A symlink does the trick, but ...

Here are the ports that reference port:guile

  • autogen (fixed - but not fixed to force a specific guile version. It finds guile 2.2 if both are installed.)
  • gdb
  • gmake (broken guile variant)
  • slib-guile (broken)
  • swig (builds)
  • taxbird (broken)
  • gnotime
  • graphviz
  • graphviz-devel
  • InsightToolkit
  • InsightToolkit312
  • InsightToolkit314
  • weechat
  • g-wrap
  • mdk
  • mu
  • denemo
  • geda-gaf (fixed)
  • harminv
  • libctl
  • elinks-devel

and these use port:guile18

  • TeXmacs
  • gnucash
  • libmatheval
  • lilypond
  • lilypond-devel

Change History (5)

comment:1 Changed 7 years ago by maehne (Torsten Maehne)

Cc: maehne added

comment:2 Changed 6 years ago by mojca (Mojca Miklavec)

Cc: mojca added

comment:3 Changed 6 years ago by drkp (Dan Ports)

Cc: drkp added

comment:4 Changed 6 years ago by drkp (Dan Ports)

See a couple of related comments in https://github.com/macports/macports-ports/pull/1058#pullrequestreview-79742064

FWIW, I looked at the guile18 port again recently and was pretty horrified by it so I'm not eager to do that again. :-) I think it was one of those things that seemed straightforward and then turned out to be way more complicated a patch than expected.

Mojca's suggestion of installing into include/guile18/guile/*.h sounds like it's worth trying.

It would also be worth checking whether any of the ports that use guile 1.8 could be migrated to 2.0 or 2.2.

comment:5 Changed 5 years ago by kencu (Ken)

Resolution: wontfix
Status: newclosed

I believe we have decided to leave the guile ports as they are and not try to add yet another duplicate guile installation, thankfully.

Note: See TracTickets for help on using tickets.