[v3,2/3] harfbuzz: New dependency for pango

Message ID 20211206170205.1596565-2-adolf.belka@ipfire.org
State Accepted
Commit 295985c800a1dccd620bd8a09bdfb3abe35d7b39
Headers
Series [v3,1/3] pango: Update to version 1.50.0 |

Commit Message

Adolf Belka Dec. 6, 2021, 5:02 p.m. UTC
  - v3 version has newer harfbuzz version
- lfs file created
- rootfile created

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/common/harfbuzz | 206 +++++++++++++++++++++++++++++++
 lfs/harfbuzz                     |  80 ++++++++++++
 2 files changed, 286 insertions(+)
 create mode 100644 config/rootfiles/common/harfbuzz
 create mode 100644 lfs/harfbuzz
  

Comments

Michael Tremer Dec. 7, 2021, 12:16 p.m. UTC | #1
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>

> On 6 Dec 2021, at 17:02, Adolf Belka <adolf.belka@ipfire.org> wrote:
> 
> - v3 version has newer harfbuzz version
> - lfs file created
> - rootfile created
> 
> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
> ---
> config/rootfiles/common/harfbuzz | 206 +++++++++++++++++++++++++++++++
> lfs/harfbuzz                     |  80 ++++++++++++
> 2 files changed, 286 insertions(+)
> create mode 100644 config/rootfiles/common/harfbuzz
> create mode 100644 lfs/harfbuzz
> 
> diff --git a/config/rootfiles/common/harfbuzz b/config/rootfiles/common/harfbuzz
> new file mode 100644
> index 000000000..798eee5dc
> --- /dev/null
> +++ b/config/rootfiles/common/harfbuzz
> @@ -0,0 +1,206 @@
> +#usr/bin/hb-ot-shape-closure
> +#usr/bin/hb-shape
> +#usr/bin/hb-subset
> +#usr/bin/hb-view
> +#usr/include/harfbuzz
> +#usr/include/harfbuzz/hb-aat-layout.h
> +#usr/include/harfbuzz/hb-aat.h
> +#usr/include/harfbuzz/hb-blob.h
> +#usr/include/harfbuzz/hb-buffer.h
> +#usr/include/harfbuzz/hb-common.h
> +#usr/include/harfbuzz/hb-deprecated.h
> +#usr/include/harfbuzz/hb-draw.h
> +#usr/include/harfbuzz/hb-face.h
> +#usr/include/harfbuzz/hb-font.h
> +#usr/include/harfbuzz/hb-ft.h
> +#usr/include/harfbuzz/hb-glib.h
> +#usr/include/harfbuzz/hb-map.h
> +#usr/include/harfbuzz/hb-ot-color.h
> +#usr/include/harfbuzz/hb-ot-deprecated.h
> +#usr/include/harfbuzz/hb-ot-font.h
> +#usr/include/harfbuzz/hb-ot-layout.h
> +#usr/include/harfbuzz/hb-ot-math.h
> +#usr/include/harfbuzz/hb-ot-meta.h
> +#usr/include/harfbuzz/hb-ot-metrics.h
> +#usr/include/harfbuzz/hb-ot-name.h
> +#usr/include/harfbuzz/hb-ot-shape.h
> +#usr/include/harfbuzz/hb-ot-var.h
> +#usr/include/harfbuzz/hb-ot.h
> +#usr/include/harfbuzz/hb-set.h
> +#usr/include/harfbuzz/hb-shape-plan.h
> +#usr/include/harfbuzz/hb-shape.h
> +#usr/include/harfbuzz/hb-style.h
> +#usr/include/harfbuzz/hb-subset.h
> +#usr/include/harfbuzz/hb-unicode.h
> +#usr/include/harfbuzz/hb-version.h
> +#usr/include/harfbuzz/hb.h
> +#usr/lib/cmake/harfbuzz
> +#usr/lib/cmake/harfbuzz/harfbuzz-config.cmake
> +#usr/lib/libharfbuzz-subset.la
> +#usr/lib/libharfbuzz-subset.so
> +usr/lib/libharfbuzz-subset.so.0
> +usr/lib/libharfbuzz-subset.so.0.30102.0
> +#usr/lib/libharfbuzz.la
> +#usr/lib/libharfbuzz.so
> +usr/lib/libharfbuzz.so.0
> +usr/lib/libharfbuzz.so.0.30102.0
> +#usr/lib/pkgconfig/harfbuzz-subset.pc
> +#usr/lib/pkgconfig/harfbuzz.pc
> +#usr/share/gtk-doc/html/harfbuzz
> +#usr/share/gtk-doc/html/harfbuzz/HarfBuzz.png
> +#usr/share/gtk-doc/html/harfbuzz/HarfBuzz.svg
> +#usr/share/gtk-doc/html/harfbuzz/a-clustering-example-for-levels-0-and-1.html
> +#usr/share/gtk-doc/html/harfbuzz/a-simple-shaping-example.html
> +#usr/share/gtk-doc/html/harfbuzz/aat-shaping.html
> +#usr/share/gtk-doc/html/harfbuzz/adding-text-to-the-buffer.html
> +#usr/share/gtk-doc/html/harfbuzz/annotation-glossary.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-0-6-0.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-10.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-11.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-2.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-20.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-21.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-22.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-26.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-28.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-30.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-31.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-33.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-38.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-39.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-41.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-42.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-5.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-7.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-8.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-1-0-5.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-1-1-2.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-1-1-3.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-1-2-3.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-1-3-3.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-1-4-0.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-1-4-2.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-1-4-3.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-1-5-0.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-1-6-0.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-1-7-2.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-1-7-5.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-1-7-7.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-1-8-0.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-1-8-1.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-1-8-5.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-1-8-6.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-1-9-0.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-2-0-0.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-2-1-0.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-2-2-0.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-2-3-0.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-2-4-0.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-2-5-0.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-2-6-0.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-2-6-3.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-2-6-5.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-2-6-8.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-2-7-3.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-2-8-2.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-2-9-0.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-2-9-1.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-3-0-0.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-3-1-0.html
> +#usr/share/gtk-doc/html/harfbuzz/api-index-full.html
> +#usr/share/gtk-doc/html/harfbuzz/apple-advanced-typography-api.html
> +#usr/share/gtk-doc/html/harfbuzz/buffers-language-script-and-direction.html
> +#usr/share/gtk-doc/html/harfbuzz/building.html
> +#usr/share/gtk-doc/html/harfbuzz/clusters.html
> +#usr/share/gtk-doc/html/harfbuzz/complex-scripts.html
> +#usr/share/gtk-doc/html/harfbuzz/core-api.html
> +#usr/share/gtk-doc/html/harfbuzz/customizing-unicode-functions.html
> +#usr/share/gtk-doc/html/harfbuzz/deprecated-api-index.html
> +#usr/share/gtk-doc/html/harfbuzz/fonts-and-faces-custom-functions.html
> +#usr/share/gtk-doc/html/harfbuzz/fonts-and-faces-native-opentype.html
> +#usr/share/gtk-doc/html/harfbuzz/fonts-and-faces-variable.html
> +#usr/share/gtk-doc/html/harfbuzz/fonts-and-faces.html
> +#usr/share/gtk-doc/html/harfbuzz/getting-started.html
> +#usr/share/gtk-doc/html/harfbuzz/graphite-shaping.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-aat-layout.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-blob.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-buffer.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-common.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-coretext.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-deprecated.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-directwrite.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-face.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-font.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ft.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-gdi.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-glib.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-graphite2.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-icu.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-map.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-color.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-font.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-layout.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-math.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-meta.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-metrics.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-name.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-shape.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-var.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-set.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape-plan.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-style.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-subset.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-unicode.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-uniscribe.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-version.html
> +#usr/share/gtk-doc/html/harfbuzz/harfbuzz.devhelp2
> +#usr/share/gtk-doc/html/harfbuzz/home.png
> +#usr/share/gtk-doc/html/harfbuzz/index.html
> +#usr/share/gtk-doc/html/harfbuzz/install-harfbuzz.html
> +#usr/share/gtk-doc/html/harfbuzz/integration-api.html
> +#usr/share/gtk-doc/html/harfbuzz/integration-coretext.html
> +#usr/share/gtk-doc/html/harfbuzz/integration-freetype.html
> +#usr/share/gtk-doc/html/harfbuzz/integration-icu.html
> +#usr/share/gtk-doc/html/harfbuzz/integration-python.html
> +#usr/share/gtk-doc/html/harfbuzz/integration-uniscribe.html
> +#usr/share/gtk-doc/html/harfbuzz/integration.html
> +#usr/share/gtk-doc/html/harfbuzz/left-insensitive.png
> +#usr/share/gtk-doc/html/harfbuzz/left.png
> +#usr/share/gtk-doc/html/harfbuzz/level-2.html
> +#usr/share/gtk-doc/html/harfbuzz/object-model-blobs.html
> +#usr/share/gtk-doc/html/harfbuzz/object-model-lifecycle.html
> +#usr/share/gtk-doc/html/harfbuzz/object-model-object-types.html
> +#usr/share/gtk-doc/html/harfbuzz/object-model-user-data.html
> +#usr/share/gtk-doc/html/harfbuzz/object-model.html
> +#usr/share/gtk-doc/html/harfbuzz/opentype-api.html
> +#usr/share/gtk-doc/html/harfbuzz/opentype-shaping-models.html
> +#usr/share/gtk-doc/html/harfbuzz/reference-manual.html
> +#usr/share/gtk-doc/html/harfbuzz/reordering-in-levels-0-and-1.html
> +#usr/share/gtk-doc/html/harfbuzz/right-insensitive.png
> +#usr/share/gtk-doc/html/harfbuzz/right.png
> +#usr/share/gtk-doc/html/harfbuzz/setting-buffer-properties.html
> +#usr/share/gtk-doc/html/harfbuzz/shaping-and-shape-plans.html
> +#usr/share/gtk-doc/html/harfbuzz/shaping-concepts.html
> +#usr/share/gtk-doc/html/harfbuzz/shaping-opentype-features.html
> +#usr/share/gtk-doc/html/harfbuzz/shaping-operations.html
> +#usr/share/gtk-doc/html/harfbuzz/shaping-plans-and-caching.html
> +#usr/share/gtk-doc/html/harfbuzz/shaping-shaper-selection.html
> +#usr/share/gtk-doc/html/harfbuzz/style-api.html
> +#usr/share/gtk-doc/html/harfbuzz/style.css
> +#usr/share/gtk-doc/html/harfbuzz/subset-api.html
> +#usr/share/gtk-doc/html/harfbuzz/terminology.html
> +#usr/share/gtk-doc/html/harfbuzz/text-runs.html
> +#usr/share/gtk-doc/html/harfbuzz/the-distinction-between-levels-0-and-1.html
> +#usr/share/gtk-doc/html/harfbuzz/unicode-character-categories.html
> +#usr/share/gtk-doc/html/harfbuzz/up-insensitive.png
> +#usr/share/gtk-doc/html/harfbuzz/up.png
> +#usr/share/gtk-doc/html/harfbuzz/user-manual.html
> +#usr/share/gtk-doc/html/harfbuzz/utilities-common-types-apis.html
> +#usr/share/gtk-doc/html/harfbuzz/utilities.html
> +#usr/share/gtk-doc/html/harfbuzz/what-does-harfbuzz-do.html
> +#usr/share/gtk-doc/html/harfbuzz/what-harfbuzz-doesnt-do.html
> +#usr/share/gtk-doc/html/harfbuzz/what-is-harfbuzz.html
> +#usr/share/gtk-doc/html/harfbuzz/why-do-i-need-a-shaping-engine.html
> +#usr/share/gtk-doc/html/harfbuzz/why-is-it-called-harfbuzz.html
> +#usr/share/gtk-doc/html/harfbuzz/working-with-harfbuzz-clusters.html
> diff --git a/lfs/harfbuzz b/lfs/harfbuzz
> new file mode 100644
> index 000000000..02edb391e
> --- /dev/null
> +++ b/lfs/harfbuzz
> @@ -0,0 +1,80 @@
> +###############################################################################
> +#                                                                             #
> +# IPFire.org - A linux based firewall                                         #
> +# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
> +#                                                                             #
> +# This program is free software: you can redistribute it and/or modify        #
> +# it under the terms of the GNU General Public License as published by        #
> +# the Free Software Foundation, either version 3 of the License, or           #
> +# (at your option) any later version.                                         #
> +#                                                                             #
> +# This program is distributed in the hope that it will be useful,             #
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
> +# GNU General Public License for more details.                                #
> +#                                                                             #
> +# You should have received a copy of the GNU General Public License           #
> +# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
> +#                                                                             #
> +###############################################################################
> +
> +###############################################################################
> +# Definitions
> +###############################################################################
> +
> +include Config
> +
> +VER        = 3.1.2
> +
> +THISAPP    = harfbuzz-$(VER)
> +DL_FILE    = $(THISAPP).tar.xz
> +DL_FROM    = $(URL_IPFIRE)
> +DIR_APP    = $(DIR_SRC)/$(THISAPP)
> +TARGET     = $(DIR_INFO)/$(THISAPP)
> +
> +###############################################################################
> +# Top-level Rules
> +###############################################################################
> +
> +objects = $(DL_FILE)
> +
> +$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
> +
> +$(DL_FILE)_MD5 = fabbb4bafe030877a21f7bbc0c7cba05
> +
> +install : $(TARGET)
> +
> +check : $(patsubst %,$(DIR_CHK)/%,$(objects))
> +
> +download :$(patsubst %,$(DIR_DL)/%,$(objects))
> +
> +md5 : $(subst %,%_MD5,$(objects))
> +
> +###############################################################################
> +# Downloading, checking, md5sum
> +###############################################################################
> +
> +$(patsubst %,$(DIR_CHK)/%,$(objects)) :
> +	@$(CHECK)
> +
> +$(patsubst %,$(DIR_DL)/%,$(objects)) :
> +	@$(LOAD)
> +
> +$(subst %,%_MD5,$(objects)) :
> +	@$(MD5)
> +
> +###############################################################################
> +# Installation Details
> +###############################################################################
> +
> +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
> +	@$(PREBUILD)
> +	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
> +	$(UPDATE_AUTOMAKE)
> +	cd $(DIR_APP) && ./configure \
> +                     --prefix=/usr \
> +                     --disable-static
> +	cd $(DIR_APP) && make $(MAKETUNING)
> +	cd $(DIR_APP) && make install
> +	@rm -rf $(DIR_APP)
> +	@$(POSTBUILD)
> -- 
> 2.34.1
>
  

