aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew "RhodiumToad" Gierth <andrew@tao11.riddles.org.uk>2023-08-05 10:04:07 +0000
committerRobert Clausecker <fuz@FreeBSD.org>2023-08-06 12:42:45 +0000
commit6c7ac901216ef4a0e0fa013a165543f9820bf950 (patch)
tree890f0fc9664959d657d9a4473b951dfe0ca7857a
parent6d34579d9c3d89752a8913c6e42ec69872b2963d (diff)
devel/g-golf: Guile Object Library for GNOME
G-Golf is a gobject-introspection based dynamic binding to GObject-based libraries, enabling the use of the GNOME platform to build full-featured graphical apps directly from Guile. WWW: https://www.gnu.org/software/g-golf/index.html PR: 272849
-rw-r--r--devel/Makefile1
-rw-r--r--devel/g-golf/Makefile57
-rw-r--r--devel/g-golf/distinfo3
-rw-r--r--devel/g-golf/files/patch-configure11
-rw-r--r--devel/g-golf/files/patch-examples_README6
-rw-r--r--devel/g-golf/pkg-descr3
-rw-r--r--devel/g-golf/pkg-plist174
7 files changed, 255 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index 1ee7c096cd60..8018ed6cf283 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -725,6 +725,7 @@
SUBDIR += fungw
SUBDIR += fuzzylite
SUBDIR += fxdiv
+ SUBDIR += g-golf
SUBDIR += g-wrap
SUBDIR += ga
SUBDIR += gaa
diff --git a/devel/g-golf/Makefile b/devel/g-golf/Makefile
new file mode 100644
index 000000000000..678a99f23f08
--- /dev/null
+++ b/devel/g-golf/Makefile
@@ -0,0 +1,57 @@
+PORTNAME= g-golf
+DISTVERSION= 0.8.0-a.4
+CATEGORIES= devel
+MASTER_SITES= GNU
+PKGNAMESUFFIX= -${FLAVOR}
+
+MAINTAINER= andrew@tao11.riddles.org.uk
+COMMENT= Guile Object Library for GNOME
+WWW= https://www.gnu.org/software/g-golf/index.html
+
+LICENSE= LGPL3+
+
+BUILD_DEPENDS+= guile-lib-${GUILE_FLAVOR}>=0.2.5:devel/guile-lib@${GUILE_FLAVOR}
+RUN_DEPENDS+= guile-lib-${GUILE_FLAVOR}>=0.2.5:devel/guile-lib@${GUILE_FLAVOR}
+
+USES= gmake gnome guile:2.2,3.0,flavors libtool makeinfo pkgconfig
+USE_GNOME= glib20 introspection:build,run
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+=--with-guile-site \
+ --libdir='$${prefix}/lib/guile/${GUILE_VER}/extensions'
+
+MAKE_JOBS_UNSAFE=yes
+INSTALL_TARGET= install-strip
+
+INFO= g-golf
+INFO_PATH= ${GUILE_INFO_PATH}
+
+EXAMPLESDIR= ${GUILE_EXAMPLES_DIR}/${PORTNAME}
+PORTEXAMPLES= *
+
+OPTIONS_DEFINE= EXAMPLES
+
+post-patch-EXAMPLES-on:
+ (cd ${WRKSRC}/examples && ${FIND} . -type f -name '*.scm' \
+ -exec ${REINPLACE_CMD} '3s/exec guile/exec guile-${GUILE_VER}/' {} \; )
+
+# 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
+
+post-install-EXAMPLES-on:
+ ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+ (cd ${WRKSRC}/examples && \
+ ${COPYTREE_BIN} . ${STAGEDIR}${EXAMPLESDIR} \
+ "-name *\.scm" ; \
+ ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR} \
+ "! -name \Makefile* ! -name *\.bak ! -name *\.orig ! -name *\.scm" )
+
+.include <bsd.port.mk>
diff --git a/devel/g-golf/distinfo b/devel/g-golf/distinfo
new file mode 100644
index 000000000000..ec7461bd3be5
--- /dev/null
+++ b/devel/g-golf/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1689763435
+SHA256 (g-golf-0.8.0-a.4.tar.gz) = 55521b9def9521b63aa2648ceca61aa9103d13b33063f369c946dae330cc65bb
+SIZE (g-golf-0.8.0-a.4.tar.gz) = 1422850
diff --git a/devel/g-golf/files/patch-configure b/devel/g-golf/files/patch-configure
new file mode 100644
index 000000000000..df1ce81d9f28
--- /dev/null
+++ b/devel/g-golf/files/patch-configure
@@ -0,0 +1,11 @@
+--- configure.orig 2023-04-16 22:18:05 UTC
++++ configure
+@@ -14456,7 +14456,7 @@ if test "x$guile_site" = "xyes"; then
+
+
+ if test "x$guile_site" = "xyes"; then
+- SITEDIR="$GUILE_GLOBAL_SITE";
++ SITEDIR="$GUILE_SITE";
+ SITECCACHEDIR="$GUILE_SITE_CCACHE";
+ else
+ SITEDIR="$datadir/g-golf";
diff --git a/devel/g-golf/files/patch-examples_README b/devel/g-golf/files/patch-examples_README
new file mode 100644
index 000000000000..bb81d33f4f7b
--- /dev/null
+++ b/devel/g-golf/files/patch-examples_README
@@ -0,0 +1,6 @@
+--- examples/README.orig 2023-08-05 10:01:48 UTC
++++ examples/README
+@@ -0,0 +1,3 @@
++The examples in the gtk-4/ directory require gtk4 to be installed in
++order to run, which is not required by the g-golf package itself. In
++addition, some of them require that guile-cairo be installed.
diff --git a/devel/g-golf/pkg-descr b/devel/g-golf/pkg-descr
new file mode 100644
index 000000000000..0689186cb953
--- /dev/null
+++ b/devel/g-golf/pkg-descr
@@ -0,0 +1,3 @@
+G-Golf is a gobject-introspection based dynamic binding to
+GObject-based libraries, enabling the use of the GNOME platform to
+build full-featured graphical apps directly from Guile.
diff --git a/devel/g-golf/pkg-plist b/devel/g-golf/pkg-plist
new file mode 100644
index 000000000000..0db1bce5ff11
--- /dev/null
+++ b/devel/g-golf/pkg-plist
@@ -0,0 +1,174 @@
+%%GUILE_SITE%%/g-golf/glib/mem-alloc.scm
+%%GUILE_SITE%%/g-golf/glib/main-event-loop.scm
+%%GUILE_SITE%%/g-golf/glib/io-channels.scm
+%%GUILE_SITE%%/g-golf/glib/misc-util-funcs.scm
+%%GUILE_SITE%%/g-golf/glib/unix-utils.scm
+%%GUILE_SITE%%/g-golf/glib/glist.scm
+%%GUILE_SITE%%/g-golf/glib/gslist.scm
+%%GUILE_SITE%%/g-golf/glib/quarks.scm
+%%GUILE_SITE%%/g-golf/override/override.scm
+%%GUILE_SITE%%/g-golf/override/gdk.scm
+%%GUILE_SITE%%/g-golf/override/gtk.scm
+%%GUILE_SITE%%/g-golf/gdk/events.scm
+%%GUILE_SITE%%/g-golf/gobject/type-info.scm
+%%GUILE_SITE%%/g-golf/gobject/gobject.scm
+%%GUILE_SITE%%/g-golf/gobject/enum-flags.scm
+%%GUILE_SITE%%/g-golf/gobject/boxed-types.scm
+%%GUILE_SITE%%/g-golf/gobject/generic-values.scm
+%%GUILE_SITE%%/g-golf/gobject/params-vals.scm
+%%GUILE_SITE%%/g-golf/gobject/param-spec.scm
+%%GUILE_SITE%%/g-golf/gobject/closures.scm
+%%GUILE_SITE%%/g-golf/gobject/signals.scm
+%%GUILE_SITE%%/g-golf/gi/utils.scm
+%%GUILE_SITE%%/g-golf/gi/cache-gi.scm
+%%GUILE_SITE%%/g-golf/gi/cache-others.scm
+%%GUILE_SITE%%/g-golf/gi/repository.scm
+%%GUILE_SITE%%/g-golf/gi/typelib.scm
+%%GUILE_SITE%%/g-golf/gi/version.scm
+%%GUILE_SITE%%/g-golf/gi/common-types.scm
+%%GUILE_SITE%%/g-golf/gi/base-info.scm
+%%GUILE_SITE%%/g-golf/gi/callable-info.scm
+%%GUILE_SITE%%/g-golf/gi/function-info.scm
+%%GUILE_SITE%%/g-golf/gi/signal-info.scm
+%%GUILE_SITE%%/g-golf/gi/vfunc-info.scm
+%%GUILE_SITE%%/g-golf/gi/registered-type-info.scm
+%%GUILE_SITE%%/g-golf/gi/enum-info.scm
+%%GUILE_SITE%%/g-golf/gi/struct-info.scm
+%%GUILE_SITE%%/g-golf/gi/union-info.scm
+%%GUILE_SITE%%/g-golf/gi/object-info.scm
+%%GUILE_SITE%%/g-golf/gi/interface-info.scm
+%%GUILE_SITE%%/g-golf/gi/arg-info.scm
+%%GUILE_SITE%%/g-golf/gi/constant-info.scm
+%%GUILE_SITE%%/g-golf/gi/field-info.scm
+%%GUILE_SITE%%/g-golf/gi/property-info.scm
+%%GUILE_SITE%%/g-golf/gi/type-info.scm
+%%GUILE_SITE%%/g-golf/gi/gir-ffi.scm
+%%GUILE_SITE%%/g-golf/support.scm
+%%GUILE_SITE%%/g-golf/init.scm
+%%GUILE_SITE%%/g-golf/glib.scm
+%%GUILE_SITE%%/g-golf/gobject.scm
+%%GUILE_SITE%%/g-golf/gi.scm
+%%GUILE_SITE%%/g-golf/gdk.scm
+%%GUILE_SITE%%/g-golf/hl-api.scm
+%%GUILE_SITE%%/g-golf/override.scm
+%%GUILE_SITE%%/g-golf/support/libg-golf.scm
+%%GUILE_SITE%%/g-golf/support/float.scm
+%%GUILE_SITE%%/g-golf/support/module.scm
+%%GUILE_SITE%%/g-golf/support/goops.scm
+%%GUILE_SITE%%/g-golf/support/g-export.scm
+%%GUILE_SITE%%/g-golf/support/utils.scm
+%%GUILE_SITE%%/g-golf/support/push.scm
+%%GUILE_SITE%%/g-golf/support/keyword.scm
+%%GUILE_SITE%%/g-golf/support/enum.scm
+%%GUILE_SITE%%/g-golf/support/flags.scm
+%%GUILE_SITE%%/g-golf/support/struct.scm
+%%GUILE_SITE%%/g-golf/support/union.scm
+%%GUILE_SITE%%/g-golf/support/bytevector.scm
+%%GUILE_SITE%%/g-golf/support/ffi.scm
+%%GUILE_SITE%%/g-golf/hl-api/n-decl.scm
+%%GUILE_SITE%%/g-golf/hl-api/gtype.scm
+%%GUILE_SITE%%/g-golf/hl-api/iface.scm
+%%GUILE_SITE%%/g-golf/hl-api/gobject.scm
+%%GUILE_SITE%%/g-golf/hl-api/events.scm
+%%GUILE_SITE%%/g-golf/hl-api/argument.scm
+%%GUILE_SITE%%/g-golf/hl-api/ccc.scm
+%%GUILE_SITE%%/g-golf/hl-api/callable.scm
+%%GUILE_SITE%%/g-golf/hl-api/callback.scm
+%%GUILE_SITE%%/g-golf/hl-api/function.scm
+%%GUILE_SITE%%/g-golf/hl-api/vfunc.scm
+%%GUILE_SITE%%/g-golf/hl-api/object.scm
+%%GUILE_SITE%%/g-golf/hl-api/closure.scm
+%%GUILE_SITE%%/g-golf/hl-api/signal.scm
+%%GUILE_SITE%%/g-golf/hl-api/glib.scm
+%%GUILE_SITE%%/g-golf/hl-api/import.scm
+%%GUILE_SITE%%/g-golf/hl-api/utils.scm
+%%GUILE_SITE%%/g-golf.scm
+%%GUILE_PKGCONFIG_DIR%%/g-golf-1.0.pc
+lib/guile/%%GUILE_VER%%/extensions/libg-golf.so.0.0.0
+lib/guile/%%GUILE_VER%%/extensions/libg-golf.so.0
+lib/guile/%%GUILE_VER%%/extensions/libg-golf.so
+%%GUILE_SITE_CCACHE%%/g-golf/glib/mem-alloc.go
+%%GUILE_SITE_CCACHE%%/g-golf/glib/main-event-loop.go
+%%GUILE_SITE_CCACHE%%/g-golf/glib/io-channels.go
+%%GUILE_SITE_CCACHE%%/g-golf/glib/misc-util-funcs.go
+%%GUILE_SITE_CCACHE%%/g-golf/glib/unix-utils.go
+%%GUILE_SITE_CCACHE%%/g-golf/glib/glist.go
+%%GUILE_SITE_CCACHE%%/g-golf/glib/gslist.go
+%%GUILE_SITE_CCACHE%%/g-golf/glib/quarks.go
+%%GUILE_SITE_CCACHE%%/g-golf/override/override.go
+%%GUILE_SITE_CCACHE%%/g-golf/override/gdk.go
+%%GUILE_SITE_CCACHE%%/g-golf/override/gtk.go
+%%GUILE_SITE_CCACHE%%/g-golf/gdk/events.go
+%%GUILE_SITE_CCACHE%%/g-golf/gobject/type-info.go
+%%GUILE_SITE_CCACHE%%/g-golf/gobject/gobject.go
+%%GUILE_SITE_CCACHE%%/g-golf/gobject/enum-flags.go
+%%GUILE_SITE_CCACHE%%/g-golf/gobject/boxed-types.go
+%%GUILE_SITE_CCACHE%%/g-golf/gobject/generic-values.go
+%%GUILE_SITE_CCACHE%%/g-golf/gobject/params-vals.go
+%%GUILE_SITE_CCACHE%%/g-golf/gobject/param-spec.go
+%%GUILE_SITE_CCACHE%%/g-golf/gobject/closures.go
+%%GUILE_SITE_CCACHE%%/g-golf/gobject/signals.go
+%%GUILE_SITE_CCACHE%%/g-golf/gi/utils.go
+%%GUILE_SITE_CCACHE%%/g-golf/gi/cache-gi.go
+%%GUILE_SITE_CCACHE%%/g-golf/gi/cache-others.go
+%%GUILE_SITE_CCACHE%%/g-golf/gi/repository.go
+%%GUILE_SITE_CCACHE%%/g-golf/gi/typelib.go
+%%GUILE_SITE_CCACHE%%/g-golf/gi/version.go
+%%GUILE_SITE_CCACHE%%/g-golf/gi/common-types.go
+%%GUILE_SITE_CCACHE%%/g-golf/gi/base-info.go
+%%GUILE_SITE_CCACHE%%/g-golf/gi/callable-info.go
+%%GUILE_SITE_CCACHE%%/g-golf/gi/function-info.go
+%%GUILE_SITE_CCACHE%%/g-golf/gi/signal-info.go
+%%GUILE_SITE_CCACHE%%/g-golf/gi/vfunc-info.go
+%%GUILE_SITE_CCACHE%%/g-golf/gi/registered-type-info.go
+%%GUILE_SITE_CCACHE%%/g-golf/gi/enum-info.go
+%%GUILE_SITE_CCACHE%%/g-golf/gi/struct-info.go
+%%GUILE_SITE_CCACHE%%/g-golf/gi/union-info.go
+%%GUILE_SITE_CCACHE%%/g-golf/gi/object-info.go
+%%GUILE_SITE_CCACHE%%/g-golf/gi/interface-info.go
+%%GUILE_SITE_CCACHE%%/g-golf/gi/arg-info.go
+%%GUILE_SITE_CCACHE%%/g-golf/gi/constant-info.go
+%%GUILE_SITE_CCACHE%%/g-golf/gi/field-info.go
+%%GUILE_SITE_CCACHE%%/g-golf/gi/property-info.go
+%%GUILE_SITE_CCACHE%%/g-golf/gi/type-info.go
+%%GUILE_SITE_CCACHE%%/g-golf/gi/gir-ffi.go
+%%GUILE_SITE_CCACHE%%/g-golf/support.go
+%%GUILE_SITE_CCACHE%%/g-golf/init.go
+%%GUILE_SITE_CCACHE%%/g-golf/glib.go
+%%GUILE_SITE_CCACHE%%/g-golf/gobject.go
+%%GUILE_SITE_CCACHE%%/g-golf/gi.go
+%%GUILE_SITE_CCACHE%%/g-golf/gdk.go
+%%GUILE_SITE_CCACHE%%/g-golf/hl-api.go
+%%GUILE_SITE_CCACHE%%/g-golf/override.go
+%%GUILE_SITE_CCACHE%%/g-golf/support/libg-golf.go
+%%GUILE_SITE_CCACHE%%/g-golf/support/float.go
+%%GUILE_SITE_CCACHE%%/g-golf/support/module.go
+%%GUILE_SITE_CCACHE%%/g-golf/support/goops.go
+%%GUILE_SITE_CCACHE%%/g-golf/support/g-export.go
+%%GUILE_SITE_CCACHE%%/g-golf/support/utils.go
+%%GUILE_SITE_CCACHE%%/g-golf/support/push.go
+%%GUILE_SITE_CCACHE%%/g-golf/support/keyword.go
+%%GUILE_SITE_CCACHE%%/g-golf/support/enum.go
+%%GUILE_SITE_CCACHE%%/g-golf/support/flags.go
+%%GUILE_SITE_CCACHE%%/g-golf/support/struct.go
+%%GUILE_SITE_CCACHE%%/g-golf/support/union.go
+%%GUILE_SITE_CCACHE%%/g-golf/support/bytevector.go
+%%GUILE_SITE_CCACHE%%/g-golf/support/ffi.go
+%%GUILE_SITE_CCACHE%%/g-golf/hl-api/n-decl.go
+%%GUILE_SITE_CCACHE%%/g-golf/hl-api/gtype.go
+%%GUILE_SITE_CCACHE%%/g-golf/hl-api/iface.go
+%%GUILE_SITE_CCACHE%%/g-golf/hl-api/gobject.go
+%%GUILE_SITE_CCACHE%%/g-golf/hl-api/events.go
+%%GUILE_SITE_CCACHE%%/g-golf/hl-api/argument.go
+%%GUILE_SITE_CCACHE%%/g-golf/hl-api/ccc.go
+%%GUILE_SITE_CCACHE%%/g-golf/hl-api/callable.go
+%%GUILE_SITE_CCACHE%%/g-golf/hl-api/callback.go
+%%GUILE_SITE_CCACHE%%/g-golf/hl-api/function.go
+%%GUILE_SITE_CCACHE%%/g-golf/hl-api/vfunc.go
+%%GUILE_SITE_CCACHE%%/g-golf/hl-api/object.go
+%%GUILE_SITE_CCACHE%%/g-golf/hl-api/closure.go
+%%GUILE_SITE_CCACHE%%/g-golf/hl-api/signal.go
+%%GUILE_SITE_CCACHE%%/g-golf/hl-api/glib.go
+%%GUILE_SITE_CCACHE%%/g-golf/hl-api/import.go
+%%GUILE_SITE_CCACHE%%/g-golf/hl-api/utils.go
+%%GUILE_SITE_CCACHE%%/g-golf.go