git: 7edcfaeb079e - main - */*: adapt to new guile framework

From: Robert Clausecker <fuz_at_FreeBSD.org>
Date: Sun, 30 Jul 2023 22:59:35 UTC
The branch main has been updated by fuz:

URL: https://cgit.FreeBSD.org/ports/commit/?id=7edcfaeb079e3285b299ef619ab9d09d46c447a2

commit 7edcfaeb079e3285b299ef619ab9d09d46c447a2
Author:     Andrew "RhodiumToad" Gierth <andrew@tao11.riddles.org.uk>
AuthorDate: 2023-07-28 13:23:52 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2023-07-30 22:59:04 +0000

    */*: adapt to new guile framework
    
     - change all ports using guile to USES=guile
     - flavorize guile-lib, guile-cairo, slib-guile
    
    PR:             260960
    Reported by:    Martin Neubauer <m.ne@gmx.net>
    Approved by:    bofh
    Differential Revision:  https://reviews.freebsd.org/D40194
---
 audio/denemo/Makefile                              |  11 +-
 audio/zplugins-lv2/Makefile                        |   3 +-
 audio/zrythm/Makefile                              |   6 +-
 cad/geda/Makefile                                  |  12 +-
 cad/lepton-eda/Makefile                            |   9 +-
 devel/autogen/Makefile                             |   6 +-
 devel/g-wrap/Makefile                              |  19 +-
 devel/g-wrap/pkg-plist                             |  38 +-
 devel/gdb/Makefile                                 |  11 +-
 devel/guile-lib/Makefile                           |  22 +-
 devel/guile-lib/files/patch-configure              |  11 +
 devel/guile-lib/pkg-plist                          | 122 +++---
 devel/libmatheval/Makefile                         |   9 +-
 devel/libruin/Makefile                             |  10 +-
 editors/texmacs/Makefile                           |  10 +-
 finance/gnucash/Makefile                           |   7 +-
 games/aisleriot/Makefile                           |  14 +-
 games/fmars/Makefile                               |   6 +-
 games/gnubik/Makefile                              |   8 +-
 games/gnurobots/Makefile                           |   6 +-
 games/gnurobots/files/patch-configure              |  11 +
 games/gnurobots/files/patch-configure.ac           |  11 -
 games/trackballs/Makefile                          |   6 +-
 graphics/graphviz/Makefile                         |   3 +-
 graphics/guile-cairo/Makefile                      |  45 ++-
 graphics/guile-cairo/distinfo                      |   6 +-
 .../files/extra-patch-upstream-fixes.patch         | 439 +++++++++++++++++++++
 graphics/guile-cairo/files/patch-guile-cairo.pc.in |   9 +
 graphics/guile-cairo/pkg-plist                     |  27 +-
 irc/weechat/Makefile                               |   3 +-
 irc/weechat/pkg-plist                              |   1 +
 lang/Makefile                                      |   2 -
 lang/mdk/Makefile                                  |   5 +-
 lang/slib-guile/Makefile                           |  17 +-
 lang/slib-guile/files/pkg-deinstall.in             |   4 +-
 lang/slib-guile/files/pkg-install.in               |   4 +-
 lang/slib-guile1/Makefile                          |  20 -
 lang/slib-guile1/files/pkg-deinstall.in            |   8 -
 lang/slib-guile1/files/pkg-install.in              |   8 -
 lang/slib-guile1/pkg-descr                         |   4 -
 lang/slib-guile2/Makefile                          |  20 -
 lang/slib-guile2/files/pkg-deinstall.in            |   8 -
 lang/slib-guile2/files/pkg-install.in              |   8 -
 lang/slib-guile2/pkg-descr                         |   4 -
 mail/anubis/Makefile                               |   6 +-
 mail/anubis/files/patch-src_Makefile.am            |   9 +
 mail/mailutils/Makefile                            |   4 +-
 mail/mu/Makefile                                   |   4 +-
 math/drgeo/Makefile                                |   8 +-
 math/drgeo/files/patch-geo_Makefile.in             |  12 +
 math/nlopt/Makefile                                |   7 +-
 net-im/freetalk/Makefile                           |   9 +-
 net/dico/Makefile                                  |   6 +-
 net/gnu-radius/Makefile                            |   4 +-
 net/serveez/Makefile                               |   6 +-
 print/lilypond-devel/Makefile                      |   6 +-
 print/lilypond/Makefile                            |  13 +-
 science/harminv/Makefile                           |   4 +-
 science/libctl/Makefile                            |   7 +-
 science/mpb/Makefile                               |   6 +-
 sysutils/mcron/Makefile                            |   9 +-
 textproc/scss/Makefile                             |   2 +-
 textproc/sdom/Makefile                             |   7 +-
 www/elinks/Makefile                                |   3 +-
 www/guile-www/Makefile                             |   4 +-
 x11-toolkits/guile-gnome-platform/Makefile         |  22 +-
 x11-toolkits/guile-gnome-platform/pkg-plist        |   2 +-
 x11/xbindkeys/Makefile                             |   7 +-
 x11/xbindkeys/distinfo                             |   5 +-
 69 files changed, 804 insertions(+), 381 deletions(-)

diff --git a/audio/denemo/Makefile b/audio/denemo/Makefile
index 4ff869e9e2a0..845053932cef 100644
--- a/audio/denemo/Makefile
+++ b/audio/denemo/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	denemo
 PORTVERSION=	2.0.6
-PORTREVISION=	17
+PORTREVISION=	18
 CATEGORIES=	audio
 MASTER_SITES=	GNU
 
@@ -19,7 +19,10 @@ LIB_DEPENDS=	libaubio.so:audio/aubio \
 		libsndfile.so:audio/libsndfile \
 		libportaudio.so:audio/portaudio \
 		librubberband.so:audio/rubberband \
-		libguile.so:lang/guile1 \
+		libharfbuzz.so:print/harfbuzz \
+		libfontconfig.so:x11-fonts/fontconfig \
+		libfreetype.so:print/freetype2 \
+		libsamplerate.so:audio/libsamplerate \
 		libfftw3.so:math/fftw3
 RUN_DEPENDS=	xdg-open:devel/xdg-utils
 
@@ -27,8 +30,8 @@ EXTRACT_BEFORE_ARGS=\
 		-s '!\(/Clarinet in B\).*\(\.denemo\)$$!\1b\2!p' -xf
 
 USES=		bison:alias compiler:c++11-lang desktop-file-utils gettext gmake \