Patch

diff --git a/config/rootfiles/common/harfbuzz b/config/rootfiles/common/harfbuzz
new file mode 100644
index 000000000..798eee5dc
--- /dev/null
+++ b/config/rootfiles/common/harfbuzz
@@ -0,0 +1,206 @@ 
+#usr/bin/hb-ot-shape-closure
+#usr/bin/hb-shape
+#usr/bin/hb-subset
+#usr/bin/hb-view
+#usr/include/harfbuzz
+#usr/include/harfbuzz/hb-aat-layout.h
+#usr/include/harfbuzz/hb-aat.h
+#usr/include/harfbuzz/hb-blob.h
+#usr/include/harfbuzz/hb-buffer.h
+#usr/include/harfbuzz/hb-common.h
+#usr/include/harfbuzz/hb-deprecated.h
+#usr/include/harfbuzz/hb-draw.h
+#usr/include/harfbuzz/hb-face.h
+#usr/include/harfbuzz/hb-font.h
+#usr/include/harfbuzz/hb-ft.h
+#usr/include/harfbuzz/hb-glib.h
+#usr/include/harfbuzz/hb-map.h
+#usr/include/harfbuzz/hb-ot-color.h
+#usr/include/harfbuzz/hb-ot-deprecated.h
+#usr/include/harfbuzz/hb-ot-font.h
+#usr/include/harfbuzz/hb-ot-layout.h
+#usr/include/harfbuzz/hb-ot-math.h
+#usr/include/harfbuzz/hb-ot-meta.h
+#usr/include/harfbuzz/hb-ot-metrics.h
+#usr/include/harfbuzz/hb-ot-name.h
+#usr/include/harfbuzz/hb-ot-shape.h
+#usr/include/harfbuzz/hb-ot-var.h
+#usr/include/harfbuzz/hb-ot.h
+#usr/include/harfbuzz/hb-set.h
+#usr/include/harfbuzz/hb-shape-plan.h
+#usr/include/harfbuzz/hb-shape.h
+#usr/include/harfbuzz/hb-style.h
+#usr/include/harfbuzz/hb-subset.h
+#usr/include/harfbuzz/hb-unicode.h
+#usr/include/harfbuzz/hb-version.h
+#usr/include/harfbuzz/hb.h
+#usr/lib/cmake/harfbuzz
+#usr/lib/cmake/harfbuzz/harfbuzz-config.cmake
+#usr/lib/libharfbuzz-subset.la
+#usr/lib/libharfbuzz-subset.so
+usr/lib/libharfbuzz-subset.so.0
+usr/lib/libharfbuzz-subset.so.0.30102.0
+#usr/lib/libharfbuzz.la
+#usr/lib/libharfbuzz.so
+usr/lib/libharfbuzz.so.0
+usr/lib/libharfbuzz.so.0.30102.0
+#usr/lib/pkgconfig/harfbuzz-subset.pc
+#usr/lib/pkgconfig/harfbuzz.pc
+#usr/share/gtk-doc/html/harfbuzz
+#usr/share/gtk-doc/html/harfbuzz/HarfBuzz.png
+#usr/share/gtk-doc/html/harfbuzz/HarfBuzz.svg
+#usr/share/gtk-doc/html/harfbuzz/a-clustering-example-for-levels-0-and-1.html
+#usr/share/gtk-doc/html/harfbuzz/a-simple-shaping-example.html
+#usr/share/gtk-doc/html/harfbuzz/aat-shaping.html
+#usr/share/gtk-doc/html/harfbuzz/adding-text-to-the-buffer.html
+#usr/share/gtk-doc/html/harfbuzz/annotation-glossary.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-0-6-0.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-10.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-11.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-2.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-20.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-21.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-22.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-26.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-28.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-30.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-31.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-33.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-38.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-39.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-41.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-42.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-5.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-7.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-0-9-8.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-1-0-5.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-1-1-2.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-1-1-3.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-1-2-3.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-1-3-3.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-1-4-0.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-1-4-2.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-1-4-3.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-1-5-0.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-1-6-0.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-1-7-2.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-1-7-5.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-1-7-7.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-1-8-0.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-1-8-1.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-1-8-5.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-1-8-6.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-1-9-0.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-2-0-0.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-2-1-0.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-2-2-0.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-2-3-0.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-2-4-0.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-2-5-0.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-2-6-0.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-2-6-3.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-2-6-5.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-2-6-8.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-2-7-3.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-2-8-2.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-2-9-0.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-2-9-1.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-3-0-0.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-3-1-0.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-full.html
+#usr/share/gtk-doc/html/harfbuzz/apple-advanced-typography-api.html
+#usr/share/gtk-doc/html/harfbuzz/buffers-language-script-and-direction.html
+#usr/share/gtk-doc/html/harfbuzz/building.html
+#usr/share/gtk-doc/html/harfbuzz/clusters.html
+#usr/share/gtk-doc/html/harfbuzz/complex-scripts.html
+#usr/share/gtk-doc/html/harfbuzz/core-api.html
+#usr/share/gtk-doc/html/harfbuzz/customizing-unicode-functions.html
+#usr/share/gtk-doc/html/harfbuzz/deprecated-api-index.html
+#usr/share/gtk-doc/html/harfbuzz/fonts-and-faces-custom-functions.html
+#usr/share/gtk-doc/html/harfbuzz/fonts-and-faces-native-opentype.html
+#usr/share/gtk-doc/html/harfbuzz/fonts-and-faces-variable.html
+#usr/share/gtk-doc/html/harfbuzz/fonts-and-faces.html
+#usr/share/gtk-doc/html/harfbuzz/getting-started.html
+#usr/share/gtk-doc/html/harfbuzz/graphite-shaping.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-aat-layout.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-blob.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-buffer.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-common.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-coretext.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-deprecated.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-directwrite.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-face.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-font.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ft.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-gdi.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-glib.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-graphite2.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-icu.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-map.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-color.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-font.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-layout.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-math.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-meta.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-metrics.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-name.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-shape.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-var.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-set.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape-plan.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-style.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-subset.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-unicode.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-uniscribe.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-version.html
+#usr/share/gtk-doc/html/harfbuzz/harfbuzz.devhelp2
+#usr/share/gtk-doc/html/harfbuzz/home.png
+#usr/share/gtk-doc/html/harfbuzz/index.html
+#usr/share/gtk-doc/html/harfbuzz/install-harfbuzz.html
+#usr/share/gtk-doc/html/harfbuzz/integration-api.html
+#usr/share/gtk-doc/html/harfbuzz/integration-coretext.html
+#usr/share/gtk-doc/html/harfbuzz/integration-freetype.html
+#usr/share/gtk-doc/html/harfbuzz/integration-icu.html
+#usr/share/gtk-doc/html/harfbuzz/integration-python.html
+#usr/share/gtk-doc/html/harfbuzz/integration-uniscribe.html
+#usr/share/gtk-doc/html/harfbuzz/integration.html
+#usr/share/gtk-doc/html/harfbuzz/left-insensitive.png
+#usr/share/gtk-doc/html/harfbuzz/left.png
+#usr/share/gtk-doc/html/harfbuzz/level-2.html
+#usr/share/gtk-doc/html/harfbuzz/object-model-blobs.html
+#usr/share/gtk-doc/html/harfbuzz/object-model-lifecycle.html
+#usr/share/gtk-doc/html/harfbuzz/object-model-object-types.html
+#usr/share/gtk-doc/html/harfbuzz/object-model-user-data.html
+#usr/share/gtk-doc/html/harfbuzz/object-model.html
+#usr/share/gtk-doc/html/harfbuzz/opentype-api.html
+#usr/share/gtk-doc/html/harfbuzz/opentype-shaping-models.html
+#usr/share/gtk-doc/html/harfbuzz/reference-manual.html
+#usr/share/gtk-doc/html/harfbuzz/reordering-in-levels-0-and-1.html
+#usr/share/gtk-doc/html/harfbuzz/right-insensitive.png
+#usr/share/gtk-doc/html/harfbuzz/right.png
+#usr/share/gtk-doc/html/harfbuzz/setting-buffer-properties.html
+#usr/share/gtk-doc/html/harfbuzz/shaping-and-shape-plans.html
+#usr/share/gtk-doc/html/harfbuzz/shaping-concepts.html
+#usr/share/gtk-doc/html/harfbuzz/shaping-opentype-features.html
+#usr/share/gtk-doc/html/harfbuzz/shaping-operations.html
+#usr/share/gtk-doc/html/harfbuzz/shaping-plans-and-caching.html
+#usr/share/gtk-doc/html/harfbuzz/shaping-shaper-selection.html
+#usr/share/gtk-doc/html/harfbuzz/style-api.html
+#usr/share/gtk-doc/html/harfbuzz/style.css
+#usr/share/gtk-doc/html/harfbuzz/subset-api.html
+#usr/share/gtk-doc/html/harfbuzz/terminology.html
+#usr/share/gtk-doc/html/harfbuzz/text-runs.html
+#usr/share/gtk-doc/html/harfbuzz/the-distinction-between-levels-0-and-1.html
+#usr/share/gtk-doc/html/harfbuzz/unicode-character-categories.html
+#usr/share/gtk-doc/html/harfbuzz/up-insensitive.png
+#usr/share/gtk-doc/html/harfbuzz/up.png
+#usr/share/gtk-doc/html/harfbuzz/user-manual.html
+#usr/share/gtk-doc/html/harfbuzz/utilities-common-types-apis.html
+#usr/share/gtk-doc/html/harfbuzz/utilities.html
+#usr/share/gtk-doc/html/harfbuzz/what-does-harfbuzz-do.html
+#usr/share/gtk-doc/html/harfbuzz/what-harfbuzz-doesnt-do.html
+#usr/share/gtk-doc/html/harfbuzz/what-is-harfbuzz.html
+#usr/share/gtk-doc/html/harfbuzz/why-do-i-need-a-shaping-engine.html
+#usr/share/gtk-doc/html/harfbuzz/why-is-it-called-harfbuzz.html
+#usr/share/gtk-doc/html/harfbuzz/working-with-harfbuzz-clusters.html
diff --git a/lfs/harfbuzz b/lfs/harfbuzz
new file mode 100644
index 000000000..02edb391e
--- /dev/null
+++ b/lfs/harfbuzz
@@ -0,0 +1,80 @@ 
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 3.1.2
+
+THISAPP    = harfbuzz-$(VER)
+DL_FILE    = $(THISAPP).tar.xz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = fabbb4bafe030877a21f7bbc0c7cba05
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+	@$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+	@$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+	@$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+	@$(PREBUILD)
+	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+	$(UPDATE_AUTOMAKE)
+	cd $(DIR_APP) && ./configure \
+                     --prefix=/usr \
+                     --disable-static
+	cd $(DIR_APP) && make $(MAKETUNING)
+	cd $(DIR_APP) && make install
+	@rm -rf $(DIR_APP)
+	@$(POSTBUILD)