summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMart Raudsepp <leio@gentoo.org>2022-03-16 19:10:49 +0200
committerMart Raudsepp <leio@gentoo.org>2022-03-16 23:38:10 +0200
commitdfb4d312a3f25f78aa2502f915d9c995d952d68d (patch)
treebb637c369b67e4368b94b97a29b61ac0010807a8 /gui-libs/gtksourceview
parentgui-libs/libadwaita: fix introspection deps (diff)
downloadgentoo-dfb4d312a3f25f78aa2502f915d9c995d952d68d.tar.gz
gentoo-dfb4d312a3f25f78aa2502f915d9c995d952d68d.tar.bz2
gentoo-dfb4d312a3f25f78aa2502f915d9c995d952d68d.zip
gui-libs/gtksourceview: Initial version for gtk4 SLOT=5
Just like gui-libs/gtk was made for SLOT=5, the new gtk4 supporting gtksourceview SLOT is made into gui-libs, with the rest kept in x11-libs to avoid old packages churn. Package-Manager: Portage-3.0.20, Repoman-3.0.2 Signed-off-by: Mart Raudsepp <leio@gentoo.org>
Diffstat (limited to 'gui-libs/gtksourceview')
-rw-r--r--gui-libs/gtksourceview/Manifest1
-rw-r--r--gui-libs/gtksourceview/files/5-gentoo.lang111
-rw-r--r--gui-libs/gtksourceview/gtksourceview-5.3.2.ebuild71
-rw-r--r--gui-libs/gtksourceview/metadata.xml11
4 files changed, 194 insertions, 0 deletions
diff --git a/gui-libs/gtksourceview/Manifest b/gui-libs/gtksourceview/Manifest
new file mode 100644
index 000000000000..d92adeed13f9
--- /dev/null
+++ b/gui-libs/gtksourceview/Manifest
@@ -0,0 +1 @@
+DIST gtksourceview-5.3.2.tar.xz 1255296 BLAKE2B 03f11cf0dde09266a441f5c6d66381b4eba0f2f0197a156a7e21a7a0d08f5a179cf3d6c42cf01f56c56785986fa18966f02820274b5c010e1f604baefb6cab86 SHA512 b64e0af95aff17bbee814fd7e8738d7e4cba9bc53ceb17243ad5fde01efd39a106377b5ae00ff7fdcf61cfc087d24dd9b222eb7cc48aba8485eb6f96e30c8563
diff --git a/gui-libs/gtksourceview/files/5-gentoo.lang b/gui-libs/gtksourceview/files/5-gentoo.lang
new file mode 100644
index 000000000000..8d539a8a9f3c
--- /dev/null
+++ b/gui-libs/gtksourceview/files/5-gentoo.lang
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ GtkSourceView syntax highlight for Gentoo-specific files
+
+ Originally written for gtksourceview-1.x by:
+ Leonardo Ferreira Fontenelle <leo.fontenelle@gmail.com>, 2006.
+ Rewritten for gtksourceview-2 by:
+ Rene 'Necoro' Neumann <necoro@necoro.net>, 2007
+
+ Distributed under the same license(s) as gtksourceview.
+
+ TODO:
+ - do not highlight "enable" in the configure options
+ - perhaps highlight portage variables and portage functions different
+
+-->
+
+<language name="gentoo" id="gentoo" version="2.0" _section="Scripts">
+ <metadata>
+ <property name="globs">*.ebuild;*.eclass</property>
+ <property name="line-comment-start">#</property>
+ </metadata>
+
+ <styles>
+ <style id="variable" _name="Portage variables" map-to="def:builtin" />
+ <style id="command" _name="Portage command" map-to="def:type" />
+ <style id="function" _name="Portage function" map-to="def:function" />
+ <style id="string" _name="String" map-to="def:string" />
+ </styles>
+
+ <definitions>
+
+ <!-- rewrite shell string to show highlighted variables -->
+ <context id="string" style-ref="def:string">
+ <start>"</start>
+ <end>"</end>
+ <include>
+ <context ref="def:escape"/>
+ <context ref="def:line-continue"/>
+ <context ref="sh:variable"/>
+ </include>
+ </context>
+
+ <context id="string-2" style-ref="def:string">
+ <start>'</start>
+ <end>'</end>
+ <include>
+ <context ref="def:escape"/>
+ <context ref="def:line-continue"/>
+ <context ref="sh:variable"/>
+ </include>
+ </context>
+
+ <!-- subprograms:
+ - $(..) is not supported currently in the normal sh.lang
+ - `...` is interpreted as string - I think the subshell behavior is more acurate -->
+ <context id="subprogram">
+ <start>\$\(</start>
+ <end>\)</end>
+ <include>
+ <context sub-pattern="0" where="start" style-ref="sh:keyword"/>
+ <context sub-pattern="0" where="end" style-ref="sh:keyword"/>
+ <context ref="gentoo"/>
+ </include>
+ </context>
+
+ <context id="subprogram-2">
+ <start>`</start>
+ <end>`</end>
+ <include>
+ <context sub-pattern="0" where="start" style-ref="sh:keyword"/>
+ <context sub-pattern="0" where="end" style-ref="sh:keyword"/>
+ <context ref="gentoo"/>
+ </include>
+ </context>
+
+ <!-- portage variables - currently unused -->
+ <context id="portvars" style-ref="variable">
+ <match>\b((ARCH|HOMEPAGE|DESCRIPTION|IUSE|SRC_URI|LICENSE|SLOT|KEYWORDS|FILESDIR|WORKDIR|(P|R)?DEPEND|PROVIDE|DISTDIR|RESTRICT|USERLAND)|(S|D|T|PV|PF|P|PN|A)|C(XX)?FLAGS|LDFLAGS|C(HOST|TARGET|BUILD))\b</match>
+ </context>
+
+ <!-- portage functions - currently unused -->
+ <context id="portfuncs" style-ref="function">
+ <match>^(src_(unpack|compile|install|test)|pkg_(config|nofetch|setup|(pre|post)(inst|rm)))</match>
+ </context>
+
+ <!-- extra portage commands -->
+ <context id="portcmds" style-ref="command">
+ <match>\b(e(begin|end|conf|install|make|warn|infon?|error|patch)|die|use(_(with|enable))?|inherit|has|(has|best)_version|unpack|(do|new)(ins|s?bin|doc|lib(|\.so|\.a)|man|info|exe|initd|confd|envd|pam|menu|icon)|do(python|sed|dir|hard|sym|html|jar|mo)|keepdir|prepall(|docs|info|man|strip)|prep(info|lib|lib\.(so|a)|man|strip)|(|doc|ins|exe)into|f(owners|perms)|(exe|ins|dir)opts)\b</match>
+ </context>
+
+ <context id="built-in-command">
+ <include> <!-- do not include "sh:built-in-command" as it is replaced down there - which would lead to an endless loop -->
+ <context ref="sh:reserved-word" />
+ <context ref="sh:let-command" />
+ <context ref="portcmds" />
+ </include>
+ </context>
+
+ <!-- gentoo is just a shell with the replacements -->
+ <replace id="sh:built-in-command" ref="built-in-command" />
+ <replace id="sh:backtick-subshell" ref="subprogram-2" />
+ <context id="gentoo">
+ <include>
+ <context ref="subprogram"/>
+ <context ref="sh:sh"/>
+ </include>
+ </context>
+ </definitions>
+</language>
diff --git a/gui-libs/gtksourceview/gtksourceview-5.3.2.ebuild b/gui-libs/gtksourceview/gtksourceview-5.3.2.ebuild
new file mode 100644
index 000000000000..55caf6f4c13a
--- /dev/null
+++ b/gui-libs/gtksourceview/gtksourceview-5.3.2.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit gnome.org meson vala virtualx xdg
+
+DESCRIPTION="A text widget implementing syntax highlighting and other features"
+HOMEPAGE="https://wiki.gnome.org/Projects/GtkSourceView"
+
+LICENSE="LGPL-2.1+"
+SLOT="5"
+
+IUSE="gtk-doc +introspection sysprof +vala"
+REQUIRED_USE="vala? ( introspection ) gtk-doc? ( introspection )"
+
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-libs/glib-2.70:2
+ >=gui-libs/gtk-4.4:4[introspection?]
+ >=dev-libs/libxml2-2.6:2
+ introspection? ( >=dev-libs/gobject-introspection-1.70.0:= )
+ >=dev-libs/fribidi-0.19.7
+ media-libs/fontconfig
+ x11-libs/pango[introspection?]
+ >=dev-libs/libpcre2-10.21:=[-recursion-limit(-)]
+ sysprof? ( dev-util/sysprof-capture:4 )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/glib-utils
+ gtk-doc? ( dev-util/gi-docgen )
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ vala? ( $(vala_depend) )
+"
+
+src_prepare() {
+ use vala && vala_src_prepare
+ xdg_src_prepare
+}
+
+src_configure() {
+ local emesonargs=(
+ -Dinstall_tests=false
+ $(meson_feature introspection)
+ $(meson_use vala vapi)
+ $(meson_use gtk-doc gtk_doc)
+ $(meson_use sysprof)
+ )
+ meson_src_configure
+}
+
+src_test() {
+ # Tests fail in test-regex with libpcre2[recursion-limit] - https://gitlab.gnome.org/GNOME/gtksourceview/-/issues/255
+ # Ensured OK via USE dep, as it would mean issues in real usage for syntax highlighting as well
+ virtx meson_src_test
+}
+
+src_install() {
+ meson_src_install
+
+ insinto /usr/share/${PN}-5/language-specs
+ newins "${FILESDIR}"/5-gentoo.lang gentoo.lang
+
+ if use gtk-doc ; then
+ mkdir -p "${ED}"/usr/share/gtk-doc/html/ || die
+ mv "${ED}"/usr/share/doc/${PN}${SLOT} "${ED}"/usr/share/gtk-doc/html/ || die
+ fi
+}
diff --git a/gui-libs/gtksourceview/metadata.xml b/gui-libs/gtksourceview/metadata.xml
new file mode 100644
index 000000000000..12d732e2c1cf
--- /dev/null
+++ b/gui-libs/gtksourceview/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+</maintainer>
+<use>
+ <flag name="sysprof">Enable profiling data capture support using <pkg>dev-util/sysprof-capture</pkg></flag>
+</use>
+</pkgmetadata>