summaryrefslogtreecommitdiff
blob: c145a9fa0ac5c020e553e390d7c03966749e6788 (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
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-libs/freetype/freetype-2.1.10-r3.ebuild,v 1.9 2007/06/24 21:57:28 vapier Exp $

inherit eutils flag-o-matic libtool

DESCRIPTION="A high-quality and portable font engine"
HOMEPAGE="http://www.freetype.org/"
SRC_URI="mirror://sourceforge/freetype/${P/_/}.tar.bz2
	mirror://gentoo/freetype-2.1.10-security_batch-r1.patch.bz2
	doc? ( mirror://sourceforge/${PN}/${PN}-doc-${PV}.tar.bz2 )"

LICENSE="FTL GPL-2"
SLOT="2"
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
IUSE="zlib bindist doc"

# The RDEPEND below makes sure that if there is a version of moz/ff/tb
# installed, then it will have the freetype-2.1.8+ binary compatibility patch.
# Otherwise updating freetype will cause moz/ff/tb crashes.  #59849
# 20 Nov 2004 agriffis
DEPEND="zlib? ( sys-libs/zlib )"

RDEPEND="${DEPEND}
	!<www-client/mozilla-1.7.3-r3
	!<www-client/mozilla-firefox-1.0-r3
	!<mail-client/mozilla-thunderbird-0.9-r3
	!<media-libs/libwmf-0.2.8.2"

src_unpack() {

	unpack ${A}

	# fix internal header cast which gets used by pango (bad)
	epatch ${FILESDIR}/${P}-internal_header.patch
	# fix bunch of overflows etc. (#124828)
	epatch ${WORKDIR}/${P}-security_batch-r1.patch
	# revert pointer
	epatch ${FILESDIR}/${P}-revert_pointer.patch
	# fix artificial bold bug (#127872)
	cd ${S}/src/base
	epatch ${FILESDIR}/${P}-fix_synth.patch
	# fix CVE-2007-1351 (#172577)
	cd ${S}
	epatch "${FILESDIR}/${PN}-2.3.2-bdflib.patch"

	elibtoolize
	epunt_cxx

}

src_compile() {

	# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=118021
	append-flags "-fno-strict-aliasing"

	use bindist || append-flags -DTT_CONFIG_OPTION_BYTECODE_INTERPRETER

	# Fix missing symbols in fontconfig in some circumstances
	append-flags -DFT_CONFIG_OPTION_OLD_INTERNALS

	make setup CFG="--host=${CHOST} --prefix=/usr $(use_with zlib) --libdir=/usr/$(get_libdir)" unix || die

	emake || die "make failed"

	if use doc ; then
		emake refdoc || die "refdoc failed"
	fi

}

src_install() {

	make DESTDIR="${D}" install || die

	dodoc ChangeLog README
	dodoc docs/{CHANGES,CUSTOMIZE,DEBUG,*.txt,PATENTS,TODO}

	cd ${WORKDIR}/${PN}-doc-${PV}
	use doc && dohtml -r docs/*

}