source: kde/extra-cmake-modules.xml@ 39eac921

ken/TL2024 trunk xry111/llvm18
Last change on this file since 39eac921 was b60f1ce, checked in by Bruce Dubbs <bdubbs@…>, 8 weeks ago

Preliminry update to kf6-6.0.0.

This update replaces kf5. In doing so there are several packages
in BLFS that are broken, notably the LXQt packages that reference
kf5 packages.

Trying to maintain kf5 and kf6 in the book is more effort than it
is worth. For those that want the kf5 based elements, blfs-12.1
still works.

Several packages were updated to build with qt6 so they are not available
for packages that need the qt5 versions, These include qca, polkit-qt, and
phonon. A couple of packages that are no longer needed for kf6 are still
in the book: kuserfeedback and libdbusmenuqt.

Many filenames still need to be changed, e.g. kf5-frameworks.xml, as
well as xml defined identifiers.

Later when LXQt releases their qt6/kf6 based packages, then we will
do a scrub of all the book internals to make names consistent.

  • Property mode set to 100644
File size: 5.2 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;
6
7 <!ENTITY extra-cmake-modules-download-http "&kf5-download-http;/extra-cmake-modules-&kf5-version;.tar.xz">
8 <!ENTITY extra-cmake-modules-download-ftp " ">
9 <!ENTITY extra-cmake-modules-md5sum "3e1b640fc5c3b4d96484029d1034c48a">
10 <!ENTITY extra-cmake-modules-size "336 KB">
11 <!ENTITY extra-cmake-modules-buildsize "9.0 MB">
12 <!ENTITY extra-cmake-modules-time "less than 0.1 SBU">
13]>
14
15<sect1 id="extra-cmake-modules" xreflabel="extra-cmake-modules-&kf5-version;">
16 <?dbhtml filename="extra-cmake-modules.html"?>
17
18
19 <title>extra-cmake-modules-&kf5-version;</title>
20
21 <indexterm zone="extra-cmake-modules">
22 <primary sortas="a-extra-cmake-modules">extra-cmake-modules</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to Extra Cmake Modules</title>
27
28 <para>
29 The <application>Extra Cmake Modules</application> package contains
30 extra <application>CMake</application> modules used by
31 <application>KDE Frameworks</application> and other packages.
32 </para>
33
34 &lfs121_checked;
35
36 <bridgehead renderas="sect3">Package Information</bridgehead>
37 <itemizedlist spacing="compact">
38 <listitem>
39 <para>
40 Download (HTTP): <ulink url="&extra-cmake-modules-download-http;"/>
41 </para>
42 </listitem>
43 <listitem>
44 <para>
45 Download (FTP): <ulink url="&extra-cmake-modules-download-ftp;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download MD5 sum: &extra-cmake-modules-md5sum;
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download size: &extra-cmake-modules-size;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Estimated disk space required: &extra-cmake-modules-buildsize;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated build time: &extra-cmake-modules-time;
66 </para>
67 </listitem>
68 </itemizedlist>
69
70 <bridgehead renderas="sect3">Extra Cmake Modules Dependencies</bridgehead>
71
72 <bridgehead renderas="sect4">Required</bridgehead>
73 <para role="required">
74 <xref linkend="cmake"/>
75 </para>
76
77 <bridgehead renderas="sect4">Optional</bridgehead>
78 <para role="optional">
79 <xref linkend="sphinx"/> (for building documentation),
80 <ulink url="https://pypi.org/project/PyQt5/">PyQt</ulink> (experimental
81 support for building KDE Python bindings), and
82 <ulink url="https://github.com/fsfe/reuse-tool/">ReuseTool</ulink> (for running
83 internal tests)
84 </para>
85
86 </sect2>
87
88 <sect2 role="installation">
89 <title>Installation of Extra Cmake Modules</title>
90
91 <para>
92 Install <application>Extra Cmake Modules</application> by running the
93 following commands:
94 </para>
95
96<screen><userinput>sed -i '/"lib64"/s/64//' kde-modules/KDEInstallDirsCommon.cmake &amp;&amp;
97
98sed -e '/PACKAGE_INIT/i set(SAVE_PACKAGE_PREFIX_DIR "${PACKAGE_PREFIX_DIR}")' \
99 -e '/^include/a set(PACKAGE_PREFIX_DIR "${SAVE_PACKAGE_PREFIX_DIR}")' \
100 -i ECMConfig.cmake.in &amp;&amp;
101
102mkdir build &amp;&amp;
103cd build &amp;&amp;
104
105cmake -DCMAKE_INSTALL_PREFIX=/usr .. &amp;&amp;
106make</userinput></screen>
107
108 <para>
109 This package does not come with a test suite.
110 </para>
111
112 <note><para>
113 Unlike other KF6 packages, this module is installed in /usr because
114 it can be used by some non-KF6 packages.
115 </para></note>
116
117 <para>
118 Now, as the <systemitem class="username">root</systemitem> user:
119 </para>
120
121<screen role="root"><userinput>make install</userinput></screen>
122
123 </sect2>
124
125 <sect2 role="commands">
126 <title>Command Explanations</title>
127
128 <para>
129 <command>sed ... Modules/KDEInstallDirs.cmake</command>:
130 This command disables applications using cmake from attempting to
131 install files in a <filename class="directory">lib64</filename>
132 sub-directory.
133 </para>
134
135 <para>
136 <command>sed ... ECMConfig.cmake.in</command>:
137 This command protects the global <application>cmake</application>
138 variable <envar>PACKAGE_PREFIX_DIR</envar> from being changed when
139 checking ECM presence: since we install ECM into <filename
140 class="directory">/usr</filename>, the check would set that variable to
141 <filename class="directory">/usr</filename>, while most KDE packages
142 expect it to be set to <filename class="directory">/opt/kf5</filename>
143 and would fail to build if it is set to something else.
144 </para>
145 </sect2>
146
147 <sect2 role="content">
148 <title>Contents</title>
149
150 <segmentedlist>
151 <segtitle>Installed Programs</segtitle>
152 <segtitle>Installed Libraries</segtitle>
153 <segtitle>Installed Directories</segtitle>
154
155 <seglistitem>
156 <seg>
157 None
158 </seg>
159 <seg>
160 None
161 </seg>
162 <seg>
163 /usr/share/ECM and
164 /usr/share/doc/ECM (if documentation was built)
165 </seg>
166 </seglistitem>
167 </segmentedlist>
168
169 </sect2>
170
171</sect1>
Note: See TracBrowser for help on using the repository browser.