blob: 5bfd876e6c23c030094584f0479790243caf93cc (
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
124
125
126
127
128
129
130
131
132
|
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-libs/fontconfig/fontconfig-2.8.0-r2.ebuild,v 1.2 2011/10/13 16:59:41 pva Exp $
EAPI="4"
inherit autotools eutils libtool toolchain-funcs flag-o-matic
DESCRIPTION="A library for configuring and customizing font access"
HOMEPAGE="http://fontconfig.org/"
SRC_URI="http://fontconfig.org/release/${P}.tar.gz"
LICENSE="MIT"
SLOT="1.0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
IUSE="doc static-libs"
# Purposefully dropped the xml USE flag and libxml2 support. Expat is the
# default and used by every distro. See bug #283191.
RDEPEND=">=media-libs/freetype-2.2.1
>=dev-libs/expat-1.95.3"
DEPEND="${RDEPEND}
dev-util/pkgconfig
doc? (
app-text/docbook-sgml-utils[jadetex]
=app-text/docbook-sgml-dtd-3.1*
)"
PDEPEND="app-admin/eselect-fontconfig
virtual/ttf-fonts"
src_prepare() {
epatch "${FILESDIR}"/${PN}-2.7.1-latin-reorder.patch # 130466
epatch "${FILESDIR}"/${PN}-2.3.2-docbook.patch # 310157
epatch "${FILESDIR}"/${PN}-2.8.0-urw-aliases.patch # 303591
eautoreconf
# Needed to get a sane .so versioning on fbsd, please dont drop
# If you have to run eautoreconf, you can also leave the elibtoolize call as
# it will be a no-op.
elibtoolize
}
src_configure() {
local myconf
if tc-is-cross-compiler; then
myconf="--with-arch=${ARCH}"
replace-flags -mtune=* -DMTUNE_CENSORED
replace-flags -march=* -DMARCH_CENSORED
fi
econf \
$(use_enable static-libs static) \
$(use_enable doc docs) \
$(use_enable doc docbook) \
--localstatedir=/var \
--with-default-fonts=/usr/share/fonts \
--with-add-fonts=/usr/local/share/fonts \
${myconf} || die
}
src_install() {
emake DESTDIR="${D}" install || die "emake install"
emake DESTDIR="${D}" -C doc install-man || die "emake install-man"
find "${ED}" -name '*.la' -exec rm -f {} +
#fc-lang directory contains language coverage datafiles
#which are needed to test the coverage of fonts.
insinto /usr/share/fc-lang
doins fc-lang/*.orth
insinto /etc/fonts
doins "${S}"/fonts.conf
dodoc doc/fontconfig-user.{txt,pdf}
dodoc AUTHORS ChangeLog README
if [[ -e ${D}usr/share/doc/fontconfig/ ]]; then
mv "${D}"usr/share/doc/fontconfig/* "${D}"/usr/share/doc/${P}
rm -rf "${D}"usr/share/doc/fontconfig
fi
# Changes should be made to /etc/fonts/local.conf, and as we had
# too much problems with broken fonts.conf, we force update it ...
# <azarah@gentoo.org> (11 Dec 2002)
echo 'CONFIG_PROTECT_MASK="/etc/fonts/fonts.conf"' > "${T}"/37fontconfig
doenvd "${T}"/37fontconfig
# As of fontconfig 2.7, everything sticks their noses in here.
dodir /etc/sandbox.d
echo 'SANDBOX_PREDICT="/var/cache/fontconfig"' > "${D}"/etc/sandbox.d/37fontconfig
}
pkg_preinst() {
# Bug #193476
# /etc/fonts/conf.d/ contains symlinks to ../conf.avail/ to include various
# config files. If we install as-is, we'll blow away user settings.
ebegin "Syncing fontconfig configuration to system"
if [[ -e ${ROOT}/etc/fonts/conf.d ]]; then
for file in "${ROOT}"/etc/fonts/conf.avail/*; do
f=${file##*/}
if [[ -L ${ROOT}/etc/fonts/conf.d/${f} ]]; then
[[ -f ${D}etc/fonts/conf.avail/${f} ]] \
&& ln -sf ../conf.avail/"${f}" "${D}"etc/fonts/conf.d/ &>/dev/null
else
[[ -f ${D}etc/fonts/conf.avail/${f} ]] \
&& rm "${D}"etc/fonts/conf.d/"${f}" &>/dev/null
fi
done
fi
eend $?
}
pkg_postinst() {
einfo "Cleaning broken symlinks in "${ROOT}"etc/fonts/conf.d/"
find -L "${ROOT}"etc/fonts/conf.d/ -type l -delete
echo
ewarn "Please make fontconfig configuration changes using \`eselect fontconfig\`"
ewarn "Any changes made to /etc/fonts/fonts.conf will be overwritten."
ewarn
ewarn "If you need to reset your configuration to upstream defaults, delete"
ewarn "the directory ${ROOT}etc/fonts/conf.d/ and re-emerge fontconfig."
echo
if [[ ${ROOT} = / ]]; then
ebegin "Creating global font cache"
/usr/bin/fc-cache -srf
eend $?
fi
}
|