[blfs] 02/02: seperate libglycin-gtk4 from glycin and make nautilus depend on that

"Git Owner" ([email protected] via blfs-book Mailing List) <[email protected]>
Newsgroups gmane.linux.lfs.beyond.book
Message-ID <[email protected]>
This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch trunk
in repository blfs.

commit 256adfabf3775e1ce88c638d968a379c698ba695
Author: Xi Ruoyao <[email protected]>
AuthorDate: Sun Apr 26 00:59:57 2026 +0800

    seperate libglycin-gtk4 from glycin and make nautilus depend on that
---
 general/graphlib/glycin-gtk4.xml | 174 +++++++++++++++++++++++++++++++++++++++
 general/graphlib/glycin.xml      |  13 +--
 general/graphlib/graphlib.xml    |   1 +
 gnome/platform/nautilus.xml      |   2 +-
 packages.ent                     |   6 ++
 5 files changed, 186 insertions(+), 10 deletions(-)

diff --git a/general/graphlib/glycin-gtk4.xml b/general/graphlib/glycin-gtk4.xml
new file mode 100644
index 0000000000..5986ba916f
--- /dev/null
+++ b/general/graphlib/glycin-gtk4.xml
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+
+  <!ENTITY glycin-gtk4-buildsize     "670 MB (with documentation)">
+  <!ENTITY glycin-gtk4-time          "2.0 SBU (with documentation)">
+]>
+
+<!-- Try to keep the indentation used in this file-->
+<sect1 id="glycin-gtk4" xreflabel="libglycin-gtk4 from glycin-&glycin-version;">
+  <?dbhtml filename="glycin-gtk4.html"?>
+
+  <title>libglycin-gtk4 from glycin-&glycin-version;</title>
+
+  <indexterm zone="glycin-gtk4">
+    <primary sortas="a-libglycin-gtk4">libglycin-gtk4</primary>
+  </indexterm>
+
+  <!--Required section-->
+  <sect2 role="package">
+    <title>Introduction to libglycin-gtk4</title>
+
+    <para>
+      The <systemitem class='library'>libglycin-gtk4</systemitem> library
+      provides GTK-4 integration for <xref linkend='glycin'/>.
+    </para>
+
+    &lfs130_checked;
+
+    <bridgehead renderas="sect3">Package Information</bridgehead>
+    <itemizedlist spacing="compact">
+      <listitem>
+        <para>
+          Download (HTTP): <ulink url="&glycin-download-http;"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Download MD5 sum: &glycin-md5sum;
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Download size: &glycin-size;
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Estimated disk space required: &glycin-gtk4-buildsize;
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Estimated build time: &glycin-gtk4-time;
+        </para>
+      </listitem>
+    </itemizedlist>
+
+    <bridgehead renderas="sect3">glycin Dependencies</bridgehead>
+
+    <bridgehead renderas="sect4">Required</bridgehead>
+    <para role="required">
+      <xref linkend='glycin'/> and <xref linkend='gtk4'/>
+    </para>
+
+    <bridgehead renderas="sect4">Recommended</bridgehead>
+    <para role="recommended">
+      <xref linkend='vala'/>
+    </para>
+
+    &build-use-internet;
+
+    <!--  Only use this if you want to note something in the wiki
+    <para condition="html" role="usernotes">
+      Editor Notes: <ulink url="&blfs-wiki;/glycin-gtk4"/>
+    </para>
+    -->
+  </sect2>
+
+  <sect2 role="installation">
+    <title>Installation of libglycin-gtk4</title>
+
+    <para>
+      Install <systemitem class='library'>libglycin-gtk4</systemitem> by
+      running the following commands:
+    </para>
+
+<screen><userinput>mkdir build &amp;&amp;
+cd    build &amp;&amp;
+
+meson setup --prefix=/usr               \
+            --buildtype=release         \
+            -D libglycin=false          \
+            -D libglycin-gtk4=true      \
+            -D glycin-loaders=false     \
+            -D glycin-thumbnailer=false &amp;&amp;
+ninja</userinput></screen>
+
+    <para>
+      If you have installed <xref linkend="gi-docgen"/>, you can build
+      the documentation by issuing:
+    </para>
+
+<screen remap="doc"><userinput>sed "/install_dir:.*doc/s|,$| / 'glycin-' + meson.project_version()&amp;|" \
+    -i ../libglycin/meson.build &amp;&amp;
+
+meson configure -D capi_docs=true &amp;&amp;
+ninja</userinput></screen>
+
+    <para>
+      This package does not come with a test suite.
+    </para>
+
+    <para>
+      Now as the &root; user:
+    </para>
+
+    <screen role="root"><userinput>ninja install</userinput></screen>
+
+  </sect2>
+
+  <sect2 role="commands">
+    <title>Command Explanations</title>
+
+    <para>
+      <parameter>-D *=false</parameter>: These parameters disable the
+      components already installed as a part of <xref linkend='glycin'/>.
+    </para>
+
+    <para>
+      <option>-D vapi=false</option>: This option allows building this
+      package without <xref linkend='vala'/> installed.
+    </para>
+  </sect2>
+
+  <sect2 role="content">
+    <title>Contents</title>
+
+    <segmentedlist>
+      <segtitle>Installed Library</segtitle>
+      <segtitle>Installed Directories</segtitle>
+
+      <seglistitem>
+        <seg>
+          libglycin-gtk4-2.so
+        </seg>
+        <seg>
+          /usr/include/glycin-gtk4-2 and /usr/share/doc/glycin-&glycin-version;/libglycin-gtk-2
+        </seg>
+      </seglistitem>
+    </segmentedlist>
+
+    <variablelist>
+      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+      <?dbfo list-presentation="list"?>
+      <?dbhtml list-presentation="table"?>
+
+      <varlistentry id="libglycin-gtk4-2">
+        <term><filename class="libraryfile">libglycin-gtk4-2.so</filename></term>
+        <listitem>
+          <para>
+            provides API functions to convert glycin frames to GDK 4
+            textures
+          </para>
+          <indexterm zone="glycin-gtk4 libglycin-gtk4-2">
+            <primary sortas="c-libglycin-gtk4-2">libglycin-gtk4-2.so</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </sect2>
+</sect1>
diff --git a/general/graphlib/glycin.xml b/general/graphlib/glycin.xml
index 4f17cb1a2e..b863171f8a 100644
--- a/general/graphlib/glycin.xml
+++ b/general/graphlib/glycin.xml
@@ -4,9 +4,6 @@
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
 
