Gentoo Archives: gentoo-commits

From: Gilles Dartiguelongue <eva@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/gnome:master commit in: media-libs/harfbuzz/, media-libs/harfbuzz/files/
Date: Mon, 29 Oct 2012 21:53:37
Message-Id: 1351547367.9cdc2fe49524cc4e75cfbbd539b4d42fee7963eb.eva@gentoo
1 commit: 9cdc2fe49524cc4e75cfbbd539b4d42fee7963eb
2 Author: Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
3 AuthorDate: Mon Oct 29 21:49:27 2012 +0000
4 Commit: Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
5 CommitDate: Mon Oct 29 21:49:27 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=9cdc2fe4
7
8 media-libs/harfbuzz: add patches to allow build
9
10 ---
11 .../files/0001-Out-of-tree-build-fixes.patch | 57 ++++++++++++++++++++
12 .../0002-Add-build-configuration-summary.patch | 32 +++++++++++
13 .../files/0003-Make-icu-support-optional.patch | 44 +++++++++++++++
14 media-libs/harfbuzz/files/0004-Fix-API-tests.patch | 39 +++++++++++++
15 media-libs/harfbuzz/harfbuzz-0.9.5.ebuild | 23 +++++----
16 5 files changed, 185 insertions(+), 10 deletions(-)
17
18 diff --git a/media-libs/harfbuzz/files/0001-Out-of-tree-build-fixes.patch b/media-libs/harfbuzz/files/0001-Out-of-tree-build-fixes.patch
19 new file mode 100644
20 index 0000000..623cad6
21 --- /dev/null
22 +++ b/media-libs/harfbuzz/files/0001-Out-of-tree-build-fixes.patch
23 @@ -0,0 +1,57 @@
24 +From 65736d8de622a793fc1201d71d2bfc25f6b2400b Mon Sep 17 00:00:00 2001
25 +From: Gilles Dartiguelongue <eva@g.o>
26 +Date: Mon, 29 Oct 2012 00:42:38 +0100
27 +Subject: [PATCH 1/4] Out-of-tree build fixes
28 +
29 +---
30 + src/Makefile.am | 10 +++++-----
31 + 1 file changed, 5 insertions(+), 5 deletions(-)
32 +
33 +diff --git a/src/Makefile.am b/src/Makefile.am
34 +index 9f7c7f8..387defa 100644
35 +--- a/src/Makefile.am
36 ++++ b/src/Makefile.am
37 +@@ -165,7 +165,7 @@ endif
38 + if HAVE_HB_OLD
39 + SUBDIRS += hb-old
40 + HBCFLAGS += -I$(srcdir)/hb-old
41 +-HBLIBS += hb-old/libhb-old.la
42 ++HBLIBS += $(builddir)/hb-old/libhb-old.la
43 + HBSOURCES += hb-old.cc
44 + endif
45 + DIST_SUBDIRS += hb-old
46 +@@ -173,7 +173,7 @@ DIST_SUBDIRS += hb-old
47 + if HAVE_ICU_LE
48 + SUBDIRS += hb-icu-le
49 + HBCFLAGS += -I$(srcdir)/hb-icu-le
50 +-HBLIBS += hb-icu-le/libhb-icu-le.la
51 ++HBLIBS += $(builddir)/hb-icu-le/libhb-icu-le.la
52 + HBSOURCES += hb-icu-le.cc
53 + endif
54 + DIST_SUBDIRS += hb-icu-le
55 +@@ -181,7 +181,7 @@ DIST_SUBDIRS += hb-icu-le
56 + if HAVE_UCDN
57 + SUBDIRS += hb-ucdn
58 + HBCFLAGS += -I$(srcdir)/hb-ucdn
59 +-HBLIBS += hb-ucdn/libhb-ucdn.la
60 ++HBLIBS += $(builddir)/hb-ucdn/libhb-ucdn.la
61 + HBSOURCES += hb-ucdn.cc
62 + endif
63 + DIST_SUBDIRS += hb-ucdn
64 +@@ -251,11 +251,11 @@ bin_PROGRAMS =
65 +
66 + main_SOURCES = main.cc
67 + main_CPPFLAGS = $(HBCFLAGS)
68 +-main_LDADD = libharfbuzz.la $(HBLIBS)
69 ++main_LDADD = $(builddir)/libharfbuzz.la $(HBLIBS)
70 +
71 + test_would_substitute_SOURCES = test-would-substitute.cc
72 + test_would_substitute_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS)
73 +-test_would_substitute_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS)
74 ++test_would_substitute_LDADD = $(builddir)/libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS)
75 +
76 + dist_check_SCRIPTS = \
77 + check-c-linkage-decls.sh \
78 +--
79 +1.7.12.4
80 +
81
82 diff --git a/media-libs/harfbuzz/files/0002-Add-build-configuration-summary.patch b/media-libs/harfbuzz/files/0002-Add-build-configuration-summary.patch
83 new file mode 100644
84 index 0000000..00746e8
85 --- /dev/null
86 +++ b/media-libs/harfbuzz/files/0002-Add-build-configuration-summary.patch
87 @@ -0,0 +1,32 @@
88 +From 2005d1c41f82f4a9508ef6218da94bb208a4e57d Mon Sep 17 00:00:00 2001
89 +From: Gilles Dartiguelongue <eva@g.o>
90 +Date: Mon, 29 Oct 2012 22:04:30 +0100
91 +Subject: [PATCH 2/4] Add build configuration summary
92 +
93 +---
94 + configure.ac | 12 ++++++++++++
95 + 1 file changed, 12 insertions(+)
96 +
97 +diff --git a/configure.ac b/configure.ac
98 +index 93b659b..ae462ad 100644
99 +--- a/configure.ac
100 ++++ b/configure.ac
101 +@@ -263,3 +263,15 @@ test/shaping/Makefile
102 + ])
103 +
104 + AC_OUTPUT
105 ++
106 ++AC_MSG_NOTICE([
107 ++
108 ++Build configuration:
109 ++ glib: ${have_glib}
110 ++ cairo: ${have_cairo}
111 ++ icu: ${HAVE_ICU}
112 ++ graphite: ${have_graphite}
113 ++ freetype: ${have_freetype}
114 ++ Core text: ${have_coretext}
115 ++
116 ++])
117 +--
118 +1.7.12.4
119 +
120
121 diff --git a/media-libs/harfbuzz/files/0003-Make-icu-support-optional.patch b/media-libs/harfbuzz/files/0003-Make-icu-support-optional.patch
122 new file mode 100644
123 index 0000000..f28fd79
124 --- /dev/null
125 +++ b/media-libs/harfbuzz/files/0003-Make-icu-support-optional.patch
126 @@ -0,0 +1,44 @@
127 +From 26fe8720c9699d37757cc92064a4975b9ac021cf Mon Sep 17 00:00:00 2001
128 +From: Gilles Dartiguelongue <eva@g.o>
129 +Date: Mon, 29 Oct 2012 22:04:46 +0100
130 +Subject: [PATCH 3/4] Make icu support optional
131 +
132 +---
133 + configure.ac | 12 ++++++++----
134 + 1 file changed, 8 insertions(+), 4 deletions(-)
135 +
136 +diff --git a/configure.ac b/configure.ac
137 +index ae462ad..bcd3991 100644
138 +--- a/configure.ac
139 ++++ b/configure.ac
140 +@@ -169,19 +169,23 @@ AM_CONDITIONAL(HAVE_CAIRO_FT, $have_cairo_ft)
141 +
142 + dnl ==========================================================================
143 +
144 ++AC_ARG_ENABLE([icu],
145 ++ AS_HELP_STRING([--disable-icu], [Disable icu support]),
146 ++ ,[enable_icu=yes])
147 ++
148 + PKG_CHECK_MODULES(ICU, icu-uc, have_icu=true, have_icu=false)
149 +-if $have_icu; then
150 ++if test $enable_icu = "yes" && $have_icu; then
151 + AC_DEFINE(HAVE_ICU, 1, [Have ICU library])
152 + fi
153 +-AM_CONDITIONAL(HAVE_ICU, $have_icu)
154 ++AM_CONDITIONAL(HAVE_ICU, test $enable_icu = "yes" && $have_icu)
155 +
156 + dnl ==========================================================================
157 +
158 + PKG_CHECK_MODULES(ICU_LE, icu-le icu-uc, have_icu_le=true, have_icu_le=false)
159 +-if $have_icu_le; then
160 ++if test $enable_icu = "yes" && $have_icu_le; then
161 + AC_DEFINE(HAVE_ICU_LE, 1, [Have ICU Layout Engine library])
162 + fi
163 +-AM_CONDITIONAL(HAVE_ICU_LE, $have_icu_le)
164 ++AM_CONDITIONAL(HAVE_ICU_LE, test $enable_icu = "yes" && $have_icu_le)
165 +
166 + dnl ==========================================================================
167 +
168 +--
169 +1.7.12.4
170 +
171
172 diff --git a/media-libs/harfbuzz/files/0004-Fix-API-tests.patch b/media-libs/harfbuzz/files/0004-Fix-API-tests.patch
173 new file mode 100644
174 index 0000000..664b84e
175 --- /dev/null
176 +++ b/media-libs/harfbuzz/files/0004-Fix-API-tests.patch
177 @@ -0,0 +1,39 @@
178 +From c1bf3c22a0fccabd1646c7ed556880511e3fec8e Mon Sep 17 00:00:00 2001
179 +From: Gilles Dartiguelongue <eva@g.o>
180 +Date: Mon, 29 Oct 2012 22:32:11 +0100
181 +Subject: [PATCH 4/4] Fix API tests
182 +
183 +---
184 + src/check-exported-symbols.sh | 2 +-
185 + src/check-internal-symbols.sh | 2 +-
186 + 2 files changed, 2 insertions(+), 2 deletions(-)
187 +
188 +diff --git a/src/check-exported-symbols.sh b/src/check-exported-symbols.sh
189 +index a7d6f9b..a8625ed 100755
190 +--- a/src/check-exported-symbols.sh
191 ++++ b/src/check-exported-symbols.sh
192 +@@ -24,7 +24,7 @@ for def in $defs; do
193 + echo "Checking that $so has the same symbol list as $def"
194 + {
195 + echo EXPORTS
196 +- nm "$so" | grep ' [BCDGINRSTVW] ' | grep -v ' T _fini\>\| T _init\>' | cut -d' ' -f3
197 ++ nm "$so" | grep ' [BCDGINRSTVW] ' | grep -v -E '( T _(fini|init)| D _edata| B _(end|_bss_start))' | cut -d' ' -f3
198 + stat=1
199 + # cheat: copy the last line from the def file!
200 + tail -n1 "$def"
201 +diff --git a/src/check-internal-symbols.sh b/src/check-internal-symbols.sh
202 +index f48d144..9dfe7c9 100755
203 +--- a/src/check-internal-symbols.sh
204 ++++ b/src/check-internal-symbols.sh
205 +@@ -19,7 +19,7 @@ for suffix in .so; do
206 + so=`echo .libs/libharfbuzz$suffix`
207 + if test -f "$so"; then
208 + echo "Checking that we are not exposing internal symbols"
209 +- if nm "$so" | grep ' [BCDGINRSTVW] ' | grep -v ' T _fini\>\| T _init\>\| T hb_'; then
210 ++ if nm "$so" | grep ' [BCDGINRSTVW] ' | grep -v -E '( T _(fini|init)| D _edata| B _(end|_bss_start)| T hb_)'; then
211 + echo "Ouch, internal symbols exposed"
212 + stat=1
213 + fi
214 +--
215 +1.7.12.4
216 +
217
218 diff --git a/media-libs/harfbuzz/harfbuzz-0.9.5.ebuild b/media-libs/harfbuzz/harfbuzz-0.9.5.ebuild
219 index 6effa50..7ddfef0 100644
220 --- a/media-libs/harfbuzz/harfbuzz-0.9.5.ebuild
221 +++ b/media-libs/harfbuzz/harfbuzz-0.9.5.ebuild
222 @@ -2,7 +2,9 @@
223 # Distributed under the terms of the GNU General Public License v2
224 # $Header: /var/cvsroot/gentoo-x86/media-libs/harfbuzz/harfbuzz-0.7.0_pre20110904.ebuild,v 1.4 2012/05/05 08:02:40 jdhore Exp $
225
226 -EAPI="4"
227 +EAPI="5"
228 +
229 +inherit autotools eutils
230
231 DESCRIPTION="An OpenType text shaping engine"
232 HOMEPAGE="http://www.freedesktop.org/wiki/Software/HarfBuzz"
233 @@ -11,11 +13,11 @@ SRC_URI="http://www.freedesktop.org/software/${PN}/release/${P}.tar.bz2"
234 LICENSE="MIT"
235 SLOT="0"
236 KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
237 -IUSE=""
238 +IUSE="icu"
239
240 RDEPEND="
241 dev-libs/glib:2
242 - dev-libs/icu
243 + icu? ( dev-libs/icu )
244 media-gfx/graphite2
245 media-libs/freetype:2
246 >=x11-libs/cairo-1.8[X]
247 @@ -26,19 +28,20 @@ DEPEND="${RDEPEND}
248 "
249
250 src_prepare() {
251 - default
252 -
253 - # FIXME: Weird linking failures
254 - sed -i 's/^\(noinst_PROGRAMS\).*/\1 = /' src/Makefile.in || die
255 - sed -i 's/^\(bin_PROGRAMS\).*/\1 = /' util/Makefile.in || die
256 - sed -i 's/^\(SUBDIRS.*\)test/\1/' Makefile.in || die
257 + epatch \
258 + "${FILESDIR}"/0001-Out-of-tree-build-fixes.patch \
259 + "${FILESDIR}"/0002-Add-build-configuration-summary.patch \
260 + "${FILESDIR}"/0003-Make-icu-support-optional.patch \
261 + "${FILESDIR}"/0004-Fix-API-tests.patch
262 + eautoreconf
263 }
264
265 src_configure() {
266 # this packge needs build system update because
267 # all the deps are automagic
268 econf \
269 - --disable-static
270 + --disable-static \
271 + $(use_enable icu)
272 }
273
274 src_install() {