summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2020-06-14 14:24:27 +0100
committerSergei Trofimovich <slyfox@gentoo.org>2020-06-14 14:29:32 +0100
commite863a522b0d023696bbe3cd5b41268e7c0acad71 (patch)
tree22c5ecd05c837b30510f817beccbdcc817bbc7dc
parentdev-libs/libgnt: Added dev-util/glib-utils to BDEPEND (diff)
downloadgentoo-e863a522b0d023696bbe3cd5b41268e7c0acad71.tar.gz
gentoo-e863a522b0d023696bbe3cd5b41268e7c0acad71.tar.bz2
gentoo-e863a522b0d023696bbe3cd5b41268e7c0acad71.zip
media-fonts/terminus-font: install OpenType fonts with USE=otf
Reported-by: Sergey 'L29Ah' Alirzaev Closes: https://bugs.gentoo.org/717206 Package-Manager: Portage-2.3.100, Repoman-2.3.22 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
-rw-r--r--media-fonts/terminus-font/metadata.xml3
-rw-r--r--media-fonts/terminus-font/terminus-font-4.48-r1.ebuild101
2 files changed, 104 insertions, 0 deletions
diff --git a/media-fonts/terminus-font/metadata.xml b/media-fonts/terminus-font/metadata.xml
index 0dd408f312e3..9afbac8f221b 100644
--- a/media-fonts/terminus-font/metadata.xml
+++ b/media-fonts/terminus-font/metadata.xml
@@ -12,6 +12,9 @@
<flag name="distinct-l">
ll2 variant with more distinctive l (lowercase L)
</flag>
+ <flag name="otf">
+ Install Open Type Font (OTF) (required for HarfBuzz backend)
+ </flag>
<flag name="pcf">
Install Portable Compiled Font (PCF) (required for X11)
</flag>
diff --git a/media-fonts/terminus-font/terminus-font-4.48-r1.ebuild b/media-fonts/terminus-font/terminus-font-4.48-r1.ebuild
new file mode 100644
index 000000000000..33ff968ebb85
--- /dev/null
+++ b/media-fonts/terminus-font/terminus-font-4.48-r1.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+inherit font python-any-r1
+
+DESCRIPTION="A clean fixed font for the console and X11"
+HOMEPAGE="http://terminus-font.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}/${P}.tar.gz"
+
+LICENSE="OFL-1.1 GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="a-like-o +center-tilde distinct-l otf +pcf +pcf-unicode-only +psf quote
+ ru-dv +ru-g ru-i ru-k"
+
+DEPEND="app-arch/gzip
+ ${PYTHON_DEPS}
+ virtual/awk
+ otf? ( x11-apps/fonttosfnt )
+ pcf? ( x11-apps/bdftopcf )"
+RDEPEND=""
+
+FONTDIR=/usr/share/fonts/terminus
+FONT_CONF=( 75-yes-terminus.conf )
+DOCS=( README README-BG AUTHORS CHANGES )
+
+REQUIRED_USE="X? ( pcf )"
+
+pkg_setup() {
+ python_setup
+}
+
+src_prepare() {
+ default
+
+ # Upstream patches. Some of them are suggested to be applied by default
+ # dv - de NOT like latin g, but like caps greek delta
+ # ve NOT like greek beta, but like caps latin B
+ # ge - ge NOT like "mirrored" latin s, but like caps greek gamma
+ # ka - small ka NOT like minimised caps latin K, but like small latin k
+ use a-like-o && eapply "${S}"/alt/ao2.diff
+ use center-tilde && eapply "${S}"/alt/td1.diff
+ use distinct-l && eapply "${S}"/alt/ll2.diff
+ use ru-i && eapply "${S}"/alt/ij1.diff
+ use ru-k && eapply "${S}"/alt/ka2.diff
+ use ru-dv && eapply "${S}"/alt/dv1.diff
+ use ru-g && eapply "${S}"/alt/ge2.diff
+ use quote && eapply "${S}"/alt/gq2.diff
+}
+
+src_configure() {
+ local configure_args=(
+ --prefix="${EPREFIX}"/usr
+ --psfdir="${EPREFIX}"/usr/share/consolefonts
+ --x11dir="${EPREFIX}"/${FONTDIR}
+ )
+ # selfwritten configure script
+ ./configure "${configure_args[@]}" || die
+}
+
+src_compile() {
+ local args=(
+ $(usex psf 'psf psf-vgaw' '')
+ $(usex pcf 'pcf pcf-8bit' '')
+ )
+ [[ ${#args[@]} -gt 0 ]] && emake "${args[@]}"
+
+ # Follow https://fedoraproject.org/wiki/BitmapFontConversion#Steps:
+ # build ".otf" (bitmap-only) fonts out of .bdf ones
+ if use otf; then
+ # use unicode only bitmaps
+ fonttosfnt -v -b -c -g 2 -m 2 -o Terminus.otb ter-u*n.bdf || die
+ fonttosfnt -v -b -c -g 2 -m 2 -o Terminus-Bold.otb ter-u*b.bdf || die
+ fi
+}
+
+src_install() {
+ local args=(
+ $(usex psf 'install-psf install-psf-vgaw install-psf-ref' '')
+ $(usex pcf 'install-pcf' '')
+ )
+ # Set the CHECKDIR to a dummy location so we always get the same set of
+ # files installed regardless of what is in / or ROOT or wherever.
+ [[ ${#args[@]} -gt 0 ]] && emake DESTDIR="${D}" CHECKDIR="${D}" "${args[@]}"
+
+ # Remove trans files that the kbd package takes care of installing.
+ rm -f "${ED}"/usr/share/consoletrans/*.trans
+
+ if use pcf-unicode-only; then
+ # Only the ter-x* fonts are unicode (ISO-10646-1) based
+ rm -f "${ED}"/usr/share/fonts/terminus/ter-[0-9a-wy-z]* || die
+ fi
+
+ use otf && FONT_SUFFIX=otb
+ font_src_install
+
+ einstalldocs
+}