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

Contents of /www-client/mozilla-firefox/mozilla-firefox-3.6.3.ebuild

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.8 - (show annotations) (download)
Wed Jul 21 10:04:35 2010 UTC (10 years, 4 months ago) by polynomial-c
Branch: MAIN
CVS Tags: HEAD
Changes since 1.7: +1 -1 lines
FILE REMOVED
Version bump. Removed old.
(Portage version: 2.2_rc67/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.3.ebuild,v 1.7 2010/06/19 18:38:10 arfrever 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 python
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 ru
12 si sk sl sq sr sv-SE ta ta-LK 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 MAJ_XUL_PV="1.9.2"
16 MAJ_PV="${PV/_*/}" # Without the _rc and _beta stuff
17 DESKTOP_PV="3.6"
18 MY_PV="${PV/_rc/rc}" # Handle beta for SRC_URI
19 XUL_PV="${MAJ_XUL_PV}${MAJ_PV/${DESKTOP_PV}/}" # Major + Minor version no.s
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 system-sqlite 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 system-sqlite? ( >=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=,system-sqlite=]"
62
63 DEPEND="${RDEPEND}
64 java? ( >=virtual/jdk-1.4 )
65 =dev-lang/python-2*[threads]
66 dev-util/pkgconfig"
67
68 RDEPEND="${RDEPEND} java? ( >=virtual/jre-1.4 )"
69
70 S="${WORKDIR}/mozilla-1.9.2"
71
72 QA_PRESTRIPPED="usr/$(get_libdir)/${PN}/firefox"
73
74 linguas() {
75 local LANG SLANG
76 for LANG in ${LINGUAS}; do
77 if has ${LANG} en en_US; then
78 has en ${linguas} || linguas="${linguas:+"${linguas} "}en"
79 continue
80 elif has ${LANG} ${LANGS//-/_}; then
81 has ${LANG//_/-} ${linguas} || linguas="${linguas:+"${linguas} "}${LANG//_/-}"
82 continue
83 elif [[ " ${LANGS} " == *" ${LANG}-"* ]]; then
84 for X in ${LANGS}; do
85 if [[ "${X}" == "${LANG}-"* ]] && \
86 [[ " ${NOSHORTLANGS} " != *" ${X} "* ]]; then
87 has ${X} ${linguas} || linguas="${linguas:+"${linguas} "}${X}"
88 continue 2
89 fi
90 done
91 fi
92 ewarn "Sorry, but ${PN} does not support the ${LANG} LINGUA"
93 done
94 }
95
96 pkg_setup() {
97 # Ensure we always build with C locale.
98 export LANG="C"
99 export LC_ALL="C"
100 export LC_MESSAGES="C"
101 export LC_CTYPE="C"
102
103 if ! use bindist ; then
104 einfo
105 elog "You are enabling official branding. You may not redistribute this build"
106 elog "to any users on your network or the internet. Doing so puts yourself into"
107 elog "a legal problem with Mozilla Foundation"
108 elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag"
109 fi
110
111 java-pkg-opt-2_pkg_setup
112
113 python_set_active_version 2
114 }
115
116 src_unpack() {
117 unpack firefox-${MY_PV}.source.tar.bz2 ${PATCH}.tar.bz2
118
119 linguas
120 for X in ${linguas}; do
121 # FIXME: Add support for unpacking xpis to portage
122 [[ ${X} != "en" ]] && xpi_unpack "${P}-${X}.xpi"
123 done
124 }
125
126 src_prepare() {
127 # Apply our patches
128 EPATCH_SUFFIX="patch" \
129 EPATCH_FORCE="yes" \
130 epatch "${WORKDIR}"
131
132 # Fix media build failure
133 epatch "${FILESDIR}/xulrunner-1.9.2-noalsa-fixup.patch"
134
135 # Fix broken alignment
136 epatch "${FILESDIR}/1000_fix_alignment.patch"
137
138 # Allow user to apply additional patches without modifing ebuild
139 epatch_user
140
141 eautoreconf
142
143 cd js/src
144 eautoreconf
145 }
146
147 src_configure() {
148 MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
149 MEXTENSIONS="default"
150
151 ####################################
152 #
153 # mozconfig, CFLAGS and CXXFLAGS setup
154 #
155 ####################################
156
157 mozconfig_init
158 mozconfig_config
159
160 # It doesn't compile on alpha without this LDFLAGS
161 use alpha && append-ldflags "-Wl,--no-relax"
162
163 mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
164 mozconfig_annotate '' --enable-application=browser
165 mozconfig_annotate '' --disable-mailnews
166 mozconfig_annotate 'broken' --disable-crashreporter
167 mozconfig_annotate '' --enable-image-encoder=all
168 mozconfig_annotate '' --enable-canvas
169 mozconfig_annotate 'gtk' --enable-default-toolkit=cairo-gtk2
170 # Bug 60668: Galeon doesn't build without oji enabled, so enable it
171 # regardless of java setting.
172 mozconfig_annotate '' --enable-oji --enable-mathml
173 mozconfig_annotate 'places' --enable-storage --enable-places
174 mozconfig_annotate '' --enable-safe-browsing
175
176 # Build mozdevelop permately
177 mozconfig_annotate '' --enable-jsd --enable-xpctools
178
179 # System-wide install specs
180 mozconfig_annotate '' --disable-installer
181 mozconfig_annotate '' --disable-updater
182 mozconfig_annotate '' --disable-strip
183 mozconfig_annotate '' --disable-install-strip
184
185 # Use system libraries
186 mozconfig_annotate '' --enable-system-cairo
187 mozconfig_annotate '' --enable-system-hunspell
188 mozconfig_annotate '' --with-system-nspr
189 mozconfig_annotate '' --with-system-nss
190 mozconfig_annotate '' --enable-system-lcms
191 mozconfig_annotate '' --with-system-bz2
192 mozconfig_annotate '' --with-system-libxul
193 mozconfig_annotate '' --with-libxul-sdk=/usr/$(get_libdir)/xulrunner-devel-${MAJ_XUL_PV}
194
195 mozconfig_use_enable libnotify
196 mozconfig_use_enable java javaxpcom
197 mozconfig_use_enable wifi necko-wifi
198 mozconfig_use_enable alsa ogg
199 mozconfig_use_enable alsa wave
200 mozconfig_use_enable system-sqlite
201 mozconfig_use_enable !bindist official-branding
202
203 # Other ff-specific settings
204 mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}
205
206 # Finalize and report settings
207 mozconfig_final
208
209 if [[ $(gcc-major-version) -lt 4 ]]; then
210 append-cxxflags -fno-stack-protector
211 fi
212
213 ####################################
214 #
215 # Configure and build
216 #
217 ####################################
218
219 CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" PYTHON="$(PYTHON)" econf
220 }
221
222 src_compile() {
223 # Should the build use multiprocessing? Not enabled by default, as it tends to break
224 [ "${WANT_MP}" = "true" ] && jobs=${MAKEOPTS} || jobs="-j1"
225 emake ${jobs} || die
226 }
227
228 src_install() {
229 MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
230
231 emake DESTDIR="${D}" install || die "emake install failed"
232
233 linguas
234 for X in ${linguas}; do
235 [[ ${X} != "en" ]] && xpi_install "${WORKDIR}"/"${P}-${X}"
236 done
237
238 # Install icon and .desktop for menu entry
239 if ! use bindist ; then
240 newicon "${S}"/other-licenses/branding/firefox/content/icon48.png firefox-icon.png
241 newmenu "${FILESDIR}"/icon/mozilla-firefox-1.5.desktop \
242 ${PN}-${DESKTOP_PV}.desktop
243 else
244 newicon "${S}"/browser/branding/unofficial/content/icon48.png firefox-icon-unbranded.png
245 newmenu "${FILESDIR}"/icon/mozilla-firefox-1.5-unbranded.desktop \
246 ${PN}-${DESKTOP_PV}.desktop
247 sed -i -e "s:Bon Echo:Namoroka:" \
248 "${D}"/usr/share/applications/${PN}-${DESKTOP_PV}.desktop || die "sed failed!"
249 fi
250
251 # Add StartupNotify=true bug 237317
252 if use startup-notification ; then
253 echo "StartupNotify=true" >> "${D}"/usr/share/applications/${PN}-${DESKTOP_PV}.desktop
254 fi
255
256 pax-mark m "${D}"/${MOZILLA_FIVE_HOME}/firefox
257
258 # Enable very specific settings not inherited from xulrunner
259 cp "${FILESDIR}"/firefox-default-prefs.js \
260 "${D}/${MOZILLA_FIVE_HOME}/defaults/preferences/all-gentoo.js" || \
261 die "failed to cp firefox-default-prefs.js"
262
263 # Plugins dir
264 dosym ../nsbrowser/plugins "${MOZILLA_FIVE_HOME}"/plugins \
265 || die "failed to symlink"
266
267 # very ugly hack to make firefox not sigbus on sparc
268 use sparc && { sed -e 's/Firefox/FirefoxGentoo/g' \
269 -i "${D}/${MOZILLA_FIVE_HOME}/application.ini" || \
270 die "sparc sed failed"; }
271 }
272
273 pkg_postinst() {
274 ewarn "All the packages built against ${PN} won't compile,"
275 ewarn "any package that fails to build warrants a bug report."
276 elog
277
278 # Update mimedb for the new .desktop file
279 fdo-mime_desktop_database_update
280 }

  ViewVC Help
Powered by ViewVC 1.1.20