-		gnome localbase:ldflags pkgconfig
-USE_GNOME=	intltool librsvg2 libxml2
+		gnome guile:1.8 localbase:ldflags pkgconfig
+USE_GNOME=	cairo intltool librsvg2 libxml2
 GNU_CONFIGURE=	yes
 CONFIGURE_ARGS=	--enable-jack \
 		--disable-alsa \
diff --git a/audio/zplugins-lv2/Makefile b/audio/zplugins-lv2/Makefile
index 4713f5319402..1cc593f19424 100644
--- a/audio/zplugins-lv2/Makefile
+++ b/audio/zplugins-lv2/Makefile
@@ -15,12 +15,11 @@ LICENSE_FILE=	${WRKSRC}/COPYING
 BUILD_DEPENDS=	lv2>0:audio/lv2 \
 		bash:shells/bash \
 		gmake:devel/gmake \
-		guile2>0:lang/guile2 \
 		${LOCALBASE}/lib/libztoolkit.a:x11-toolkits/ztoolkit
 LIB_DEPENDS=	liblo.so:audio/liblo \
 		libsndfile.so:audio/libsndfile
 
-USES=		gnome meson pkgconfig xorg
+USES=		gnome guile:2.2,3.0,build,alias meson pkgconfig xorg
 USE_GNOME=	cairo glib20 librsvg2
 USE_XORG=	x11
 
diff --git a/audio/zrythm/Makefile b/audio/zrythm/Makefile
index d056edc0b2cd..e591b392969a 100644
--- a/audio/zrythm/Makefile
+++ b/audio/zrythm/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	zrythm
 DISTVERSIONPREFIX=	v
 DISTVERSION=	1.0.0-alpha.26.0.13
-PORTREVISION=	7
+PORTREVISION=	8
 CATEGORIES=	audio
 
 MAINTAINER=	yuri@FreeBSD.org
@@ -23,7 +23,6 @@ LIB_DEPENDS=	libaudec.so:audio/libaudec \
 		libcurl.so:ftp/curl \
 		libfftw3_threads.so:math/fftw3 \
 		libfftw3f_threads.so:math/fftw3-float \
-		libguile-2.2.so:lang/guile2 \
 		libjack.so:audio/jack \
 		libjson-glib-1.0.so:devel/json-glib \
 		liblilv-0.so:audio/lilv \
@@ -48,7 +47,8 @@ LIB_DEPENDS=	libaudec.so:audio/libaudec \
 RUN_DEPENDS=	gsettings-desktop-schemas>=0:devel/gsettings-desktop-schemas \
 		kf5-breeze-icons>0:x11-themes/kf5-breeze-icons
 
-USES=		compiler:c11 desktop-file-utils gettext-tools gettext-runtime gnome libtool localbase:ldflags \
+USES=		compiler:c11 desktop-file-utils gettext-tools gettext-runtime \
+		guile:2.2,3.0,alias,conflicts gnome libtool localbase:ldflags \
 		meson pkgconfig python:build shared-mime-info shebangfix xorg
 USE_GITHUB=	yes
 USE_GNOME=	atk cairo gdkpixbuf2 glib20 gtk30 gtksourceview3 libxml2 pango
diff --git a/cad/geda/Makefile b/cad/geda/Makefile
index 654882bf539b..2f140bc1afd6 100644
--- a/cad/geda/Makefile
+++ b/cad/geda/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	geda
 PORTVERSION=	1.8.2
 DISTVERSIONPREFIX=gaf-
-PORTREVISION=	7
+PORTREVISION=	8
 PORTEPOCH=	1
 CATEGORIES=	cad
 MASTER_SITES=	http://ftp.geda-project.org/${PORTNAME}-gaf/stable/v${PORTVERSION:R}/${PORTVERSION}/
@@ -12,12 +12,12 @@ WWW=		http://www.gpleda.org/
 
 LICENSE=	GPLv2+
 
-LIB_DEPENDS=	libstroke.so:devel/libstroke \
-		libguile.so:lang/guile1
-RUN_DEPENDS=	gawk:lang/gawk\
+LIB_DEPENDS=	libstroke.so:devel/libstroke
+RUN_DEPENDS=	gawk:lang/gawk
 
