25. Graphical Environment Libraries
本章不包含运行x所需的库,但包含增强x的库。在某些情况下,增强就像字体支持一样简单。在其他情况下,它就像位于X和运行在X上的应用程序之间的库一样复杂,这些应用程序的目的是标准化不同应用程序的外观和进程间通信。它们还通过提供公共元素来帮助程序员。
25.1 Amtk-5.6.1
简介Amtk
Amtk包包含一个基于GAction的基本GTKUIManager替代品。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/amtk/5.6/amtk-5.6.1.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/amtk/5.6/amtk-5.6.1.tar.xz
-
下载 MD5 校验和: 26edf5c301e66a02f0ea7829855807f5
-
下载大小: 60 KB
-
预计所需磁盘空间: 3.1 MB
-
预计构建时间: 0.1 SBU
Amtk依赖
必要
可选
GTK-Doc-1.33.2 (用于文档) 和 Valgrind-3.20.0
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/amtk
安装Amtk
运行以下命令安装Amtk:
mkdir amtk-build &&
cd amtk-build &&
meson --prefix=/usr --buildtype=release -Dgtk_doc=false .. &&
ninja
要测试结果,请执行以下命令: ninja test.
现在,作为root用户:
ninja install
命令解释
--buildtype=release: 指定一个适合于稳定版本的构建类型,因为默认情况下可能会生成未优化的二进制文件。
-Dgtk_doc=false: 这个开关会阻止构建系统生成和安装API文档。如果你已经安装了GTK-Doc-1.33.2并且希望生成和安装API文档,请忽略此开关。
内容
安装程序: None
安装库: libamtk-5.so
安装目录: /usr/include/amtk-5 and /usr/share/gtk-doc/html/amtk-5.0
简短描述
libamtk-5.so 基于GAction提供一个基本的GTKUIManager替换API。
25.2 Atkmm-2.28.3
简介Atkmm
Atkmm是ATK辅助工具库的官方C++接口。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/atkmm/2.28/atkmm-2.28.3.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/atkmm/2.28/atkmm-2.28.3.tar.xz
-
下载 MD5 校验和: bad12606feaaba28c4d31b8857b7099e
-
下载大小:676 KB
-
预计所需磁盘空间: 11 MB
-
预计构建时间: 0.2 SBU
Atkmm依赖
必要
at-spi2-core-2.46.0 和 GLibmm-2.66.5
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/atkmm
安装Atkmm
运行以下命令安装Atkmm:
mkdir build &&
cd build &&
meson --prefix=/usr --buildtype=release .. &&
ninja
这个包没有附带测试套件。
现在,作为root用户:
ninja install
内容
安装程序: None
安装库: libatkmm-1.6.so
安装目录: /usr/{include,lib}/atkmm-1.6 和 /usr/share/{devhelp/books/atkmm-1.6,doc/atkmm-2.28.3}
简短描述
libatkmm-1.6.so 包含ATK API类。
25.3 at-spi2-core-2.46.0
简介At-Spi2 Core
At-Spi2核心包为GNOME平台上可用的辅助技术提供了一个全面的可访问性框架。这包括一组由其他工具包和应用程序实现的接口。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/at-spi2-core/2.46/at-spi2-core-2.46.0.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/at-spi2-core/2.46/at-spi2-core-2.46.0.tar.xz
-
下载 MD5 校验和: 16e85a40442d80be960b4e1e3992fd5b
-
下载大小:528 KB
-
预计所需磁盘空间: 20 MB (有测试)
-
预计构建时间: 0.2 SBU (有测试)
At-Spi2 Core依赖
必要
dbus-1.14.6, GLib-2.74.5, gsettings-desktop-schemas-43.0 (运行时), 和 Xorg Libraries
可选 (构建GNOME时需要)
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/at-spi2-core
安装At-Spi2 Core
运行以下命令安装At-Spi2 Core:
mkdir build &&
cd build &&
meson --prefix=/usr --buildtype=release .. &&
ninja
通常在Xorg终端中可用的会话总线地址是运行测试所必需的。测试套件还要求已经安装了包的glib模式。要测试结果,请先安装该包,然后执行以下命令: ninja test.
现在,作为root用户:
ninja install
命令解释
--buildtype=release: 指定一个适合于稳定版本的构建类型,因为默认情况下可能会生成未优化的二进制文件。
内容
安装程序: None
安装库: libatk-1.0.so, libatk-bridge-2.0.so, libatspi.so, 和 /usr/lib/gtk-2.0/modules/libatk-bridge.so
安装目录: /usr/include/atk-1.0, /usr/include/at-spi-2.0, /usr/include/at-spi2-atk, /usr/lib/gnome-settings-daemon-3.0, /usr/share/defaults/at-spi2, 和 /usr/share/gtk-doc/html/libatspi
简短描述
libatk-1.0.so 包含辅助技术用于与桌面应用程序交互的功能。
libatk-bridge.so 包含可访问性工具包GTK+-2桥接。
libatk-bridge-2.0.so 包含可访问性工具包GTK+模块。
libatspi.so 包含At-Spi2 API函数。
25.4 Cairo-1.17.6
简介Cairo
Cairo是一个2D图形库,支持多种输出设备。目前支持的输出目标包括X窗口系统,win32,图像缓冲区,PostScript, PDF和SVG。实验后端包括OpenGL, Quartz和XCB文件输出。Cairo的设计目的是在所有输出媒体上产生一致的输出,同时在可用时利用显示硬件加速(例如通过X Render扩展)。Cairo API提供了类似于PostScript和PDF的绘图操作符的操作。Cairo的操作包括描边和填充Bézier样条曲线,转换和合成半透明图像,以及反锯齿文本渲染。所有的绘图操作都可以通过任何affine transformation进行变换(缩放,旋转,剪切等)。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/cairo/1.17/cairo-1.17.6.tar.xz
-
下载 MD5 校验和: c5a6f255af72a2e5faa8e6a53dd882e2
-
下载大小:33 MB
-
预计所需磁盘空间: 137 MB
-
预计构建时间: 0.4 SBU (使用并行数=4)
Cairo依赖
必要
推荐
Fontconfig-2.14.2, GLib-2.74.5 (大多数GUI都需要), 和 Xorg Libraries
可选
Cogl-1.22.8, ghostscript-10.00.0, GTK+-3.24.36 and GTK+-2.24.33, GTK-Doc-1.33.2, libdrm-2.4.115, librsvg-2.54.5, libxml2-2.10.3, LZO-2.10, Mesa-22.3.5, Poppler-23.02.0, Qt-5.15.8, Valgrind-3.20.0, DirectFB, jbig2dec, libspectre, Skia, 和 Qt4.
注意
cairo和harfbuzz之间存在循环依赖关系。如果开罗是在harfbuzz之前建成的,那么为了建造pango,就必须在harfbuzz之后重建cairo。
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/cairo
安装Cairo
为Binutils-2.39或更高版本修改此包:
sed 's/PTR/void */' -i util/cairo-trace/lookup-symbol.c
修复一个可能导致稍后错误的pkg-config文件:
sed -e "/@prefix@/a exec_prefix=@exec_prefix@" \
-i util/cairo-script/cairo-script-interpreter.pc.in
运行以下命令安装Cairo:
./configure --prefix=/usr \
--disable-static \
--enable-tee &&
make
此软件包没有可用的测试套件。
现在,作为root用户:
make install
命令解释
--enable-tee: 此开关启用实验性tee surface后端,如果使用系统安装的Cairo和Mozilla应用程序,则需要该后端。
--disable-static: 这个开关阻止安装静态版本的库。
--enable-xlib-xcb: 这个开关启用了一些窗口管理器使用的实验性Xlib/XCB函数。
--enable-gl: 这个开关启用了Cairo的实验性OpenGL表面,这是Wayland合成程序和其他一些不属于BLFS的包所需要的。
--enable-gtk-doc: 如果安装了GTK-Doc并且希望创建和安装文档,则使用此参数。
内容
安装程序: cairo-trace
安装库: libcairo.so, libcairo-gobject.so 和 libcairo-script-interpreter.so
安装目录: /usr/{include,lib,share/gtk-doc/html}/cairo
简短描述
cairo-trace 生成应用程序对Cairo的所有调用的日志。
libcairo.so 包含渲染到各种输出目标所需的2D图形函数。
libcairo-gobject.so 包含将Cairo与Glib的GObject类型系统集成的函数。
libcairo-script-interpreter.so 包含用于执行和操作Cairo执行轨迹的脚本解释器函数。
25.5 libcairomm-1.0 (cairomm-1.14.0)
简介libcairomm-1.0
libcairomm-1.0包为Cairo提供了一个C++接口。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://www.cairographics.org/releases/cairomm-1.14.0.tar.xz
-
下载 MD5 校验和: 75a08d50eb08b97667e4ea2be6efa1ad
-
下载大小:592 KB
-
预计所需磁盘空间: 9.5 MB (有测试)
-
预计构建时间: 小于 0.1 SBU (有测试)
libcairomm-1.0依赖
必要
Cairo-1.17.6 和 libsigc++-2.12.0
推荐
Boost-1.81.0 (用于测试)
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/cairomm-1.0
安装libcairomm-1.0
运行以下命令安装Cairomm-1.0:
mkdir bld &&
cd bld &&
meson --prefix=/usr \
--buildtype=release \
-Dbuild-tests=true \
-Dboost-shared=true \
.. &&
ninja
要运行测试套件,请运行: ninja test.
现在,作为root用户:
ninja install
命令解释
-Dbuild-tests=true: 这个开关是用来构建单元测试的。如果还没有安装Boost-1.81.0,请删除。
-Dboost-shared=true: 这个开关让包使用共享版本的boost库。如果没有安装boost静态库,并且通过了-Dbuild-tests=true,则需要此选项。
-Dbuild-documentation=true: 如果安装了doxygen,则此开关将构建html文档。
内容
安装程序: None
安装库: libcairomm-1.0.so
安装目录: /usr/{lib,include}/cairomm-1.0 和 /usr/share/{devhelp/books,doc}/cairomm-1.0 (可选)
简短描述
libcairomm-1.0.so 包含Cairo API类。
25.6 Cogl-1.22.8
简介Cogl
Cogl是一个具有相关实用API的现代3D图形API,旨在使用直接状态访问API设计暴露3D图形硬件的特性,而不是OpenGL的状态机风格。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/cogl/1.22/cogl-1.22.8.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/cogl/1.22/cogl-1.22.8.tar.xz
-
下载 MD5 校验和: 7dd8b2e24171ef7399f851cea144b569
-
下载大小:1.7 MB
-
预计所需磁盘空间: 69 MB (增加2 MB用于测试)
-
预计构建时间: 0.3 SBU (使用并行数=4; 增加0.2 SBU用于测试)
Cogl依赖
必要
Cairo-1.17.6, gdk-pixbuf-2.42.10, GLU-9.0.2, Mesa-22.3.5, Pango-1.50.12, 和 Wayland-1.21.0
推荐
可选
gst-plugins-base-1.22.0, GTK-Doc-1.33.2, SDL-1.2.15, 和 SDL2-2.26.3
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/cogl
安装Cogl
运行以下命令安装Cogl:
注意
在使用多个处理器构建时,这个包可能偶尔会失败。查看 Using Multiple Processors 获取更多信息。
./configure --prefix=/usr \
--enable-gles1 \
--enable-gles2 \
--enable-{kms,wayland,xlib}-egl-platform \
--enable-wayland-egl-server &&
make
要测试结果,请执行以下命令: make check. 测试应该在硬件加速的Xorg服务器上的X终端上运行。有些测试会并行地使用所有cpu,而不考虑并行设置。
现在,作为root用户:
make install
命令解释
--enable-gles1: 该开关启用对OpenGL ES 1.1的支持。
--enable-gles2: 此开关启用对OpenGL ES 2.0的支持。
--enable-{kms,wayland,xlib}-egl-platform: 这些开关支持KMS, Wayland和Xlib EGL平台。它们是侏儒Wayland支持所必需的。
--enable-wayland-egl-server: 此开关启用Cogl的Wayland服务器API,这是GNOME Wayland支持所需的。
--enable-cogl-gst: 此开关启用对gstreamer的支持。
--enable-gtk-doc: 如果安装了GTK-Doc并且希望重新构建和安装API文档,请使用此参数。
内容
安装程序: None
安装库: libcogl-gles2.so, libcogl-pango.so, libcogl-path.so, 和 libcogl.so, 和可选库 libcogl-gst.so 和 /usr/lib/gstreamer-1.0/libgstcogl.so
安装目录: /usr/include/cogl 和 /usr/share/cogl
简短描述
libcogl-gles2.so 是OpenGL ES 2.0的Cogl集成库。
libcogl-pango.so 是Cogl的Pango集成库。
libcogl.so 是一个面向对象的GL/GLES抽象/实用层库。
25.7 Clutter-1.26.4
简介Clutter
Clutter包包含一个开源软件库,用于创建快速、视觉丰富和动画化的图形用户界面。
该软件包在LFS 11.3平台上可以正常构建和工作。
注意
使用此工具包构建的任何东西都需要在运行时从图形驱动程序获得硬件3D加速。这是由Mesa(或专有的图形驱动程序)提供的,但不是对每个显卡或所有虚拟机都可用。您可能希望查看Checking the DRI installation。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/clutter/1.26/clutter-1.26.4.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/clutter/1.26/clutter-1.26.4.tar.xz
-
下载 MD5 校验和: 624dd776a5159de0267587b1df6b97b2
-
下载大小:5.2 MB
-
预计所需磁盘空间: 93 MB (有测试)
-
预计构建时间: 0.7 SBU (使用并行数=4; 有测试)
Clutter依赖
必要
at-spi2-core-2.46.0, Cogl-1.22.8, 和 JSON-GLib-1.6.6
推荐
gobject-introspection-1.74.0, GTK+-3.24.36, libgudev-237, libinput-1.22.1, libxkbcommon-1.5.0, 和 Wayland-1.21.0
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/clutter
安装Clutter
运行以下命令安装Clutter:
./configure --prefix=/usr \
--sysconfdir=/etc \
--enable-egl-backend \
--enable-evdev-input \
--enable-wayland-backend \
--enable-wayland-compositor &&
make
不推荐使用测试套件,因为有些测试可能永远挂起。如果你想测试结果,请执行:make -j1 -k check。您必须使用xterm或类似的方法,因为它会启动一些窗口。
现在,作为root用户:
make install
命令解释
--enable-egl-backend: 这个开关启用了实验性EGL窗口后端。
--enable-evdev-input: 此开关启用实验Evdev输入后端,这是GNOME Wayland支持所需的。
--enable-wayland-backend 和 --enable-wayland-compositor: 这些开关启用了实验性的Wayland API,这是GNOME Wayland支持所需的。
--enable-gtk-doc: 如果安装了GTK-Doc并且希望重新构建和安装API文档,请使用此参数。
内容
安装程序: None
安装库: libclutter-1.0.so 和 libclutter-glx-1.0.so
安装目录: /usr/include/clutter-1.0 和 /usr/share/gtk-doc/html/{cally,clutter}
简短描述
libclutter-1.0.so 包含了Clutter API函数。
25.8 clutter-gst-3.0.27
简介Clutter Gst
Clutter Gst包包含一个集成库,用于将GStreamer与杂波一起使用。它的目的是使用GStreamer实现ClutterMedia接口。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/clutter-gst/3.0/clutter-gst-3.0.27.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/clutter-gst/3.0/clutter-gst-3.0.27.tar.xz
-
下载 MD5 校验和: 2bf9d7ca146c9d71e86c45cd00e9a28e
-
下载大小:396 KB
-
预计所需磁盘空间: 10 MB
-
预计构建时间: 0.2 SBU
Clutter Gst依赖
必要
Clutter-1.26.4, gst-plugins-base-1.22.0, 和 libgudev-237
推荐
gobject-introspection-1.74.0 和 gst-plugins-bad-1.22.0
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/clutter-gst
安装Clutter Gst
运行以下命令安装Clutter Gst:
./configure --prefix=/usr &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
内容
安装程序: None
安装库: libclutter-gst-3.0.so 和 /usr/lib/gstreamer-1.0/libcluttergst3.so
安装目录: /usr/include/clutter-gst-3.0 和 /usr/share/gtk-doc/html/clutter-gst-3.0
简短描述
libclutter-gst-3.0.so 包含Clutter Gst API函数。
25.9 clutter-gtk-1.8.4
简介Clutter Gtk
Clutter Gtk包是一个库,提供了将杂波集成到Gtk +应用程序中的功能。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/clutter-gtk/1.8/clutter-gtk-1.8.4.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/clutter-gtk/1.8/clutter-gtk-1.8.4.tar.xz
-
下载 MD5 校验和: b363ac9878e2337be887b8ee9e1da00e
-
下载大小:324 KB
-
预计所需磁盘空间: 5.2 MB
-
预计构建时间: 0.1 SBU
Clutter Gtk依赖
必要
推荐
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/clutter-gtk
安装Clutter Gtk
运行以下命令安装Clutter Gtk:
./configure --prefix=/usr &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
命令解释
--enable-gtk-doc: 如果安装了GTK-Doc并且希望重新构建和安装API文档,请使用此参数。
内容
安装程序: None
安装库: libclutter-gtk-1.0.so
安装目录: /usr/include/clutter-gtk-1.0 和 /usr/share/gtk-doc/html/clutter-gtk-1.0
简短描述
libclutter-gtk-1.0.so 包含Clutter Gtk API函数。
25.10 colord-gtk-0.3.0
简介Colord GTK
Colord GTK包包含针对Colord的GTK+绑定。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://www.freedesktop.org/software/colord/releases/colord-gtk-0.3.0.tar.xz
-
下载 MD5 校验和: 08c245d6482b3923a2b6a09f7fbbe612
-
下载大小:24 KB
-
预计所需磁盘空间: 6.1 MB
-
预计构建时间: 小于 0.1 SBU
Colord GTK依赖
必要
推荐
gobject-introspection-1.74.0, GTK+-2.24.33, GTK-4.8.3, 和 Vala-0.56.4
可选
DocBook-utils-0.6.14 和 GTK-Doc-1.33.2
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/colord-gtk
安装Colord GTK
警告
如果必须使用ninja -j1来构建文档。
运行以下命令安装Colord GTK:
mkdir build &&
cd build &&
meson --prefix=/usr \
--buildtype=release \
-Dgtk2=true \
-Dgtk4=true \
-Dvapi=true \
-Ddocs=false \
-Dman=false .. &&
ninja
要测试结果,请执行以下命令: ninja test。测试需要从X会话运行,并且可能需要主显示器的颜色配置文件。
现在,作为root用户:
ninja install
命令解释
--buildtype=release: 指定一个适合于稳定版本的构建类型,因为默认情况下可能会生成未优化的二进制文件。
-Dvapi=true: 这个开关允许构建Vala绑定。如果您没有安装Vala-0.56.4,请删除此开关。
-Dgtk2=true: 这个开关允许为colord构建GTK+-2绑定。
-Dgtk4=true: 这个开关可以为colord构建GTK-4绑定。如果没有安装GTK-4.8.3,请将此选项设置为’false’。
-Ddocs=false: 此开关禁用构建基于gtk-doc的文档。即使安装了gtk-doc,也需要Docbook XSL样式表的命名空间版本。
-Dman=false: 此开关禁止为此包生成手册页。如果安装了Docbook XSL样式表的命名空间版本,请删除此开关。
内容
安装程序: cd-convert
安装库: libcolord-gtk.so, libcolord-gtk2.so, 和 libcolord-gtk4.so
安装目录: /usr/include/colord-1/colord-gtk 和 /usr/share/gtk-doc/html/colord-gtk
简短描述
cd-convert 是一个颜色管理器测试工具。
libcolord-gtk.so 包含Colord GTK+绑定。
libcolord-gtk2.so 包含Colord GTK+-2绑定。
libcolord-gtk4.so 包含Colord GTK-4绑定。
25.11 FLTK-1.3.8
简介FLTK
FLTK(发音为“fulltick”)是一个跨平台的C++ GUI工具包。FLTK提供了现代GUI功能,并通过OpenGL及其用于为应用程序创建图形用户界面的内置仿真库支持3D图形。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://fltk.org/pub/fltk/1.3.8/fltk-1.3.8-source.tar.gz
-
下载 MD5 校验和: 84907602c2e50fadec3bc40fb61935cd
-
下载大小:5.1 MB
-
预计所需磁盘空间: 119 MB (with documentation)
-
预计构建时间: 0.2 SBU (使用并行数=4)
FLTK依赖
必要
推荐
hicolor-icon-theme-0.17, libjpeg-turbo-2.1.5.1, 和 libpng-1.6.39
可选
alsa-lib-1.2.8, desktop-file-utils-0.26, Doxygen-1.9.6, GLU-9.0.2, Mesa-22.3.5, 和 texlive-20220321 (或 install-tl-unx)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/fltk
安装FLTK
注意
tar解压目录是fltk-1.3.8,而不是tar包名称所示的fltk-1.3.8-source。
运行以下命令安装FLTK:
sed -i -e '/cat./d' documentation/Makefile &&
./configure --prefix=/usr \
--enable-shared &&
make
如果你想创建API文档,请执行:
make -C documentation html
包的测试是交互式的。要执行测试,请运行test/unittests。此外,在test目录下还有70个可执行的测试程序可以单独运行。
现在,作为root用户:
make docdir=/usr/share/doc/fltk-1.3.8 install
如果需要,可以安装一些作为测试的一部分构建的示例游戏、额外的文档和示例程序。作为root用户:
make -C test docdir=/usr/share/doc/fltk-1.3.8 install-linux &&
make -C documentation docdir=/usr/share/doc/fltk-1.3.8 install-linux
命令解释
sed … documentation/Makefile: 避免安装在/usr/share/man/cat*目录下的页面。
内容
安装程序: blocks, checkers, fltk-config, fluid, 和 sudoku
安装库: libfltk.{a,so}, libfltk_forms.{a,so}, libfltk_gl.{a,so}, 和 libfltk_images.{a,so}
安装目录: /usr/include/FL 和 /usr/share/doc/fltk-1.3.8
简短描述
blocks 是一个基于FLTK的方块消除游戏。
checkers 是一种基于FLTK的跳棋游戏。
fltk-config 是一个实用脚本,可用于获取有关系统上安装的FLTK的当前版本的信息。
fluid 是FLTK的交互式GUI设计器。
sudoku 是一个流行的数独游戏的实现。
libfltk.so 包含提供API来实现图形用户界面的函数。
25.12 Freeglut-3.4.0
简介Freeglut
Freeglut旨在成为一个100%兼容的、完全开源的GLUT库的克隆。GLUT是一个独立于窗口系统的工具包,用于编写OpenGL程序,实现了一个简单的窗口API,使学习和探索OpenGL编程非常容易。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://downloads.sourceforge.net/freeglut/freeglut-3.4.0.tar.gz
-
下载 MD5 校验和: f1621464e6525d0368976870cab8f418
-
下载大小:404 KB
-
预计所需磁盘空间: 5.7 MB
-
预计构建时间: 小于 0.1 SBU
Freeglut依赖
必要
推荐
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/freeglut
安装Freeglut
运行以下命令安装Freeglut:
mkdir build &&
cd build &&
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DFREEGLUT_BUILD_DEMOS=OFF \
-DFREEGLUT_BUILD_STATIC_LIBS=OFF \
-Wno-dev .. &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
命令解释
-DFREEGLUT_BUILD_DEMOS=OFF: 禁用构建可选的演示程序。注意,如果选择构建它们,则必须手动完成安装。演示程序有限,不建议安装。
-DFREEGLUT_BUILD_STATIC_LIBS=OFF: 不要构建静态库。
内容
安装程序: None
安装库: libglut.so
安装目录: /usr/lib/cmake/FreeGLUT
简短描述
libglut.so 包含实现OpenGL工具集的函数。
25.13 gdk-pixbuf-2.42.10
简介Gdk Pixbuf
Gdk Pixbuf包是一个用于图像加载和像素缓冲区操作的工具包。GTK+ 2和GTK+ 3使用它来加载和操作图像。过去它是作为GTK+ 2的一部分发布的,但是为了准备对GTK+ 3的更改,它被分离到一个单独的包中。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/gdk-pixbuf/2.42/gdk-pixbuf-2.42.10.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gdk-pixbuf/2.42/gdk-pixbuf-2.42.10.tar.xz
-
下载 MD5 校验和: 4a62f339cb1424693fba9bb7ffef8150
-
下载大小:6.2 MB
-
预计所需磁盘空间: 36 MB (有测试)
-
预计构建时间: 0.2 SBU (有测试; 使用并行数=4)
Gdk Pixbuf依赖
必要
GLib-2.74.5, libjpeg-turbo-2.1.5.1, libpng-1.6.39, 和 shared-mime-info-2.2
推荐
docutils-0.19, librsvg-2.54.5 (运行时依赖,用于加载符号图标) 和 libtiff-4.5.0
可选 (构建GNOME时需要)
可选
Gi-DocGen-2023.1 (生成文档)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gdk-pixbuf
安装Gdk Pixbuf
运行以下命令安装Gdk Pixbuf:
mkdir build &&
cd build &&
meson --prefix=/usr --buildtype=release --wrap-mode=nofallback .. &&
ninja
如果你已经安装了Gi-DocGen-2023.1并希望为这个包构建API文档,请执行:
sed "/docs_dir =/s@\$@ / 'gdk-pixbuf-2.42.10'@" -i ../docs/meson.build &&
meson configure -Dgtk_doc=true &&
ninja
要测试结果,请执行以下命令: ninja test。测试大量使用磁盘。
现在,作为root用户:
ninja install
注意
如果您使用“DESTDIR”方法将包安装到系统上,则没有安装重要的文件,应该复制和/或生成该文件。以root用户身份使用以下命令生成它:
gdk-pixbuf-query-loaders --update-cache
命令解释
--buildtype=release: 指定一个适合于稳定版本的构建类型,因为默认情况下可能会生成未优化的二进制文件。
--wrap-mode=nofallback: 此开关防止meson对构建文件中的任何依赖项声明使用子项目备用方案,停止下载任何未安装在系统上的可选依赖项。
-Dman=false: 如果你不想生成手动页面,或者不想安装docutils-0.19,请使用此选项。
内容
安装程序: gdk-pixbuf-csource, gdk-pixbuf-pixdata, gdk-pixbuf-query-loaders, 和 gdk-pixbuf-thumbnailer
安装库: libgdk_pixbuf-2.0.so
安装目录: /usr/{include,lib}/gdk-pixbuf-2.0, /usr/libexec/installed-tests/gdk-pixbuf, /usr/share/installed-tests/gdk-pixbuf, /usr/share/gtk-doc/html/gdk-pixbuf, 和 /usr/share/thumbnailers
简短描述
gdk-pixbuf-csource 是一个生成包含图像的C代码的小实用程序,用于将图像直接编译为程序。
gdk-pixbuf-pixdata 是一个用于将GdkPixbuf转换为GdkPixdata的工具。
gdk-pixbuf-query-loaders 收集Gdk Pixbuf的可加载模块的信息,并将其写入默认的缓存文件位置或stdout。
gdk-pixbuf-thumbnailer 创建用于其他应用程序的图片缩略图。
libgdk_pixbuf-2.0.so 包含用于加载和渲染图像的函数。
25.14 gdk-pixbuf-xlib-2.40.2
简介gdk-pixbuf-xlib
gdk-pixbuf-xlib包为gdk-pixbuf提供了一个已弃用的Xlib接口,这对于一些尚未被移植以使用新接口的应用程序是必需的。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/gdk-pixbuf-xlib/2.40/gdk-pixbuf-xlib-2.40.2.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gdk-pixbuf-xlib/2.40/gdk-pixbuf-xlib-2.40.2.tar.xz
-
下载 MD5 校验和: fbd57e867e039a8cf9164d145c0f0434
-
下载大小:53 KB
-
预计所需磁盘空间: 1.5 MB
-
预计构建时间: 小于 0.1 SBU
gdk-pixbuf-xlib依赖
必要
gdk-pixbuf-2.42.10 和 Xorg Libraries
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gdk-pixbuf-xlib
安装gdk-pixbuf-xlib
运行以下命令安装gdk-pixbuf-xlib:
mkdir build &&
cd build &&
meson --prefix=/usr .. &&
ninja
这个包没有附带测试套件。
现在,作为root用户:
ninja install
命令解释
-Dgtk_doc=true: 如果安装了GTK-Doc-1.33.2并且你希望重新构建并安装API文档,请使用此选项。
内容
安装程序: None
安装库: libgdk_pixbuf_xlib-2.0.so
安装目录: /usr/include/gdk-pixbuf-2.0/gdk-pixbuf-xlib
简短描述
libgdk_pixbuf_xlib-2.0.so 为gdk-pixbuf提供Xlib接口。
25.15 GLEW-2.2.0
简介GLEW
GLEW是OpenGL扩展管理器库。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://downloads.sourceforge.net/glew/glew-2.2.0.tgz
-
下载 MD5 校验和: 3579164bccaef09e36c0af7f4fd5c7c7
-
下载大小:820 KB
-
预计所需磁盘空间: 16 MB
-
预计构建时间: 小于 0.1 SBU
glew依赖
必要
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/GLEW
安装GLEW
运行以下命令安装GLEW:
sed -i 's%lib64%lib%g' config/Makefile.linux &&
sed -i -e '/glew.lib.static:/d' \
-e '/0644 .*STATIC/d' \
-e 's/glew.lib.static//' Makefile &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install.all
命令解释
sed -i ‘s%lib64%lib%g’ …: 这确保了库安装在/usr/lib中。
sed -i -e ‘/glew.lib.static:/d’ …: 这就屏蔽了静态库。
make install.all: 这将安装程序和库。
内容
安装程序: glewinfo 和 visualinfo
安装库: libGLEW.so
Installed Directory: /usr/include/GL
简短描述
glewinfo 提供有关支持的扩展的信息。
visualinfo 是glxinfo的扩展版本。
libGLEW.so 提供访问OpenGL扩展的函数。
25.16 GLU-9.0.2
简介GLU
这个包提供了Mesa OpenGL实用程序库。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (FTP): ftp://ftp.freedesktop.org/pub/mesa/glu/glu-9.0.2.tar.xz
-
下载 MD5 校验和: 2b0f13fa5b949bfb3a995927c6e35125
-
下载大小:428 KB
-
预计所需磁盘空间: 9.2 MB
-
预计构建时间: 0.2 SBU
GLU依赖
必要
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/glu
安装GLU
运行以下命令安装GLU:
mkdir build &&
cd build &&
meson --prefix=$XORG_PREFIX -Dgl_provider=gl --buildtype=release .. &&
ninja
这个包没有附带测试套件。
现在,作为root用户:
ninja install &&
rm -vf /usr/lib/libGLU.a
内容
安装程序: None
安装库: libGLU.so
安装目录: None
简短描述
libGLU.so 是Mesa OpenGL实用程序库。
25.17 GOffice-0.10.55
简介GOffice
GOffice包包含一个以GLib/GTK文档为中心的对象和实用程序库。这对于执行以文档为中心的应用程序的常见操作很有用,这些应用程序在概念上很简单,但完全实现起来很复杂。office库提供的一些操作包括支持插件、应用文档的加载/保存例程和撤销/重做函数。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/goffice/0.10/goffice-0.10.55.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/goffice/0.10/goffice-0.10.55.tar.xz
-
下载 MD5 校验和: c3e5f9e2fcdd63e4cd50721610abefc2
-
下载大小:2.3 MB
-
预计所需磁盘空间: 80 MB (有测试)
-
预计构建时间: 0.3 SBU (使用并行数=4; 有文档)
GOffice依赖
必要
GTK+-3.24.36, libgsf-1.14.50, librsvg-2.54.5, libxslt-1.1.37, 和 Which-2.21
可选
gobject-introspection-1.74.0, ghostscript-10.00.0, gsettings-desktop-schemas-43.0, GTK-Doc-1.33.2, Lasem, 和 libspectre
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/goffice010
安装GOffice
运行以下命令安装GOffice:
./configure --prefix=/usr &&
make
如果你想运行测试,请执行: make check.
现在,作为root用户:
make install
命令解释
--enable-gtk-doc: 如果安装了GTK-Doc并且希望重新构建和安装API文档,请使用此参数。
内容
安装程序: None
安装库: libgoffice-0.10.so
安装目录: /usr/include/libgoffice-0.10, /usr/{lib,share}/goffice, 和 /usr/share/gtk-doc/html/goffice-0.10
简短描述
libgoffice-0.10.so 包含API函数,以提供对以文档为中心的对象和工具的支持。
25.18 Grantlee-5.3.1
简介grantlee
Grantlee是一组使用Qt框架编写的免费软件库。目前,Grantlee附带了两个库:Grantlee Templates 和 Grantlee TextDocument。Grantlee模板的目标是使应用程序开发人员更容易将文档结构与其包含的数据分离,从而为主题化打开大门。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://github.com/steveire/grantlee/releases/download/v5.3.1/grantlee-5.3.1.tar.gz
-
下载 MD5 校验和: 4ef8eae5dd61e3c7603d76208eb4d922
-
下载大小:1.1 MB
-
预计所需磁盘空间: 27 MB
-
预计构建时间: 0.4 SBU (使用并行数=4)
Grantlee依赖
必要
可选
Doxygen-1.9.6 (用于文档)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/grantlee
安装Grantlee
运行以下命令安装Grantlee:
mkdir build &&
cd build &&
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
.. &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
内容
安装程序: none
安装库: libGrantlee_Templates.so 和 libGrantlee_TextDocument.so
安装目录: /usr/lib/cmake/Grantlee5, /usr/lib/grantlee/5.2, 和 /usr/include/grantlee
简短描述
libGrantlee_Templates.so 包含用于将文档与其结构分离的通用文档模板。
libGrantlee_TextDocument.so 包含可以将文本文档的内容与其结构分离的函数。
25.19 Graphene-1.10.8
简介Graphene
Graphene包为图形库提供了thin层类型。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/graphene/1.10/graphene-1.10.8.tar.xz
-
下载 MD5 校验和: 169e3c507b5a5c26e9af492412070b81
-
下载大小:328 KB
-
预计所需磁盘空间: 7.6 MB
-
预计构建时间: 小于 0.1 SBU (有测试)
Graphene依赖
必要
GLib-2.74.5 和 gobject-introspection-1.74.0
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/graphene
安装Graphene
运行以下命令安装Graphene:
mkdir build &&
cd build &&
meson --prefix=/usr --buildtype=release .. &&
ninja
要测试结果,请执行以下命令: ninja test.
现在,作为root用户:
ninja install
命令解释
--buildtype=release: 指定一个适合于稳定版本的构建类型,因为默认情况下可能会生成未优化的二进制文件。
-Dgtk_doc=true: 如果你已经安装了GTK-Doc-1.33.2并希望生成API文档,可以使用此开关。
内容
安装程序: None
安装库: libgraphene-1.0.so
安装目录: /usr/include/graphene-1.0, /usr/lib/graphene-1.0, /usr/{libexec,share}/installed-tests/graphene-1.0
简短描述
libgraphene-1.0.so 包含为图形库提供thin层类型的函数。
25.20 GTK+-2.24.33
简介GTK+ 2
GTK+ 2包包含用于为应用程序创建图形用户界面的库。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/gtk+/2.24/gtk+-2.24.33.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gtk+/2.24/gtk+-2.24.33.tar.xz
-
下载 MD5 校验和: 0118e98dbe0e4dab90ce475f9f0e6c0c
-
下载大小:12 MB
-
预计所需磁盘空间: 285 MB
-
预计构建时间: 0.9 SBU (使用并行数=4; 增加0.1 SBU用于测试)
GTK+ 2依赖
必要
at-spi2-core-2.46.0, gdk-pixbuf-2.42.10 和 Pango-1.50.12
推荐
可选
Cups-2.4.2, DocBook-utils-0.6.14, gnome-themes-extra-3.28 (运行时,用于Adwaita和高度对比的主题), gobject-introspection-1.74.0 和 GTK-Doc-1.33.2
注意
如果在 at-spi2-core-2.46.0, gdk-pixbuf-2.42.10, and/or Pango-1.50.12 之后安装了gobject-introspection-1.74.0, 那么在构建这个包之前,必须重新构建这些包。
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gtk+2
安装GTK+ 2
运行以下命令安装GTK+ 2:
sed -e 's#l \(gtk-.*\).sgml#& -o \1#' \
-i docs/{faq,tutorial}/Makefile.in &&
./configure --prefix=/usr --sysconfdir=/etc &&
make
要测试结果,请执行以下命令: make -k check。请注意,当测试试图打开X窗口时,必须从具有X窗口显示功能的会话(即,不是基于文本的终端/控制台)运行测试,并且测试可能会花费很长时间。使用X窗口,测试需要的时间应该小于0.1 SBU。其中一个测试aliasfilescheck.sh会失败。
现在,作为root用户:
make install
注意
如果您使用“DESTDIR”方法将包安装到系统上,则没有安装重要文件,必须复制和/或生成该文件。以root用户身份使用以下命令生成它:
gtk-query-immodules-2.0 --update-cache
命令解释
sed -i ‘s#l (gtk-.*).sgml#& -o \1#’ docs/{faq,tutorial}/Makefile.in: 如果安装了DocBook-utils-0.6.14(特别是,如果configure找到了db2html),那么它将尝试使用它来重建一些HTML文档,但由于某些Makefile中的bug而失败。这个sed修复了Makefile。
--enable-gtk-doc: 如果安装了GTK-Doc并且希望重新构建和安装API文档,请使用此参数。
配置GTK+ 2
配置文件
~/.gtkrc-2.0, /etc/gtk-2.0/gtkrc, 和 /usr/share/gtk-2.0/gtkrc
配置信息
GTK+ 2主题改变GTK+ 2应用程序的外观。GTK+ 2图标主题可用于更改出现在应用程序工具栏上的图标。如果你已经安装了GTK+ 2主题(如gnome-themes-extra-3.28 或 GTK Engines-2.20.2),或者GTK+图标主题(如adwaita-icon-theme-43),你可以在~/.gtkrc-2.0中设置你的偏好:
cat > ~/.gtkrc-2.0 << "EOF"
include "/usr/share/themes/Glider/gtk-2.0/gtkrc"
gtk-icon-theme-name = "hicolor"
EOF
在Gnome-Look.org和其他地方可以找到更多主题。
一旦你确定了你喜欢的主题,你可以(作为root用户)将它们设置为系统范围内的默认主题:
cat > /etc/gtk-2.0/gtkrc << "EOF"
include "/usr/share/themes/Clearlooks/gtk-2.0/gtkrc"
gtk-icon-theme-name = "elementary"
EOF
LXAppearance-0.6.3是一个GTK+ 2应用程序,可以帮助您选择您喜欢的主题。
内容
安装程序: gtk-builder-convert, gtk-demo, gtk-query-immodules-2.0, 和 gtk-update-icon-cache
安装库: libgailutil.so, libgdk-x11-2.0.so, 和 libgtk-x11-2.0.so
安装目录: /etc/gtk-2.0, /usr/include/{gail-1.0,gtk-2.0,gtk-unix-print-2.0}, /usr/lib/gtk-2.0, /usr/share/doc/gtk+-2.24.33, /usr/share/gtk-2.0, /usr/share/gtk-doc/html/{gail-libgail-util,gdk2,gtk2}, 和 /usr/share/themes/{Default,Emacs,Raleigh}
简短描述
gtk-builder-convert 将glade文件转换为XML文件,可以用GtkBuilder加载。
gtk-demo 演示GTK+ 2功能并提供示例代码。
gtk-query-immodules-2.0 收集关于GTK+ 2的可加载输入方法模块的信息,并将其写入标准输出。
gtk-update-icon-cache 为图标主题创建mmap()可缓存文件。从gtk+-2.24.24开始,如果您想要之前的行为,请在此命令中添加标志“–include-image-data”,并将图像数据保存在缓存中。
libgdk-x11-2.0.so 包含封装底层图形系统提供的底层绘图和窗口函数的函数。
libgtk-x11-2.0.so 包含提供API来实现图形用户界面的函数。
25.21 GTK+-3.24.36
简介GTK+ 3
GTK+ 3包包含用于为应用程序创建图形用户界面的库。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/gtk+/3.24/gtk+-3.24.36.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gtk+/3.24/gtk+-3.24.36.tar.xz
-
下载 MD5 校验和: fd4571a112ffaa2fbbb9d25de8f5b6c0
-
下载大小:12 MB
-
预计所需磁盘空间: 290 MB (增加3 MB用于测试)
-
预计构建时间: 0.9 SBU (使用并行数=4; 增加0.5 SBU用于测试)
GTK+ 3依赖
必要
at-spi2-core-2.46.0, gdk-pixbuf-2.42.10, libepoxy-1.5.10, 和 Pango-1.50.12
推荐
adwaita-icon-theme-43 (某些gtk+3设置键的默认值,测试也需要), docbook-xsl-nons-1.79.2 (用于生成手册页), hicolor-icon-theme-0.17 (测试所需), ISO Codes-4.12.0, libxkbcommon-1.5.0, libxslt-1.1.37 (用于生成手册页), sassc-3.6.2, Wayland-1.21.0, 和 wayland-protocols-1.31
推荐 (构建GNOME时需要)
可选
colord-1.4.6, Cups-2.4.2, GTK-Doc-1.33.2, PyAtSpi2-2.46.0 (用于测试), Tracker-3.4.2, 和 PAPI
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gtk3
安装GTK+ 3
运行以下命令安装GTK+ 3:
mkdir build &&
cd build &&
meson setup --prefix=/usr \
--buildtype=release \
-Dman=true \
-Dbroadway_backend=true \
.. &&
ninja
要测试结果,你需要一个图形会话,然后执行ninja test。两个测试可能会因为超时设置太短而失败。
现在,作为root用户:
ninja install
注意
如果您使用“DESTDIR”方法将包安装到系统上,则没有安装重要文件,必须复制和/或生成该文件。以root用户身份使用以下命令生成它:
gtk-query-immodules-3.0 --update-cache
注意
如果您使用“DESTDIR”方法将包安装到系统中,则/usr/share/glib-2.0/schemas/gschemas.compiled不会更新/创建。以root用户身份使用以下命令创建(或更新)文件:
glib-compile-schemas /usr/share/glib-2.0/schemas
命令解释
-Dbroadway_backend=true: 此开关启用HTML5 GTK后端。
-Dman=true: 这个开关允许生成手册页。
-Dgtk_doc=true: 此开关启用构建文档。它需要GTK-Doc-1.33.2。
-Dtracker3=true: 此开关启用基于GTK+-3文件选择器对话框中的跟踪器3的搜索功能。它需要Tracker-3.4.2。
配置GTK+ 3
配置文件
~/.config/gtk-3.0/settings.ini 和 /etc/gtk-3.0/settings.ini
配置信息
GTK+ 3主题改变GTK+ 3应用程序的外观。图标主题可用于更改出现在应用程序工具栏上的图标。如果你已经安装了GTK+ 3主题(例如GTK+ 3内置的Adwaita主题),一个图标主题(例如oxygen-icons5-5.103.0)和/或字体(Dejavu fonts),你可以在~/.config/gtk-3.0/settings.ini中设置你的偏好,或者在/etc/gtk-3.0/settings.ini中设置默认的系统配置文件(作为root用户)。对于本地用户,示例如下:
mkdir -vp ~/.config/gtk-3.0
cat > ~/.config/gtk-3.0/settings.ini << "EOF"
[Settings]
gtk-theme-name = Adwaita
gtk-icon-theme-name = oxygen
gtk-font-name = DejaVu Sans 12
gtk-cursor-theme-size = 18
gtk-toolbar-style = GTK_TOOLBAR_BOTH_HORIZ
gtk-xft-antialias = 1
gtk-xft-hinting = 1
gtk-xft-hintstyle = hintslight
gtk-xft-rgba = rgb
gtk-cursor-theme-name = Adwaita
EOF
有很多设置键,有些带有默认值。你可以在Settings: GTK+ 3 Reference Manual找到它们。在https://www.gnome-look.org/browse/和其他地方可以找到更多主题。
作为GTK+-3.0重新设计的一部分,在许多应用程序中滚动条上不再可见滚动条按钮。如果需要此功能,请修改gtk.css文件并使用以下命令恢复它们:
cat > ~/.config/gtk-3.0/gtk.css << "EOF"
* {
-GtkScrollbar-has-backward-stepper: 1;
-GtkScrollbar-has-forward-stepper: 1;
}
EOF
内容
安装程序: broadwayd, gtk3-demo, gtk3-demo-application, gtk3-icon-browser, gtk3-widget-factory, gtk-builder-tool, gtk-encode-symbolic-svg, gtk-launch, gtk-query-immodules-3.0, gtk-query-settings, 和 gtk-update-icon-cache
安装库: libgailutil-3.so, libgdk-3.so, 和 libgtk-3.so
安装目录: /etc/gtk-3.0, /usr/include/{gail,gtk}-3.0, /usr/{lib,share}/gtk-3.0, 和 /usr/share/themes/{Default,Emacs}/gtk-3.0
简短描述
broadwayd 支持使用HTML5和web sockets在web浏览器中显示GTK+ 3应用程序。
gtk3-demo 是一个简单的程序,它演示了可以用GTK+ 3完成的一些任务。
gtk3-demo-application 是一个简单的GTK+ 3应用程序。
gtk3-icon-browser 是一个实用程序,用于探索当前图标主题中的图标。它显示了各种大小的图标,以及可用的符号变体,以及图标及其上下文的描述。
gtk3-widget-factory 是一个查看GTK+ 3主题和部件的程序。
gtk-builder-tool 对GtkBuilder .ui文件执行各种操作。
gtk-encode-symbolic-svg 将符号SVG图标转换为专门准备的PNG文件。GTK+ 3可以加载这些png文件并重新着色,就像原始的SVG一样,但加载它们的速度要快得多。
gtk-launch 使用给定的名称启动应用程序。该名称应与应用程序桌面文件名匹配,即位于/usr/share/applications中,带或不带’.desktop’后缀。
gtk-query-immodules-3.0 收集关于GTK+ 3的可加载输入方法模块的信息,并将其写入默认的缓存文件位置或标准输出。
gtk-query-settings 提供与GTK+ 3相关的所有设置的完整列表。
gtk-update-icon-cache 是一个图标主题缓存实用程序,可以为图标主题创建mmap()可缓存文件。
libgailutil-3.so 包含实现由GNOME可访问性工具包定义的可访问性接口的函数。
libgdk-3.so 包含封装底层图形系统提供的底层绘图和窗口函数的函数。
libgtk-3.so 包含提供API来实现图形用户界面的函数。
25.22 GTK-4.8.3
简介GTK 4
GTK 4包包含用于为应用程序创建图形用户界面的库。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/gtk/4.8/gtk-4.8.3.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gtk/4.8/gtk-4.8.3.tar.xz
-
下载 MD5 校验和: d735b9c2a534f034553e2e27bc5af994
-
下载大小:19 MB
-
预计所需磁盘空间: 484 MB (add 12 MB用于测试)
-
预计构建时间: 1.1 SBU (使用并行数=4; 增加0.3 SBU用于测试)
GTK 4依赖
必要
FriBidi-1.0.12, gdk-pixbuf-2.42.10, graphene-1.10.8, ISO Codes-4.12.0, libepoxy-1.5.10, libxkbcommon-1.5.0, Pango-1.50.12, PyGObject-3.42.2, 和 wayland-protocols-1.31
推荐
adwaita-icon-theme-43 (某些gtk4设置键的默认值), gst-plugins-bad-1.22.0, gst-plugins-good-1.22.0 (运行时,使用libvpx-1.13.0构建), hicolor-icon-theme-0.17 (用于测试和默认设置), 和 librsvg-2.54.5
推荐 (构建GNOME时需要)
可选
colord-1.4.6, Cups-2.4.2, docutils-0.19, FFmpeg-5.1.2 (使用libvpx-1.13.0构建), Gi-DocGen-2023.1, Highlight-4.4 (运行时,仅供gtk4-demo用于演示源代码的语法高亮), libcloudproviders-0.3.1, sassc-3.6.2, Tracker-3.4.2, 和 vulkan
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gtk4
安装GTK 4
运行以下命令安装GTK 4:
mkdir build &&
cd build &&
meson setup --prefix=/usr \
--buildtype=release \
-Dbroadway-backend=true \
.. &&
ninja
如果你已经安装了Gi-DocGen-2023.1并希望为这个包构建API文档,请发出:
sed "s@'doc'@& / 'gtk-4.8.3'@" -i ../docs/reference/meson.build &&
meson configure -Dgtk_doc=true &&
ninja
要运行测试,请执行:meson test –setup x11。如果你在Wayland会话中,将x11替换为Wayland。一些测试可能会失败。
现在,作为root用户:
ninja install
命令解释
--buildtype=release: 指定一个适合于稳定版本的构建类型,因为默认情况下可能会生成未优化的二进制文件。
-Dbroadway-backend=true: 此开关启用HTML5 GDK后端。
-Dcloudproviders=enabled: 如果你已经安装了libcloudproviders-0.3.1并希望在文件选择器窗口中启用对云提供商的支持,请使用此开关。
-Dsysprof=enabled: 如果您已经安装了sysprof-3.46.0并希望启用基于gtk4的应用程序的跟踪支持,请使用此开关。
-Dtracker=enabled: 如果你已经安装了Tracker-3.4.2并且希望在运行文件选择器时使用搜索功能,可以使用这个开关。
-Dcolord=enabled: 如果你已经安装了colord-1.4.6并且希望在杯子打印后端使用colord,可以使用此开关。
-Dgtk_doc=true: 允许在不安装Gi-DocGen-2023.1的情况下构建此包。如果你已经安装了Gi-DocGen-2023.1并且你希望重新编译并安装API文档,一个meson configure命令将重置此选项。
-Dman-pages=true: 如果你已经安装了docutils-0.19并希望生成手册页,请使用此开关。
配置GTK 4
配置文件
~/.config/gtk-4.0/settings.ini 和 /usr/share/gtk-4.0/settings.ini
配置信息
GTK 4主题更改GTK 4应用程序的外观。图标主题可用于更改出现在应用程序工具栏上的图标。如果您已经安装了GTK 4主题(例如GTK 4中内置的Adwaita主题)、图标主题(例如oxygen-icons5-5.103.0)和/或字体(Dejavu fonts),您可以在~/.config/gtk-4.0/settings.ini中设置您的偏好,或者在/usr/share/gtk-4.0/settings.ini中设置默认的系统配置文件(作为root用户)。对于本地用户,一个例子是:
mkdir -pv ~/.config/gtk-4.0
cat > ~/.config/gtk-4.0/settings.ini << "EOF"
[Settings]
gtk-theme-name = Adwaita
gtk-icon-theme-name = oxygen
gtk-font-name = DejaVu Sans 12
gtk-cursor-theme-size = 18
gtk-xft-antialias = 1
gtk-xft-hinting = 1
gtk-xft-hintstyle = hintslight
gtk-xft-rgba = rgb
gtk-cursor-theme-name = Adwaita
EOF
有很多设置键,有些带有默认值。您可以在Settings: GTK 4 Reference Manual找到它们。
内容
安装程序: gtk4-broadwayd, gtk4-builder-tool, gtk4-demo, gtk4-demo-application, gtk4-encode-symbolic-svg, gtk4-icon-browser, gtk4-launch, gtk4-node-editor, gtk4-print-editor, gtk4-query-settings, gtk4-update-icon-cache, 和 gtk4-widget-factory
安装库: libgtk-4.so
安装目录: /usr/include/gtk-4.0, /usr/lib/gtk-4.0, 和 /usr/share/gtk-4.0
简短描述
gtk4-broadwayd 支持使用HTML5和web sockets在web浏览器中显示GTK 4应用程序。
gtk4-builder-tool 对GtkBuilder .ui文件执行各种操作。
gtk4-demo 是一个简单的程序,它演示了可以用GTK 4完成的一些任务。
gtk4-demo-application 是一个用于测试的简单GTK 4应用程序。
gtk4-encode-symbolic-svg 将符号SVG图标转换为特殊的PNG文件。GTK 4可以加载这些png文件并重新着色,就像原始的svg一样,但加载它们的速度要快得多。
gtk4-icon-browser 是一个实用程序,用于探索当前图标主题中的图标。它显示各种大小的图标,以及可用的符号变体,以及图标及其上下文的描述。
gtk4-launch 使用给定的名称启动应用程序。该名称应与应用程序的。desktop文件名(如在/usr/share/applications中看到的)匹配,无论是否带’.desktop’扩展名。
gtk4-node-editor 是一个显示和编辑渲染节点文件的实用程序。这样的渲染节点文件可以从GTK检查器中获得。
gtk4-print-editor 是一个使用GTK 4应用程序演示打印的简单程序。
gtk4-query-settings 提供与GTK 4相关的所有设置的完整列表。
gtk4-update-icon-cache 是一个图标主题缓存实用程序,可以为图标主题创建mmap()可缓存文件。
gtk4-widget-factory 是一个查看GTK 4主题和部件的程序。
libgtk-4.so 包含提供API来实现图形用户界面的函数。
25.23 GTK Engines-2.20.2
简介GTK Engines
GTK引擎包包含八个主题/引擎和两个附加的GTK2引擎。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/gtk-engines/2.20/gtk-engines-2.20.2.tar.bz2
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gtk-engines/2.20/gtk-engines-2.20.2.tar.bz2
-
下载 MD5 校验和: 5deb287bc6075dc21812130604c7dc4f
-
下载大小:676 KB
-
预计所需磁盘空间: 19 MB
-
预计构建时间: 0.4 SBU
GTK Engines依赖
必要
可选
Lua-5.4.4 和 Which-2.21 (测试套件所需)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gtk-engines
安装GTK Engines
运行以下命令安装GTK Engines:
./configure --prefix=/usr &&
make
要测试结果,请执行以下命令: make check.
现在,作为root用户:
make install
命令解释
--enable-lua --with-system-lua: 如果您安装了Lua并希望构建Lua主题引擎,请使用这些开关。
内容
安装程序: None
安装库: libclearlooks.so, libcrux-engine.so, libglide.so, libhcengine.so, libindustrial.so, libmist.so, libredmond95.so 和 libthinice.so (GTK-2引擎库)
安装目录: /usr/lib/gtk-2.0/2.10.0/engines, /usr/share/gtk-engines, /usr/share/themes/Clearlooks, /usr/share/themes/Crux, /usr/share/themes/Industrial, /usr/share/themes/Mist, /usr/share/themes/Redmond 和 /usr/share/themes/ThinIce
安装主题: Clearlooks, Crux, Industrial, Mist, Redmond 和 ThinIce
简短描述
engine libraries 是特定主题的管理系统。
25.24 Gtkmm-3.24.7
简介Gtkmm
Gtkmm包为GTK+ 3提供了一个C++接口。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/gtkmm/3.24/gtkmm-3.24.7.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gtkmm/3.24/gtkmm-3.24.7.tar.xz
-
下载 MD5 校验和: 9576353c26db5e273a074264b68ad6cf
-
下载大小:14 MB
-
预计所需磁盘空间: 238 MB (有测试)
-
预计构建时间: 1.3 SBU (使用并行数=4; 有文档)
Gtkmm依赖
必要
Atkmm-2.28.3, GTK+-3.24.36, 和 Pangomm-2.46.3
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gtkmm3
安装Gtkmm
运行以下命令安装Gtkmm:
mkdir gtkmm3-build &&
cd gtkmm3-build &&
meson --prefix=/usr --buildtype=release .. &&
ninja
要测试结果,请执行以下命令: ninja test。注意,您必须在图形环境中,因为测试试图打开一些窗口。
现在,作为root用户:
ninja install
如果你已经构建了文档(参见下面的命令解释),它已经安装到/usr/share/doc/gtkmm-3.0。为了保持一致性,以root用户的身份将其移动到版本化目录:
mv -v /usr/share/doc/gtkmm-3.0 /usr/share/doc/gtkmm-3.24.7
命令解释
-Dbuild-documentation=true: 如果你已经安装了Doxygen-1.9.6,这个定义将构建并安装文档。
内容
安装程序: None
安装库: libgdkmm-3.0.so 和 libgtkmm-3.0.so
安装目录: /usr/include/gdkmm-3.0, /usr/include/gtkmm-3.0, /usr/lib/gdkmm-3.0, /usr/lib/gtkmm-3.0, 和可选的 /usr/share/{devhelp/books/gtkmm-3.0,doc/gtkmm-3.24.7}
简短描述
libgdkmm-3.0.so 包含GDK API类。
libgtkmm-3.0.so 包含GTK+ 3 API类。
25.25 gtk-vnc-1.3.1
简介Gtk VNC
Gtk VNC包包含一个用于Gtk +的VNC查看器小部件。它是使用协程构建的,允许它是完全异步的,同时保持单线程。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/gtk-vnc/1.3/gtk-vnc-1.3.1.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gtk-vnc/1.3/gtk-vnc-1.3.1.tar.xz
-
下载 MD5 校验和: 27f0dc7f33cbfdaa6c9eb7cf169f4866
-
下载大小:220 KB
-
预计所需磁盘空间: 5.2 MB
-
预计构建时间: 0.1 SBU
Gtk VNC依赖
必要
GnuTLS-3.8.0, GTK+-3.24.36, 和 libgcrypt-1.10.1
推荐
gobject-introspection-1.74.0 和 Vala-0.56.4
可选
Cyrus SASL-2.1.28 和 PulseAudio-16.1
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gtk-vnc
安装Gtk VNC
运行以下命令安装Gtk VNC:
mkdir build &&
cd build &&
meson --prefix=/usr --buildtype=release .. &&
ninja
这个包没有附带测试套件。
现在,作为root用户:
ninja install
命令解释
-Dwith-vala=false: 这个开关禁用了Vala绑定的构建。如果您决定在不安装vala的情况下构建gtk-vnc,请添加此代码。
内容
安装程序: gvnccapture
安装库: libgtk-vnc-2.0.so, libgvnc-1.0.so 和 libgvncpulse-1.0.so
安装目录: /usr/include/gtk-vnc-2.0, /usr/include/gvnc-1.0 和 /usr/include/gvncpulse-1.0
简短描述
gvnccapture 用于从VNC服务器捕获镜像。
libgtk-vnc-2.0.so 包含GTK VNC的GTK+ 3绑定。
libgvnc-1.0.so 包含Gtk VNC的GObject绑定。
libgvncpulse-1.0.so 是Gtk VNC的PulseAudio桥接器。
25.26 gtksourceview-3.24.11
简介GtkSourceView
GtkSourceView包包含用于扩展GTK+文本函数以包括语法高亮的库。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/gtksourceview/3.24/gtksourceview-3.24.11.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gtksourceview/3.24/gtksourceview-3.24.11.tar.xz
-
下载 MD5 校验和: b748da426a7d64e1304f0c532b0f2a67
-
下载大小:1.4 MB
-
预计所需磁盘空间: 80 MB (有测试)
-
预计构建时间: 0.2 SBU (使用并行数=4; 有文档)
GtkSourceView依赖
必要
推荐
可选
Vala-0.56.4, Valgrind-3.20.0, GTK-Doc-1.33.2, itstool-2.0.7, fop-2.8 (或 dblatex), 和 Glade
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gtksourceview
安装GtkSourceView
运行以下命令安装GtkSourceView:
./configure --prefix=/usr &&
make
要测试结果,请执行make check命令。测试需要在图形环境中运行。
现在,作为root用户:
make install
命令解释
--enable-gtk-doc: 如果安装了GTK-Doc并且希望重新构建和安装API文档,请使用此参数。
内容
安装程序: None
安装库: libgtksourceview-3.0.so
安装目录: /usr/{include,share,share/gtk-doc/html}/gtksourceview-3.0
简短描述
libgtksourceview-3.0.so 包含GtkTextView部件的函数扩展。
25.27 gtksourceview4-4.8.4
简介GtkSourceView
GtkSourceView包包含用于扩展GTK+文本函数以包括语法高亮的库。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/gtksourceview/4.8/gtksourceview-4.8.4.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gtksourceview/4.8/gtksourceview-4.8.4.tar.xz
-
下载 MD5 校验和: 2bf056caaae27654ec3a5930dd5597d3
-
下载大小:1.1 MB
-
预计所需磁盘空间: 71 MB (有测试)
-
预计构建时间: 0.1 SBU (有测试; 使用并行数=4)
GtkSourceView依赖
必要
推荐
gobject-introspection-1.74.0 和 libxml2-2.10.3
可选
Vala-0.56.4, Valgrind-3.20.0, GTK-Doc-1.33.2, itstool-2.0.7, fop-2.8 (或 dblatex), 和 Glade
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gtksourceview4
安装GtkSourceView
运行以下命令安装GtkSourceView:
mkdir build &&
cd build &&
meson --prefix=/usr --buildtype=release .. &&
ninja
要测试结果,请执行ninja test命令。测试需要在图形环境中运行。
现在,作为root用户:
ninja install
命令解释
-Dgtk_doc=true: 如果安装了GTK-Doc,并且您希望重新构建并安装API文档,则通常使用此选项。
内容
安装程序: None
安装库: libgtksourceview-4.so
安装目录: /usr/{include,share,share/gtk-doc/html}/gtksourceview-4
简短描述
libgtksourceview-4.so 包含GtkTextView部件的函数扩展。
25.28 gtksourceview5-5.6.2
简介GtkSourceView
GtkSourceView包包含一个库,用于扩展GTK文本函数以包括语法高亮。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/gtksourceview/5.6/gtksourceview-5.6.2.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gtksourceview/5.6/gtksourceview-5.6.2.tar.xz
-
下载 MD5 校验和: 7ed8742eae6c1932b478014f891a2b97
-
下载大小:1.2 MB
-
预计所需磁盘空间: 46 MB
-
预计构建时间: 0.2 SBU (有测试; 使用并行数=4)
GtkSourceView依赖
必要
推荐
gobject-introspection-1.74.0 和 libxml2-2.10.3
可选
GTK-Doc-1.33.2, sysprof-3.46.0, Vala-0.56.4, 和 Valgrind-3.20.0
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gtksourceview5
安装GtkSourceView
运行以下命令安装GtkSourceView:
mkdir build &&
cd build &&
meson --prefix=/usr --buildtype=release .. &&
ninja
要测试结果,请执行以下命令: ninja test.
现在,作为root用户:
ninja install
命令解释
-Dgtk_doc=true: 如果你已经安装了GTK-Doc-1.33.2并希望生成API文档,可以使用此开关。
-Dsysprof=true: 如果你已经安装了sysprof-3.46.0并且希望使用sysprof分析器支持进行构建,请使用此开关。
内容
安装程序: None
安装库: libgtksourceview-5.so
安装目录: /usr/include/gtksourceview-5 和 /usr/share/gtksourceview-5
简短描述
libgtksourceview-5.so 包含GtkTextView部件的函数扩展。
25.29 imlib2-1.9.1
简介imlib2
imlib2是一个用于快速文件加载、保存、渲染和操作的图形库。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://downloads.sourceforge.net/enlightenment/imlib2-1.9.1.tar.xz
-
下载 MD5 校验和: 596fd0664538adb7867aa609fb718147
-
下载大小:796 KB
-
预计所需磁盘空间: 14 MB
-
预计构建时间: 0.2 SBU
imlib2依赖
必要
推荐
可选
Doxygen-1.9.6 (用于API文档), libpng-1.6.39, libjpeg-turbo-2.1.5.1, libtiff-4.5.0, x265-20230215, 和 libid3tag
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/imlib2
安装imlib2
运行以下命令安装imlib2:
./configure --prefix=/usr --disable-static &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
如果你生成了API文档,以root用户的身份安装:
install -v -m755 -d /usr/share/doc/imlib2-1.9.1/html &&
install -v -m644 doc/html/* /usr/share/doc/imlib2-1.9.1/html
命令解释
--disable-static: 这个开关阻止安装静态版本的库。
--enable-doc-build: 这个开关会生成API文档。Doxygen-1.9.6必须安装。
内容
安装程序: imlib2_bumpmap, imlib2_colorspace, imlib2_conv, imlib2_grab, imlib2_poly, imlib2_show, imlib2_test, 和 imlib2_view
安装库: libImlib2.so 以及各种过滤器和图像加载器模块。
安装目录: /usr/lib/imlib2, /usr/share/doc/imlib2-1.9.1, 和 /usr/share/imlib2
简短描述
imlib2_bumpmap 是用来测试imlib2的bumpmap函数。
imlib2_colorspace 是用来测试imlib2颜色空间函数的。
imlib2_poly 是用来测试imlib2的poly函数。
imlib2_conv 转换图像格式。
imlib2_grab 需要截图。
imlib2_show 是一个imlib2程序测试。
imlib2_test 是一个imlib2程序测试。
imlib2_view 显示图像文件。
libImlib2.so 为程序提供处理各种图像数据格式的函数。
25.30 kColorPicker-0.2.0
简介kColorPicker
kColorPicker是一个带有颜色弹出菜单的QToolButton库,可以让你选择颜色。弹出式菜单有一个颜色对话框按钮,可以用来将自定义颜色添加到弹出式菜单中。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://github.com/ksnip/kColorPicker/archive/refs/tags/v0.2.0/kColorPicker-0.2.0.tar.gz
-
下载 MD5 校验和: 58a14db496f2e782be9abc4b604b5334
-
下载大小:16 KB
-
预计所需磁盘空间: 1.8 MB
-
预计构建时间: 小于 0.1 SBU
kColorPicker依赖
必要
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/kcolorpicker
安装kColorPicker
运行以下命令安装kColorPicker:
mkdir build &&
cd build &&
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
.. &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
内容
安装程序: None
安装库: libkColorPicker.a
安装目录: /usr/lib/cmake/kColorPicker
25.31 kImageAnnotator-0.6.0
简介kImageAnnotator
kImageAnnotator是一个用于注释图像的工具。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://github.com/ksnip/kImageAnnotator/archive/refs/tags/v0.6.0/kImageAnnotator-0.6.0.tar.gz
-
下载 MD5 校验和: 129cf1fa60991091da91ef18cc587b65
-
下载大小:252 KB
-
预计所需磁盘空间: 30 MB
-
预计构建时间: 0.4 SBU (使用并行数=4)
kImageAnnotator依赖
必要
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/kimageannotator
安装kImageAnnotator
运行以下命令安装kImageAnnotator:
mkdir build &&
cd build &&
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
.. &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
内容
安装程序: None
安装库: libkImageAnnotator.a
安装目录: /usr/include/kImageAnnotator, /usr/lib/cmake/kImageAnnotator, 和 /usr/share/kImageAnnotator
25.32 keybinder-0.3.1
简介keybinder
keybinder包包含一个注册全局X键盘快捷键的实用程序库。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://github.com/kupferlauncher/keybinder/releases/download/v0.3.1/keybinder-0.3.1.tar.gz
-
下载 MD5 校验和: a6d7caae0dcb040b08692b008a68a507
-
下载大小:384 KB
-
预计所需磁盘空间: 2.8 MB
-
预计构建时间: 小于 0.1 SBU
keybinder依赖
必要
推荐
gobject-introspection-1.74.0 和 PyGTK-2.24.0
可选
GTK-Doc-1.33.2 和 Lua-5.4.4 (由于需要一个较旧的lua版本,所以目前是失败的)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/keybinder
安装keybinder
运行以下命令安装keybinder:
./configure --prefix=/usr --disable-lua &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
命令解释
--disable-lua: 使用此开关禁用Lua-5.4.4绑定(目前无效,因为需要旧的lua版本)。
--enable-gtk-doc: 如果安装了GTK-Doc并且希望重新构建和安装API文档,请使用此参数。
内容
安装程序: None
安装库: libkeybinder.so 和 /usr/lib/python2.7/site-packages/keybinder/_keybinder.so
安装目录: /usr/lib/python2.7/site-packages/keybinder 和 /usr/share/gtk-doc/html/keybinder
简短描述
libkeybinder.so 是注册全局X键盘快捷键的库。
25.33 keybinder-3.0-0.3.2
简介keybinder-3.0
keybinder-3.0包包含一个为GTK+-3注册全局X键盘快捷键的实用程序库。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 MD5 校验和: 97260321fda721fce799174ea6ba10cf
-
下载大小:370 KB
-
预计所需磁盘空间: 2.6 MB
-
预计构建时间: 小于 0.1 SBU
keybinder-3.0依赖
必要
推荐
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/keybinder-3.0
安装keybinder-3.0
运行以下命令安装keybinder-3.0:
./configure --prefix=/usr &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
命令解释
--enable-gtk-doc: 如果安装了GTK-Doc并且希望重新构建和安装API文档,请使用此参数。
内容
安装程序: None
安装库: libkeybinder-3.0.so
安装目录: /usr/include/keybinder-3.0 和 /usr/share/gtk-doc/html/keybinder-3.0
简短描述
libkeybinder-3.0.so 是注册全局X键盘快捷键的库。
25.34 libadwaita-1.2.2
简介libadwaita
libadwaita包提供了额外的GTK4 UI部件,用于开发用户界面。它主要用于GNOME应用程序。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/libadwaita/1.2/libadwaita-1.2.2.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/libadwaita/1.2/libadwaita-1.2.2.tar.xz
-
下载 MD5 校验和: 3dcba7daa73ee80dd0a64f5affb993d9
-
下载大小:1.9 MB
-
预计所需磁盘空间: 38 MB (有测试)
-
预计构建时间: 0.3 SBU (使用并行数=4; 有文档)
libadwaita依赖
必要
推荐
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libadwaita
安装libadwaita
运行以下命令安装libadwaita:
mkdir build &&
cd build &&
meson setup --prefix=/usr --buildtype=release .. &&
ninja
如果你已经安装了Gi-DocGen-2023.1并希望为这个包构建API文档,请发出:
sed "s/apiversion/'1.2.2'/" -i ../doc/meson.build &&
meson configure -Dgtk_doc=true &&
ninja
要测试结果,请执行以下命令: ninja test。测试必须从图形会话运行。
现在,作为root用户:
ninja install
命令解释
--buildtype=release: 指定一个适合于稳定版本的构建类型,因为默认情况下可能会生成未优化的二进制文件。
内容
安装程序: adwaita-1-demo
安装库: libadwaita-1.so
安装目录: /usr/include/libadwaita-1
简短描述
adwaita-1-demo 提供如何使用libadwaita库的示例。
libadwaita-1.so 提供用于创建用户界面的其他GTK小部件。
25.35 libdazzle-3.44.0
简介libdazzle
libdazzle是GObject和GTK+的配套库,它添加了用于特殊图形效果的api。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/libdazzle/3.44/libdazzle-3.44.0.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/libdazzle/3.44/libdazzle-3.44.0.tar.xz
-
下载 MD5 校验和: 203815dd90239ff732c19fc700417c74
-
下载大小:448 KB
-
预计所需磁盘空间: 15 MB (有测试)
-
预计构建时间: 0.2 SBU (使用并行数=4; 有文档)
libdazzle依赖
必要
推荐
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libdazzle
安装libdazzle
运行以下命令安装libdazzle:
mkdir build &&
cd build &&
meson --prefix=/usr --buildtype=release .. &&
ninja
要测试结果,请执行以下命令: ninja test.
现在,作为root用户:
ninja install
命令解释
--buildtype=release: 指定一个适合于稳定版本的构建类型,因为默认情况下可能会生成未优化的二进制文件。
内容
安装程序: dazzle-list-counters
安装库: libdazzle-1.0.so
Installed Directory: /usr/include/libdazzle-1.0
简短描述
dazzle-list-counters 列出进程正在使用的计数器。
libdazzle-1.0.so 包含用于图形效果的API函数。
25.36 libhandy-1.8.1
简介libhandy
libhandy包提供了额外的GTK UI部件,用于开发用户界面。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/libhandy/1.8/libhandy-1.8.1.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/libhandy/1.8/libhandy-1.8.1.tar.xz
-
下载 MD5 校验和: 7c4fa050670914189c61b40ef604695d
-
下载大小:1.7 MB
-
预计所需磁盘空间: 27 MB (有测试)
-
预计构建时间: 0.1 SBU (有测试)
libhandy依赖
必要
推荐
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libhandy1
安装libhandy
运行以下命令安装libhandy:
mkdir build &&
cd build &&
meson --prefix=/usr --buildtype=release .. &&
ninja
要测试结果,请执行以下命令: ninja test。测试必须从图形会话运行。
现在,作为root用户:
ninja install
命令解释
--buildtype=release: 指定一个适合于稳定版本的构建类型,因为默认情况下可能会生成未优化的二进制文件。
-Dgtk_doc=true: 如果你已经安装了GTK-Doc-1.33.2并且希望安装文档,请使用此选项。
内容
安装程序: handy-1-demo
安装库: libhandy-1.so
安装目录: /usr/include/libhandy-1
简短描述
handy-1-demo 提供了一个如何使用libhandy库的例子。
libhandy-1.so 提供用于创建用户界面的其他GTK小部件。
25.37 Libdrm-2.4.115
简介Libdrm
Libdrm提供了一个用户空间库,用于在支持ioctl接口的操作系统上访问直接呈现管理器(DRM)。Libdrm是一个底层库,通常用于Mesa DRI驱动、X驱动、libva和类似项目等图形驱动程序。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://dri.freedesktop.org/libdrm/libdrm-2.4.115.tar.xz
-
下载 MD5 校验和: 5403981a20c964f4c893ff91393652bd
-
下载大小:459 KB
-
预计所需磁盘空间: 8.6 MB (有测试)
-
预计构建时间: 小于 0.1 SBU (有测试) 使用并行数=4
libdrm依赖
推荐
Xorg Libraries (Mesa所需的Intel KMS API支持)
可选
Cairo-1.17.6 (用于测试), CMake-3.25.2 (可以用于在没有pkgconfig文件的情况下查找依赖关系), docbook-xml-4.5, docbook-xsl-nons-1.79.2, docutils-0.19, 和 libxslt-1.1.37 (构建手册页), libatomic_ops-7.6.14 (没有本机原子操作的体系结构所需要的), Valgrind-3.20.0, 和 CUnit (用于AMDGPU测试)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libdrm
安装Libdrm
运行以下命令安装libdrm:
mkdir build &&
cd build &&
meson setup --prefix=$XORG_PREFIX \
--buildtype=release \
-Dudev=true \
-Dvalgrind=disabled &&
ninja
要检查结果,请执行 ninja test.
现在,作为root用户:
ninja install
命令解释
--buildtype=release: 指定一个适合于稳定版本的构建类型,因为默认情况下可能会生成未优化的二进制文件。
-Dudev=true: 此参数启用支持使用Udev而不是mknod。
-Dvalgrind=disabled: 此参数禁用使用valgrind支持构建libdrm。这修复了构建sysprof和其他使用libdrm的包。如果您需要支持valgrind,请将此参数更改为“enabled”(或删除它)。
内容
安装程序: None
安装库: libdrm_amdgpu.so, libdrm_intel.so, libdrm_nouveau.so, libdrm_radeon.so, 和 libdrm.so
安装目录: /usr/include/libdrm 和 /usr/share/libdrm
简短描述
libdrm_amdgpu.so 包含特定于AMDGPU的直接渲染管理器函数。
libdrm_intel.so 包含英特尔特定的直接渲染管理器功能。
libdrm_nouveau.so 包含开源的nVidia (Nouveau)特定的直接渲染管理器功能。
libdrm_radeon.so 包含AMD Radeon特定的直接渲染管理器功能。
libdrm.so 包含直接渲染管理器API函数。
25.38 libepoxy-1.5.10
简介libepoxy
libepoxy是一个用于处理OpenGL函数指针管理的库。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/libepoxy/1.5/libepoxy-1.5.10.tar.xz
-
下载 MD5 校验和: 10c635557904aed5239a4885a7c4efb7
-
下载大小:220 KB
-
预计所需磁盘空间: 13 MB (有测试)
-
预计构建时间: 0.1 SBU (有测试)
libepoxy依赖
必要
可选
Doxygen-1.9.6 (用于文档)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libepoxy
安装libepoxy
运行以下命令安装libepoxy:
mkdir build &&
cd build &&
meson --prefix=/usr --buildtype=release .. &&
ninja
要测试结果,请执行以下命令: ninja test.
现在,作为root用户:
ninja install
命令解释
--buildtype=release: 指定一个适合于稳定版本的构建类型,因为默认情况下可能会生成未优化的二进制文件。
-Ddocs=true: 如果你已经安装了Doxygen-1.9.6,添加此选项以生成额外的文档。
内容
安装程序: None
安装库: libepoxy.so
安装目录: /usr/include/epoxy
简短描述
libepoxy.so 包含用于处理OpenGL函数指针管理的API函数。
25.39 libglade-2.6.4
简介libglade
libglade包包含了libglade库。这些对于在运行时在程序中加载Glade接口文件非常有用。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/libglade/2.6/libglade-2.6.4.tar.bz2
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/libglade/2.6/libglade-2.6.4.tar.bz2
-
下载 MD5 校验和: d1776b40f4e166b5e9c107f1c8fe4139
-
下载大小:348 KB
-
预计所需磁盘空间: 5 MB
-
预计构建时间: 0.1 SBU
libglade依赖
必要
可选
Python-2.7.18 和 GTK-Doc-1.33.2
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libglade
安装libglade
运行以下命令安装libglade:
sed -i '/DG_DISABLE_DEPRECATED/d' glade/Makefile.in &&
./configure --prefix=/usr --disable-static &&
make
要测试结果,请执行以下命令: make check。其中一个测试test-convert会失败。
现在,作为root用户:
make install
命令解释
sed -i ‘/DG_DISABLE_DEPRECATED/d’: libglade使用的一些glib函数在glib-2.30中已经声明为废弃函数。这个sed删除了G_DISABLE_DEPRECATED CFLAG。
--disable-static: 这个开关阻止安装静态版本的库。
--enable-gtk-doc: 如果安装了GTK-Doc并且希望重新构建和安装API文档,请使用此参数。
内容
安装程序: libglade-convert (需要python)
安装库: libglade-2.0.so
安装目录: /usr/{include/libglade-2.0/glade,share/{gtk-doc/html/libglade, xml/libglade}}
简短描述
libglade-convert 是否用于将旧的Glade接口文件转换为Glade-2.0标准。
libglade-2.0.so 包含加载Glade接口文件所需的函数。
25.40 libnotify-0.8.1
简介libnotify
正如桌面通知规范中定义的那样,libnotify库用于向通知守护进程发送桌面通知。这些通知可用于通知用户某个事件或显示某种形式的信息,而不会妨碍用户。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/libnotify/0.8/libnotify-0.8.1.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/libnotify/0.8/libnotify-0.8.1.tar.xz
-
下载 MD5 校验和: 1495f279b255b4493ac3588559823158
-
下载大小:104 KB
-
预计所需磁盘空间: 2.5 MB
-
预计构建时间: 0.1 SBU
libnotify依赖
必要
可选 (构建GNOME时需要)
可选
必要 (运行时)
notification-daemon-3.20.0 或 xfce4-notifyd-0.8.1
注意
GNOME Shell和KDE KWin提供自己的通知守护进程。
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libnotify
安装libnotify
运行以下命令安装libnotify:
mkdir build &&
cd build &&
meson --prefix=/usr \
--buildtype=release \
-Dgtk_doc=false \
-Dman=false .. &&
ninja
这个包没有附带测试套件。
现在,作为root用户:
ninja install &&
mv -v /usr/share/doc/libnotify{,-0.8.1}
命令解释
--buildtype=release: 指定一个适合于稳定版本的构建类型,因为默认情况下可能会生成未优化的二进制文件。
-Dgtk_doc=false: 如果安装了GTK-Doc并且希望重新构建并安装API文档,请删除此参数。
内容
安装程序: notify-send
安装库: libnotify.so
安装目录: /usr/include/libnotify 和 /usr/share/gtk-doc/html/libnotify
简短描述
notify-send 是用来发送通知的命令。
libnotify.so 包含libnotify API函数。
25.41 libxklavier-5.4
简介libxklavier
libxklavier包包含一个用于X键盘的实用程序库。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://people.freedesktop.org/~svu/libxklavier-5.4.tar.bz2
-
下载 MD5 校验和: 13af74dcb6011ecedf1e3ed122bd31fa
-
下载大小:384 KB
-
预计所需磁盘空间: 5.2 MB
-
预计构建时间: 小于 0.1 SBU
libxklavier依赖
必要
GLib-2.74.5, ISO Codes-4.12.0, libxml2-2.10.3 和 Xorg Libraries
推荐
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libxklavier
安装libxklavier
运行以下命令安装libxklavier:
./configure --prefix=/usr --disable-static &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
命令解释
--disable-static: 这个开关阻止安装静态版本的库。
--enable-gtk-doc: 如果安装了GTK-Doc,并且希望重新构建和安装API文档,则通常使用此参数。由于使用了长期废弃的gtk-doc程序而不再可用,因此此软件包的问题。
内容
安装程序: None
安装库: libxklavier.so
安装目录: /usr/include/libxklavier 和 /usr/share/gtk-doc/html/libxklavier
简短描述
libxklavier.so 包含XKB实用函数。
25.42 Pango-1.50.12
简介Pango
Pango是一个用于布局和渲染文本的库,重点是国际化。它可以在任何需要文本布局的地方使用,尽管到目前为止,Pango上的大多数工作都是在GTK+小部件工具包的上下文中完成的。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/pango/1.50/pango-1.50.12.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/pango/1.50/pango-1.50.12.tar.xz
-
下载 MD5 校验和: fd4b0b23915d6a0255317f811bea4215
-
下载大小:4.1 MB
-
预计所需磁盘空间: 47 MB (有测试)
-
预计构建时间: 0.1 SBU (使用并行数=4; 有文档)
Pango依赖
必要
Fontconfig-2.14.2 (必须使用HarfBuzz-7.0.0使用FreeType-2.13.0构建), FriBidi-1.0.12, 和 GLib-2.74.5
推荐
Cairo-1.17.6, gobject-introspection-1.74.0 (构建GNOME时需要), 和 Xorg Libraries
可选
Cantarell fonts (用于测试), sysprof-3.46.0, Gi-DocGen-2023.1 (to generate documentation), help2man, 和 libthai
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/pango
安装Pango
运行以下命令安装Pango:
mkdir build &&
cd build &&
meson --prefix=/usr --buildtype=release --wrap-mode=nofallback .. &&
ninja
如果你已经安装了Gi-DocGen-2023.1并希望为这个包构建API文档,请执行:
sed "/docs_dir =/s@\$@ / 'pango-1.50.12'@" -i ../docs/meson.build &&
meson configure -Dgtk_doc=true &&
ninja
要测试结果,请执行以下命令: ninja test。已知有两个测试test-font和test-layout会失败。
现在,作为root用户:
ninja install
命令解释
--buildtype=release: 指定一个适合于稳定版本的构建类型,因为默认情况下可能会生成未优化的二进制文件。
-Dintrospection=disabled: 如果你不想使用gobject-introspection-1.74.0,请使用这个开关。
--wrap-mode=nofallback: 此开关防止meson对构建文件中的任何依赖项声明使用子项目备用方案,停止下载任何未安装在系统上的可选依赖项。
配置Pango
配置文件
/etc/pango/pangorc, ~/.pangorc 以及环境变量PANGO_RC_FILE中指定的文件。
内容
安装程序: pango-list, pango-segmentation, 和 pango-view
安装库: libpango-1.0.so, libpangocairo-1.0.so, libpangoft2-1.0.so, 和 libpangoxft-1.0.so
安装目录: /usr/include/pango-1.0 和 /usr/share/doc/pango-1.50.12 (如果gi-docgen是有效的)
简短描述
pango-list 显示系统上当前安装的Pango可以使用的字体列表。
pango-segmentation 显示由Pango确定的文本分割。
pango-view 通过Pango渲染给定的文本文件以供查看。
libpango-1.0.so 包含低层布局渲染例程、高层驱动程序,用于布局整个文本块,以及辅助编辑国际化文本的例程。
25.43 Pangomm-2.46.3
简介Pangomm
Pangomm包为Pango提供了一个C++接口。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/pangomm/2.46/pangomm-2.46.3.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/pangomm/2.46/pangomm-2.46.3.tar.xz
-
下载 MD5 校验和: 7af783bb04de766fafaaad26c9ed475a
-
下载大小:660 KB
-
预计所需磁盘空间: 10 MB
-
预计构建时间: 0.2 SBU
Pangomm依赖
必要
libcairomm-1.14.0, GLibmm-2.66.5 和 Pango-1.50.12
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/pangomm
安装Pangomm
运行以下命令安装Pangomm:
mkdir build &&
cd build &&
meson --prefix=/usr --buildtype=release .. &&
ninja
这个包没有附带测试套件。
现在,作为root用户:
ninja install
内容
安装程序: None
安装库: libpangomm-1.4.so
安装目录: /usr/include/pangomm-1.4, /usr/lib/pangomm-1.4, 和 /usr/share/{devhelp/books/pangomm-1.4,doc/pangomm-2.46.3}
简短描述
libpangomm-1.4.so 包含Pango API类。
25.44 Qt-5.15.8
简介Qt5
Qt5是一个跨平台的应用程序框架,广泛用于开发具有图形用户界面(GUI)的应用程序(在这种情况下,Qt5被归类为一个小部件工具包),也用于开发非GUI程序,如命令行工具和服务器控制台。Qt的主要用户之一是KDE框架5 (KF5)。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.qt.io/archive/qt/5.15/5.15.8/single/qt-everywhere-opensource-src-5.15.8.tar.xz
-
下载 MD5 校验和: 86b7b496735df3973a390b0d515c1a0f
-
下载大小:629 MB
-
预计所需磁盘空间: 15 GB (安装258 MB)
-
预计构建时间: 29 SBU (使用并行数=4)
额外下载
-
现在Qt5更新仅限于商业客户,各种模块的上游补丁正在kde策划。我们使用的非模块化Qt5构建已经聚合了BLFS中软件包所需的模块补丁。
必要补丁: https://www.linuxfromscratch.org/patches/blfs/11.3/qt-everywhere-opensource-src-5.15.8-kf5-1.patch
kde策展的详细信息可以在以下网站找到 https://dot.kde.org/2021/04/06/announcing-kdes-qt-5-patch-collection 和 https://community.kde.org/Qt5PatchCollection.
Qt5依赖
必要
推荐
alsa-lib-1.2.8, make-ca-1.12, Cups-2.4.2, double-conversion-3.2.1, GLib-2.74.5, gst-plugins-base-1.22.0 (QtMultimedia后端), HarfBuzz-7.0.0, ICU-72.1, JasPer-4.0.0, libjpeg-turbo-2.1.5.1, libmng-2.0.3, libpng-1.6.39, libtiff-4.5.0, libwebp-1.3.0, libxkbcommon-1.5.0, Mesa-22.3.5, mtdev-1.1.6, pcre2-10.42, SQLite-3.40.1, Wayland-1.21.0 (Mesa必须用Wayland EGL后端构建), xcb-util-image-0.4.1, xcb-util-keysyms-0.4.1, xcb-util-renderutil-0.3.10, 和 xcb-util-wm-0.4.2
可选
BlueZ-5.66 (用于sdpscanner,并在运行时用于QtConnectivity模块), ibus-1.5.27, libinput-1.22.1, MariaDB-10.6.12 或 MySQL, pciutils-3.9.0, PostgreSQL-15.2, PulseAudio-16.1, SDL2-2.26.3, unixODBC-2.3.11, assimp, Flite, Firebird, FreeTDS, libproxy, OpenAL, speech-dispatcher, tslib, 和 Vulkan
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/qt5
设置安装前缀
安装在 /opt/qt5
BLFS编辑器建议将Qt5安装在/usr之外的目录中,即/opt/qt5。为此,设置以下环境变量:
export QT5PREFIX=/opt/qt5
提示
有时,安装路径被硬编码到安装文件中。这就是为什么/opt/qt5被用作安装前缀而不是/opt/qt-5.15.8的原因。要在安装完成后创建一个版本化的Qt5目录,您可以重命名该目录并创建一个符号链接:
mkdir -pv /opt/qt-5.15.8
ln -sfnv qt-5.15.8 /opt/qt5
稍后,您可能希望安装其他版本的Qt5。为此,只需删除符号链接并再次使用/opt/qt5作为前缀。使用哪个版本的Qt5只取决于符号链接指向的位置。
注意
如果已经安装了qca-2.3.5,并且您正在重新安装或更新此软件包,那么将需要重新安装qca。
安装Qt5
警告
如果Qt5被重新安装到与现有实例相同的目录中,请从控制台或非基于Qt5的窗口管理器中运行root执行的命令,例如make install。它覆盖了在安装过程中不应该使用的Qt5库。
当心
如果您没有安装一些推荐的依赖项,请检查./configure –help输出以检查如何禁用它们或使用打包在源代码压缩包中的内部版本。
注意
完整的Qt5所需的构建时间和空间非常长。下面的说明不构建教程和示例。删除-nomake行将创建一个完整的构建。
注意
BLFS编辑不建议将Qt5安装到/usr层次结构中,因为它很难找到组件并更新到新版本。如果确实希望将Qt5安装到/usr中,则需要明确指定这些目录。在这种情况下,设置QT5PREFIX=/usr,并在下面的配置参数中添加以下内容:
-archdatadir /usr/lib/qt5 \
-bindir /usr/bin \
-plugindir /usr/lib/qt5/plugins \
-importdir /usr/lib/qt5/imports \
-headerdir /usr/include/qt5 \
-datadir /usr/share/qt5 \
-docdir /usr/share/doc/qt5 \
-translationdir /usr/share/qt5/translations \
-examplesdir /usr/share/doc/qt5/examples
首先应用一个补丁来拉入kde为本书中提到的包所需要的那些模块策划的修复程序:
patch -Np1 -i ../qt-everywhere-opensource-src-5.15.8-kf5-1.patch
该补丁应该在git仓库中使用,因为在这种情况下,下面的configure命令的行为发生了更改。只要在qmake目录下创建一个.git目录就足够了,configure脚本就在这个目录下运行:
mkdir -pv qtbase/.git
运行以下命令安装Qt5:
./configure -prefix $QT5PREFIX \
-sysconfdir /etc/xdg \
-confirm-license \
-opensource \
-dbus-linked \
-openssl-linked \
-system-harfbuzz \
-system-sqlite \
-nomake examples \
-no-rpath \
-journald \
-skip qtwebengine &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
以root用户身份运行以下命令,从已安装的依赖库(prl)文件中删除对构建目录的引用:
find $QT5PREFIX/ -name \*.prl \
-exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
安装映像并为已安装的应用程序创建菜单项。这里的QT5BINDIR变量用于指向可执行程序的目录。如果您更改了上面的bindir,下面的QT5BINDIR将需要进行调整。确保QT5BINDIR变量是在root环境中定义的,并且是root用户:
QT5BINDIR=$QT5PREFIX/bin
install -v -dm755 /usr/share/pixmaps/ &&
install -v -Dm644 qttools/src/assistant/assistant/images/assistant-128.png \
/usr/share/pixmaps/assistant-qt5.png &&
install -v -Dm644 qttools/src/designer/src/designer/images/designer.png \
/usr/share/pixmaps/designer-qt5.png &&
install -v -Dm644 qttools/src/linguist/linguist/images/icons/linguist-128-32.png \
/usr/share/pixmaps/linguist-qt5.png &&
install -v -Dm644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png \
/usr/share/pixmaps/qdbusviewer-qt5.png &&
install -dm755 /usr/share/applications &&
cat > /usr/share/applications/assistant-qt5.desktop << EOF
[Desktop Entry]
Name=Qt5 Assistant
Comment=Shows Qt5 documentation and examples
Exec=$QT5BINDIR/assistant
Icon=assistant-qt5.png
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;Documentation;
EOF
cat > /usr/share/applications/designer-qt5.desktop << EOF
[Desktop Entry]
Name=Qt5 Designer
GenericName=Interface Designer
Comment=Design GUIs for Qt5 applications
Exec=$QT5BINDIR/designer
Icon=designer-qt5.png
MimeType=application/x-designer;
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;
EOF
cat > /usr/share/applications/linguist-qt5.desktop << EOF
[Desktop Entry]
Name=Qt5 Linguist
Comment=Add translations to Qt5 applications
Exec=$QT5BINDIR/linguist
Icon=linguist-qt5.png
MimeType=text/vnd.trolltech.linguist;application/x-linguist;
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;
EOF
cat > /usr/share/applications/qdbusviewer-qt5.desktop << EOF
[Desktop Entry]
Name=Qt5 QDbusViewer
GenericName=D-Bus Debugger
Comment=Debug D-Bus applications
Exec=$QT5BINDIR/qdbusviewer
Icon=qdbusviewer-qt5.png
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;Debugger;
EOF
有些包,例如VLC-3.0.18会查找带有-qt5后缀的某些可执行文件。以root用户身份运行以下命令来创建必要的符号链接:
for file in moc uic rcc qmake lconvert lrelease lupdate; do
ln -sfrvn $QT5BINDIR/$file /usr/bin/$file-qt5
done
命令解释
sed …: 允许使用Python 3而不是Python 2。此命令会销毁QtWebEngine的构建,所以如果你删除了-skip qtwebengine开关,请不要使用它。
-confirm-license: 配置过程中不提示用户接受license。
-opensource: 安装开源版本的Qt。
-nomake examples: 此开关禁用源代码压缩包中包含的示例程序的构建。如果你想构建它们,请删除它。
-system-sqlite: 这个开关允许使用系统版本的SQLite。
-dbus-linked -openssl-linked: 这些开关允许显式地将D-Bus和OpenSSL库链接到Qt5库中,而不是使用dlopen()-ing来连接它们。
-journald: 这个开关允许向journald日志系统发送Qt消息。
-skip qtwebengine: 此开关禁用构建QtWebEngine。BLFS编辑器已经选择单独构建qtwebengine-5.15.12。
-system-harfbuzz: 该开关允许使用Harfbuzz的系统版本。
配置Qt5
配置信息
如果安装了Sudo-1.9.13p1,那么QT5DIR也应该对超级用户可用。以root用户执行以下命令:
cat > /etc/sudoers.d/qt << "EOF"
Defaults env_keep += QT5DIR
EOF
如果您将Qt5安装在/usr中
如果您在/usr中安装了Qt5,请创建某些软件包所需的环境变量。作为root用户:
cat > /etc/profile.d/qt5.sh << "EOF"
# Begin /etc/profile.d/qt5.sh
QT5DIR=/usr
export QT5DIR
pathappend $QT5DIR/bin
# End /etc/profile.d/qt5.sh
EOF
如果您没有在/usr中安装Qt5
如果您将Qt5安装在非/usr位置,则需要更新以下配置文件,以便其他包和系统进程能够正确地找到Qt5。
作为root用户,更新/etc/ld.so.conf文件和动态链接器的运行时缓存文件:
cat >> /etc/ld.so.conf << EOF
# Begin Qt addition
/opt/qt5/lib
# End Qt addition
EOF
ldconfig
以root用户创建/etc/profile.d/qt5.sh文件:
cat > /etc/profile.d/qt5.sh << "EOF"
# Begin /etc/profile.d/qt5.sh
QT5DIR=/opt/qt5
pathappend $QT5DIR/bin PATH
pathappend $QT5DIR/lib/pkgconfig PKG_CONFIG_PATH
export QT5DIR
# End /etc/profile.d/qt5.sh
EOF
内容
安装程序: assistant, balsam, canbusutil, designer, fixqt4headers.pl, lconvert, linguist, lprodump, lrelease, lrelease-pro, lupdate, lupdate-pro, meshdebug, moc, pixeltool, qcollectiongenerator, qdbus, qdbuscpp2xml, qdbusviewer, qdbusxml2cpp, qdistancefieldgenerator, qdoc, qgltf, qhelpgenerator, qlalr, qmake, qml, qmlcachegen, qmleasing, qmlformat, qmlimportscanner, qmllint, qmlmin, qmlplugindump, qmlpreview, qmlprofiler, qmlscene, qmltestrunner, qmltime, qmltyperegistrar, qscxmlc, qtattributionscanner, qtdiag, qtpaths, qtplugininfo, qtwaylandscanner, qvkgen, rcc, repc, sdpscanner, syncqt.pl, tracegen, uic, xmlpatterns, 和 xmlpatternsvalidator
安装库: libQt53DAnimation.so, libQt53DCore.so, libQt53DExtras.so, libQt53DInput.so, libQt53DLogic.so, libQt53DQuick.so, libQt53DQuickAnimation.so, libQt53DQuickExtras.so, libQt53DQuickInput.so, libQt53DQuickRender.so, libQt53DQuickScene2D.so, libQt53DRender.so, libQt5AccessibilitySupport.a, libQt5Bluetooth.so, libQt5Bodymovin.so, libQt5Bootstrap.a, libQt5Charts.so, libQt5Concurrent.so, libQt5Core.so, libQt5DataVisualization.so, libQt5DBus.so, libQt5DesignerComponents.so, libQt5Designer.so, libQt5DeviceDiscoverySupport.a, libQt5EdidSupport.a, libQt5EglFSDeviceIntegration.so, libQt5EglFsKmsSupport.so, libQt5EglSupport.a, libQt5EventDispatcherSupport.a, libQt5FbSupport.a, libQt5FontDatabaseSupport.a, libQt5Gamepad.so, libQt5GlxSupport.a, libQt5Gui.so,libQt5Help.so, libQt5InputSupport.a, libQt5KmsSupport.a, libQt5LinuxAccessibilitySupport.a, libQt5Location.so, libQt5Multimedia.so, libQt5MultimediaGstTools.so, libQt5MultimediaQuick.so, libQt5MultimediaWidgets.so, libQt5Network.so, libQt5NetworkAuth.so, libQt5Nfc.so, libQt5OpenGLExtensions.a, libQt5OpenGL.so, libQt5PacketProtocol.a, libQt5PlatformCompositorSupport.a, libQt5Positioning.so, libQt5PositioningQuick.so, libQt5PrintSupport.so, libQt5Purchasing.so, libQt5Qml.so, libQt5QmlDebug.a, libQt5QmlDevTools.a, libQt5QmlModels.so, libQt5QmlWorkerScript.so, libQt5Quick.so, libQt5Quick3D.so, libQt5Quick3DAssetImport.so, libQt5Quick3DRender.so, libQt5Quick3DRuntimeRender.so, libQt5Quick3DUtils.so, libQt5QuickControls2.so, libQt5QuickParticles.so, libQt5QuickShapes.so, libQt5QuickTemplates2.so, libQt5QuickTest.so, libQt5QuickWidgets.so, libQt5RemoteObjects.so, libQt5Script.so, libQt5ScriptTools.so, libQt5Scxml.so, libQt5Sensors.so, libQt5SerialBus.so, libQt5SerialPort.so, libQt5ServiceSupport.a, libQt5Sql.so, libQt5Svg.so, libQt5Test.so, libQt5TextToSpeech.so, libQt5ThemeSupport.a, libQt5UiTools.a, libQt5VirtualKeyboard.so, libQt5WaylandClient.so, libQt5WaylandCompositor.so, libQt5WebChannel.so, libQt5WebSockets.so, libQt5WebView.so, libQt5Widgets.so, libQt5X11Extras.so, libQt5XcbQpa.so, libQt5XkbCommonSupport.a, libQt5Xml.so, libQt5XmlPatterns.so, 和在 /opt/qt5/{plugins,qml} 目录下有几个插件
安装目录: /usr/include/qt5, /usr/lib/qt5, /usr/share/doc/qt5, 和 /usr/share/qt5 或 /opt/qt5 和 /opt/qt-5.15.8
简短描述
assistant 是一个展示在线文档的工具。
balsam 是一个将3D场景从各种创建工具转换为QML格式的工具,供新的QtQuick 3D库使用。
canbustil 是一个处理任意CAN总线帧的工具。控制器局域网(CAN)是一种车辆总线标准,它允许应用程序中的微控制器和设备在没有主机的情况下相互通信。
designer 是一个成熟的GUI构建器。它包括一些强大的特性,比如预览模式、自动窗口组件布局、支持自定义窗口组件和一个高级属性编辑器。
fixqt4headers.pl 是一个脚本,将所有Qt 4样式的includes替换为Qt 5 includes。
lconvert 是Qt5 Linguist工具链的一部分。它可以作为一个独立的工具来转换和过滤翻译数据文件。
linguist 提供将应用程序翻译为本地语言的支持。
lrelease 是一个简单的命令行工具。它读取TS格式的基于xml的翻译文件,并生成应用程序使用的消息文件。
lrelease-pro 从qmake项目中提取项目信息并传递给lrelease。
lupdate 在指定的source、header和Qt Designer界面文件中查找可翻译的字符串,并将提取的消息存储在翻译文件中,供lrelease处理。
lupdate-pro 读取Qt项目文件,将收集到的信息传递给lupdate。
meshdebug 显示qtquick-3d mesh文件的信息。
moc 生成Qt元对象支持代码。
pixeltool 是一个桌面放大镜,当你在屏幕上移动鼠标时,它将在其窗口中显示放大的内容。
qcollectiongenerator 处理和转换Qt帮助文件。
qdbuscpp2xml 获取一个C++源文件并生成接口的D-Bus XML定义。
qdbus 列出总线上可用的服务、对象路径、方法、信号和对象的属性。
qdbusviewer 是一个图形化的D-Bus浏览器。
qdbusxml2cpp 是一个工具,可以用来解析接口描述并生成表示这些接口的静态代码,
qdistancefieldgenerator 允许为Text.QtRendering预先生成字体缓存,以加速应用程序的启动,如果用户界面有很多文本,或多个字体,或大量不同的字符,例如在CJK书写系统。
qdoc 是Qt开发人员用来为软件项目生成文档的工具。
qgltf 导入多种3D模型格式并导出到快速加载,优化的glTF资产嵌入到Qt资源文件。
qhelpgenerator 是一个用来生成Qt压缩帮助文件的工具。
qlalr 是一个用于从语法规范生成代码的工具。
qmake 使用存储在项目文件中的信息来确定它生成的makefile中应该包含什么。
qml 执行QML文件。
qmlcachegen 支持在构建时创建缓存文件。
qmleasing 是一个使用交互式曲线编辑器来定义缓动曲线的工具。
qmlformat 根据QML编码约定格式化QML文件。
qmlimportscanner 是从目录中导入QML文件的工具。
qmllint 是一个QML文件的语法检查器。
qmlmin 从QML文件中删除注释和布局字符。
qmlplugindump 是一个创建qmltypes文件的工具。
qmlpreview 是一个用于分析QML应用程序的工具。
qmlprofiler 是一个工具,它监视磁盘上的QML和JavaScript文件,并根据任何更改实时更新应用程序。
qmlscene 是一个实用程序,它甚至在应用程序完成之前加载和显示QML文档。
qmltestrunner 是一个用来做测试的工具。
qscxml 将input.scxml文件转换为头文件和CPP文件。
qtattributionsscanner 处理Qt源代码中的qt_attribution.json文件。
qtdiag 是一个报告Qt及其环境诊断信息的工具。
qtpaths 是一个查询Qt路径信息的工具。
qtplugininfo 以JSON格式转储Qt插件的元数据。
qtwaylandscanner 将Wayland specfiles转换为c++头文件和QtWayland所需的代码。
qvkgen 将Vulkan specfiles转换为C++头文件和代码。
rcc 是与设计器一起使用的资源编译器。
repc 是副本编译器,它基于API定义文件生成QObject头文件。
sdpscanner 使用本地蓝牙设备代表的SDP服务器,在远程设备上执行会话描述协议扫描。
syncqt.pl 是一个脚本,用于在包含目录中创建转发头。它是一个内部开发工具。
tracegen 是一个用于LTTng或ETW的跟踪生成器。
uic 是一个Qt用户界面编译器。
xmlpatterns 支持XPath, XQuery, XSLT, 和 XML模式验证。
xmlpatternsvalidator 是一个用于验证XML文档的工具。
25.45 QtWebEngine-5.15.12
简介QtWebEngine
QtWebEngine将chromium的web功能集成到Qt中。它附带了自己的ninja副本,如果找不到系统副本,它就用它来构建,以及各种由chromium开发人员派生的库的副本,包括ffmpeg、icu、libvpx和zlib(包括libminizip)。
如果您需要使用为谷歌chrome或chromium浏览器设计的网站,则此软件包和使用它的浏览器可能很有用。
警告
QtWebEngine使用chromium的分支副本,因此容易出现许多问题。Qt开发人员总是喜欢与Qt的其他部分同时发布版本(而不是添加紧急修复),但在当前开发版本之后发布稳定版本。现在他们热衷于迁移到Qt6, 5.15.3和以后的Qt-5.15版本最初只提供给付费用户。QtWebEngine是一个例外,因为它的LGPL许可证,但是将git源代码(连同分支的chromium子模块)获取到一个位置,以便它们能够成功地在当前的BLFS系统上构建,可能需要很多工作,因此对本书的更新可能会延迟。
似乎未来的5.15系列版本也将在chromium漏洞被发现很久之后发布,但QtWebEngine的修复可以在git中找到,编辑们认为浏览器中的已知漏洞应该被修复。
下面链接的压缩包是从5.15 git分支和chromium子模块的87分支(从chromium派生)创建的。有关最新提交的详细信息,请参阅tar包中的GIT-VERSIONS文件。
该软件包在LFS 11.3平台上可以正常构建和工作。
警告
默认情况下,ninja会使用所有在线cpu +2(如果至少有4个),即使当前任务不能使用它们,因为构建终端已经被’taskset’限制了。在BLFS中,这个包的构建时间比其他任何包都长。在一个示例中,由于在具有24个内核和32 GB内存的系统上内存不足的问题,此软件包的构建在大约90%的点上崩溃。
要解决这个问题,请参阅下面的命令解释。
注意
如果您正在升级,并且自上次安装Qt-5.15.8以来已经安装了更新版本的ICU-72.1,则需要在升级之前重新安装Qt5,否则此软件包的最终链接将失败,并警告libQt5Core所需的icu库版本。因此可能与此包使用的版本冲突。
不同寻常的是,GN构建系统(用于创建Ninja文件)需要一个静态的libstdc++.a,尽管安装的库正确地使用了共享版本。如果没有这个静态库,构建将很快失败。请注意,如果你尝试构建webengine作为Qt的一部分,而静态库不可用,那么构建要么在没有安装webengine的情况下完成,要么在安装过程中失败(这两种版本都在5.12.0中出现)。
包信息
-
下载 (HTTP): https://anduin.linuxfromscratch.org/BLFS/qtwebengine/qtwebengine-5.15.12.tar.xz
-
下载 MD5 校验和: a874390e7987ae5613f4650aab5681e8
-
下载大小:307 MB
-
预计所需磁盘空间: 5.1 GB (安装152 MB)
-
预计构建时间: 79 SBU (在速度快的机器上,使用并行数=4)
额外下载
-
必要补丁: https://www.linuxfromscratch.org/patches/blfs/11.3/qtwebengine-5.15.12-build_fixes-1.patch
-
必要补丁: https://www.linuxfromscratch.org/patches/blfs/11.3/qtwebengine-5.15.12-ffmpeg5_fixes-1.patch
qtwebengine依赖
必要
nodejs-18.14.1, nss-3.88.1, pciutils-3.9.0, 和 Qt-5.15.8
推荐
注意
如果没有安装这些包,则构建过程将编译并安装自己的(可能较旧的)版本,其副作用是增加构建和安装的磁盘空间以及构建时间。
要么 alsa-lib-1.2.8 或 PulseAudio-16.1 (或两个), FFmpeg-5.1.2, ICU-72.1 (在libxml2-2.10.3之前构建) , libwebp-1.3.0, libxslt-1.1.37, 和 Opus-1.3.1
可选
libevent-2.1.12, MIT Kerberos V5-1.20.1, pipewire-0.3.66, Poppler-23.02.0, jsoncpp, libsrtp, snappy
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/qtwebengine
安装qtwebengine
打个补丁,修复几个可能导致构建无法完成的问题,并强制使用python3:
patch -Np1 -i ../qtwebengine-5.15.12-build_fixes-1.patch
应用补丁来解决使用ffmpeg-5构建时的问题:
patch -Np1 -i ../qtwebengine-5.15.12-ffmpeg5_fixes-1.patch
尽管build_fixes补丁已经确保在构建期间不会调用git,但构建系统有拜占庭式的复杂规则迷宫,特别是尝试在没有两个.git目录的情况下进行构建将最终导致它陷入意外和无法构建的代码,这些代码引用了尚未创建的私有头文件。通过创建所需的目录来避免这种情况:
mkdir -pv .git src/3rdparty/chromium/.git
因为这个版本的qtwebengine的目标是比当前公开版本更晚的版本,所以使用sed将其更改为qt-5.15.8版本:
sed -e '/^MODULE_VERSION/s/5.*/5.15.8/' -i .qmake.conf
现在,确保本地头文件在不作为完整构建的一部分时可用Qt-5.15.8:
find -type f -name "*.pr[io]" |
xargs sed -i -e 's|INCLUDEPATH += |&$$QTWEBENGINE_ROOT/include |'
接下来,允许在构建时链接pulseaudio库,而不是在运行时。这也防止了较新的pulseaudio的问题:
sed -e '/link_pulseaudio/s/false/true/' \
-i src/3rdparty/chromium/media/media_options.gni
接下来,修复构建工具,让它们可以在Python-3.11+中运行:
sed -e 's/\^(?i)/(?i)^/' \
-i src/3rdparty/chromium/tools/metrics/ukm/ukm_model.py &&
sed -e "s/'rU'/'r'/" \
-i src/3rdparty/chromium/tools/grit/grit/util.py
最后,修复构建系统中的一个更改,允许开发人员通过例如make -j20(用于快速测试某些区域),但在LFS使用NINJAJOBS环境变量时破坏构建:
sed -i 's/NINJAJOBS/NINJA_JOBS/' src/core/gn_run.pro
运行以下命令安装qtwebengine:
mkdir build &&
cd build &&
qmake .. -- -system-ffmpeg -proprietary-codecs -webengine-icu &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
以root用户身份运行以下命令,从已安装的库依赖(prl)文件中删除对构建目录的引用:
find $QT5DIR/ -name \*.prl \
-exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
命令解释
qmake: 如果还没有安装ninja,这个命令会生成它的附带版本,并使用它来配置构建。
– -system-ffmpeg -proprietary-codecs -webengine-icu: 如果有任何选项传递给qmake,它们必须在’–‘之后,而’..’指向主目录。这里的选项导致它使用系统ffmpeg和系统icu。’-proprietary-codecs’选项允许ffmpeg解码H264和H265编解码器。如果是作为完整Qt5的一部分构建,那么系统icu将自动(仅)被Qt5Core使用,但除非使用此选项,否则webengine将始终使用其附带的icu副本,从而为构建增加时间和空间。
-webengine-jumbo-build 0: 如果将此添加到qmake命令中,它将导致’Jumbo Build Merge Limit’被报告为’no’而不是8。这会关闭巨型构建。有些发行版这样做是为了在某些体系结构(如MIPS)上获得较小的构建。在x86_64上,它可能在构建中节省一点空间,但构建时间将增加非常多。
-webengine-kerberos: 如果您已经安装了MIT Kerberos V5-1.20.1,并且希望从使用QtWebEngine的浏览器连接到需要您通过Kerberos连接的web服务器,请添加此代码。
NINJAJOBS=4 make: 如果您在LFS中打了system ninja补丁,以识别NINJAJOBS环境变量,则此命令将运行system ninja并指定任务数量(即4个)。使用这样的选项可能有以下几个原因:
-
在cpu子集上构建,可以测量数量较少的处理器的构建时间,以及/或同时运行其他cpu密集型任务。对于有很多cpu的机器上的编辑器,尝试测量4个cpu机器上的构建时间,
NINJAJOBS=4 make将给出一个合理的近似值(有N+2个python和node任务运行的短时间)。 -
在只有4个cpu在线的机器上,为qtwebengine调度N+2个作业的默认速度要慢3%到7%,这可能是由于C++文件的大小以及它们的许多包含和模板。因此,如果有疑问,请将NINJAJOBS设置为cpu的数量。
-
减少长时间运行时使用的核心数量,CPU密集型包可以缓解热问题。
-
在所有核心都处于活动状态时,如果系统没有足够的内存(或交换区),那么减少核心的数量可以防止潜在的内存不足问题。一个建议的方法是将核心数量限制为每1.5 GB的RAM和交换空间对应一个核心。
配置QtWebEngine
配置信息
如果您从此应用程序的旧版本进行升级,为了加载某些网页,您可能需要清除浏览器缓存,例如,对于falkon,它们将在~/.cache/falkon/中找到。如果浏览器开始渲染页面,然后切换到一个空白选项卡,其中显示一条出错消息和一个重试按钮,则需要执行此操作。即使删除了旧的缓存,您可能需要为每个受影响的选项卡重试几次。
如果使用此软件包的浏览器无法运行,并且在运行时报告’Trace/breakpoint trap’,这可能是内核配置问题 - 没有必要重新构建QtWebEngine,请参阅下一节,重新编译内核并重新启动到新内核。
内核配置
该包不需要任何可选的内核命名空间项,但如果启用了用户命名空间(就像在某些单元文件中发生的那样,用于加固),则PID命名空间也必须启用。在这种情况下,在内核配置中启用下列选项,并在必要时重新编译内核。
General setup --->
-*- Namespaces support --->
[ ] User namespace [CONFIG_USER_NS]
[*] PID namespace [CONFIG_PID_NS]
内容
安装程序: qtwebengine_convert_dict 和 QtWebEngineProcess (在$QT5DIR/libexec)
安装库: libQt5Pdf.so, libQt5PdfWidgets.so, libQt5WebEngineCore.so, libQt5WebEngine.so, 和 libQt5WebEngineWidgets.so
安装目录: $QT5DIR/include/QtPdf, $QT5DIR/include/QtPdfWidgets, $QT5DIR/include/QtWebEngine, $QT5DIR/include/QtWebEngineCore, $QT5DIR/include/QtWebEngineWidgets, $QT5DIR/qml/QtWebEngine, 和 $QT5DIR/translations/qtwebengine_locales
简短描述
qtwebengine_convert_dict 将hunspell字典(.dic)转换为chromium格式(.bdic)。
QtWebEngineProcess 是一个libexec程序,它运行一个合子进程(监听来自主进程的spawn请求,并将fork自己作为响应)。
libQtWebEngine.so 提供用于在QML应用程序中呈现web内容的QML类型。
libQtWebEngineCore.so 提供QtWebEngine和QtWebEngineWidgets共享的公共API。
libQtWebEngineWidgets.so 提供一个web浏览器引擎以及C++类来呈现和与web内容交互。
25.46 startup-notification-0.12
简介startup-notification
startup-notification包包含了startup-notification库。这对于构建一致的方式来通过光标通知用户应用程序正在加载非常有用。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://www.freedesktop.org/software/startup-notification/releases/startup-notification-0.12.tar.gz
-
下载 MD5 校验和: 2cd77326d4dcaed9a5a23a1232fb38e9
-
下载大小:347 KB
-
预计所需磁盘空间: 4 MB
-
预计构建时间: 小于 0.1 SBU
startup-notification依赖
必要
Xorg Libraries 和 xcb-util-0.4.1
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/startup-notification
安装startup-notification
运行以下命令安装startup-notification:
./configure --prefix=/usr --disable-static &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install &&
install -v -m644 -D doc/startup-notification.txt \
/usr/share/doc/startup-notification-0.12/startup-notification.txt
命令解释
--disable-static: 这个开关阻止安装静态版本的库。
内容
安装程序: None
安装库: libstartup-notification-1.so
安装目录: /usr/include/startup-notification-1.0 和 /usr/share/doc/startup-notification-0.12
简短描述
libstartup-notification-1.so 提供帮助应用程序与光标系统通信的功能,以向用户提供应用程序正在加载的反馈。
25.47 Tepl-6.4.0
简介Tepl
Tepl包包含一个库,可以简化基于GtkSourceView的文本编辑器和IDE的开发。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/tepl/6.4/tepl-6.4.0.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/tepl/6.4/tepl-6.4.0.tar.xz
-
下载 MD5 校验和: 3554454f0b74b5f5584011c46fd35396
-
下载大小:164 KB
-
预计所需磁盘空间: 14 MB (有测试)
-
预计构建时间: 0.3 SBU (有测试)
Tepl依赖
必要
amtk-5.6.1, gtksourceview4-4.8.4, ICU-72.1, 和 uchardet-0.0.8
可选
GTK-Doc-1.33.2 (用于文档) 和 Valgrind-3.20.0
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/tepl
安装Tepl
运行以下命令安装Tepl:
mkdir tepl-build &&
cd tepl-build &&
meson setup --prefix=/usr \
--buildtype=release \
-Dgtk_doc=false \
.. &&
ninja
要测试结果,请执行以下命令: ninja test.
现在,作为root用户:
ninja install
命令解释
--buildtype=release: 指定一个适合于稳定版本的构建类型,因为默认情况下可能会生成未优化的二进制文件。
-Dgtk_doc=false: 禁用构建API文档。如果你已经安装了GTK-Doc-1.33.2并且希望构建API文档,请删除。
内容
安装程序: None
安装库: libtepl-6.so
安装目录: /usr/include/tepl-6 和 /usr/share/gtk-doc/html/tepl-6.0
简短描述
libtepl-6.so 包含用于基于GtkSourceView4的程序的方便函数。
25.48 WebKitGTK-2.38.5
简介WebKitGTK
WebKitGTK包是可移植的web呈现引擎WebKit到GTK+ 3和GTK 4平台的一个端口。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://webkitgtk.org/releases/webkitgtk-2.38.5.tar.xz
-
下载 MD5 校验和: de05d314a3ecb5fb3835e4d84f8f466d
-
下载大小:31 MB
-
预计所需磁盘空间: 1.1 GB (安装174 MB)
-
预计构建时间: 34 SBU (使用并行数=4)
WebKitGTK依赖
必要
Cairo-1.17.6, CMake-3.25.2, gst-plugins-base-1.22.0, gst-plugins-bad-1.22.0, GTK+-3.24.36, ICU-72.1, Little CMS-2.14, libgudev-237, libsecret-0.20.5, libsoup-3.2.2, libtasn1-4.19.0, libwebp-1.3.0, Mesa-22.3.5, OpenJPEG-2.5.0, Ruby-3.2.1, SQLite-3.40.1, Which-2.21, 和 wpebackend-fdo-1.14.0
推荐
enchant-2.3.3, GeoClue-2.7.0, gobject-introspection-1.74.0, 和 hicolor-icon-theme-0.17
可选
bubblewrap-0.7.0, Gi-DocGen-2023.1, GTK-4.8.3, HarfBuzz-7.0.0, Wayland-1.21.0, WOFF2-1.0.2, ccache, Hyphen, libavif, libmanette, 和 xdg-dbus-proxy
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/webkitgtk
安装WebKitGTK
安装WebKitGTK
运行以下命令安装WebKitGTK:
mkdir -vp build &&
cd build &&
cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_SKIP_RPATH=ON \
-DPORT=GTK \
-DLIB_INSTALL_DIR=/usr/lib \
-DUSE_LIBHYPHEN=OFF \
-DENABLE_GAMEPAD=OFF \
-DENABLE_MINIBROWSER=ON \
-DENABLE_DOCUMENTATION=OFF \
-DUSE_WOFF2=OFF \
-DUSE_WPE_RENDERER=ON \
-DENABLE_BUBBLEWRAP_SANDBOX=OFF \
-Wno-dev -G Ninja .. &&
ninja
此软件包没有可用的测试套件。然而,在构建目录build/bin/MiniBrowser中有一个可用的基本图形web浏览器。如果启动失败,说明构建有问题。
现在,作为root用户:
ninja install
由于使用了-DENABLE_DOCUMENTATION=OFF选项,因此现在不会重建或安装文档。如果你需要文档,你可以安装Gi-DocGen-2023.1并从cmake命令中删除此选项,或者安装预构建的文档:
install -vdm755 /usr/share/gtk-doc/html/{jsc-glib,webkit2gtk{,-web-extension}}-4.1 &&
install -vm644 ../Documentation/jsc-glib-4.1/* \
/usr/share/gtk-doc/html/jsc-glib-4.1 &&
install -vm644 ../Documentation/webkit2gtk-4.1/* \
/usr/share/gtk-doc/html/webkit2gtk-4.1 &&
install -vm644 ../Documentation/webkit2gtk-web-extension-4.1/* \
/usr/share/gtk-doc/html/webkit2gtk-web-extension-4.1
命令解释
-DUSE_LIBHYPHEN=OFF: 此开关禁用默认的自动断字实现。你需要安装Hyphen,如果你想启用它(将OFF替换为ON或只是删除开关)。
-DENABLE_DOCUMENTATION=OFF: 此开关禁用重新生成文档。如果你已经安装了Gi-DocGen-2023.1并希望重新生成文档,请删除此开关。
-DENABLE_GAMEPAD=OFF: 这个开关禁用手柄支持。如果您安装了libmanette并希望启用它,请删除此开关。
-DENABLE_MINIBROWSER=ON: 这个开关支持编译和安装MiniBrowser。
-DUSE_WPE_RENDERER=ON: 这个开关使用WPE渲染器,这是upstream推荐的。
-DENABLE_BUBBLEWRAP_SANDBOX=OFF: 如果安装了可选包bubblewrap-0.7.0 和 xdg-dbus-proxy,请删除此开关。
-DUSE_SYSTEM_MALLOC=ON: 该开关允许根据系统安装的malloc进行构建。
-DENABLE_GEOLOCATION=OFF: 如果你不想安装GeoClue-2.7.0,请使用这个开关。
-DUSE_WOFF2=ON: 如果安装了可选包WOFF2-1.0.2,请使用此开关。这增加了对字体的额外支持。
内容
安装程序: WebKitWebDriver
安装库: libjavascriptcoregtk-4.1.so 和 libwebkit2gtk-4.1.so
安装目录: /usr/include/webkitgtk-4.1, /usr/lib{,exec}/webkit2gtk-4.1, 和 /usr/share/gtk-doc/html/{jsc-glib,webkit2gtk{,-web-extension}}-4.1
简短描述
WebKitWebDriver 允许调试和自动化网页和浏览器。
libjavascriptcoregtk-4.1.so 包含jsc和libwebkit2gtk-4.1使用的核心JavaScript API函数。
libwebkit2gtk-4.1.so 包含WebKit2 API函数。