git: 23fb2649d322 - main - x11-toolkits/libspelling: add new port

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Tue, 17 Sep 2024 14:31:57 UTC
The branch main has been updated by jbeich:

URL: https://cgit.FreeBSD.org/ports/commit/?id=23fb2649d322e50bb6afc0a3311f211892b5a2c3

commit 23fb2649d322e50bb6afc0a3311f211892b5a2c3
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2024-03-04 00:39:28 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2024-09-17 14:29:29 +0000

    x11-toolkits/libspelling: add new port
    
    A spellcheck library for GTK 4.
    
    This library is heavily based upon GNOME Text Editor and GNOME Builder's
    spellcheck implementation. However, it is licensed LGPLv2.1+.
    
    https://gitlab.gnome.org/GNOME/libspelling
---
 x11-toolkits/Makefile                              |   1 +
 x11-toolkits/libspelling/Makefile                  |  27 +++++
 x11-toolkits/libspelling/distinfo                  |   3 +
 .../libspelling/files/patch-lib_meson.build        |  13 +++
 x11-toolkits/libspelling/files/patch-meson.build   |  17 +++
 x11-toolkits/libspelling/pkg-descr                 |   4 +
 x11-toolkits/libspelling/pkg-plist                 | 122 +++++++++++++++++++++
 7 files changed, 187 insertions(+)

diff --git a/x11-toolkits/Makefile b/x11-toolkits/Makefile
index e74286740394..811b13ecc2cd 100644
--- a/x11-toolkits/Makefile
+++ b/x11-toolkits/Makefile
@@ -88,6 +88,7 @@
     SUBDIR += libhandy
     SUBDIR += libhandy0
     SUBDIR += libshumate
+    SUBDIR += libspelling
     SUBDIR += libunique3
     SUBDIR += libwnck
     SUBDIR += libwnck3