-USES=		desktop-file-utils gettext gmake gnome libtool pathfix perl5 \
-		pkgconfig python:run shared-mime-info shebangfix
+USES=		desktop-file-utils gettext gmake gnome guile:1.8 libtool \
+		pathfix perl5 pkgconfig python:run shared-mime-info \
+		shebangfix
 SHEBANG_FILES=	examples/lightning_detector/bom libgeda/docs/*.dox \
 		utils/gxyrs/*.pl utils/scripts/* \
 		utils/docs/*.dox gattrib/docs/*.dox \
diff --git a/cad/lepton-eda/Makefile b/cad/lepton-eda/Makefile
index 578832b9799e..520f2dd386aa 100644
--- a/cad/lepton-eda/Makefile
+++ b/cad/lepton-eda/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	lepton-eda
 PORTVERSION=	1.9.18
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	cad
 MASTER_SITES=	https://github.com/lepton-eda/lepton-eda/releases/download/${PORTVERSION}-20220529/
 
@@ -15,12 +15,10 @@ LIB_DEPENDS=	libexpat.so:textproc/expat2 \
 		libfontconfig.so:x11-fonts/fontconfig \
 		libfreetype.so:print/freetype2 \
 		libfribidi.so:converters/fribidi \
-		libgc-threaded.so:devel/boehm-gc-threaded \
 		libGLdispatch.so:graphics/libglvnd \
 		libgmp.so:math/gmp \
 		libgraphite2.so:graphics/graphite2 \
 		libgtkextra-x11-3.0.so:x11-toolkits/gtkextra \
-		libguile-2.2.so:lang/guile2 \
 		libharfbuzz.so:print/harfbuzz \
 		libltdl.so:devel/libltdl \
 		libpcre.so:devel/pcre \
@@ -29,8 +27,9 @@ LIB_DEPENDS=	libexpat.so:textproc/expat2 \
 		libunistring.so:devel/libunistring
 
 USES=		desktop-file-utils gettext-tools gnome groff:build \
-		iconv:wchar_t libtool localbase makeinfo pathfix perl5 \
-		pkgconfig shared-mime-info shebangfix xorg
+		guile:2.2,3.0,conflicts iconv:wchar_t libtool localbase \
+		makeinfo pathfix perl5 pkgconfig shared-mime-info shebangfix \
+		xorg
 USE_XORG=	pixman x11 xau xcb xcomposite xcursor xdamage xdmcp xext xfixes \
 		xi xinerama xrandr xrender
 USE_GNOME=	cairo gdkpixbuf2 gtk20
diff --git a/devel/autogen/Makefile b/devel/autogen/Makefile
index c78dbb524ee4..f280310e28d7 100644
--- a/devel/autogen/Makefile
+++ b/devel/autogen/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	autogen
 PORTVERSION=	5.18.16
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	devel
 MASTER_SITES=	GNU/autogen/rel${PORTVERSION}
 
@@ -13,10 +13,10 @@ LICENSE_FILE=	${WRKSRC}/COPYING
 
 BUILD_DEPENDS=	${RUN_DEPENDS} \
 		gmktemp:sysutils/coreutils
-LIB_DEPENDS=	libguile-2.2.so:lang/guile2
 RUN_DEPENDS=	bash:shells/bash
 
-USES=		gmake gnome libtool pathfix perl5 pkgconfig shebangfix tar:xz
+USES=		gmake gnome guile:2.2 libtool pathfix perl5 pkgconfig \
+		shebangfix tar:xz
 USE_GNOME=	libxml2
 USE_PERL5=	build
 
diff --git a/devel/g-wrap/Makefile b/devel/g-wrap/Makefile
index abf5e8fc46f8..5052aa79e9ff 100644
--- a/devel/g-wrap/Makefile
+++ b/devel/g-wrap/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	g-wrap
 DISTVERSION=	1.9.15
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	devel
 MASTER_SITES=	SAVANNAH
 
@@ -10,22 +10,23 @@ WWW=		https://www.nongnu.org/g-wrap/
 
 LICENSE=	LGPL21+
 
-LIB_DEPENDS=	libffi.so:devel/libffi					\
-		libguile-2.2.so:lang/guile2				\
-		libgc-threaded.so:devel/boehm-gc-threaded
-BUILD_DEPENDS=	guile2>=2.2:lang/guile2
+LIB_DEPENDS+=	libffi.so:devel/libffi
 
-USES=		gmake gnome libtool pkgconfig
+USES=		gmake gnome guile:2.2 libtool pkgconfig
 USE_GNOME=	glib20
 USE_LDCONFIG=	yes
 
 GNU_CONFIGURE=	yes
 CONFIGURE_ARGS+=--disable-Werror
 
-INFO=		g-wrap
-
+MAKE_JOBS_UNSAFE=yes
 INSTALL_TARGET=	install-strip
 
-MAKE_JOBS_UNSAFE=yes
+INFO=		g-wrap
+
+# DO NOT try and add rules here to strip .go files, no matter how loudly
+# testport / stage-qa shouts at you about it, because .go files (which are
+# compiled bytecode) are not intended to be stripped and doing so causes
+# breakage at run time.
 
 .include <bsd.port.mk>
diff --git a/devel/g-wrap/pkg-plist b/devel/g-wrap/pkg-plist
index 49c82e32d9e3..3de50a57a934 100644
--- a/devel/g-wrap/pkg-plist
+++ b/devel/g-wrap/pkg-plist
@@ -24,22 +24,22 @@ lib/libgwrap-guile-runtime.so.2.0.0
 libdata/pkgconfig/g-wrap-2.0-guile.pc
 man/man1/g-wrap-config.1.gz
 share/aclocal/g-wrap.m4
-share/guile/site/g-wrap.scm
-share/guile/site/g-wrap/c-codegen.scm
-share/guile/site/g-wrap/c-types.scm
-share/guile/site/g-wrap/compat.scm
-share/guile/site/g-wrap/config.scm
-share/guile/site/g-wrap/enumeration.scm
-share/guile/site/g-wrap/guile.scm
-share/guile/site/g-wrap/guile/ws/standard.scm
-share/guile/site/g-wrap/gw-glib-spec.scm
-share/guile/site/g-wrap/gw-glib.scm
-share/guile/site/g-wrap/gw-standard-spec.scm
-share/guile/site/g-wrap/gw-wct-spec.scm
-share/guile/site/g-wrap/gw-wct.scm
-share/guile/site/g-wrap/gw/standard.scm
-share/guile/site/g-wrap/rti.scm
-share/guile/site/g-wrap/scm-codegen.scm
-share/guile/site/g-wrap/simple-type.scm
-share/guile/site/g-wrap/util.scm
-share/guile/site/g-wrap/ws/standard.scm
+%%GUILE_GLOBAL_SITE%%/g-wrap.scm
+%%GUILE_GLOBAL_SITE%%/g-wrap/c-codegen.scm
+%%GUILE_GLOBAL_SITE%%/g-wrap/c-types.scm
+%%GUILE_GLOBAL_SITE%%/g-wrap/compat.scm
+%%GUILE_GLOBAL_SITE%%/g-wrap/config.scm
+%%GUILE_GLOBAL_SITE%%/g-wrap/enumeration.scm
+%%GUILE_GLOBAL_SITE%%/g-wrap/guile.scm
+%%GUILE_GLOBAL_SITE%%/g-wrap/guile/ws/standard.scm
+%%GUILE_GLOBAL_SITE%%/g-wrap/gw-glib-spec.scm
+%%GUILE_GLOBAL_SITE%%/g-wrap/gw-glib.scm
+%%GUILE_GLOBAL_SITE%%/g-wrap/gw-standard-spec.scm
+%%GUILE_GLOBAL_SITE%%/g-wrap/gw-wct-spec.scm
+%%GUILE_GLOBAL_SITE%%/g-wrap/gw-wct.scm
+%%GUILE_GLOBAL_SITE%%/g-wrap/gw/standard.scm
+%%GUILE_GLOBAL_SITE%%/g-wrap/rti.scm
+%%GUILE_GLOBAL_SITE%%/g-wrap/scm-codegen.scm
+%%GUILE_GLOBAL_SITE%%/g-wrap/simple-type.scm
+%%GUILE_GLOBAL_SITE%%/g-wrap/util.scm
+%%GUILE_GLOBAL_SITE%%/g-wrap/ws/standard.scm
diff --git a/devel/gdb/Makefile b/devel/gdb/Makefile
index af9ffb8a9eb3..378ed1e197ca 100644
--- a/devel/gdb/Makefile
+++ b/devel/gdb/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	gdb
 DISTVERSION=	13.1
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	devel
 MASTER_SITES=	GNU
 
@@ -67,8 +67,8 @@ XXHASH_DESC=		Use xxHash for hashing (faster)
 OPTIONS_SUB=	yes
 
 BUNDLED_READLINE_CONFIGURE_OFF=	--with-system-readline
-GUILE_CONFIGURE_WITH=	guile
-GUILE_LIB_DEPENDS=	libguile-2.2.so:lang/guile2
+GUILE_CONFIGURE_WITH=	guile=guile-${GUILE_VER}
+GUILE_USES=		guile:2.2,3.0
 NLS_USES=	gettext-runtime
 PORT_READLINE_USES=	readline
 PORT_ICONV_USES=	iconv:wchar_t
@@ -176,6 +176,11 @@ do-install-PYTHON-on:
 		${PYTHON_CMD} -m compileall .)
 .endif
 
+# DO NOT try and add rules here to strip .go files, no matter how loudly
+# testport / stage-qa shouts at you about it, because .go files (which are
+# compiled bytecode) are not intended to be stripped and doing so causes
+# breakage at run time.
+
 do-install-GUILE-on:
 	(cd ${INSTALL_WRKSRC}/gdb ; \
 		${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} install-guile )
diff --git a/devel/guile-lib/Makefile b/devel/guile-lib/Makefile
index 8f89bea2a8ee..3172205d09e6 100644
--- a/devel/guile-lib/Makefile
+++ b/devel/guile-lib/Makefile
@@ -1,7 +1,9 @@
 PORTNAME=	guile-lib
 PORTVERSION=	0.2.7
+PORTREVISION=	1
 CATEGORIES=	devel scheme
 MASTER_SITES=	SAVANNAH
+PKGNAMESUFFIX=	-${FLAVOR}
 
 MAINTAINER=	sunpoet@FreeBSD.org
 COMMENT=	Repository of useful code written in Guile Scheme
@@ -10,14 +12,24 @@ WWW=		https://www.nongnu.org/guile-lib/
 LICENSE=	LGPL3 GPLv3
 LICENSE_COMB=	multi
 
-BUILD_DEPENDS=	guile2>=2.0.12:lang/guile2
-LIB_DEPENDS=	libguile-2.2.so:lang/guile2
-
-USES=		gmake pkgconfig
-
+USES=		guile:2.2,3.0,flavors,build,run \
+		gmake pkgconfig
 GNU_CONFIGURE=	yes
+CONFIGURE_ARGS+=--with-guile-site
+
 TEST_TARGET=	check
 
 INFO=		guile-library
+INFO_PATH=	${GUILE_INFO_PATH}
+
+# DO NOT try and add rules here to strip .go files, no matter how loudly
+# testport / stage-qa shouts at you about it, because .go files (which are
+# compiled bytecode) are not intended to be stripped and doing so causes
+# breakage at run time.
+
+post-install:
+	${MKDIR} ${STAGEDIR}${PREFIX}/${GUILE_PKGCONFIG_DIR}
+	${MV} ${STAGEDIR}${PREFIX}/libdata/pkgconfig/*.pc \
+	      ${STAGEDIR}${PREFIX}/${GUILE_PKGCONFIG_DIR}/
 
 .include <bsd.port.mk>
diff --git a/devel/guile-lib/files/patch-configure b/devel/guile-lib/files/patch-configure
new file mode 100644
index 000000000000..b7be6449e266
--- /dev/null
+++ b/devel/guile-lib/files/patch-configure
@@ -0,0 +1,11 @@
+--- configure.orig	2023-05-20 13:27:01 UTC
++++ configure
+@@ -4950,7 +4950,7 @@ fi
+ 
+ 
+ if test "x$guile_site" = "xyes"; then
+-   SITEDIR="$GUILE_GLOBAL_SITE";
++   SITEDIR="$GUILE_SITE";
+    SITECCACHEDIR="$GUILE_SITE_CCACHE";
+ else
+    SITEDIR="$datadir/guile-lib";
diff --git a/devel/guile-lib/pkg-plist b/devel/guile-lib/pkg-plist
index 17e390e3b663..dd9216a5782b 100644
--- a/devel/guile-lib/pkg-plist
+++ b/devel/guile-lib/pkg-plist
@@ -1,61 +1,61 @@
-lib/guile-lib/guile/2.2/site-ccache/apicheck.go
-lib/guile-lib/guile/2.2/site-ccache/compat/guile-2.go
-lib/guile-lib/guile/2.2/site-ccache/config/load.go
-lib/guile-lib/guile/2.2/site-ccache/container/async-queue.go
-lib/guile-lib/guile/2.2/site-ccache/container/delay-tree.go
-lib/guile-lib/guile/2.2/site-ccache/container/nodal-tree.go
-lib/guile-lib/guile/2.2/site-ccache/debugging/assert.go
-lib/guile-lib/guile/2.2/site-ccache/debugging/time.go
-lib/guile-lib/guile/2.2/site-ccache/graph/topological-sort.go
-lib/guile-lib/guile/2.2/site-ccache/htmlprag.go
-lib/guile-lib/guile/2.2/site-ccache/io/string.go
-lib/guile-lib/guile/2.2/site-ccache/logging/logger.go
-lib/guile-lib/guile/2.2/site-ccache/logging/port-log.go
-lib/guile-lib/guile/2.2/site-ccache/logging/rotating-log.go
-lib/guile-lib/guile/2.2/site-ccache/match-bind.go
-lib/guile-lib/guile/2.2/site-ccache/math/minima.go
-lib/guile-lib/guile/2.2/site-ccache/math/primes.go
-lib/guile-lib/guile/2.2/site-ccache/md5.go
-lib/guile-lib/guile/2.2/site-ccache/os/process.go
-lib/guile-lib/guile/2.2/site-ccache/scheme/documentation.go
-lib/guile-lib/guile/2.2/site-ccache/scheme/kwargs.go
-lib/guile-lib/guile/2.2/site-ccache/search/basic.go
-lib/guile-lib/guile/2.2/site-ccache/string/completion.go
-lib/guile-lib/guile/2.2/site-ccache/string/soundex.go
-lib/guile-lib/guile/2.2/site-ccache/string/transform.go
-lib/guile-lib/guile/2.2/site-ccache/string/wrap.go
-lib/guile-lib/guile/2.2/site-ccache/term/ansi-color.go
-lib/guile-lib/guile/2.2/site-ccache/texinfo/nodal-tree.go
-lib/guile-lib/guile/2.2/site-ccache/text/parse-lalr.go
-lib/guile-lib/guile/2.2/site-ccache/unit-test.go
-libdata/pkgconfig/guile-lib-1.0.pc
-%%DATADIR%%/apicheck.scm
-%%DATADIR%%/compat/guile-2.scm
-%%DATADIR%%/config/load.scm
-%%DATADIR%%/container/async-queue.scm
-%%DATADIR%%/container/delay-tree.scm
-%%DATADIR%%/container/nodal-tree.scm
-%%DATADIR%%/debugging/assert.scm
-%%DATADIR%%/debugging/time.scm
-%%DATADIR%%/graph/topological-sort.scm
-%%DATADIR%%/htmlprag.scm
-%%DATADIR%%/io/string.scm
-%%DATADIR%%/logging/logger.scm
-%%DATADIR%%/logging/port-log.scm
-%%DATADIR%%/logging/rotating-log.scm
-%%DATADIR%%/match-bind.scm
-%%DATADIR%%/math/minima.scm
-%%DATADIR%%/math/primes.scm
-%%DATADIR%%/md5.scm
-%%DATADIR%%/os/process.scm
-%%DATADIR%%/scheme/documentation.scm
-%%DATADIR%%/scheme/kwargs.scm
-%%DATADIR%%/search/basic.scm
-%%DATADIR%%/string/completion.scm
-%%DATADIR%%/string/soundex.scm
-%%DATADIR%%/string/transform.scm
-%%DATADIR%%/string/wrap.scm
-%%DATADIR%%/term/ansi-color.scm
-%%DATADIR%%/texinfo/nodal-tree.scm
-%%DATADIR%%/text/parse-lalr.scm
-%%DATADIR%%/unit-test.scm
+%%GUILE_SITE_CCACHE%%/apicheck.go
+%%GUILE_SITE_CCACHE%%/compat/guile-2.go
+%%GUILE_SITE_CCACHE%%/config/load.go
+%%GUILE_SITE_CCACHE%%/container/async-queue.go
+%%GUILE_SITE_CCACHE%%/container/delay-tree.go
+%%GUILE_SITE_CCACHE%%/container/nodal-tree.go
+%%GUILE_SITE_CCACHE%%/debugging/assert.go
+%%GUILE_SITE_CCACHE%%/debugging/time.go
+%%GUILE_SITE_CCACHE%%/graph/topological-sort.go
+%%GUILE_SITE_CCACHE%%/htmlprag.go
+%%GUILE_SITE_CCACHE%%/io/string.go
+%%GUILE_SITE_CCACHE%%/logging/logger.go
+%%GUILE_SITE_CCACHE%%/logging/port-log.go
+%%GUILE_SITE_CCACHE%%/logging/rotating-log.go
+%%GUILE_SITE_CCACHE%%/match-bind.go
+%%GUILE_SITE_CCACHE%%/math/minima.go
+%%GUILE_SITE_CCACHE%%/math/primes.go
+%%GUILE_SITE_CCACHE%%/md5.go
+%%GUILE_SITE_CCACHE%%/os/process.go
+%%GUILE_SITE_CCACHE%%/scheme/documentation.go
+%%GUILE_SITE_CCACHE%%/scheme/kwargs.go
+%%GUILE_SITE_CCACHE%%/search/basic.go
+%%GUILE_SITE_CCACHE%%/string/completion.go
+%%GUILE_SITE_CCACHE%%/string/soundex.go
+%%GUILE_SITE_CCACHE%%/string/transform.go
+%%GUILE_SITE_CCACHE%%/string/wrap.go
+%%GUILE_SITE_CCACHE%%/term/ansi-color.go
+%%GUILE_SITE_CCACHE%%/texinfo/nodal-tree.go
+%%GUILE_SITE_CCACHE%%/text/parse-lalr.go
+%%GUILE_SITE_CCACHE%%/unit-test.go
+%%GUILE_PKGCONFIG_DIR%%/guile-lib-1.0.pc
+%%GUILE_SITE%%/apicheck.scm
+%%GUILE_SITE%%/compat/guile-2.scm
+%%GUILE_SITE%%/config/load.scm
+%%GUILE_SITE%%/container/async-queue.scm
+%%GUILE_SITE%%/container/delay-tree.scm
+%%GUILE_SITE%%/container/nodal-tree.scm
+%%GUILE_SITE%%/debugging/assert.scm
+%%GUILE_SITE%%/debugging/time.scm
+%%GUILE_SITE%%/graph/topological-sort.scm
+%%GUILE_SITE%%/htmlprag.scm
+%%GUILE_SITE%%/io/string.scm
+%%GUILE_SITE%%/logging/logger.scm
+%%GUILE_SITE%%/logging/port-log.scm
+%%GUILE_SITE%%/logging/rotating-log.scm
+%%GUILE_SITE%%/match-bind.scm
+%%GUILE_SITE%%/math/minima.scm
+%%GUILE_SITE%%/math/primes.scm
+%%GUILE_SITE%%/md5.scm
+%%GUILE_SITE%%/os/process.scm
+%%GUILE_SITE%%/scheme/documentation.scm
+%%GUILE_SITE%%/scheme/kwargs.scm
+%%GUILE_SITE%%/search/basic.scm
+%%GUILE_SITE%%/string/completion.scm
+%%GUILE_SITE%%/string/soundex.scm
+%%GUILE_SITE%%/string/transform.scm
+%%GUILE_SITE%%/string/wrap.scm
+%%GUILE_SITE%%/term/ansi-color.scm
+%%GUILE_SITE%%/texinfo/nodal-tree.scm
+%%GUILE_SITE%%/text/parse-lalr.scm
+%%GUILE_SITE%%/unit-test.scm
diff --git a/devel/libmatheval/Makefile b/devel/libmatheval/Makefile
index 910612e39771..f318e7a14058 100644
--- a/devel/libmatheval/Makefile
+++ b/devel/libmatheval/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	libmatheval
 PORTVERSION=	1.1.11
-PORTREVISION=	4
+PORTREVISION=	5
 CATEGORIES=	devel math
 MASTER_SITES=	GNU
 
@@ -12,11 +12,12 @@ LICENSE=	GPLv3
 LICENSE_FILE=	${WRKSRC}/COPYING
 
 BUILD_DEPENDS=	flex>=2.5.39_1:textproc/flex
-LIB_DEPENDS=	libguile.so:lang/guile1
 
-USES=		libtool localbase makeinfo pathfix
+USES=		guile:1.8 libtool localbase makeinfo \
+		pathfix
 GNU_CONFIGURE=	yes
-CONFIGURE_ENV=	LEXLIB=-lfl MAKEINFO="${MAKEINFO} --no-split"
+CONFIGURE_ENV=	LEXLIB=-lfl MAKEINFO="${MAKEINFO} --no-split" \
+		ac_cv_type_scm_t_bits=yes
 USE_LDCONFIG=	yes
 INSTALL_TARGET=	install-strip
 
diff --git a/devel/libruin/Makefile b/devel/libruin/Makefile
index 6f005cda8b20..4e3a47d818b7 100644
--- a/devel/libruin/Makefile
+++ b/devel/libruin/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	libruin
 PORTVERSION=	0.2.0
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	devel scheme
 MASTER_SITES=	SAVANNAH
 
@@ -14,14 +14,12 @@ LICENSE_FILE=	${WRKSRC}/COPYING
 NOT_FOR_ARCHS=	mips
 NOT_FOR_ARCHS_REASON=	glib needs GCC (not available for mips)
 
-BUILD_DEPENDS=	guile-lib>0:devel/guile-lib
-LIB_DEPENDS=	libguile-2.2.so:lang/guile2 \
-		libgc-threaded.so:devel/boehm-gc-threaded
-RUN_DEPENDS=	guile-lib>0:devel/guile-lib
+BUILD_DEPENDS=	guile-lib-${GUILE_FLAVOR}>0:devel/guile-lib@${GUILE_FLAVOR}
+RUN_DEPENDS=	guile-lib-${GUILE_FLAVOR}>0:devel/guile-lib@${GUILE_FLAVOR}
 
 GNU_CONFIGURE=	yes
 INSTALL_TARGET=	install-strip
-USES=		gnome libtool ncurses pkgconfig
+USES=		gnome guile:2.2,alias libtool ncurses pkgconfig
 USE_GNOME=	glib20
 USE_LDCONFIG=	yes
 
diff --git a/editors/texmacs/Makefile b/editors/texmacs/Makefile
index 7e276b3463c4..ee08c42cdfda 100644
--- a/editors/texmacs/Makefile
+++ b/editors/texmacs/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	texmacs
 PORTVERSION=	1.99.4
-PORTREVISION=	5
+PORTREVISION=	6
 CATEGORIES=	editors print
 MASTER_SITES=	http://www.texmacs.org/Download/ftp/tmftp/source/
 DISTNAME=	TeXmacs-${PORTVERSION}-src
@@ -15,16 +15,14 @@ LICENSE_FILE=	${WRKSRC}/LICENSE
 BROKEN_FreeBSD_13=	assigning to 'bool' from incompatible type 'nullptr_t'
 BROKEN_FreeBSD_14=	assigning to 'bool' from incompatible type 'nullptr_t'
 
-LIB_DEPENDS=	libltdl.so:devel/libltdl \
-		libguile.so:lang/guile1 \
-		libgmp.so:math/gmp
 RUN_DEPENDS=	fig2dev:print/transfig
 
 BROKEN_armv6=		fails to compile: call to min is ambiguous
 BROKEN_armv7=		fails to compile: call to min is ambiguous
 
-USES=		cpe desktop-file-utils gmake iconv localbase pkgconfig python \
-		shared-mime-info shebangfix tex xorg
+USES=		cpe desktop-file-utils gmake guile:1.8,alias iconv \
+		localbase pkgconfig python shared-mime-info shebangfix \
+		tex xorg
 USE_TEX=	tex:run dvipsk:run
 USE_XORG=	xext
 GNU_CONFIGURE=	yes
diff --git a/finance/gnucash/Makefile b/finance/gnucash/Makefile
index 2bb396adcf90..fc0008d16227 100644
--- a/finance/gnucash/Makefile
+++ b/finance/gnucash/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	gnucash
 PORTVERSION=	5.3
+PORTREVISION=	1
 CATEGORIES=	finance gnome
 MASTER_SITES=	SF/${PORTNAME}/${PORTNAME}%20%28stable%29/${PORTVERSION}
 
@@ -18,8 +19,6 @@ LIB_DEPENDS=	libgnome-keyring.so:security/libgnome-keyring \
 		libfreetype.so:print/freetype2 \
 		libsecret-1.so:security/libsecret \
 		libsoup-2.4.so:devel/libsoup \
-		libguile-2.2.so:lang/guile2 \
-		libgc-threaded.so:devel/boehm-gc-threaded \
 		libboost_date_time.so:devel/boost-libs \
 		libicudata.so:devel/icu\
 		libharfbuzz.so:print/harfbuzz
@@ -29,8 +28,8 @@ RUN_DEPENDS=	p5-libwww>=0:www/p5-libwww \
 		p5-LWP-Protocol-https>=0:www/p5-LWP-Protocol-https
 
 USES=		cmake:insource compiler:c++11-lib cpe desktop-file-utils \
-		gettext-tools gnome libtool localbase perl5 pkgconfig \
-		shebangfix tar:bzip2 xorg
+		gettext-tools gnome guile:2.2,3.0,conflicts libtool localbase \
+		perl5 pkgconfig shebangfix tar:bzip2 xorg
 USE_XORG=	x11
 USE_CXXSTD=	c++11
 USE_GNOME=	cairo gdkpixbuf2 gtk30 intltool libxml2 libxslt
diff --git a/games/aisleriot/Makefile b/games/aisleriot/Makefile
index 4d9d6eca68d6..18ef19bd325a 100644
--- a/games/aisleriot/Makefile
+++ b/games/aisleriot/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	aisleriot
 DISTVERSION=	3.22.25
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	games gnome
 DIST_SUBDIR=	gnome
 
@@ -12,16 +12,14 @@ LICENSE=	GPLv3
 
 BUILD_DEPENDS=	itstool:textproc/itstool \
 		bash:shells/bash
-LIB_DEPENDS=	libguile-2.2.so:lang/guile2 \
-		libcanberra.so:audio/libcanberra \
-		libcanberra-gtk3.so:audio/libcanberra-gtk3 \
-		libgc-threaded.so:devel/boehm-gc-threaded
+LIB_DEPENDS=	libcanberra.so:audio/libcanberra \
+		libcanberra-gtk3.so:audio/libcanberra-gtk3
 
 CONFLICTS_INSTALL=	sol
 PORTSCOUT=	limitw:1,even
 
-USES=		desktop-file-utils gettext meson gnome pkgconfig \
-		python:build shebangfix xorg
+USES=		desktop-file-utils gettext meson gnome guile:2.2,3.0 \
+		pkgconfig python:build shebangfix xorg
 USE_GITLAB=	yes
 USE_GNOME=	cairo gtk30 intlhack librsvg2 libxml2:build
 USE_XORG=	x11
@@ -30,7 +28,7 @@ GL_SITE=	https://gitlab.gnome.org/
 GL_ACCOUNT=	GNOME
 GL_TAGNAME=	8a4542d2f44ee1425a56ac7595ed51449ae0290e
 
-MESON_ARGS=	-Dtheme_kde=false
+MESON_ARGS=	-Dtheme_kde=false -Dguile=${GUILE_VER}
 SHEBANG_FILES=	data/icons/meson_updateiconcache.py \
 		data/meson_desktopfile.py \
 		src/lib/meson_compileschemas.py \
diff --git a/games/fmars/Makefile b/games/fmars/Makefile
index 29713f90abb2..a016c4fbcb92 100644
--- a/games/fmars/Makefile
+++ b/games/fmars/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	fmars
 PORTVERSION=	0.0.207
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	games
 MASTER_SITES=	http://corewar.co.uk/janeczek/
 
@@ -10,9 +10,7 @@ WWW=		https://corewar.co.uk/janeczek/
 
 LICENSE=	GPLv2
 
-BUILD_DEPENDS=	guile:lang/guile1
-
-USES=		gmake tar:bzip2
+USES=		gmake guile:1.8,build,alias tar:bzip2
 ALL_TARGET=	x${PORTNAME}
 
 OPTIONS_DEFINE=		DOCS OPTIMIZED_CFLAGS
diff --git a/games/gnubik/Makefile b/games/gnubik/Makefile
index b66d7e7bea1e..899d0010318a 100644
--- a/games/gnubik/Makefile
+++ b/games/gnubik/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	gnubik
 PORTVERSION=	2.4.3
-PORTREVISION=	6
+PORTREVISION=	7
 CATEGORIES=	games
 MASTER_SITES=	GNU
 
@@ -11,11 +11,11 @@ WWW=		https://www.gnu.org/software/gnubik/
 LICENSE=	GPLv3+
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-LIB_DEPENDS=	libguile-2.2.so:lang/guile2 \
-		libgtkglext-x11-1.0.so:x11-toolkits/gtkglext
+LIB_DEPENDS=	libgtkglext-x11-1.0.so:x11-toolkits/gtkglext
 
 GNU_CONFIGURE=	yes
-USES=		compiler:c++11-lang gettext gl gmake gnome localbase pkgconfig
+USES=		compiler:c++11-lang gettext gl gmake gnome guile:2.2 \
+		localbase pkgconfig
 USE_GNOME=	gtk20
 USE_GL=		gl glu
 
diff --git a/games/gnurobots/Makefile b/games/gnurobots/Makefile
index adcb3bfaaaf8..6c5f953506a7 100644
--- a/games/gnurobots/Makefile
+++ b/games/gnurobots/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	gnurobots
 PORTVERSION=	1.2.0
-PORTREVISION=	16
+PORTREVISION=	17
 CATEGORIES=	games
 MASTER_SITES=	GNU
 
@@ -11,9 +11,7 @@ WWW=		https://www.gnu.org/software/gnurobots/
 LICENSE=	GPLv3+
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-LIB_DEPENDS=	libguile.so:lang/guile1
-
-USES=		autoreconf gnome localbase:ldflags pkgconfig readline
+USES=		gnome guile:1.8 localbase:ldflags pkgconfig readline
 USE_GNOME=	vte
 GNU_CONFIGURE=	yes
 
diff --git a/games/gnurobots/files/patch-configure b/games/gnurobots/files/patch-configure
new file mode 100644
index 000000000000..d7e302ce51a8
--- /dev/null
+++ b/games/gnurobots/files/patch-configure
@@ -0,0 +1,11 @@
+--- configure.orig	2023-05-25 19:00:18 UTC
++++ configure
+@@ -5773,7 +5773,7 @@ _ACEOF
+ fi
+ 
+ 
+-CFLAGS="-pedantic-errors -Werror -Wall -g"
++
+ 
+ ac_config_files="$ac_config_files Makefile contrib/Makefile doc/Makefile include/Makefile xpm/Makefile maps/Makefile scheme/Makefile src/Makefile"
+ 
diff --git a/games/gnurobots/files/patch-configure.ac b/games/gnurobots/files/patch-configure.ac
deleted file mode 100644
index 4461820cfa5b..000000000000
--- a/games/gnurobots/files/patch-configure.ac
+++ /dev/null
@@ -1,11 +0,0 @@
---- configure.ac.orig	2008-08-03 19:48:45 UTC
-+++ configure.ac
-@@ -91,8 +91,6 @@ You need guile 1.8 to build this program.
- dnl Checks for typedefs, structures, and compiler characteristics.
- AC_C_CONST
- 
--CFLAGS="-pedantic-errors -Werror -Wall -g"
--
- dnl Done.
- AC_CONFIG_FILES([Makefile
-  contrib/Makefile
diff --git a/games/trackballs/Makefile b/games/trackballs/Makefile
index 5a5768146fee..020dbbb5ec6a 100644
--- a/games/trackballs/Makefile
+++ b/games/trackballs/Makefile
@@ -11,10 +11,8 @@ WWW=		https://trackballs.github.io/
 LICENSE=	GPLv2+ ETHYMONICS
 LICENSE_COMB=	multi
 
-LIB_DEPENDS=	libguile-2.2.so:lang/guile2 \
-		libgc.so:devel/boehm-gc
-
-USES=		cmake desktop-file-utils gettext-runtime gl gnome pkgconfig sdl
+USES=		cmake desktop-file-utils gettext-runtime gl gnome \
+		guile:2.2,conflicts pkgconfig sdl
 USE_GL=		gl
 USE_SDL=	image2 mixer2 sdl2 ttf2
 
diff --git a/graphics/graphviz/Makefile b/graphics/graphviz/Makefile
index b6590dc9d106..dd7d1e81eb40 100644
--- a/graphics/graphviz/Makefile
+++ b/graphics/graphviz/Makefile
@@ -107,8 +107,7 @@ GTS_LIB_DEPENDS=	libgts.so:graphics/gts
 SMYRNA_LIB_DEPENDS=	libgtkgl-2.0.so:x11-toolkits/gtkglarea2 \
 			libgtkglext-x11-1.0.so:x11-toolkits/gtkglext
 DEVIL_LIB_DEPENDS=	libIL.so:graphics/devil
-GUILE_LIB_DEPENDS=	libguile-2.2.so:lang/guile2 \
-			libgc-threaded.so:devel/boehm-gc-threaded
+GUILE_USES=		guile:2.2
 PHP_LIB_DEPENDS=	libpcre.so:devel/pcre \
 			libargon2.so:security/libargon2
 
diff --git a/graphics/guile-cairo/Makefile b/graphics/guile-cairo/Makefile
index 953e9e185243..cf0b20ab484c 100644
--- a/graphics/guile-cairo/Makefile
+++ b/graphics/guile-cairo/Makefile
@@ -1,7 +1,9 @@
 PORTNAME=	guile-cairo
-DISTVERSION=	1.11.1
+DISTVERSION=	1.11.2
+PORTREVISION=	2
 CATEGORIES=	graphics
 MASTER_SITES=	SAVANNAH
+PKGNAMESUFFIX=  -${FLAVOR}
 
 MAINTAINER=	andrew@tao11.riddles.org.uk
 COMMENT=	Wrapper for using the Cairo graphics library from Guile
@@ -9,21 +11,44 @@ WWW=		https://www.nongnu.org/guile-cairo/
 
 LICENSE=	LGPL3+
 
-LIB_DEPENDS=	libguile-2.2.so:lang/guile2				\
-		libgc-threaded.so:devel/boehm-gc-threaded
-BUILD_DEPENDS=	guile2>=2.2:lang/guile2
-
-USES=		gmake gnome libtool pkgconfig
-USE_CSTD=	c99
+USES=		guile:2.2,3.0,flavors,alias \
+		autoreconf gettext-tools gmake gnome libtool pkgconfig
+guile30_CSTD=   c11
+guile22_CSTD=   c99
+USE_CSTD=	${${FLAVOR}_CSTD}
 USE_GNOME=	cairo
-USE_LDCONFIG=	yes
 
 GNU_CONFIGURE=	yes
+CONFIGURE_ARGS+=--includedir='$${prefix}/include/guile/${GUILE_VER}' \
+		--libdir='$${prefix}/lib/guile/${GUILE_VER}/extensions'
 
-INFO=		guile-cairo
+MAKE_JOBS_UNSAFE=yes
 
 INSTALL_TARGET=	install-strip
 
-MAKE_JOBS_UNSAFE=yes
+# Upstream has done almost all of the de-conflicting work, but there is
+# no release at this time. Include their work as a patch, which also
+# covers the code needed by g-golf.
+
+EXTRA_PATCHES=	${PATCHDIR}/extra-patch-upstream-fixes.patch
+
+INFO=		guile-cairo
+INFO_PATH=	${GUILE_INFO_PATH}
+
+post-patch:
+	${REINPLACE_CMD} \
+		-e '/^objdir=/s:$$(libdir)/:$$(exec_prefix)/lib/:' \
+		${WRKSRC}/Makefile.am ${WRKSRC}/cairo/Makefile.am
+
+# DO NOT try and add rules here to strip .go files, no matter how loudly
+# testport / stage-qa shouts at you about it, because .go files (which are
+# compiled bytecode) are not intended to be stripped and doing so causes
+# breakage at run time.
+
+post-install:
+	${MKDIR} ${STAGEDIR}${PREFIX}/${GUILE_PKGCONFIG_DIR}
+	${MV} ${STAGEDIR}${PREFIX}/lib/guile/${GUILE_VER}/extensions/pkgconfig/*.pc \
+	      ${STAGEDIR}${PREFIX}/${GUILE_PKGCONFIG_DIR}/
+	${RMDIR} ${STAGEDIR}${PREFIX}/lib/guile/${GUILE_VER}/extensions/pkgconfig
 
 .include <bsd.port.mk>
diff --git a/graphics/guile-cairo/distinfo b/graphics/guile-cairo/distinfo
index 7779144835da..66a1d97a7880 100644
--- a/graphics/guile-cairo/distinfo
+++ b/graphics/guile-cairo/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1590012837
-SHA256 (guile-cairo-1.11.1.tar.gz) = f4f6337eb5c90fc2f5fd2043de6f237ef336da6285ae042b8452379bb22086bd
-SIZE (guile-cairo-1.11.1.tar.gz) = 672079
+TIMESTAMP = 1605967018
+SHA256 (guile-cairo-1.11.2.tar.gz) = 6232d4dc2c5bd9d331139b3b01f4343c3e1fb9ca7898361a699206730941a07b
+SIZE (guile-cairo-1.11.2.tar.gz) = 674992
diff --git a/graphics/guile-cairo/files/extra-patch-upstream-fixes.patch b/graphics/guile-cairo/files/extra-patch-upstream-fixes.patch
new file mode 100644
index 000000000000..94ab3fe7525c
--- /dev/null
+++ b/graphics/guile-cairo/files/extra-patch-upstream-fixes.patch
@@ -0,0 +1,439 @@
+--- Makefile.am
++++ Makefile.am
+@@ -28,9 +28,20 @@ ACLOCAL_AMFLAGS = -I m4
+ 
+ CLEANFILES = env
+ 
+-scmdir=$(prefix)/share/guile/site
++GOBJECTS = $(SOURCES:%.scm=%.go)
+ 
+-scm_DATA = cairo.scm
++moddir=$(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)
++objdir=$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache
++
++nobase_mod_DATA = $(SOURCES) $(NOCOMP_SOURCES)
++nobase_nodist_obj_DATA = $(GOBJECTS)
++
++GUILE_WARNINGS = -Wunbound-variable -Warity-mismatch -Wformat
++SUFFIXES = .scm .go
++.scm.go:
*** 1343 LINES SKIPPED ***