blob: 2570d0a49431ddb42bd972540ee151e7bdb3da86 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/eclass/font.eclass,v 1.20 2006/10/30 05:56:11 dberkholz Exp $
# Author: foser <foser@gentoo.org>
# Font Eclass
#
# Eclass to make font installation uniform
inherit eutils
#
# Variable declarations
#
FONT_SUFFIX="" # Space delimited list of font suffixes to install
FONT_S="${S}" # Dir containing the fonts
FONT_PN="${PN}" # Last part of $FONTDIR
FONTDIR="/usr/share/fonts/${FONT_PN}" # this is where the fonts are installed
DOCS="" # Docs to install
IUSE="X"
DEPEND="X? ( || ( x11-apps/mkfontdir virtual/x11 ) )
media-libs/fontconfig"
#
# Public functions
#
font_xfont_config() {
# create Xfont files
if use X ; then
einfo "Creating fonts.scale & fonts.dir ..."
mkfontscale "${D}${FONTDIR}"
mkfontdir \
-e /usr/share/fonts/encodings \
-e /usr/share/fonts/encodings/large \
"${D}${FONTDIR}"
if [ -e "${FONT_S}/fonts.alias" ] ; then
doins "${FONT_S}/fonts.alias"
fi
fi
}
font_xft_config() {
if ! has_version '>=media-libs/fontconfig-2.4'; then
# create fontconfig cache
einfo "Creating fontconfig cache ..."
# Mac OS X has fc-cache at /usr/X11R6/bin
HOME="/root" fc-cache -f "${D}${FONTDIR}"
fi
}
#
# Public inheritable functions
#
font_src_install() {
local suffix
cd "${FONT_S}"
insinto "${FONTDIR}"
for suffix in ${FONT_SUFFIX}; do
doins *.${suffix}
done
rm -f fonts.{dir,scale} encodings.dir
font_xfont_config
font_xft_config
cd "${S}"
# try to install some common docs
DOCS="${DOCS} COPYRIGHT README NEWS"
dodoc ${DOCS} 2> /dev/null
}
font_pkg_setup() {
# make sure we get no colissions
# setup is not the nicest place, but preinst doesn't cut it
[[ -e "${FONTDIR}/fonts.cache-1" ]] && rm -f "${FONTDIR}/fonts.cache-1"
}
font_pkg_postinst() {
if has_version '>=media-libs/fontconfig-2.4'; then
if [ ${ROOT} == "/" ]; then
ebegin "Updating global fontcache"
fc-cache -s
eend $?
fi
fi
}
font_pkg_postrm() {
if has_version '>=media-libs/fontconfig-2.4'; then
if [ ${ROOT} == "/" ]; then
ebegin "Updating global fontcache"
fc-cache -s
eend $?
fi
fi
}
EXPORT_FUNCTIONS src_install pkg_setup pkg_postinst pkg_postrm
|