/[gentoo-x86]/www-client/mozilla-firefox/mozilla-firefox-3.6-r2.ebuild
Gentoo

Contents of /www-client/mozilla-firefox/mozilla-firefox-3.6-r2.ebuild

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (show annotations) (download)
Sun Mar 21 15:03:08 2010 UTC (10 years, 8 months ago) by anarchy
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +1 -1 lines
FILE REMOVED
Update for alignment issue in jemalloc, fix bug #310347
(Portage version: 2.1.8.3/cvs/Linux x86_64)

1 # Copyright 1999-2010 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /var/cvsroot/gentoo-x86/www-client/mozilla-firefox/mozilla-firefox-3.6-r2.ebuild,v 1.2 2010/02/20 03:01:42 anarchy Exp $
4 EAPI="2"
5 WANT_AUTOCONF="2.1"
6
7 inherit flag-o-matic toolchain-funcs eutils mozconfig-3 makeedit multilib pax-utils fdo-mime autotools mozextension java-pkg-opt-2
8
9 LANGS="af ar as be bg bn-BD bn-IN ca cs cy da de el en en-GB en-US eo es-AR
10 es-CL es-ES es-MX et eu fa fi fr fy-NL ga-IE gl gu-IN he hi-IN hr hu id is it ja
11 ka kk kn ko ku lt lv mk ml mr nb-NO nl nn-NO oc or pa-IN pl pt-BR pt-PT rm ro
12 ru si sk sl sq sr sv-SE ta-LK ta te th tr uk vi zh-CN zh-TW"
13 NOSHORTLANGS="en-GB es-AR es-CL es-MX pt-BR zh-CN zh-TW"
14
15 XUL_PV="1.9.2"
16 MAJ_XUL_PV="1.9.2"
17 MAJ_PV="${PV/_*/}" # Without the _rc and _beta stuff
18 DESKTOP_PV="3.6"
19 MY_PV="${PV/_rc/rc}" # Handle beta for SRC_URI
20 PATCH="${PN}-3.6-patches-0.6"
21
22 DESCRIPTION="Firefox Web Browser"
23 HOMEPAGE="http://www.mozilla.com/firefox"
24
25 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
26 SLOT="0"
27 LICENSE="|| ( MPL-1.1 GPL-2 LGPL-2.1 )"
28 IUSE="+alsa bindist java libnotify wifi"
29
30 REL_URI="http://releases.mozilla.org/pub/mozilla.org/firefox/releases"
31 SRC_URI="${REL_URI}/${MY_PV}/source/firefox-${MY_PV}.source.tar.bz2
32 http://dev.gentoo.org/~anarchy/dist/${PATCH}.tar.bz2"
33
34 for X in ${LANGS} ; do
35 if [ "${X}" != "en" ] && [ "${X}" != "en-US" ]; then
36 SRC_URI="${SRC_URI}
37 linguas_${X/-/_}? ( ${REL_URI}/${MY_PV}/linux-i686/xpi/${X}.xpi -> ${P}-${X}.xpi )"
38 fi
39 IUSE="${IUSE} linguas_${X/-/_}"
40 # english is handled internally
41 if [ "${#X}" == 5 ] && ! has ${X} ${NOSHORTLANGS}; then
42 if [ "${X}" != "en-US" ]; then
43 SRC_URI="${SRC_URI}
44 linguas_${X%%-*}? ( ${REL_URI}/${PV}/linux-i686/xpi/${X}.xpi -> ${P}-${X}.xpi )"
45 fi
46 IUSE="${IUSE} linguas_${X%%-*}"
47 fi
48 done
49
50 RDEPEND="
51 >=sys-devel/binutils-2.16.1
52 >=dev-libs/nss-3.12.4
53 >=dev-libs/nspr-4.8
54 >=app-text/hunspell-1.2
55 >=dev-db/sqlite-3.6.22-r2[fts3,secure-delete]
56 alsa? ( media-libs/alsa-lib )
57 >=x11-libs/cairo-1.8.8[X]
58 x11-libs/pango[X]
59 wifi? ( net-wireless/wireless-tools )
60 libnotify? ( >=x11-libs/libnotify-0.4 )
61 ~net-libs/xulrunner-${XUL_PV}[java=,wifi=,libnotify=]"
62
63 DEPEND="${RDEPEND}
64 java? ( >=virtual/jdk-1.4 )
65 dev-util/pkgconfig"
66
67 RDEPEND="${RDEPEND} java? ( >=virtual/jre-1.4 )"
68
69 S="${WORKDIR}/mozilla-1.9.2"
70
71 QA_PRESTRIPPED="usr/$(get_libdir)/${PN}/firefox"
72
73 linguas() {
74 local LANG SLANG
75 for LANG in ${LINGUAS}; do
76 if has ${LANG} en en_US; then
77 has en ${linguas} || linguas="${linguas:+"${linguas} "}en"
78 continue
79 elif has ${LANG} ${LANGS//-/_}; then
80 has ${LANG//_/-} ${linguas} || linguas="${linguas:+"${linguas} "}${LANG//_/-}"
81 continue
82 elif [[ " ${LANGS} " == *" ${LANG}-"* ]]; then
83 for X in ${LANGS}; do
84 if [[ "${X}" == "${LANG}-"* ]] && \
85 [[ " ${NOSHORTLANGS} " != *" ${X} "* ]]; then
86 has ${X} ${linguas} || linguas="${linguas:+"${linguas} "}${X}"
87 continue 2
88 fi
89 done
90 fi
91 ewarn "Sorry, but ${PN} does not support the ${LANG} LINGUA"
92 done
93 }
94
95 pkg_setup() {
96 # Ensure we always build with C locale.
97 export LANG="C"
98 export LC_ALL="C"
99 export LC_MESSAGES="C"
100 export LC_CTYPE="C"
101
102 if ! use bindist ; then
103 einfo
104 elog "You are enabling official branding. You may not redistribute this build"
105 elog "to any users on your network or the internet. Doing so puts yourself into"
106 elog "a legal problem with Mozilla Foundation"
107 elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag"
108 fi
109
110 java-pkg-opt-2_pkg_setup
111 }
112
113 src_unpack() {
114 unpack firefox-${MY_PV}.source.tar.bz2 ${PATCH}.tar.bz2
115
116 linguas
117 for X in ${linguas}; do
118 # FIXME: Add support for unpacking xpis to portage
119 [[ ${X} != "en" ]] && xpi_unpack "${P}-${X}.xpi"
120 done
121 }
122
123 src_prepare() {
124 # Apply our patches
125 EPATCH_SUFFIX="patch" \
126 EPATCH_FORCE="yes" \
127 epatch "${WORKDIR}"
128
129 # Fix media build failure
130 epatch "${FILESDIR}/xulrunner-1.9.2-noalsa-fixup.patch"
131
132 eautoreconf
133
134 cd js/src
135 eautoreconf
136 }
137
138 src_configure() {
139 MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
140 MEXTENSIONS="default"
141
142 ####################################
143 #
144 # mozconfig, CFLAGS and CXXFLAGS setup
145 #
146 ####################################
147
148 mozconfig_init
149 mozconfig_config
150
151 # It doesn't compile on alpha without this LDFLAGS
152 use alpha && append-ldflags "-Wl,--no-relax"
153
154 mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
155 mozconfig_annotate '' --enable-application=browser
156 mozconfig_annotate '' --disable-mailnews
157 mozconfig_annotate 'broken' --disable-crashreporter
158 mozconfig_annotate '' --enable-image-encoder=all
159 mozconfig_annotate '' --enable-canvas
160 mozconfig_annotate 'gtk' --enable-default-toolkit=cairo-gtk2
161 # Bug 60668: Galeon doesn't build without oji enabled, so enable it
162 # regardless of java setting.
163 mozconfig_annotate '' --enable-oji --enable-mathml
164 mozconfig_annotate 'places' --enable-storage --enable-places
165 mozconfig_annotate '' --enable-safe-browsing
166 mozconfig_annotate 'sqlite' --enable-system-sqlite
167
168 # Build mozdevelop permately
169 mozconfig_annotate '' --enable-jsd --enable-xpctools
170
171 # System-wide install specs
172 mozconfig_annotate '' --disable-installer
173 mozconfig_annotate '' --disable-updater
174 mozconfig_annotate '' --disable-strip
175 mozconfig_annotate '' --disable-install-strip
176
177 # Use system libraries
178 mozconfig_annotate '' --enable-system-cairo
179 mozconfig_annotate '' --enable-system-hunspell
180 mozconfig_annotate '' --with-system-nspr
181 mozconfig_annotate '' --with-system-nss
182 mozconfig_annotate '' --enable-system-lcms
183 mozconfig_annotate '' --with-system-bz2
184 mozconfig_annotate '' --with-system-libxul
185 mozconfig_annotate '' --with-libxul-sdk=/usr/$(get_libdir)/xulrunner-devel-${MAJ_XUL_PV}
186
187 mozconfig_use_enable libnotify
188 mozconfig_use_enable java javaxpcom
189 mozconfig_use_enable wifi necko-wifi
190 mozconfig_use_enable alsa ogg
191 mozconfig_use_enable alsa wave
192
193 # Other ff-specific settings
194 mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}
195
196 # Enable/Disable audio in firefox
197 mozconfig_use_enable alsa ogg
198 mozconfig_use_enable alsa wave
199
200 if ! use bindist ; then
201 mozconfig_annotate '' --enable-official-branding
202 fi
203
204 # Finalize and report settings
205 mozconfig_final
206
207 if [[ $(gcc-major-version) -lt 4 ]]; then
208 append-cxxflags -fno-stack-protector
209 fi
210
211 ####################################
212 #
213 # Configure and build
214 #
215 ####################################
216
217 CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" econf
218 }
219
220 src_compile() {
221 # Should the build use multiprocessing? Not enabled by default, as it tends to break
222 [ "${WANT_MP}" = "true" ] && jobs=${MAKEOPTS} || jobs="-j1"
223 emake ${jobs} || die
224 }
225
226 src_install() {
227 MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
228
229 emake DESTDIR="${D}" install || die "emake install failed"
230
231 linguas
232 for X in ${linguas}; do
233 [[ ${X} != "en" ]] && xpi_install "${WORKDIR}"/"${P}-${X}"
234 done
235
236 # Install icon and .desktop for menu entry
237 if ! use bindist ; then
238 newicon "${S}"/other-licenses/branding/firefox/content/icon48.png firefox-icon.png
239 newmenu "${FILESDIR}"/icon/mozilla-firefox-1.5.desktop \
240 ${PN}-${DESKTOP_PV}.desktop
241 else
242 newicon "${S}"/browser/branding/unofficial/content/icon48.png firefox-icon-unbranded.png
243 newmenu "${FILESDIR}"/icon/mozilla-firefox-1.5-unbranded.desktop \
244 ${PN}-${DESKTOP_PV}.desktop
245 sed -i -e "s:Bon Echo:Namoroka:" \
246 "${D}"/usr/share/applications/${PN}-${DESKTOP_PV}.desktop || die "sed failed!"
247 fi
248
249 # Add StartupNotify=true bug 237317
250 if use startup-notification ; then
251 echo "StartupNotify=true" >> "${D}"/usr/share/applications/${PN}-${DESKTOP_PV}.desktop
252 fi
253
254 pax-mark m "${D}"/${MOZILLA_FIVE_HOME}/firefox
255
256 # Enable very specific settings not inherited from xulrunner
257 cp "${FILESDIR}"/firefox-default-prefs.js \
258 "${D}/${MOZILLA_FIVE_HOME}/defaults/preferences/all-gentoo.js" || \
259 die "failed to cp firefox-default-prefs.js"
260
261 # Plugins dir
262 dosym ../nsbrowser/plugins "${MOZILLA_FIVE_HOME}"/plugins \
263 || die "failed to symlink"
264
265 # very ugly hack to make firefox not sigbus on sparc
266 use sparc && { sed -e 's/Firefox/FirefoxGentoo/g' \
267 -i "${D}/${MOZILLA_FIVE_HOME}/application.ini" || \
268 die "sparc sed failed"; }
269 }
270
271 pkg_postinst() {
272 ewarn "All the packages built against ${PN} won't compile,"
273 ewarn "any package that fails to build warrants a bug report."
274 elog
275
276 # Update mimedb for the new .desktop file
277 fdo-mime_desktop_database_update
278 }

  ViewVC Help
Powered by ViewVC 1.1.20