-  <!ENTITY glycin-download-http "https://download.gnome.org/sources/glycin/&glycin-majmin;/glycin-&glycin-version;.tar.xz">
-  <!ENTITY glycin-md5sum        "411550c5da777a952bb6c811fd882156">
-  <!ENTITY glycin-size          "6.8 MB">
   <!ENTITY glycin-buildsize     "1.4 GB (with documentation, add 1 GB for tests)">
   <!ENTITY glycin-time          "3.8 SBU (with documentation, add 2.5 SBU for tests)">
 ]>
@@ -105,9 +102,7 @@
     <bridgehead renderas="sect4">Optional</bridgehead>
     <para role="optional">
       <xref linkend="gi-docgen"/>,
-      <xref linkend="gtk4"/> (for
-      <systemitem class='library'>libglycin-gtk4</systemitem> and the test
-      suite), and
+      <xref linkend="gtk4"/> (for the test suite), and
       <ulink url="https://libopenraw.freedesktop.org/">libopenraw</ulink>
     </para>
 
@@ -185,9 +180,9 @@ ninja</userinput></screen>
 
     <para>
       <parameter>-D glycin_gtk4=false</parameter>: This parameter disables
-      the build of <systemitem class='library'>libglycin-gtk4</systemitem>
-      (which is needed by <xref linkend="nautilus"/>). If this is not needed
-      this package can be built without <xref linkend='gtk4'/> installed.
+      the build of <systemitem class='library'>libglycin-gtk4</systemitem>.
+      This library will be built separately as
+      <xref linkend='glycin-gtk4'/>, to avoid a circular dependency.
     </para>
 
     <para>
diff --git a/general/graphlib/graphlib.xml b/general/graphlib/graphlib.xml
index 26d42788e9..f71eb06c69 100644
--- a/general/graphlib/graphlib.xml
+++ b/general/graphlib/graphlib.xml
@@ -28,6 +28,7 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="glad.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="glm.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="glycin.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="glycin-gtk4.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="graphite2.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="harfbuzz.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="jasper.xml"/>
diff --git a/gnome/platform/nautilus.xml b/gnome/platform/nautilus.xml
index e301d611d5..edf0ed1c44 100644
--- a/gnome/platform/nautilus.xml
+++ b/gnome/platform/nautilus.xml
@@ -73,7 +73,7 @@
     <para role="required">
       <xref linkend="blueprint-compiler"/>,
       <xref linkend="gexiv2"/>,
-      <xref linkend="glycin"/> (built with gtk4),
+      <xref linkend="glycin-gtk4"/>,
       <xref linkend="gnome-autoar"/>,
       <xref linkend="gnome-desktop"/>,
       <xref linkend="libadwaita1"/>,
diff --git a/packages.ent b/packages.ent
index 09a34b7d28..ed7aa1ef76 100644
--- a/packages.ent
+++ b/packages.ent
@@ -236,6 +236,12 @@
 <!ENTITY glm-version                  "1.0.3">
 <!ENTITY glycin-majmin                "2.1">
 <!ENTITY glycin-version               "&glycin-majmin;.1">
+
+<!-- shared by glycin and glycin-gtk4 pages -->
+<!ENTITY glycin-download-http "https://download.gnome.org/sources/glycin/&glycin-majmin;/glycin-&glycin-version;.tar.xz">
+<!ENTITY glycin-md5sum        "411550c5da777a952bb6c811fd882156">
+<!ENTITY glycin-size          "6.8 MB">
+
 <!ENTITY graphite2-version            "1.3.14">
 <!ENTITY harfbuzz-version             "14.2.0">
 <!ENTITY jasper-version               "4.2.9">

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

-- 
http://lists.linuxfromscratch.org/sympa/info/blfs-book
Unsubscribe: See the above information page
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.