aboutsummaryrefslogtreecommitdiff
path: root/projects/dejavu-fonts
diff options
context:
space:
mode:
Diffstat (limited to 'projects/dejavu-fonts')
-rw-r--r--projects/dejavu-fonts/configs/unicode/ucd-files2
-rw-r--r--projects/dejavu-fonts/configs/unicode/ucd-version1
-rwxr-xr-xprojects/dejavu-fonts/dejavu-fonts26
-rw-r--r--projects/dejavu-fonts/dejavu-fonts-helper28
-rw-r--r--projects/dejavu-fonts/patches/0001-Ignore-fc-lang-UnicodeData.txt-and-Blocks.txt.patch28
-rw-r--r--projects/dejavu-fonts/patches/0001-Preserve-unicode-source-files-thru-git-clean-df.patch24
-rw-r--r--projects/dejavu-fonts/patches/0002-Require-a-recent-fontforge-for-reproducibility.patch51
7 files changed, 125 insertions, 35 deletions
diff --git a/projects/dejavu-fonts/configs/unicode/ucd-files b/projects/dejavu-fonts/configs/unicode/ucd-files
new file mode 100644
index 00000000..9b46bb9a
--- /dev/null
+++ b/projects/dejavu-fonts/configs/unicode/ucd-files
@@ -0,0 +1,2 @@
+Blocks.txt
+UnicodeData.txt
diff --git a/projects/dejavu-fonts/configs/unicode/ucd-version b/projects/dejavu-fonts/configs/unicode/ucd-version
new file mode 100644
index 00000000..275283a1
--- /dev/null
+++ b/projects/dejavu-fonts/configs/unicode/ucd-version
@@ -0,0 +1 @@
+11.0.0
diff --git a/projects/dejavu-fonts/dejavu-fonts b/projects/dejavu-fonts/dejavu-fonts
index 037aa3d9..d380235f 100755
--- a/projects/dejavu-fonts/dejavu-fonts
+++ b/projects/dejavu-fonts/dejavu-fonts
@@ -26,17 +26,24 @@ usage() {
download() {
local repository="$project"
+ local sources_path="$(project_sources_path "$project" "$repository" "$@")"
+ local ucd_version="$(dejavu_fonts_ucd_version "$UNICODE" "$@")"
+ local ucd_files_path="$(dejavu_fonts_ucd_files_path "$UNICODE" "$@")"
- project_download_git "$project" \
- "$repository" \
- 'https://github.com/dejavu-fonts/dejavu-fonts.git' \
- "$@"
+ local -a download_list
+ local -a ucd_files
- local sources_path="$(project_sources_path "$project" "$repository" "$@")"
+ mapfile -t ucd_files < "$ucd_files_path"
+
+ for file in "${ucd_files[@]}"; do
+ download_list+=("https://www.unicode.org/Public/$ucd_version/ucd/$file")
+ done
- download_wrapper "$sources_path/resources" \
- 'https://www.unicode.org/Public/UNIDATA/UnicodeData.txt' \
- 'https://www.unicode.org/Public/UNIDATA/Blocks.txt'
+ project_download_git "$project" "$repository" https://github.com/dejavu-fonts/dejavu-fonts.git "$@"
+ download_wrapper "$sources_path/resources" "${download_list[@]}"
+
+ # Create a symlink to fontconfig's orthography files
+ ln -fs ../../fontconfig/fc-lang "$sources_path/resources/fc-lang"
}
download_check() {
@@ -83,9 +90,6 @@ build() {
mkdir -p "$build_path"
- # Create a symlink to the orthography files provided by fontconfig
- ln -s "$root/$SOURCES/fontconfig/fc-lang" "$sources_path/resources/fc-lang"
-
make -C "$sources_path" -j"$TASKS"
cp "$sources_path/build"/[!.]*.ttf "$build_path"
make -C "$sources_path" clean
diff --git a/projects/dejavu-fonts/dejavu-fonts-helper b/projects/dejavu-fonts/dejavu-fonts-helper
new file mode 100644
index 00000000..ff750588
--- /dev/null
+++ b/projects/dejavu-fonts/dejavu-fonts-helper
@@ -0,0 +1,28 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2018 Andrew Robbins <contact@andrewrobbins.info>
+#
+# 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/>.
+
+UCD_FILES='ucd-files'
+UCD_VERSION='ucd-version'
+UNICODE='unicode'
+
+dejavu_fonts_ucd_version() {
+ project_file_contents "$project" "$CONFIGS" "$UCD_VERSION" "$@"
+}
+
+dejavu_fonts_ucd_files_path() {
+ project_file_path "$project" "$CONFIGS" "$UCD_FILES" "$@"
+}
diff --git a/projects/dejavu-fonts/patches/0001-Ignore-fc-lang-UnicodeData.txt-and-Blocks.txt.patch b/projects/dejavu-fonts/patches/0001-Ignore-fc-lang-UnicodeData.txt-and-Blocks.txt.patch
new file mode 100644
index 00000000..df92cfc0
--- /dev/null
+++ b/projects/dejavu-fonts/patches/0001-Ignore-fc-lang-UnicodeData.txt-and-Blocks.txt.patch
@@ -0,0 +1,28 @@
+From b5ece2b11361fdce57cab3e0504babc0b616c396 Mon Sep 17 00:00:00 2001
+From: Andrew Robbins <contact@andrewrobbins.info>
+Date: Mon, 10 Dec 2018 23:18:26 -0500
+Subject: [PATCH] Ignore fc-lang, UnicodeData.txt, and Blocks.txt
+
+UnicodeData.txt and Blocks.txt should be preserved after a
+`git clean -df` to avoid needless refetching of these resources.
+
+Additionally, the fc-lang symlink is kept in order to avoid
+recreating it before each build.
+---
+ .gitignore | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/.gitignore b/.gitignore
+index dedd2b5..74203a0 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -2,3 +2,6 @@ build/
+ dist/
+ tmp/
+ /src/*.sfd~
++resources/Blocks.txt
++resources/UnicodeData.txt
++resources/fc-lang
+--
+2.7.4
+
diff --git a/projects/dejavu-fonts/patches/0001-Preserve-unicode-source-files-thru-git-clean-df.patch b/projects/dejavu-fonts/patches/0001-Preserve-unicode-source-files-thru-git-clean-df.patch
deleted file mode 100644
index 52798b1e..00000000
--- a/projects/dejavu-fonts/patches/0001-Preserve-unicode-source-files-thru-git-clean-df.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 9ac03500773a1cc69b198ce1c43770a7fc66da98 Mon Sep 17 00:00:00 2001
-From: Andrew Robbins <contact@andrewrobbins.info>
-Date: Tue, 5 Sep 2017 23:57:34 -0400
-Subject: [PATCH] Preserve unicode source files thru `git clean -df`
-
-UnicodeData.txt and Blocks.txt should be preserved after a
-`git clean -df` to avoid needless refetching of these resources.
----
- .gitignore | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/.gitignore b/.gitignore
-index dedd2b5..841e748 100644
---- a/.gitignore
-+++ b/.gitignore
-@@ -2,3 +2,5 @@ build/
- dist/
- tmp/
- /src/*.sfd~
-+resources/Blocks.txt
-+resources/UnicodeData.txt
---
-1.9.1
-
diff --git a/projects/dejavu-fonts/patches/0002-Require-a-recent-fontforge-for-reproducibility.patch b/projects/dejavu-fonts/patches/0002-Require-a-recent-fontforge-for-reproducibility.patch
new file mode 100644
index 00000000..c9449e0c
--- /dev/null
+++ b/projects/dejavu-fonts/patches/0002-Require-a-recent-fontforge-for-reproducibility.patch
@@ -0,0 +1,51 @@
+From 7098e955d8d0a061132aaec1429fc032e3d2edab Mon Sep 17 00:00:00 2001
+From: Andrew Robbins <contact@andrewrobbins.info>
+Date: Mon, 10 Dec 2018 20:31:42 -0500
+Subject: [PATCH] Require a recent fontforge for reproducibility
+
+The required version is set to 20171220 which is the earliest
+date from which fontforge built from source was able to produce
+fonts deterministically. "20171220" refers to upstream revision
+69e561773b91e37096a855f0353b1d6781a61250
+
+Note there was not an actual dejavu-fonts release made on 2017-12-20;
+the date is intended to be both a reference point, as previously
+described, and a mechanism to prevent non-deterministic fonts being
+produced by Libreboot's build system due to an unsupported version
+of fontforge being used.
+---
+ scripts/generate.pe | 4 ++--
+ scripts/generate.py | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/scripts/generate.pe b/scripts/generate.pe
+index 5d9d03d..144e8b1 100755
+--- a/scripts/generate.pe
++++ b/scripts/generate.pe
+@@ -16,8 +16,8 @@
+ def_gen_flags = 0x20 + 0x40 + 0x800
+ exp_gen_flags = def_gen_flags + 8
+
+-if ($version < "20080330")
+- Error("Your version of FontForge is too old - 20080330 or newer is required");
++if ($version < "20171220")
++ Error("Your version of FontForge is too old - 20171220 or newer is required");
+ endif
+ # FoundryName is not used in TTF generation
+ SetPref("FoundryName", "DejaVu")
+diff --git a/scripts/generate.py b/scripts/generate.py
+index 467d52b..168a2be 100755
+--- a/scripts/generate.py
++++ b/scripts/generate.py
+@@ -7,7 +7,7 @@
+ # chmod +x generate.pe
+ # ./generate.pe *.sfd
+ import fontforge, sys;
+-required_version = "20080330"
++required_version = "20171220"
+
+ # font generation flags:
+ # omit-instructions => do not include TT instructions (for experimental typefaces)
+--
+2.7.4
+