10. Graphics and Font Libraries
Depending on what your system will be used for, you may or may not require the graphics and font libraries. Most desktop machines will want them for use with graphical applications. Most servers on the other hand, will not require them.
10.1 AAlib-1.4rc5
Introduction to AAlib
AAlib is a library to render any graphic into ASCII Art.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://downloads.sourceforge.net/aa-project/aalib-1.4rc5.tar.gz
-
Download MD5 sum: 9801095c42bba12edebd1902bcf0a990
-
Download size: 388 KB
-
Estimated disk space required: 6.5 MB
-
Estimated build time: 0.1 SBU
AAlib Dependencies
Optional
Xorg Libraries, Xorg Legacy Fonts (runtime), slang-2.3.3, and GPM-1.20.7
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/aalib
Installation of AAlib
Fix a minor problem with the included m4 file:
sed -i -e '/AM_PATH_AALIB,/s/AM_PATH_AALIB/[&]/' aalib.m4
Install AAlib by running the following commands:
./configure --prefix=/usr \
--infodir=/usr/share/info \
--mandir=/usr/share/man \
--with-ncurses=/usr \
--disable-static &&
make
This package does not come with a test suite.
Now, as the root user:
make install
Contents
Installed Programs: aafire, aainfo, aalib-config, aasavefont, and aatest
Installed Library: libaa.so
Installed Directories: None
Short Descriptions
aafire is a demo of AAlib, rendering an animated fire in ASCII Art.
aainfo provides information for your current settings related to AAlib.
aalib-config provides configuration info for AAlib.
aasavefont saves a font to a file.
aatest shows the abilities of AAlib in a little test.
libaa.so is a collection of routines to render any graphical input in portable format to ASCII Art. It can be used through many programs and has a very well documented API, so you can easily put it into your own programs.
10.2 babl-0.1.98
Introduction to Babl
The Babl package is a dynamic, any to any, pixel format translation library.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://download.gimp.org/pub/babl/0.1/babl-0.1.98.tar.xz
-
Download MD5 sum: 0fd5f826e2ef14de04d978c203a3fe28
-
Download size: 308 KB
-
Estimated disk space required: 12 MB (with tests)
-
Estimated build time: 0.1 SBU (Using parallelism=4; with tests)
Babl Dependencies
Recommended
gobject-introspection-1.74.0 and librsvg-2.54.5
Optional
Little CMS-2.14 and w3m
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/babl
Installation of Babl
Install Babl by running the following commands:
mkdir bld &&
cd bld &&
meson --prefix=/usr --buildtype=release .. &&
ninja
To test the results, issue: ninja test.
Now, as the root user:
ninja install &&
install -v -m755 -d /usr/share/gtk-doc/html/babl/graphics &&
install -v -m644 docs/*.{css,html} /usr/share/gtk-doc/html/babl &&
install -v -m644 docs/graphics/*.{html,svg} /usr/share/gtk-doc/html/babl/graphics
Command Explanations
install -v -m755 -d /usr/share/gtk-doc/html/babl/graphics: This and the subsequent commands install the library html documentation under /usr/share/gtk-doc/html where other gtk packages put the programmer-oriented documentation.
Contents
Installed Programs: None
Installed Libraries: libbabl-0.1.so and libraries in /usr/lib/babl-0.1
Installed Directories: /usr/{include,lib}/babl-0.1 and /usr/share/gtk-doc/html/babl
Short Descriptions
libbabl-0.1.so contains functions to access BablFishes to convert between formats.
10.3 Exiv2-0.27.6
Introduction to Exiv2
Exiv2 is a C++ library and a command line utility for managing image and video metadata.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://github.com/Exiv2/exiv2/releases/download/v0.27.6/exiv2-0.27.6-Source.tar.gz
-
Download MD5 sum: 837a469b0957df8b657151ffb9449771
-
Download size: 31 MB
-
Estimated disk space required: 78 MB
-
Estimated build time: 0.2 SBU (Using parallelism=4)
Exiv2 dependencies
Required
Recommended
Optional
Optional for documentation
Doxygen-1.9.6, Graphviz-7.1.0, and libxslt-1.1.37
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/exiv2
Installation of Exiv2
Install Exiv2 by running the following commands:
mkdir build &&
cd build &&
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DEXIV2_ENABLE_VIDEO=yes \
-DEXIV2_ENABLE_WEBREADY=yes \
-DEXIV2_ENABLE_CURL=yes \
-DEXIV2_BUILD_SAMPLES=no \
-G "Unix Makefiles" .. &&
make
This package does not come with a test suite.
Now, as the root user:
make install
Command Explanations
-DEXIV2_ENABLE_VIDEO=yes: This switch enables managing video metadata.
-DEXIV2_ENABLE_WEBREADY=yes: This switch enables managing web image metadata.
-DEXIV2_BUILD_SAMPLES=no: This switch is necessary to suppress building and installing sample programs. If the sample programs are built, 34 additional programs are installed in /usr/bin.
-DEXIV2_ENABLE_CURL=yes: This switch is necessary to enable network/http capabilities.
Contents
Installed Program: exiv2
Installed Library: libexiv2.so and libexiv2-xmp.a
Installed Directories: /usr/include/exiv2
Short Descriptions
exiv2 is a utility used to dump Exif data.
10.4 FreeType-2.13.0
Introduction to FreeType2
The FreeType2 package contains a library which allows applications to properly render TrueType fonts.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://downloads.sourceforge.net/freetype/freetype-2.13.0.tar.xz
-
Download MD5 sum: fe73327ebbf0b629f3ad24be656d59de
-
Download size: 2.4 MB
-
Estimated disk space required: 48 MB (with additional documentation)
-
Estimated build time: 0.2 SBU (with additional documentation)
Additional Downloads
Additional Documentation
-
Download (HTTP): https://downloads.sourceforge.net/freetype/freetype-doc-2.13.0.tar.xz
-
Download MD5 sum: 139f7e7690469da503d40ba4ce59a9fa
-
Download size: 2.0 MB
FreeType2 Dependencies
Recommended
HarfBuzz-7.0.0 (first, install without it, after it is installed, reinstall FreeType-2.13.0), libpng-1.6.39, and Which-2.21
Optional
Brotli-1.0.9 and librsvg-2.54.5
Optional (for documentation)
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/freetype2
Installation of FreeType2
If you downloaded the additional documentation, unpack it into the source tree using the following command:
tar -xf ../freetype-doc-2.13.0.tar.xz --strip-components=2 -C docs
Install FreeType2 by running the following commands:
sed -ri "s:.*(AUX_MODULES.*valid):\1:" modules.cfg &&
sed -r "s:.*(#.*SUBPIXEL_RENDERING) .*:\1:" \
-i include/freetype/config/ftoption.h &&
./configure --prefix=/usr --enable-freetype-config --disable-static &&
make
This package does not come with a test suite.
Now, as the root user:
make install
If you downloaded the optional documentation, install it as the root user:
install -v -m755 -d /usr/share/doc/freetype-2.13.0 &&
cp -v -R docs/* /usr/share/doc/freetype-2.13.0 &&
rm -v /usr/share/doc/freetype-2.13.0/freetype-config.1
Command Explanations
sed -ri …: First command enables GX/AAT and OpenType table validation and second command enables Subpixel Rendering. Note that Subpixel Rendering may have patent issues. Be sure to read the 'Other patent issues' part of https://freetype.org/patents.html before enabling this option.
--enable-freetype-config: This switch ensure that the man page for freetype-config is installed.
--without-harfbuzz: If harfbuzz is installed prior to freetype without freetype support, use this switch to avoid a build failure.
--disable-static: This switch prevents installation of static versions of the libraries.
Contents
Installed Program: freetype-config
Installed Library: libfreetype.so
Installed Directories: /usr/include/freetype2 and /usr/share/doc/freetype-2.13.0
Short Descriptions
freetype-config is used to get FreeType compilation and linking information
libfreetype.so contains functions for rendering various font types, such as TrueType and Type1.
10.5 Fontconfig-2.14.2
Introduction to Fontconfig
The Fontconfig package contains a library and support programs used for configuring and customizing font access.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.14.2.tar.xz
-
Download MD5 sum: 95261910ea727b5dd116b06fbfd84b1f
-
Download size: 1.4 MB
-
Estimated disk space required: 17 MB (with tests)
-
Estimated build time: 0.3 SBU (with tests)
Fontconfig Dependencies
Required
Optional
cURL-7.88.1 and UnZip-6.0 (both used by some tests for downloading and extracting test files), JSON-C-0.16, DocBook-utils-0.6.14 and libxml2-2.10.3, texlive-20220321 (or install-tl-unx)
Note
If you have DocBook Utils installed and you remove the --disable-docs parameter from the configure command below, you must have SGMLSpm-1.1 and texlive-20220321 installed also, or the Fontconfig build will fail.
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/Fontconfig
Installation of Fontconfig
Install Fontconfig by running the following commands:
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--disable-docs \
--docdir=/usr/share/doc/fontconfig-2.14.2 &&
make
To test the results, issue: make check. One test is known to fail if the kernel does not support user namespaces. Some tests will download some font files via Internet.
Now, as the root user:
make install
If you did not remove the --disable-docs parameter from the configure command, you can install the pre-generated documentation by using the following commands as the root user:
install -v -dm755 \
/usr/share/{man/man{1,3,5},doc/fontconfig-2.14.2/fontconfig-devel} &&
install -v -m644 fc-*/*.1 /usr/share/man/man1 &&
install -v -m644 doc/*.3 /usr/share/man/man3 &&
install -v -m644 doc/fonts-conf.5 /usr/share/man/man5 &&
install -v -m644 doc/fontconfig-devel/* \
/usr/share/doc/fontconfig-2.14.2/fontconfig-devel &&
install -v -m644 doc/*.{pdf,sgml,txt,html} \
/usr/share/doc/fontconfig-2.14.2
Command Explanations
--disable-docs: This switch avoids building the documentation (the release tarball includes pre-generated documentation).
Configuring Fontconfig
Config Files
/etc/fonts/*, /etc/fonts/conf.d/* and /usr/share/fontconfig/conf.avail/*
Configuration Information
The main configuration file for Fontconfig is /etc/fonts/fonts.conf. Generally you do not want to edit this file. It will also read /etc/fonts/local.conf and any files in /etc/fonts/conf.d. To put a new font directory in the configuration, create (or update) the /etc/fonts/local.conf file with your local information or add a new file in /etc/fonts/conf.d. The default location of fonts in Fontconfig is:
-
/usr/share/fonts
-
~/.local/share/fonts
-
~/.fonts (this is now deprecated, but for the moment it still works)
Fontconfig also ships many example configuration files in the /usr/share/fontconfig/conf.avail directory. Symlinking specific files to /etc/fonts/conf.d will enable them. The default setup is generally good enough for most users. See /etc/fonts/conf.d/README for a description of the configuration files.
More information about configuring Fontconfig can be found in the user’s manual in file:///usr/share/doc/fontconfig-2.14.2/fontconfig-user.html.
Contents
Installed Programs: fc-cache, fc-cat, fc-conflist, fc-list, fc-match, fc-pattern, fc-query, fc-scan, and fc-validate
Installed Library: libfontconfig.so
Installed Directories: /etc/fonts, /usr/include/fontconfig, /usr/share/doc/fontconfig-2.14.2, /usr/share/fontconfig, /usr/share/xml/fontconfig, and /var/cache/fontconfig
Short Descriptions
fc-cache is used to create font information caches
fc-cat is used to read font information caches
fc-conflist shows the ruleset files’ information on the system
fc-list is used to create font lists
fc-match is used to match available fonts, or find fonts that match a given pattern
fc-pattern is used to parse pattern (empty pattern by default) and show the parsed result
fc-query is used to query fonts files and print resulting patterns
fc-scan is used to scan font files and directories, and print resulting patterns
fc-validate is used to validate font files
libfontconfig.so contains functions used by the Fontconfig programs and also by other programs to configure or customize font access.
10.6 FriBidi-1.0.12
Introduction to FriBidi
The FriBidi package is an implementation of the Unicode Bidirectional Algorithm (BIDI). This is useful for supporting Arabic and Hebrew alphabets in other packages.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://github.com/fribidi/fribidi/releases/download/v1.0.12/fribidi-1.0.12.tar.xz
-
Download MD5 sum: 21185b398635a7fc0d3ff0a7578c4791
-
Download size: 1.1 MB
-
Estimated disk space required: 21 MB (with tests)
-
Estimated build time: less than 0.1 SBU (with tests)
FriBidi Dependencies
Optional
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/fribidi
Installation of FriBidi
Install FriBidi by running the following commands:
mkdir build &&
cd build &&
meson --prefix=/usr --buildtype=release .. &&
ninja
To test the results, issue: ninja test.
Now, as the root user:
ninja install
Command Explanations
--buildtype=release: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.
Contents
Installed Program: fribidi
Installed Library: libfribidi.so
Installed Directory: /usr/include/fribidi
Short Descriptions
fribidi is a command-line interface to the libfribidi library and can be used to convert a logical string to visual output
libfribidi.so contains functions used to implement the Unicode Bidirectional Algorithm.
10.7 gegl-0.4.40
Introduction to gegl
This package provides the GEneric Graphics Library, which is a graph based image processing format.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://download.gimp.org/pub/gegl/0.4/gegl-0.4.40.tar.xz
-
Download MD5 sum: fe182967ce4b678d8b45500c416555c5
-
Download size: 5.5 MB
-
Estimated disk space required: 115 MB (Add 7 MB for tests)
-
Estimated build time: 0.9 SBU (Using parallelism=4; add 0.2 for tests)
gegl Dependencies
Required
babl-0.1.98, JSON-GLib-1.6.6, libjpeg-turbo-2.1.5.1, and libpng-1.6.39
Recommended
gobject-introspection-1.74.0, Graphviz-7.1.0, Pygments-2.14.0, and PyGObject-3.42.2
Optional
asciidoc-10.2.0, Cairo-1.17.6, Exiv2-0.27.6, FFmpeg-5.1.2, gdk-pixbuf-2.42.10, gexiv2-0.14.0, GTK-Doc-1.33.2, JasPer-4.0.0, Little CMS-2.14, libraw-0.21.1, librsvg-2.54.5, libtiff-4.5.0, libwebp-1.3.0, Pango-1.50.12, Poppler-23.02.0, Ruby-3.2.1, SDL2-2.26.3, v4l-utils-1.22.1, Vala-0.56.4, libspiro-20220722, lensfun, libumfpack, LuaJIT, OpenCL (for tests), MRG, and OpenEXR
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/gegl
Installation of gegl
If installing over a previous version of gegl, one module needs to be removed. As the root user, run:
rm -f /usr/lib/gegl-0.4/vector-fill.so
If LibRaw-0.21.0 or above is installed, the build fails due to a change in the ABI. Fix the issue by issuing:
sed -e '/shot_select/s/params/raw&/' \
-i operations/external/raw-load.c
Install gegl by running the following commands:
mkdir build &&
cd build &&
meson --prefix=/usr --buildtype=release .. &&
ninja
To run the tests, issue: ninja test. This should indicate no failures, but will skip many tests depending on optional dependencies installed on the system.
Now, as the root user:
ninja install
Command Explanations
-Ddocs=true: Build and install documentation (requires GTK-Doc-1.33.2,).
Contents
Installed Programs: gegl and gegl-imgcmp
Installed Libraries: libgegl-0.4.so, libgegl-npd-0.4.so, libgegl-sc-0.4.so, and modules in /usr/lib/gegl-0.4
Installed Directories: /usr/lib/gegl-0.4 and /usr/include/gegl-0.4
Short Descriptions
gegl is a commandline tool for working with the XML data model
gegl-imgcmp is a simple image difference detection tool for use in regression testing
libgegl-0.4.so provides infrastructure to do demand based cached non destructive image editing on larger than RAM buffers
libgegl-npd-0.4.so is the GEGL N-point image deformation library
libgegl-sc-0.4.so is the GEGL Seamless Cloning library.
10.8 giflib-5.2.1
Introduction to giflib
The giflib package contains libraries for reading and writing GIFs as well as programs for converting and working with GIF files.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://sourceforge.net/projects/giflib/files/giflib-5.2.1.tar.gz
-
Download MD5 sum: 6f03aee4ebe54ac2cc1ab3e4b0a049e5
-
Download size: 436 KB
-
Estimated disk space required: 3.2 MB (with documentation)
-
Estimated build time: less than 0.1 SBU (with documentation)
giflib Dependencies
Required
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/giflib
Installation of giflib
Install giflib by running the following commands:
make
This package does not come with a test suite.
Now, as the root user:
make PREFIX=/usr install &&
rm -fv /usr/lib/libgif.a &&
find doc \( -name Makefile\* -o -name \*.1 \
-o -name \*.xml \) -exec rm -v {} \; &&
install -v -dm755 /usr/share/doc/giflib-5.2.1 &&
cp -v -R doc/* /usr/share/doc/giflib-5.2.1
Command Explanations
rm -fv /usr/lib/libgif.a: This command removes a static library which is not used by any BLFS package.
find doc … -exec rm -v {} \;: This command removes Makefiles, man and xml files from the documentation directory that would otherwise be installed by the commands that follow.
Contents
Installed Programs: gif2rgb, gifbuild, gifclrmp, giffix, giftext, and giftool
Installed Library: libgif.so
Installed Directory: /usr/share/doc/giflib-5.2.1
Short Descriptions
gif2rgb converts images saved as GIF to 24-bit RGB images
gifbuild dumps GIF data in a textual format, or undumps it to a GIF
gifclrmp modifies GIF image colormaps
giffix clumsily attempts to fix truncated GIF images
giftext prints (text only) general information about a GIF file
giftool is a GIF transformation tool
libgif.so contains API functions required by the giflib programs and any other programs needing library functionality to read, write and manipulate GIF images.
10.9 GLM-0.9.9.8
Introduction to GLM
OpenGL Mathematics (GLM) is a header-only C++ mathematics library for graphics software based on the OpenGL Shading Language (GLSL) specifications. An extension system provides extended capabilities such as matrix transformations and quaternions.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://github.com/g-truc/glm/archive/0.9.9.8/glm-0.9.9.8.tar.gz
-
Download MD5 sum: 0e83d4a33c7d4044a2c35c8d6aba4671
-
Download size: 4.2 MB
-
Estimated disk space required: 23 MB
-
Estimated build time: less than 0.1 SBU
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/GLM
Installation of GLM
Note
This package is unusual as it includes its functionality in header files. We just copy them into position.
As the root user:
cp -r glm /usr/include/ &&
cp -r doc /usr/share/doc/glm-0.9.9.8
Contents
Installed Program: None
Installed Library: None
Installed Directory: /usr/include/glm
10.10 Graphite2-1.3.14
Introduction to Graphite2
Graphite2 is a rendering engine for graphite fonts. These are TrueType fonts with additional tables containing smart rendering information and were originally developed to support complex non-Roman writing systems. They may contain rules for e.g. ligatures, glyph substitution, kerning, justification - this can make them useful even on text written in Roman writing systems such as English. Note that firefox by default provides an internal copy of the graphite engine and cannot use a system version (although it can now be patched to use it), but it too should benefit from the availability of graphite fonts.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://github.com/silnrsi/graphite/releases/download/1.3.14/graphite2-1.3.14.tgz
-
Download MD5 sum: 1bccb985a7da01092bfb53bb5041e836
-
Download size: 6.3 MB
-
Estimated disk space required: 28 MB (with tests)
-
Estimated build time: 0.2 SBU (with tests)
Graphite2 Dependencies
Required
Optional
FreeType-2.13.0, silgraphite to build the comparerender test and benchmarking tool, and if that is present, and HarfBuzz-7.0.0 to add more functionality to it (this is a circular dependency, you would need to first build graphite2 without harfbuzz).
To build the documentation: asciidoc-10.2.0, Doxygen-1.9.6, texlive-20220321 (or install-tl-unx), and dblatex (for PDF docs)
To execute the test suite you will need FontTools (Python 3 module), otherwise, the “cmp” tests fail.
Optional (at runtime)
You will need at least one suitable graphite font for the package to be useful.
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/graphite2
Installation of Graphite2
Some tests fail if FontTools (Python 3 module) is not installed. These tests can be removed with:
sed -i '/cmptest/d' tests/CMakeLists.txt
Install Graphite2 by running the following commands:
mkdir build &&
cd build &&
cmake -DCMAKE_INSTALL_PREFIX=/usr .. &&
make
If you wish to build the documentation, issue:
make docs
To test the results, issue: make test.
Now, as the root user:
make install
If you built the documentation, install, as the root user:
install -v -d -m755 /usr/share/doc/graphite2-1.3.14 &&
cp -v -f doc/{GTF,manual}.html \
/usr/share/doc/graphite2-1.3.14 &&
cp -v -f doc/{GTF,manual}.pdf \
/usr/share/doc/graphite2-1.3.14
Command Explanations
-DCMAKE_VERBOSE_MAKEFILE=ON: This switch turns on build verbose mode.
Contents
Installed Programs: gr2fonttest, and optionally comparerender
Installed Libraries: libgraphite2.so
Installed Directories: /usr/{include,share}/graphite2 and optionally /usr/share/doc/graphite2-1.3.14
Short Descriptions
comparerender is a test and benchmarking tool
gr2fonttest is a diagnostic console tool for graphite fonts
libgraphite2.so is a rendering engine for graphite fonts.
10.11 HarfBuzz-7.0.0
Introduction to Harfbuzz
The HarfBuzz package contains an OpenType text shaping engine.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://github.com/harfbuzz/harfbuzz/releases/download/7.0.0/harfbuzz-7.0.0.tar.xz
-
Download MD5 sum: 5c7a6750760e4d6c098436a43542a7d0
-
Download size: 18 MB
-
Estimated disk space required: 144 MB (with tests)
-
Estimated build time: 0.6 SBU (Using parallelism=4; with tests)
HarfBuzz Dependencies
Recommended
gobject-introspection-1.74.0 (required if building GNOME), GLib-2.74.5 (required for Pango), Graphite2-1.3.14 (required for building texlive-20220321 or LibreOffice-7.5.0.3 with system harfbuzz), ICU-72.1, and FreeType-2.13.0 (after HarfBuzz-7.0.0 is installed, reinstall FreeType-2.13.0)
Optional
Cairo-1.17.6 (circular: build cairo and all its recommended dependencies, including harfbuzz, first, then rebuild harfbuzz if the cairo backend is needed), git-2.39.2, GTK-Doc-1.33.2, FontTools (Python 3 module, for the test suite), and ragel
Warning
Recommended dependencies are not strictly required to build the package. However, you might not get expected results at runtime if you don’t install them. Please do not report bugs with this package if you have not installed the recommended dependencies.
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/harfbuzz
Installation of HarfBuzz
Install HarfBuzz by running the following commands:
mkdir build &&
cd build &&
meson --prefix=/usr \
--buildtype=release \
-Dgraphite2=enabled &&
ninja
To test the results, issue: ninja test.
Now, as the root user:
ninja install
Command Explanations
--buildtype=release: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.
-Dgraphite2=enabled: This switch enables Graphite2 support, which is required for building texlive-20220321 or LibreOffice-7.5.0.3 with system harfbuzz.
-Ddocs=disabled: If GTK-Doc-1.33.2 is installed, the documentation is built and installed. This switch prevents that.
Contents
Installed Programs: hb-info, hb-ot-shape-closure, hb-shape, hb-subset, and hb-view (only if Cairo is installed)
Installed Libraries: libharfbuzz.so, libharfbuzz-cairo.so (only if Cairo is installed), libharfbuzz-gobject.so, libharfbuzz-icu.so, and libharfbuzz-subset.so
Installed Directories: /usr/include/harbuzz, /usr/lib/cmake/harfbuzz, and /usr/share/gtk-doc/html/harfbuzz (optional)
Short Descriptions
hb-info is used for gathering information about fonts installed on the system.
hb-ot-shape-closure gives the set of characters contained in a string, represented as single characters and/or single character names. Example: hb-ot-shape-closure /usr/share/fonts/dejavu/DejaVuSans.ttf “Hello World.”.
hb-shape is used for the conversion of text strings into positioned glyphs.
hb-subset is used to create subsets of fonts, and display text using them.
hb-view displays a graphical view of a string shape using a particular font as a set of glyphs. The output format is automatically defined by the file extension, the supported ones being ansi/png/svg/pdf/ps/eps. For example: hb-view –output-file=hello.png /usr/share/fonts/dejavu/DejaVuSans.ttf “Hello World.”.
libharfbuzz.so is the HarfBuzz text shaping library.
libharfbuzz-cairo.so provides Cairo integration for the Harfbuzz text shaping library.
libharfbuzz-gobject.soprovides GObject integration for the HarfBuzz text shaping library.
libharfbuzz-icu.so provides ICU integration for the HarfBuzz text shaping library.
libharfbuzz-subset.so provides API functions for performing subsetting operations on font files.
10.12 JasPer-4.0.0
Introduction to JasPer
The JasPer Project is an open-source initiative to provide a free software-based reference implementation of the JPEG-2000 codec.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://github.com/jasper-software/jasper/archive/version-4.0.0/jasper-4.0.0.tar.gz
-
Download MD5 sum: 1578be3c1e329fdaae35d98dd804ed95
-
Download size: 1.9 MB
-
Estimated disk space required: 9.5 MB (with tests)
-
Estimated build time: 0.3 SBU (with tests)
JasPer Dependencies
Required
Recommended
Optional
Freeglut-3.4.0 (required for jiv), Doxygen-1.9.6 (needed for generating html documentation), and texlive-20220321 (needed to regenerate the pdf documentation)
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/jasper
Installation of JasPer
Note
The tarball jasper-4.0.0.tar.gz will extract to jasper-version-4.0.0.
Install JasPer by running the following commands:
mkdir BUILD &&
cd BUILD &&
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_SKIP_INSTALL_RPATH=YES \
-DJAS_ENABLE_DOC=NO \
-DCMAKE_INSTALL_DOCDIR=/usr/share/doc/jasper-4.0.0 \
.. &&
make
To test the results, issue: make test.
Now, as the root user:
make install
Command Explanations
-DCMAKE_SKIP_INSTALL_RPATH=YES: This option removes embedded library search paths.
-DJAS_ENABLE_DOC=NO: This option disables rebuilding the pdf documentation if texlive-20220321 is installed.
Contents
Installed Programs: imgcmp, imginfo, jasper, and jiv
Installed Library: libjasper.so
Installed Directories: /usr/include/jasper and /usr/share/doc/jasper-4.0.0
Short Descriptions
imgcmp compares two images of the same geometry
imginfo displays information about an image
jasper converts images between formats (BMP, JPS, JPC, JPG, PGX, PNM, MIF, and RAS)
jiv displays images
libjasper.so is a library used by programs for reading and writing JPEG2000 format files.
10.13 Little CMS-1.19
Introduction to Little CMS
The Little CMS library is used by other programs to provide color management facilities.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://downloads.sourceforge.net/lcms/lcms-1.19.tar.gz
-
Download MD5 sum: 8af94611baf20d9646c7c2c285859818
-
Download size: 927 KB
-
Estimated disk space required: 27 MB
-
Estimated build time: 0.5 SBU
Additional Downloads
Little CMS Dependencies
Optional
libtiff-4.5.0, libjpeg-turbo-2.1.5.1, and Python-2.7.18 (with SWIG-4.1.1 also)
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/lcms
Installation of Little CMS
Install Little CMS by running the following commands:
patch -Np1 -i ../lcms-1.19-cve_2013_4276-1.patch &&
./configure --prefix=/usr --disable-static &&
make
To test the results, issue: make check.
Now, as the root user:
make install &&
install -v -m755 -d /usr/share/doc/lcms-1.19 &&
install -v -m644 README.1ST doc/* \
/usr/share/doc/lcms-1.19
Command Explanations
--disable-static: This switch prevents installation of static versions of the libraries.
--with-python: Use this parameter if Python and SWIG are installed.
Contents
Installed Programs: icc2ps, icclink, icctrans, wtpt and optionally, jpegicc, tiffdiff and tifficc
Installed Libraries: liblcms.so and the optional _lcms.so Python module
Installed Directory: /usr/share/doc/lcms-1.19
Short Descriptions
icc2ps generates PostScript CRD or CSA from ICC profiles.
icclink links two or more profiles into a single device link profile.
icctrans is a color space conversion calculator.
jpegicc is an ICC profile applier for JPEG files.
tifficc is an ICC profile applier for TIFF files.
tiffdiff is a TIFF compare utility.
wtpt shows media white of profiles, identifying black body locus.
liblcms.so is used by the lcms programs as well as other programs to provide color management facilities.
10.14 Little CMS-2.14
Introduction to Little CMS2
The Little Color Management System is a small-footprint color management engine, with special focus on accuracy and performance. It uses the International Color Consortium standard (ICC), which is the modern standard for color management.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://github.com/mm2/Little-CMS/releases/download/lcms2.14/lcms2-2.14.tar.gz
-
Download MD5 sum: 7f7baa3e605c961b9301135105ee9a34
-
Download size: 7.1 MB
-
Estimated disk space required: 20 MB (with the tests)
-
Estimated build time: 0.2 SBU (with the tests)
Little CMS2 Dependencies
Optional
libjpeg-turbo-2.1.5.1 and libtiff-4.5.0
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/lcms2
Installation of Little CMS2
Apply the upstream fix for an issue breaking colord:
sed '/BufferSize < TagSize/,+1 s/goto Error/TagSize = BufferSize/' \
-i src/cmsio0.c
Install Little CMS2 by running the following commands:
./configure --prefix=/usr --disable-static &&
make
To test the results, issue: make check.
Now, as the root user:
make install
Command Explanations
--disable-static: This switch prevents installation of static versions of the libraries.
Contents
Installed Programs: jpgicc, linkicc, psicc, tificc, and transicc
Installed Library: liblcms2.so
Installed Directories: None
Short Descriptions
jpgicc is the Little CMS ICC profile applier for JPEG
linkicc is the Little CMS ICC device link generator
psicc is the Little CMS ICC PostScript generator
tificc is the Little CMS ICC tiff generator
transicc is the Little CMS ColorSpace conversion calculator
liblcms2.so contains functions that implement the lcms2 API.
10.15 libexif-0.6.24
Introduction to libexif
The libexif package contains a library for parsing, editing, and saving EXIF data. Most digital cameras produce EXIF files, which are JPEG files with extra tags that contain information about the image. All EXIF tags described in EXIF standard 2.1 are supported.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://github.com/libexif/libexif/releases/download/v0.6.24/libexif-0.6.24.tar.bz2
-
Download MD5 sum: 00ea6e7ff62d3fd41ea9b2139746703c
-
Download size: 1.9 MB
-
Estimated disk space required: 17 MB
-
Estimated build time: 0.1 SBU
libexif Dependencies
Optional (to Build Documentation)
Doxygen-1.9.6 and Graphviz-7.1.0
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libexif
Installation of libexif
Install libexif by running the following commands:
./configure --prefix=/usr \
--disable-static \
--with-doc-dir=/usr/share/doc/libexif-0.6.24 &&
make
To test the results, issue: make check.
Now, as the root user:
make install
Documentation was built and installed if you have the dependencies shown above installed. If you don’t have the dependencies installed, there is a compressed tarball in the source tree doc directory that can be unpacked into /usr/share/doc/libexif-0.6.24.
Command Explanations
--disable-static: This switch prevents installation of static versions of the libraries.
Contents
Installed Programs: None
Installed Library: libexif.so
Installed Directories: /usr/include/libexif and /usr/share/doc/libexif-0.6.24
Short Descriptions
libexif.so contains functions used for parsing, editing, and saving EXIF data.
10.16 Libgxps-0.3.2
Introduction to libgxps
The libgxps package provides an interface to manipulate XPS documents.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://download.gnome.org/sources/libgxps/0.3/libgxps-0.3.2.tar.xz
-
Download (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/libgxps/0.3/libgxps-0.3.2.tar.xz
-
Download MD5 sum: 0527ac7c8c405445e96a5baa6019a0c3
-
Download size: 80 KB
-
Estimated disk space required: 5.4 MB
-
Estimated build time: 0.1 SBU
Libgxps Dependencies
Required
GTK+-3.24.36, Little CMS-2.14, libarchive-3.6.2, libjpeg-turbo-2.1.5.1, libtiff-4.5.0, and libxslt-1.1.37
Optional
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libgxps
Installation of Libgxps
Install Libgxps by running the following commands:
mkdir build &&
cd build &&
meson --prefix=/usr --buildtype=release .. &&
ninja
This package does not come with a test suite.
Now, as the root user:
ninja install
Command Explanations
--buildtype=release: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.
Contents
Installed Programs: xpstojpeg, xpstopdf, xpstopng, xpstops, and xpstosvg
Installed Library: libgxps.so
Installed Directories: /usr/include/libgxps
Short Descriptions
xpstojpeg converts XPS documents to a JPEG image
xpstopdf converts XPS documents to PDF format
xpstopng converts XPS documents to a PNG image
xpstops converts XPS documents to PostScript
xpstosvg converts XPS documents to SVG images
libgxps.so contains API functions for manipulating XPS documents.
10.17 libjpeg-turbo-2.1.5.1
Introduction to libjpeg-turbo
libjpeg-turbo is a fork of the original IJG libjpeg which uses SIMD to accelerate baseline JPEG compression and decompression. libjpeg is a library that implements JPEG image encoding, decoding and transcoding.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://downloads.sourceforge.net/libjpeg-turbo/libjpeg-turbo-2.1.5.1.tar.gz
-
Download MD5 sum: aed60d4d776dd5cf00b5a01c609d50f7
-
Download size: 2.2 MB
-
Estimated disk space required: 17 MB (add 17 MB for tests)
-
Estimated build time: 0.1 SBU (using parallelism=4; add 0.2 SBU for tests)
libjpeg-turbo Dependencies
Required
Recommended
NASM-2.16.01 or yasm-1.3.0 (for building the package with optimized assembly routine)
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libjpeg-turbo
Installation of libjpeg-turbo
Install libjpeg-turbo by running the following commands:
mkdir build &&
cd build &&
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=RELEASE \
-DENABLE_STATIC=FALSE \
-DCMAKE_INSTALL_DOCDIR=/usr/share/doc/libjpeg-turbo-2.1.5.1 \
-DCMAKE_INSTALL_DEFAULT_LIBDIR=lib \
.. &&
make
To test the results, issue: make test.
Now, as the root user:
make install
Command Explanations
-DWITH_JPEG8=ON: This switch enables compatibility with libjpeg version 8.
Contents
Installed Programs: cjpeg, djpeg, jpegtran, rdjpgcom, tjbench, and wrjpgcom
Installed Libraries: libjpeg.so and libturbojpeg.so
Installed Directories: /usr/share/doc/libjpeg-turbo-2.1.5.1
Short Descriptions
cjpeg compresses image files to produce a JPEG/JFIF file on the standard output. Currently supported input file formats are: PPM (PBMPLUS color format), PGM (PBMPLUS gray-scale format), BMP, and Targa
djpeg decompresses image files from JPEG/JFIF format to either PPM (PBMPLUS color format), PGM (PBMPLUS gray-scale format), BMP, or Targa format
jpegtran is used for lossless transformation of JPEG files
rdjpgcom displays text comments from within a JPEG file
tjbench is used to benchmark the performance of libjpeg-turbo
wrjpgcom inserts text comments into a JPEG file
libjpeg.so contains functions used for reading and writing JPEG images.
10.18 libmng-2.0.3
Introduction to libmng
The libmng libraries are used by programs wanting to read and write Multiple-image Network Graphics (MNG) files which are the animation equivalents to PNG files.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://downloads.sourceforge.net/libmng/libmng-2.0.3.tar.xz
-
Download MD5 sum: e9e899adb1b681b17f14d91e261878c5
-
Download size: 932 KB
-
Estimated disk space required: 15 MB
-
Estimated build time: 0.1 SBU
libmng Dependencies
Required
libjpeg-turbo-2.1.5.1 and Little CMS-2.14
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libmng
Installation of libmng
Install libmng by running the following commands:
./configure --prefix=/usr --disable-static &&
make
This package does not come with a test suite.
Now, as the root user:
make install &&
install -v -m755 -d /usr/share/doc/libmng-2.0.3 &&
install -v -m644 doc/*.txt /usr/share/doc/libmng-2.0.3
Command Explanations
--disable-static: This switch prevents installation of static versions of the libraries.
Contents
Installed Programs: None
Installed Library: libmng.so
Installed Directory: /usr/share/doc/libmng-2.0.3
Short Descriptions
libmng.so provides functions for programs wishing to read and write MNG files which are animation files without the patent problems associated with certain other formats.
10.19 libmypaint-1.6.1
Introduction to libmypaint
The libmypaint package, a.k.a. “brushlib”, is a library for making brushstrokes which is used by MyPaint and other projects.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://github.com/mypaint/libmypaint/releases/download/v1.6.1/libmypaint-1.6.1.tar.xz
-
Download MD5 sum: 7f1dab2d30ce8a3f494354c7c77a2977
-
Download size: 508 KB
-
Estimated disk space required: 11 MB (add 1 MB for tests)
-
Estimated build time: 0.1 SBU (add 0.3 SBU for tests)
libmypaint Dependencies
Required
Recommended
GLib-2.74.5 and gobject-introspection-1.74.0
Optional
Doxygen-1.9.6 (to create XML docs), gegl (0.3 versions only) and gperftools
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libmypaint
Installation of libmypaint
Install libmypaint by running the following commands:
./configure --prefix=/usr &&
make
To test the results, issue: make check.
Now, as the root user:
make install
Contents
Installed Programs: None.
Installed Libraries: libmypaint.so (and optionally libmypaint-gegl.so which is not used by any packages in this book).
Installed Directory: /usr/include/libmypaint
Short Descriptions
libmypaint.so contains functions for making brushstrokes.
10.20 libpng-1.6.39
Introduction to libpng
The libpng package contains libraries used by other programs for reading and writing PNG files. The PNG format was designed as a replacement for GIF and, to a lesser extent, TIFF, with many improvements and extensions and lack of patent problems.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://downloads.sourceforge.net/libpng/libpng-1.6.39.tar.xz
-
Download MD5 sum: aa1ae92e172417039bda072b702f6326
-
Download size: 1000 KB
-
Estimated disk space required: 15 MB (with tests)
-
Estimated build time: 0.1 SBU (add 0.5 SBU for tests)
Additional Downloads
-
Recommended patch to include animated png functionality in libpng (required to use the system libpng in Firefox, Seamonkey, and Thunderbird): https://downloads.sourceforge.net/sourceforge/libpng-apng/libpng-1.6.39-apng.patch.gz
-
Patch md5sum: cd63b667723d6cc75e95eca3224f33f7
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libpng
Installation of libpng
If you want to patch libpng to support apng files, apply it here:
gzip -cd ../libpng-1.6.39-apng.patch.gz | patch -p1
Install libpng by running the following commands:
./configure --prefix=/usr --disable-static &&
make
To test the results, issue: make check.
Now, as the root user:
make install &&
mkdir -v /usr/share/doc/libpng-1.6.39 &&
cp -v README libpng-manual.txt /usr/share/doc/libpng-1.6.39
Command Explanations
--disable-static: This switch prevents installation of static versions of the libraries.
Contents
Installed Programs: libpng-config (symlink), libpng16-config, pngfix and png-fix-itxt
Installed Libraries: libpng.so
Installed Directories: /usr/include/libpng16 and /usr/share/doc/libpng-1.6.39
Short Descriptions
pngfix tests, optimizes and optionally fixes the zlib header in PNG files. Optionally, when fixing, strips ancillary chunks from the file
png-fix-itxt fixes PNG files that have an incorrect length field in the iTXt chunks
libpng-config is a shell script that provides configuration information for applications wanting to use libpng
libpng.so contain routines used to create and manipulate PNG format graphics files.
10.21 libraw-0.21.1
Introduction to libraw
Libraw is a library for reading RAW files obtained from digital photo cameras (CRW/CR2, NEF, RAF, DNG, and others).
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://www.libraw.org/data/LibRaw-0.21.1.tar.gz
-
Download MD5 sum: 2942732de752f46baccd9c6d57823b7b
-
Download size: 1.6 MB
-
Estimated disk space required: 31 MB
-
Estimated build time: 0.2 SBU (Using parallelism=4)
libraw Dependencies
Recommended
libjpeg-turbo-2.1.5.1, JasPer-4.0.0, and Little CMS-2.14
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libraw
Installation of libraw
Install libraw by running the following commands:
autoreconf -fiv &&
./configure --prefix=/usr \
--enable-jpeg \
--enable-jasper \
--enable-lcms \
--disable-static \
--docdir=/usr/share/doc/libraw-0.21.1 &&
make
This package does not come with a test suite.
Now, as the root user:
make install
Command Explanations
--enable-jpeg: This switch enables support for jpeg. Remove if you don’t have libjpeg-turbo-2.1.5.1 installed.
--enable-jasper: This switch enables support for jasper. Remove if you don’t have JasPer-4.0.0 installed.
--enable-lcms: This switch enables support for Little CMS2. Remove if you don’t have Little CMS-2.14 installed.
--disable-static: This switch prevents installation of static versions of the libraries.
Contents
Note
All the installed programs are examples of using libraw.
Installed Programs: 4channels, dcraw_emu, dcraw_half, half_mt, mem_image, multirender_test, postprocessing_benchmark, raw-identify, simple_dcraw, and unprocessed_raw
Installed Library: libraw.so and libraw_r.so
Installed Directories: /usr/include/libraw and /usr/share/doc/libraw-0.21.1
Short Descriptions
4channels generates four TIFF files from RAW data, one file per channel
dcraw_half emulates “dcraw -h” (see DCRAW manpage)
mem_image emulates “dcraw [-4] [-6] [-e]” (see DCRAW manpage)
postprocessing_benchmark creates eight different renderings from one source file. The first and fourth one should be identical
simple_dcraw emulates call to “dcraw [-D] [-T] [-v] [-e] [-4]” (see DCRAW manpage)
dcraw_emu is an almost complete dcraw emulator (see DCRAW manpage)
half_mt emulates call to “dcraw -h [-w] [-a] [-v]” (see DCRAW manpage)
multirender_test creates eight different renderings from one source file. The first and fourth one should be identical
raw-identify emulates call to “dcraw -i [-v]” (see DCRAW manpage)
unprocessed_raw generates unprocessed raw image: with masked pixels and without black subtraction.
10.22 librsvg-2.54.5
Introduction to librsvg
The librsvg package contains a library and tools used to manipulate, convert and view Scalable Vector Graphic (SVG) images.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://download.gnome.org/sources/librsvg/2.54/librsvg-2.54.5.tar.xz
-
Download (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/librsvg/2.54/librsvg-2.54.5.tar.xz
-
Download MD5 sum: eb56ffb37a7db48491177eb9bd135cb5
-
Download size: 21 MB
-
Estimated disk space required: 1 GB (24 MB installed), add 240 MB for tests
-
Estimated build time: 1.7 SBU (Using parallelism=4), add 1.1 SBU for tests
librsvg Dependencies
Required
Cairo-1.17.6, gdk-pixbuf-2.42.10, Pango-1.50.12, and rustc-1.67.1
Recommended
gobject-introspection-1.74.0 and Vala-0.56.4
Optional
docutils-0.19 (for man pages), Gi-DocGen-2023.1 (for documentation), and Xorg Fonts (for tests)
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/librsvg
Installation of librsvg
Install librsvg by running the following commands:
./configure --prefix=/usr \
--enable-vala \
--disable-static \
--docdir=/usr/share/doc/librsvg-2.54.5 &&
make
To test the results, issue: make -k check. During testing some binaries are rebuilt with a different debug level, so you should run make again after the tests are complete to ensure everything is ready to be installed.
Now, as the root user:
make install
Note
If you installed the package on to your system using a “DESTDIR” method, an important file was not installed and should be copied and/or generated. Generate it using the following command as the root user:
gdk-pixbuf-query-loaders --update-cache
Command Explanations
--enable-vala: This switch enables building of the Vala bindings. Remove this switch if you don’t have Vala-0.56.4 installed.
--disable-static: This switch prevents installation of static versions of the libraries.
--disable-introspection: Use this switch if you have not installed Gobject Introspection.
--disable-gtk-doc: This switch prevents building the API documentation, even if Gi-DocGen-2023.1 (despite the name of the option) is available.
Contents
Installed Programs: rsvg-convert
Installed Library: librsvg-2.so
Installed Directories: /usr/include/librsvg-2.0 and /usr/share/doc/librsvg-2.54.5
Short Descriptions
rsvg-convert is used to convert images into PNG, PDF, PS, SVG and other formats.
librsvg-2.so provides the functions to render Scalable Vector Graphics.
libpixbufloader-svg.sois the Gdk Pixbuf plugin that allows GTK+ applications to render Scalable Vector Graphics images.
10.23 Libspiro-20220722
Introduction to libspiro
Libspiro will take an array of spiro control points and convert them into a series of bezier splines which can then be used in the myriad of ways the world has come to use beziers.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://github.com/fontforge/libspiro/releases/download/20220722/libspiro-dist-20220722.tar.gz
-
Download MD5 sum: c21f86e6c1ad65ed4cb1f754f6d7563c
-
Download size: 428 KB
-
Estimated disk space required: 5.1 MB (add 1.3 MB if running the tests)
-
Estimated build time: 0.1 SBU
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libspiro
Installation of libspiro
Install libspiro by running the following commands:
./configure --prefix=/usr --disable-static &&
make
To test the results, issue: make check.
Now, as the root user:
make install
Command Explanations
--disable-static: This switch prevents installation of static versions of the libraries.
Contents
Installed Programs: None
Installed Library: libspiro.so
Installed Directories: None
Short Descriptions
libspiro.so is a shareable library that can be used by programs to do the Spiro computations for you.
10.24 libtiff-4.5.0
Introduction to libtiff
The libtiff package contains the TIFF libraries and associated utilities. The libraries are used by many programs for reading and writing TIFF files and the utilities are used for general work with TIFF files.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://download.osgeo.org/libtiff/tiff-4.5.0.tar.gz
-
Download MD5 sum: db9e220a1971acc64487f1d51a20dcaa
-
Download size: 3.7 MB
-
Estimated disk space required: 59 MB (with tests)
-
Estimated build time: 0.2 SBU (with tests)
libtiff Dependencies
Recommended
Optional
Freeglut-3.4.0 (required for tiffgt), libjpeg-turbo-2.1.5.1, sphinx-6.1.3, libwebp-1.3.0, JBIG-KIT, and LERC
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libtiff
Installation of libtiff
Install libtiff by running the following commands:
mkdir -p libtiff-build &&
cd libtiff-build &&
cmake -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/libtiff-4.5.0 \
-DCMAKE_INSTALL_PREFIX=/usr -G Ninja .. &&
ninja
To test the results, issue: ninja test.
Now, as the root user:
ninja install
Contents
Installed Programs: fax2ps, fax2tiff, pal2rgb, ppm2tiff, raw2tiff, tiff2bw, tiff2pdf, tiff2ps, tiff2rgba, tiffcmp, tiffcp, tiffcrop, tiffdither, tiffdump, tiffgt, tiffinfo, tiffmedian, tiffset and tiffsplit
Installed Libraries: libtiff.so and libtiffxx.so
Installed Directory: /usr/share/doc/tiff-4.5.0
Short Descriptions
fax2ps converts a TIFF facsimile to compressed PostScript file.
fax2tiff creates a TIFF Class F fax file from raw fax data.
pal2rgb converts a palette color TIFF image to a full color image.
ppm2tiff creates a TIFF file from a PPM image file.
raw2tiff converts a raw byte sequence into TIFF.
tiff2bw converts a color TIFF image to grayscale.
tiff2pdf converts a TIFF image to a PDF document.
tiff2ps converts a TIFF image to a PostScript file.
tiff2rgba converts a wide variety of TIFF images into an RGBA TIFF image.
tiffcmp compares two TIFF files.
tiffcp copies (and possibly converts) a TIFF file.
tiffcrop selects, copies, crops, converts, extracts and/or processes one or more TIFF files.
tiffdither converts a grayscale image to bilevel using dithering.
tiffdump prints verbatim information about TIFF files.
tiffgt displays an image stored in a TIFF file.
tiffinfo prints information about TIFF files.
tiffmedian applies the median cut algorithm to data in a TIFF file.
tiffset sets the value of a TIFF header to a specified value.
tiffsplit splits a multi-image TIFF into single-image TIFF files.
libtiff.so contains the API functions used by the libtiff programs as well as other programs to read and write TIFF files.
libtiffxx.so contains the C++ API functions used by programs to read and write TIFF files.
10.25 libwebp-1.3.0
Introduction to libwebp
The libwebp package contains a library and support programs to encode and decode images in WebP format.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): http://downloads.webmproject.org/releases/webp/libwebp-1.3.0.tar.gz
-
Download MD5 sum: 994cf2efb664ef5140fa0b56b83fa721
-
Download size: 4.0 MB
-
Estimated disk space required: 43 MB
-
Estimated build time: 0.3 SBU
libwebp Dependencies
Recommended
libjpeg-turbo-2.1.5.1, libpng-1.6.39, libtiff-4.5.0, and SDL-1.2.15 (for improved 3D Acceleration)
Optional
Freeglut-3.4.0 and giflib-5.2.1
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libwebp
Installation of libwebp
Install libwebp by running the following commands:
./configure --prefix=/usr \
--enable-libwebpmux \
--enable-libwebpdemux \
--enable-libwebpdecoder \
--enable-libwebpextras \
--enable-swap-16bit-csp \
--disable-static &&
make
This package does not come with a test suite.
Now, as the root user:
make install
Command Explanations
--enable-swap-16bit-csp: This switch enables byte swap for 16 bit colorspaces.
--disable-static: This switch prevents installation of static versions of the libraries.
Contents
Installed Programs: cwebp, dwebp, gif2webp, img2webp, vwebp, webpinfo, and webpmux
Installed Library: libsharpyuv.so, libwebpdecoder.so, libwebpdemux.so, libwebpmux.so, and libwebp.so
Installed Directory: /usr/include/webp
Short Descriptions
cwebp compresses an image using the WebP format.
dwebp decompresses WebP files into PNG, PAM, PPM or PGM images.
gif2webp converts a GIF image to a WebP image.
img2webp creates an animated WebP file from a sequence of input images.
vwebp decompresses a WebP file and displays it in a window.
webpinfo prints out the cunk level structure of WebP files along with performing basic integrity checks.
webpmux creates animated WebP files from non-animated WebP images, extracts frames from animated WebP images, and manages XMP/EXIF metadata and the ICC profile.
libwebp.so contains the API functions for WebP encoding and decoding.
10.26 mypaint-brushes-1.3.1
Introduction to mypaint-brushes
The mypaint-brushes package contains brushes used by packages which use libmypaint.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://github.com/mypaint/mypaint-brushes/releases/download/v1.3.1/mypaint-brushes-1.3.1.tar.xz
-
Download MD5 sum: 7241032d814cb91d2baae7d009a2a2e0
-
Download size: 1.3 MB
-
Estimated disk space required: 3.4 MB
-
Estimated build time: less than 0.1 SBU
mypaint-brushes Dependencies
Required at runtime
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/mypaint-brushes
Installation of mypaint-brushes
Install mypaint-brushes by running the following commands:
./configure --prefix=/usr &&
make
This package does not come with a test suite.
Now, as the root user:
make install
Contents
Installed Programs: None.
Installed Libraries: None.
Installed Directories: /usr/share/mypaint-data.
10.27 newt-0.52.23
Introduction to newt
Newt is a programming library for color text mode, widget based user interfaces. It can be used to add stacked windows, entry widgets, checkboxes, radio buttons, labels, plain text fields, scrollbars, etc., to text mode user interfaces. Newt is based on the S-Lang library.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://releases.pagure.org/newt/newt-0.52.23.tar.gz
-
Download MD5 sum: 70aefeff0f3e9444a69dbdae9a931442
-
Download size: 173 KB
-
Estimated disk space required: 5.5 MB
-
Estimated build time: less than 0.1 SBU
Newt Dependencies
Required
popt-1.19 and slang-2.3.3
Recommended
GPM-1.20.7 (runtime)
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/newt
Installation of newt
Install newt by running the following command:
sed -e '/install -m 644 $(LIBNEWT)/ s/^/#/' \
-e '/$(LIBNEWT):/,/rv/ s/^/#/' \
-e 's/$(LIBNEWT)/$(LIBNEWTSH)/g' \
-i Makefile.in &&
./configure --prefix=/usr \
--with-gpm-support \
--with-python=python3.11 &&
make
This package does not come with a test suite.
Now, as the root user:
make install
Command Explanations
sed -e … -i Makefile.in: Disables installation of a static library.
--with-gpm-support: This switch enables mouse support for newt applications through GPM.
--with-python=python3.11: By giving explicitly the name of the directory where python modules reside, this switch prevents building the python2 module.
Contents
Installed Programs: whiptail
Installed Library: libnewt.so, whiptcl.so, and /usr/lib/python3.11/site-packages/_snack.so
Installed Directories: None
Short Descriptions
whiptail displays dialog boxes from shell scripts.
libnewt.so is the library for color text mode, widget based user interfaces.
10.28 opencv-4.7.0
Introduction to opencv
The opencv package contains graphics libraries mainly aimed at real-time computer vision.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://github.com/opencv/opencv/archive/4.7.0/opencv-4.7.0.tar.gz
-
Download MD5 sum: 13e13244cb0cc6ec4f01eacd38d05d17
-
Download size: 87 MB
-
Estimated disk space required: 675 MB
-
Estimated build time: 3.3 SBU (using parallelism=4)
Additional Downloads
- Optional additional modules: https://github.com/opencv/opencv_contrib/archive/4.7.0/opencv_contrib-4.7.0.tar.gz
Note
One additional file that starts with “ippicv” (integrated performance primitives) will be automatically downloaded during the cmake portion of the build procedure. This download is specific to the system architecture.
opencv Dependencies
Required
Recommended
FFmpeg-5.1.2, gst-plugins-base-1.22.0, GTK+-3.24.36, JasPer-4.0.0, libexif-0.6.24, libjpeg-turbo-2.1.5.1, libpng-1.6.39, libtiff-4.5.0, libwebp-1.3.0, v4l-utils-1.22.1, and xine-lib-1.2.13
Optional
apache-ant-1.10.13, Doxygen-1.9.6, Java-19.0.2, Python-2.7.18, blas, Cuda, Eigen, OpenEXR, GDAL, lapack, libdc1394, NumPy, Threading Building Blocks (TBB), and VTK - The Visualization Toolkit,
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/opencv
Installation of opencv
If you downloaded the optional modules, unpack them now:
tar -xf ../opencv_contrib-4.7.0.tar.gz
Install opencv by running the following commands:
mkdir build &&
cd build &&
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DENABLE_CXX11=ON \
-DBUILD_PERF_TESTS=OFF \
-DWITH_XINE=ON \
-DBUILD_TESTS=OFF \
-DENABLE_PRECOMPILED_HEADERS=OFF \
-DCMAKE_SKIP_RPATH=ON \
-DBUILD_WITH_DEBUG_INFO=OFF \
-Wno-dev .. &&
make
The package does not come with a test suite.
Now, as the root user:
make install
Command Explanations
-DWITH_XINE=ON: This option instructs the make procedure to use xine-lib-1.2.13.
-DENABLE_PRECOMPILED_HEADERS=OFF: This option is needed for compatibility with gcc-6.1 and later.
-DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.7.0/modules: instructs the build system to build additional modules.
Contents
Installed Programs: opencv_annotation, opencv_interactive-calibration, opencv_model_diagnostics, opencv_version, opencv_visualisation, and setup_vars_opencv4.sh
Installed Libraries: libopencv_calib3d.so, libopencv_core.so, libopencv_dnn.so, libopencv_features2d.so, libopencv_flann.so, libopencv_gapi.so, libopencv_highgui.so, libopencv_imgcodecs.so, libopencv_imgproc.so, libopencv_ml.so, libopencv_objdetect.so, libopencv_photo.so, libopencv_stitching.so, libopencv_video.so, and libopencv_videoio.so
Installed Directories: /usr/include/opencv4, /usr/lib/cmake/opencv4, /usr/lib/python3.11/site-packages/cv2, /usr/share/licenses/opencv4, /usr/share/opencv4, and /usr/share/java/opencv4.
10.29 OpenJPEG-2.5.0
Introduction to OpenJPEG
OpenJPEG is an open-source implementation of the JPEG-2000 standard. OpenJPEG fully respects the JPEG-2000 specifications and can compress/decompress lossless 16-bit images.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://github.com/uclouvain/openjpeg/archive/v2.5.0/openjpeg-2.5.0.tar.gz
-
Download MD5 sum: 5cbb822a1203dd75b85639da4f4ecaab
-
Download size: 1.8 MB
-
Estimated disk space required: 13 MB
-
Estimated build time: 0.2 SBU
OpenJPEG Dependencies
Required
Optional
Little CMS-2.14, libpng-1.6.39, libtiff-4.5.0, and Doxygen-1.9.6 (to build the API documentation)
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/openjpeg2
Installation of OpenJPEG
Install OpenJPEG by running the following commands:
mkdir -v build &&
cd build &&
cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_STATIC_LIBS=OFF .. &&
make
This package does not come with a test suite.
Now, as the root user:
make install &&
pushd ../doc &&
for man in man/man?/* ; do
install -v -D -m 644 $man /usr/share/$man
done
popd
Contents
Installed Programs: opj_compress, opj_decompress, and opj_dump
Installed Libraries: libopenjp2.so
Installed Directories: /usr/include/openjpeg-2.5 and /usr/lib/openjpeg-2.5
Short Descriptions
opj_compress converts various image formats to the jpeg2000 format
opj_decompress converts jpeg2000 images to other image types
opj_dump reads in a jpeg2000 image and dumps the contents to stdout.
10.30 Pixman-0.42.2
Introduction to Pixman
The Pixman package contains a library that provides low-level pixel manipulation features such as image compositing and trapezoid rasterization.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://www.cairographics.org/releases/pixman-0.42.2.tar.gz
-
Download MD5 sum: a0f6ab8a1d8e0e2cd80e935525e2a864
-
Download size: 940 KB
-
Estimated disk space required: 30 MB (with tests)
-
Estimated build time: 0.5 SBU (with tests)
Pixman Dependencies
Optional
GTK+-2.24.33 and libpng-1.6.39 (for tests and demos)
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/pixman
Installation of Pixman
Install Pixman by running the following commands:
mkdir build &&
cd build &&
meson --prefix=/usr --buildtype=release &&
ninja
To test the results, issue: ninja test.
Now, as the root user:
ninja install
Command Explanations
--buildtype=release: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.
Contents
Installed Programs: None
Installed Library: libpixman-1.so
Installed Directory: /usr/include/pixman-1
Short Descriptions
libpixman-1.so contains functions that provide low-level pixel manipulation features.
10.31 Poppler-23.02.0
Introduction to Poppler
The Poppler package contains a PDF rendering library and command line tools used to manipulate PDF files. This is useful for providing PDF rendering functionality as a shared library.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://poppler.freedesktop.org/poppler-23.02.0.tar.xz
-
Download MD5 sum: ce7eef12c40dcd78998a43422c2c71ef
-
Download size: 1.8 MB
-
Estimated disk space required: 89 MB (with Qt5 library and tests)
-
Estimated build time: 0.6 SBU (with parallelism=4, Qt5 library, and tests)
Additional Downloads
Poppler Encoding Data
-
Download (HTTP): https://poppler.freedesktop.org/poppler-data-0.4.12.tar.gz
-
Download MD5 sum: 67ee4a40aa830b1f6e2560ce5f6471ba
-
Download size: 4.3 MB
-
Estimated disk space required: 26 MB
-
Estimated build time: less than 0.1 SBU
The additional package consists of encoding files for use with Poppler. The encoding files are optional and Poppler will automatically read them if they are present. When installed, they enable Poppler to render CJK and Cyrillic properly.
Poppler Dependencies
Required
CMake-3.25.2, Fontconfig-2.14.2, and gobject-introspection-1.74.0
Recommended
Boost-1.81.0, Cairo-1.17.6, Little CMS-2.14, libjpeg-turbo-2.1.5.1, libpng-1.6.39, nss-3.88.1, and OpenJPEG-2.5.0
Optional
cURL-7.88.1, gdk-pixbuf-2.42.10, git-2.39.2 (for downloading test files), GTK-Doc-1.33.2, GTK+-3.24.36, libtiff-4.5.0, Qt-5.15.8 (required for PDF support in Okular-22.12.2), and Qt-6.1 or later.
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/poppler
Installation of Poppler
Install Poppler by running the following commands:
mkdir build &&
cd build &&
cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DTESTDATADIR=$PWD/testfiles \
-DENABLE_UNSTABLE_API_ABI_HEADERS=ON \
.. &&
make
In order to run the test suite, some testcases are needed and can be obtained only from a git repository. The command to download them is: git clone –depth 1 https://gitlab.freedesktop.org/poppler/test.git testfiles. Then issue: LC_ALL=en_US.UTF-8 make test.
Now, as the root user:
make install
To install the documentation, run the following commands as root:
install -v -m755 -d /usr/share/doc/poppler-23.02.0 &&
cp -vr ../glib/reference/html /usr/share/doc/poppler-23.02.0
Poppler Data
If you downloaded the additional encoding data package, install it by issuing the following commands:
tar -xf ../../poppler-data-0.4.12.tar.gz &&
cd poppler-data-0.4.12
Now, as the root user:
make prefix=/usr install
Command Explanations
-DCMAKE_BUILD_TYPE=Release: This switch is used to apply a higher level of compiler optimizations.
-DTESTDATADIR=$PWD/testfiles: Tells the test programs where the auxiliary files are located.
-DENABLE_UNSTABLE_API_ABI_HEADERS=ON: Installs some old Xpdf headers required by certain programs.
-DENABLE_GTK_DOC=ON: Use this parameter if GTK-Doc is installed and you wish to rebuild and install the API documentation.
-DENABLE_BOOST=OFF: Use this parameter if you have not installed boost (the Splash backend for Qt5 recommends boost).
LC_ALL=en_US.UTF-8 make test: Runs the test suite. The environment variable LC_ALL=en_US.UTF-8 is only needed if the default locale does not include UTF-8.
Contents
Installed Programs: pdfattach, pdfdetach, pdffonts, pdfimages, pdfinfo, pdfseparate, pdfsig, pdftocairo, pdftohtml, pdftoppm, pdftops, pdftotext, and pdfunite
Installed Libraries: libpoppler.so, libpoppler-cpp.so, libpoppler-glib.so, and libpoppler-qt5.so
Installed Directories: /usr/include/poppler, /usr/share/poppler, and /usr/share/doc/poppler-23.02.0
Short Descriptions
pdfattach adds a new embedded file to an existing PDF file.
pdfdetach lists or extracts embedded files from PDF files.
pdffonts lists the fonts used in a PDF file along with various information for each font.
pdfimages saves images from a PDF file as PPM, PBM, or JPEG files.
pdfinfo prints the contents of the ‘Info’ dictionary (plus some other useful information) from a PDF file.
pdfseparate extracts single pages from a PDF file.
pdfsig verifies the digital signatures in a PDF document.
pdftocairo converts a PDF file to one of several formats (PNG, JPEG, PDF, PS, EPS, SVG) using the cairo output device of the poppler library.
pdftohtml converts a PDF file to HTML.
pdftoppm converts PDF files to PBM, PGM and PPM formats.
pdftops converts PDF files to Postscript format.
pdftotext converts PDF files to plain text.
pdfunite merges several PDF files, in the order of their occurrence on the command line, to one PDF output file.
libpoppler.so contains the API functions to render PDF files.
libpoppler-cpp.so is a C++ backend for rendering PDF files.
libpoppler-glib.so is a wrapper library used to interface the PDF rendering functions with GTK+.
libpoppler-qt5.so is a wrapper library used to interface the PDF rendering functions with Qt5.
10.32 Potrace-1.16
Introduction to Potrace
Potrace™ is a tool for transforming a bitmap (PBM, PGM, PPM, or BMP format) into one of several vector file formats.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://downloads.sourceforge.net/potrace/potrace-1.16.tar.gz
-
Download MD5 sum: 5f0bd87ddd9a620b0c4e65652ef93d69
-
Download size: 644 KB
-
Estimated disk space required: 7.1 MB (including tests)
-
Estimated build time: less than 0.1 SBU (including tests)
Potrace Dependencies
Recommended
LLVM-15.0.7 (including clang)
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/potrace
Installation of Potrace
Install Potrace by running the following commands:
./configure --prefix=/usr \
--disable-static \
--docdir=/usr/share/doc/potrace-1.16 \
--enable-a4 \
--enable-metric \
--with-libpotrace &&
make
To run the test suite, issue: make check.
Now, as the root user:
make install
Command Explanations
--enable-a4: Use A4 as the default paper size.
--enable-metric: Use metric units (centimeters) as default
--disable-static: This switch prevents installation of static versions of the libraries.
--with-libpotrace: Install the library and headers.
Contents
Installed Programs: mkbitmap, potrace
Installed Libraries: libpotrace.so
Installed Directories: /usr/share/doc/potrace-1.16
Short Descriptions
mkbitmap transforms images into bitmaps with scaling and filtering.
potrace transforms bitmaps into vector graphics.
libpotrace.so is a library for transforming bitmaps into vector graphics.
10.33 Qpdf-11.2.0
Introduction to Qpdf
The Qpdf package contains command-line programs and a library that does structural, content-preserving transformations on PDF files.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://github.com/qpdf/qpdf/releases/download/v11.2.0/qpdf-11.2.0.tar.gz
-
Download MD5 sum: 8fa1fc5d8b99e41c4f9d0760d6733756
-
Download size: 18 MB
-
Estimated disk space required: 249 MB (add 2 MB for tests)
-
Estimated build time: 0.5 SBU (using parallelism=4; add 0.5 SBU for tests)
Qpdf Dependencies
Required
Optional
fop-2.8, GnuTLS-3.8.0, and sphinx-6.1.3
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/qpdf
Installation of Qpdf
Install Qpdf by running the following commands:
mkdir build &&
cd build &&
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_STATIC_LIBS=OFF \
-DCMAKE_INSTALL_DOCDIR=/usr/share/doc/qpdf-11.2.0 \
.. &&
make
To test the results, issue: ctest.
Now, as the root user:
make install
Contents
Installed Programs: fix-qdf, qpdf, and zlib-flate
Installed Library: libqpdf.so
Installed Directories: /usr/lib/cmake/qpdf, /usr/include/qpdf, and /usr/share/doc/qpdf-11.2.0
Short Descriptions
fix-qdf is used to repair PDF files in QDF form after editing.
qpdf is used to convert one PDF file to another equivalent PDF file.
zlib-flate is a raw zlib compression program.
libqpdf.so contains the Qpdf API functions.
10.34 qrencode-4.1.1
Introduction to qrencode
Qrencode is a fast and compact library for encoding data in a QR Code symbol, a 2D symbology that can be scanned by handheld terminals such as a mobile phone with a CCD sensor.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://fukuchi.org/works/qrencode/qrencode-4.1.1.tar.bz2
-
Download MD5 sum: de7185bcab635a34730e1b73d4efa705
-
Download size: 451 KB
-
Estimated disk space required: 5.0 MB (with documentation, add 5 MB for tests)
-
Estimated build time: less than 0.1 SBU, add 0.1 SBU for tests
Qrencode Dependencies
Recommended
Optional
Doxygen-1.9.6 for generating documentation, and SDL2-2.26.3 for tests
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/qrencode
Installation of qrencode
Install libqrencode by running the following commands:
./configure --prefix=/usr &&
make
If you have installed Doxygen-1.9.6, you can build the documentation by issuing:
doxygen
The tests must be run after installing the package.
Now, as the root user:
make install
If you have built the optional documentation, install it as the root user:
install -vdm 755 /usr/share/doc/qrencode-4.1.1 &&
mv html/* /usr/share/doc/qrencode-4.1.1
To test the results, if you have passed the --with-tests option to configure, issue: make check.
Command Explanations
--with-tests: This option allows building the test programs. It requires SDL2-2.26.3.
--without-tools: This option prevents building the qrencode executable, removing the need for libpng-1.6.39.
Contents
Installed Program: qrencode
Installed Library: libqrencode.so
Installed Directory: /usr/share/doc/qrencode-4.1.1 (optional)
Short Descriptions
qrencode encodes input data in a QR Code and saves it as a PNG or EPS image.
libqrencode.so contains functions for encoding data in a QR code symbol.
10.35 sassc-3.6.2
Introduction to sassc
SassC is a wrapper around libsass, a CSS pre-processor language.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://github.com/sass/sassc/archive/3.6.2/sassc-3.6.2.tar.gz
-
Download MD5 sum: 4c3b06ce2979f2a9f0a35093e501d8bb
-
Download size: 28 KB
-
Estimated disk space required: 5.1 MB
-
Estimated build time: less than 0.1 SBU
Additional Downloads
-
Download (HTTP): https://github.com/sass/libsass/archive/3.6.5/libsass-3.6.5.tar.gz
-
Download MD5 sum: c49765b9b3824dcd4a7423225ca28bad
-
Download size: 336 KB
-
Estimated disk space required: 139 MB
-
Estimated build time: 0.4 SBU (Using parallelism=4)
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/sassc
Installation of sassc
First, build the library:
tar -xf ../libsass-3.6.5.tar.gz &&
pushd libsass-3.6.5 &&
autoreconf -fi &&
./configure --prefix=/usr --disable-static &&
make
This package does not come with a test suite.
Now, as the root user:
make install
Build the command line wrapper:
popd &&
autoreconf -fi &&
./configure --prefix=/usr &&
make
This package does not come with a test suite.
Now, as the root user:
make install
Contents
Installed Programs: sassc
Installed Libraries: libsass.so
Installed Directories: /usr/include/sass
Short Descriptions
sassc provides a command line interface to the libsass library.
10.36 woff2-1.0.2
Introduction to WOFF2
WOFF2 is a library for converting fonts from the TTF format to the WOFF 2.0 format. It also allows decompression from WOFF 2.0 to TTF. The WOFF 2.0 format uses the Brotli compression algorithm to compress fonts suitable for downloading in CSS @font-face rules.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://github.com/google/woff2/archive/v1.0.2/woff2-1.0.2.tar.gz
-
Download MD5 sum: 793c8844845351cb80730a74937e411b
-
Download size: 39 KB
-
Estimated disk space required: 1.6 MB
-
Estimated build time: less than 0.1 SBU
WOFF2 Dependencies
Required
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/woff2
Installation of WOFF2
Install WOFF2 by running the following commands:
mkdir out &&
cd out &&
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release .. &&
make
This package does not come with a test suite.
Now, as the root user:
make install
Contents
Installed Program: None
Installed Libraries: libwoff2common.so, libwoff2dec.so and libwoff2enc.so
Installed Directory: /usr/include/woff2
Short Descriptions
libwoff2common.so provides shared data used by the libwoff2dec and libwoff2enc libraries.
libwoff2dec.so is the WOFF2 decoder library.
libwoff2enc.so is the WOFF2 encoder library.