diff --git a/x11-toolkits/libspelling/Makefile b/x11-toolkits/libspelling/Makefile
new file mode 100644
index 000000000000..3420edbaefe9
--- /dev/null
+++ b/x11-toolkits/libspelling/Makefile
@@ -0,0 +1,27 @@
+PORTNAME=	libspelling
+DISTVERSION=	0.2.1
+CATEGORIES=	x11-toolkits
+MASTER_SITES=	GNOME
+
+MAINTAINER=	gnome@FreeBSD.org
+COMMENT=	Spellcheck library for GTK 4
+WWW=		https://gitlab.gnome.org/GNOME/libspelling
+
+LICENSE=	LGPL21+
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+USES=		gnome meson pkgconfig tar:xz vala:build
+USE_GNOME=	gtk40 gtksourceview5 introspection:build
+USE_LDCONFIG=	yes
+
+OPTIONS_DEFINE=	DOCS ENCHANT
+OPTIONS_DEFAULT=ENCHANT
+
+DOCS_BUILD_DEPENDS=	gi-docgen:textproc/py-gi-docgen
+DOCS_MESON_TRUE=	docs
+
+ENCHANT_LIB_DEPENDS=	libicuuc.so:devel/icu \
+			libenchant-2.so:textproc/enchant2
+ENCHANT_MESON_ENABLED=	enchant
+
+.include <bsd.port.mk>
diff --git a/x11-toolkits/libspelling/distinfo b/x11-toolkits/libspelling/distinfo
new file mode 100644
index 000000000000..7ba8851117d4
--- /dev/null
+++ b/x11-toolkits/libspelling/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1709512768
+SHA256 (libspelling-0.2.1.tar.xz) = 7a787b467bd493f6baffb44138dbc4bef78aaab60efb76a7db88b243bf0f6343
+SIZE (libspelling-0.2.1.tar.xz) = 46136
diff --git a/x11-toolkits/libspelling/files/patch-lib_meson.build b/x11-toolkits/libspelling/files/patch-lib_meson.build
new file mode 100644
index 000000000000..4a29930c8133
--- /dev/null
+++ b/x11-toolkits/libspelling/files/patch-lib_meson.build
@@ -0,0 +1,13 @@
+lib/meson.build:34:2: ERROR: Dependency lookup for gtksourceview-5 with method 'pkgconfig' failed: Invalid version, need 'gtksourceview-5' ['>= 5.6'] found '5.4.2'.
+
+--- lib/meson.build.orig	2024-03-04 00:39:28 UTC
++++ lib/meson.build
+@@ -31,7 +31,7 @@ libspelling_deps = [
+ libspelling_deps = [
+   dependency('gio-2.0'),
+   dependency('gtk4', version: '>= 4.8'),
+-  dependency('gtksourceview-5', version: '>= 5.6'),
++  dependency('gtksourceview-5', version: '>= 5.4'),
+ ]
+ 
+ if get_option('enchant').enabled()
diff --git a/x11-toolkits/libspelling/files/patch-meson.build b/x11-toolkits/libspelling/files/patch-meson.build
new file mode 100644
index 000000000000..bfb612fcf6c0
--- /dev/null
+++ b/x11-toolkits/libspelling/files/patch-meson.build
@@ -0,0 +1,17 @@
+$ make clean all WITHOUT=ENCHANT
+[...]
+ld: error: undefined symbol: spelling_enchant_provider_new
+>>> referenced by spelling-provider.c
+>>>               libspelling-1.a.p/spelling-provider.c.o:(spelling_provider_get_default) in archive lib/libspelling-1.a
+
+--- meson.build.orig	2024-03-04 00:39:28 UTC
++++ meson.build
+@@ -13,7 +13,7 @@ config_h.set_quoted('PACKAGE_LOCALE_DIR', join_paths(g
+ config_h.set_quoted('PACKAGE_VERSION', meson.project_version())
+ config_h.set_quoted('GETTEXT_PACKAGE', 'libspelling')
+ config_h.set_quoted('PACKAGE_LOCALE_DIR', join_paths(get_option('prefix'), get_option('datadir'), 'locale'))
+-config_h.set10('HAVE_ENCHANT', get_option('enchant').enabled())
++config_h.set('HAVE_ENCHANT', get_option('enchant').enabled())
+ 
+ # Detect and set symbol visibility
+ if get_option('default_library') != 'static'
diff --git a/x11-toolkits/libspelling/pkg-descr b/x11-toolkits/libspelling/pkg-descr
new file mode 100644
index 000000000000..b8bba947ef3c
--- /dev/null
+++ b/x11-toolkits/libspelling/pkg-descr
@@ -0,0 +1,4 @@
+A spellcheck library for GTK 4.
+
+This library is heavily based upon GNOME Text Editor and GNOME Builder's
+spellcheck implementation. However, it is licensed LGPLv2.1+.
diff --git a/x11-toolkits/libspelling/pkg-plist b/x11-toolkits/libspelling/pkg-plist
new file mode 100644
index 000000000000..9185f14a2bfe
--- /dev/null
+++ b/x11-toolkits/libspelling/pkg-plist
@@ -0,0 +1,122 @@
+include/libspelling-1/libspelling.h
+include/libspelling-1/spelling-checker.h
+include/libspelling-1/spelling-init.h
+include/libspelling-1/spelling-language-info.h
+include/libspelling-1/spelling-language.h
+include/libspelling-1/spelling-provider.h
+include/libspelling-1/spelling-text-buffer-adapter.h
+include/libspelling-1/spelling-types.h
+include/libspelling-1/spelling-version-macros.h
+include/libspelling-1/spelling-version.h
+lib/girepository-1.0/Spelling-1.typelib
+lib/libspelling-1.so
+lib/libspelling-1.so.1
+lib/libspelling-1.so.1.0.0
+libdata/pkgconfig/libspelling-1.pc
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatDisplay-Black.woff
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatDisplay-Black.woff2
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatDisplay-BlackItalic.woff
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatDisplay-BlackItalic.woff2
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatDisplay-Bold.woff
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatDisplay-Bold.woff2
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatDisplay-BoldItalic.woff
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatDisplay-BoldItalic.woff2
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatDisplay-Italic.woff
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatDisplay-Italic.woff2
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatDisplay-Medium.woff
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatDisplay-Medium.woff2
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatDisplay-MediumItalic.woff
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatDisplay-MediumItalic.woff2
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatDisplay-Regular.woff
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatDisplay-Regular.woff2
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatText-Bold.woff
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatText-Bold.woff2
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatText-BoldItalic.woff
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatText-BoldItalic.woff2
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatText-Italic.woff
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatText-Italic.woff2
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatText-Medium.woff
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatText-Medium.woff2
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatText-MediumItalic.woff
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatText-MediumItalic.woff2
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatText-Regular.woff
+%%PORTDOCS%%%%DOCSDIR%%-1/RedHatText-Regular.woff2
+%%PORTDOCS%%%%DOCSDIR%%-1/SourceCodePro-It.ttf.woff
+%%PORTDOCS%%%%DOCSDIR%%-1/SourceCodePro-Regular.ttf.woff
+%%PORTDOCS%%%%DOCSDIR%%-1/SourceCodePro-Semibold.ttf.woff
+%%PORTDOCS%%%%DOCSDIR%%-1/Spelling.toml
+%%PORTDOCS%%%%DOCSDIR%%-1/class.Checker.html
+%%PORTDOCS%%%%DOCSDIR%%-1/class.Language.html
+%%PORTDOCS%%%%DOCSDIR%%-1/class.LanguageInfo.html
+%%PORTDOCS%%%%DOCSDIR%%-1/class.Provider.html
+%%PORTDOCS%%%%DOCSDIR%%-1/class.TextBufferAdapter.html
+%%PORTDOCS%%%%DOCSDIR%%-1/classes_hierarchy.html
+%%PORTDOCS%%%%DOCSDIR%%-1/ctor.Checker.new.html
+%%PORTDOCS%%%%DOCSDIR%%-1/ctor.TextBufferAdapter.new.html
+%%PORTDOCS%%%%DOCSDIR%%-1/fonts.css
+%%PORTDOCS%%%%DOCSDIR%%-1/func.DEPRECATED_FOR.html
+%%PORTDOCS%%%%DOCSDIR%%-1/func.DEPRECATED_IN_1_0_FOR.html
+%%PORTDOCS%%%%DOCSDIR%%-1/func.UNAVAILABLE.html
+%%PORTDOCS%%%%DOCSDIR%%-1/func.init.html
+%%PORTDOCS%%%%DOCSDIR%%-1/fzy.js
+%%PORTDOCS%%%%DOCSDIR%%-1/go-up-symbolic.png
+%%PORTDOCS%%%%DOCSDIR%%-1/index.html
+%%PORTDOCS%%%%DOCSDIR%%-1/index.json
+%%PORTDOCS%%%%DOCSDIR%%-1/libspelling-1.devhelp2
+%%PORTDOCS%%%%DOCSDIR%%-1/libspelling.svg
+%%PORTDOCS%%%%DOCSDIR%%-1/main.js
+%%PORTDOCS%%%%DOCSDIR%%-1/method.Checker.add_word.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.Checker.check_word.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.Checker.get_extra_word_chars.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.Checker.get_language.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.Checker.get_provider.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.Checker.ignore_word.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.Checker.list_corrections.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.Checker.set_language.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.Language.add_word.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.Language.contains_word.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.Language.get_code.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.Language.get_extra_word_chars.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.Language.ignore_word.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.Language.list_corrections.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.LanguageInfo.get_code.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.LanguageInfo.get_group.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.LanguageInfo.get_name.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.Provider.get_default_code.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.Provider.get_display_name.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.Provider.get_language.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.Provider.list_languages.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.Provider.supports_language.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.TextBufferAdapter.get_buffer.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.TextBufferAdapter.get_checker.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.TextBufferAdapter.get_enabled.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.TextBufferAdapter.get_language.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.TextBufferAdapter.get_menu_model.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.TextBufferAdapter.get_tag.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.TextBufferAdapter.invalidate_all.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.TextBufferAdapter.set_checker.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.TextBufferAdapter.set_enabled.html
+%%PORTDOCS%%%%DOCSDIR%%-1/method.TextBufferAdapter.set_language.html
+%%PORTDOCS%%%%DOCSDIR%%-1/opensearch.xml
+%%PORTDOCS%%%%DOCSDIR%%-1/overview.html
+%%PORTDOCS%%%%DOCSDIR%%-1/property.Checker.language.html
+%%PORTDOCS%%%%DOCSDIR%%-1/property.Checker.provider.html
+%%PORTDOCS%%%%DOCSDIR%%-1/property.Language.code.html
+%%PORTDOCS%%%%DOCSDIR%%-1/property.LanguageInfo.code.html
+%%PORTDOCS%%%%DOCSDIR%%-1/property.LanguageInfo.group.html
+%%PORTDOCS%%%%DOCSDIR%%-1/property.LanguageInfo.name.html
+%%PORTDOCS%%%%DOCSDIR%%-1/property.Provider.display-name.html
+%%PORTDOCS%%%%DOCSDIR%%-1/property.TextBufferAdapter.buffer.html
+%%PORTDOCS%%%%DOCSDIR%%-1/property.TextBufferAdapter.checker.html
+%%PORTDOCS%%%%DOCSDIR%%-1/property.TextBufferAdapter.enabled.html
+%%PORTDOCS%%%%DOCSDIR%%-1/property.TextBufferAdapter.language.html
+%%PORTDOCS%%%%DOCSDIR%%-1/search.js
+%%PORTDOCS%%%%DOCSDIR%%-1/solarized-dark.css
+%%PORTDOCS%%%%DOCSDIR%%-1/solarized-light.css
+%%PORTDOCS%%%%DOCSDIR%%-1/style.css
+%%PORTDOCS%%%%DOCSDIR%%-1/type_func.Checker.get_default.html
+%%PORTDOCS%%%%DOCSDIR%%-1/type_func.Provider.get_default.html
+%%PORTDOCS%%%%DOCSDIR%%-1/urlmap.js
+share/gir-1.0/Spelling-1.gir
+share/vala/vapi/libspelling-1.deps
+share/vala/vapi/libspelling-1.vapi