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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (show annotations) (download)
Mon Dec 22 15:30:25 2008 UTC (11 years, 11 months ago) by armin76
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +1 -1 lines
FILE REMOVED
old
(Portage version: 2.1.4.5)

1 # Copyright 1999-2008 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.0.4-r2.ebuild,v 1.1 2008/12/07 17:48:30 armin76 Exp $
4 EAPI="1"
5 WANT_AUTOCONF="2.1"
6
7 inherit flag-o-matic toolchain-funcs eutils mozconfig-3 makeedit multilib fdo-mime autotools mozextension
8 PATCH="${PN}-3.0.1-patches-0.3"
9
10 LANGS="af ar be bg bn-IN ca cs cy da de el en-GB en-US eo es-AR es-ES et eu fi fr fy-NL ga-IE gl gu-IN he hi-IN hu id is it ja ka kn ko ku lt lv mk mn mr nb-NO nl nn-NO oc pa-IN pl pt-BR pt-PT ro ru si sk sl sq sr sv-SE te th tr uk zh-CN zh-TW"
11 NOSHORTLANGS="en-GB es-AR pt-BR zh-CN"
12
13 MY_PV=${PV/3/}
14
15 DESCRIPTION="Firefox Web Browser"
16 HOMEPAGE="http://www.mozilla.com/firefox"
17
18 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 -sparc ~x86"
19 SLOT="0"
20 LICENSE="|| ( MPL-1.1 GPL-2 LGPL-2.1 )"
21 IUSE="java mozdevelop bindist restrict-javascript iceweasel +xulrunner"
22
23 SRC_URI="mirror://gentoo/${P}.tar.bz2
24 http://dev.gentoo.org/~armin76/dist/${P}.tar.bz2
25 mirror://gentoo/${PATCH}.tar.bz2
26 http://dev.gentoo.org/~armin76/dist/${PATCH}.tar.bz2
27 iceweasel? ( mirror://gentoo/iceweasel-icons-3.0.tar.bz2 )
28 !xulrunner? ( mirror://gentoo/xulrunner-1.9${MY_PV}.tar.bz2 )"
29
30 # These are in
31 #
32 # http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${PV}/linux-i686/xpi/
33 #
34 # for i in $LANGS $SHORTLANGS; do wget $i.xpi -O ${P}-$i.xpi; done
35 for X in ${LANGS} ; do
36 if [ "${X}" != "en" ] && [ "${X}" != "en-US" ]; then
37 SRC_URI="${SRC_URI}
38 linguas_${X/-/_}? ( http://dev.gentoo.org/~armin76/dist/${P}-xpi/${P}-${X}.xpi )"
39 fi
40 IUSE="${IUSE} linguas_${X/-/_}"
41 # english is handled internally
42 if [ "${#X}" == 5 ] && ! has ${X} ${NOSHORTLANGS}; then
43 if [ "${X}" != "en-US" ]; then
44 SRC_URI="${SRC_URI}
45 linguas_${X%%-*}? ( http://dev.gentoo.org/~armin76/dist/${P}-xpi/${P}-${X}.xpi )"
46 fi
47 IUSE="${IUSE} linguas_${X%%-*}"
48 fi
49 done
50
51 RDEPEND="java? ( virtual/jre )
52 >=sys-devel/binutils-2.16.1
53 >=dev-libs/nss-3.12
54 >=dev-libs/nspr-4.7.1
55 >=media-libs/lcms-1.17
56 >=app-text/hunspell-1.1.9
57 xulrunner? ( >=net-libs/xulrunner-1.9${MY_PV}-r1 )"
58
59 DEPEND="${RDEPEND}
60 dev-util/pkgconfig
61 java? ( >=dev-java/java-config-0.2.0 )"
62
63 PDEPEND="restrict-javascript? ( x11-plugins/noscript )"
64
65 S="${WORKDIR}/mozilla"
66
67 # Needed by src_compile() and src_install().
68 # Would do in pkg_setup but that loses the export attribute, they
69 # become pure shell variables.
70 export MOZ_CO_PROJECT=browser
71 export BUILD_OFFICIAL=1
72 export MOZILLA_OFFICIAL=1
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 mozilla-firefox does not support the ${LANG} LINGUA"
93 done
94 }
95
96 pkg_setup(){
97 if ! built_with_use x11-libs/cairo X; then
98 eerror "Cairo is not built with X useflag."
99 eerror "Please add 'X' to your USE flags, and re-emerge cairo."
100 die "Cairo needs X"
101 fi
102
103 if ! built_with_use --missing true x11-libs/pango X; then
104 eerror "Pango is not built with X useflag."
105 eerror "Please add 'X' to your USE flags, and re-emerge pango."
106 die "Pango needs X"
107 fi
108
109 if ! use bindist && ! use iceweasel; then
110 elog "You are enabling official branding. You may not redistribute this build"
111 elog "to any users on your network or the internet. Doing so puts yourself into"
112 elog "a legal problem with Mozilla Foundation"
113 elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag"
114
115 fi
116 }
117
118 src_unpack() {
119 ! use xulrunner && unpack xulrunner-1.9${MY_PV}.tar.bz2
120 unpack ${P}.tar.bz2 ${PATCH}.tar.bz2
121
122 if use iceweasel; then
123 unpack iceweasel-icons-3.0.tar.bz2
124
125 cp -r iceweaselicons/browser mozilla/
126 fi
127
128 linguas
129 for X in ${linguas}; do
130 [[ ${X} != "en" ]] && xpi_unpack "${P}-${X}.xpi"
131 done
132 if [[ ${linguas} != "" && ${linguas} != "en" ]]; then
133 einfo "Selected language packs (first will be default): ${linguas}"
134 fi
135
136 # Remove the patches we don't need
137 use xulrunner && rm "${WORKDIR}"/patch/*noxul* || rm "${WORKDIR}"/patch/*xulonly*
138
139 # Apply our patches
140 cd "${S}" || die "cd failed"
141 EPATCH_SUFFIX="patch" \
142 EPATCH_FORCE="yes" \
143 epatch "${WORKDIR}"/patch
144
145 if use iceweasel; then
146 sed -i -e "s|Minefield|Iceweasel|" browser/locales/en-US/chrome/branding/brand.* \
147 browser/branding/nightly/configure.sh
148 fi
149
150 eautoreconf
151
152 # We need to re-patch this because autoreconf overwrites it
153 epatch "${WORKDIR}"/patch/000_flex-configure-LANG.patch
154 }
155
156 src_compile() {
157 declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
158 MEXTENSIONS="default,typeaheadfind"
159
160 ####################################
161 #
162 # mozconfig, CFLAGS and CXXFLAGS setup
163 #
164 ####################################
165
166 mozconfig_init
167 mozconfig_config
168
169 mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
170 mozconfig_annotate '' --disable-mailnews
171 mozconfig_annotate 'broken' --disable-mochitest
172 mozconfig_annotate 'broken' --disable-crashreporter
173 mozconfig_annotate '' --enable-system-hunspell
174 #mozconfig_annotate '' --enable-system-sqlite
175 mozconfig_annotate '' --enable-image-encoder=all
176 mozconfig_annotate '' --enable-canvas
177 mozconfig_annotate '' --with-system-nspr
178 mozconfig_annotate '' --with-system-nss
179 mozconfig_annotate '' --enable-system-lcms
180 mozconfig_annotate '' --enable-oji --enable-mathml
181 mozconfig_annotate 'places' --enable-storage --enable-places --enable-places_bookmarks
182
183 # Other ff-specific settings
184 #mozconfig_use_enable mozdevelop jsd
185 #mozconfig_use_enable mozdevelop xpctools
186 mozconfig_use_extension mozdevelop venkman
187 mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}
188 if use xulrunner; then
189 # Add xulrunner variable
190 mozconfig_annotate '' --with-libxul-sdk=/usr/$(get_libdir)/xulrunner-1.9
191 fi
192
193 if ! use bindist && ! use iceweasel; then
194 mozconfig_annotate '' --enable-official-branding
195 fi
196
197 # Finalize and report settings
198 mozconfig_final
199
200 # -fstack-protector breaks us
201 if gcc-version ge 4 1; then
202 gcc-specs-ssp && append-flags -fno-stack-protector
203 else
204 gcc-specs-ssp && append-flags -fno-stack-protector-all
205 fi
206 filter-flags -fstack-protector -fstack-protector-all
207
208 ####################################
209 #
210 # Configure and build
211 #
212 ####################################
213
214 CPPFLAGS="${CPPFLAGS} -DARON_WAS_HERE" \
215 CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
216 econf || die
217
218 # It would be great if we could pass these in via CPPFLAGS or CFLAGS prior
219 # to econf, but the quotes cause configure to fail.
220 sed -i -e \
221 's|-DARON_WAS_HERE|-DGENTOO_NSPLUGINS_DIR=\\\"/usr/'"$(get_libdir)"'/nsplugins\\\" -DGENTOO_NSBROWSER_PLUGINS_DIR=\\\"/usr/'"$(get_libdir)"'/nsbrowser/plugins\\\"|' \
222 "${S}"/config/autoconf.mk \
223 "${S}"/toolkit/content/buildconfig.html
224
225 # Should the build use multiprocessing? Not enabled by default, as it tends to break
226 [ "${WANT_MP}" = "true" ] && jobs=${MAKEOPTS} || jobs="-j1"
227 emake ${jobs} || die
228 }
229
230 pkg_preinst() {
231 declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
232
233 einfo "Removing old installs with some really ugly code. It potentially"
234 einfo "eliminates any problems during the install, however suggestions to"
235 einfo "replace this are highly welcome. Send comments and suggestions to"
236 einfo "mozilla@gentoo.org."
237 rm -rf "${ROOT}"${MOZILLA_FIVE_HOME}
238 }
239
240 src_install() {
241 declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
242
243 emake DESTDIR="${D}" install || die "emake install failed"
244 rm "${D}"/usr/bin/firefox
245
246 linguas
247 for X in ${linguas}; do
248 [[ ${X} != "en" ]] && xpi_install "${WORKDIR}"/"${P}-${X}"
249 done
250
251 use xulrunner && prefs=preferences || prefs=pref
252 cp "${FILESDIR}"/gentoo-default-prefs.js "${D}"${MOZILLA_FIVE_HOME}/defaults/${prefs}/all-gentoo.js
253
254 local LANG=${linguas%% *}
255 if [[ -n ${LANG} && ${LANG} != "en" ]]; then
256 elog "Setting default locale to ${LANG}"
257 dosed -e "s:general.useragent.locale\", \"en-US\":general.useragent.locale\", \"${LANG}\":" \
258 ${MOZILLA_FIVE_HOME}/defaults/${prefs}/firefox.js \
259 ${MOZILLA_FIVE_HOME}/defaults/${prefs}/firefox-l10n.js || \
260 die "sed failed to change locale"
261 fi
262
263 # Install icon and .desktop for menu entry
264 if use iceweasel; then
265 newicon "${S}"/browser/base/branding/icon48.png iceweasel-icon.png
266 newmenu "${FILESDIR}"/icon/iceweasel.desktop \
267 mozilla-firefox-3.0.desktop
268 elif ! use bindist; then
269 newicon "${S}"/other-licenses/branding/firefox/content/icon48.png firefox-icon.png
270 newmenu "${FILESDIR}"/icon/mozilla-firefox-1.5.desktop \
271 mozilla-firefox-3.0.desktop
272 else
273 newicon "${S}"/browser/base/branding/icon48.png firefox-icon-unbranded.png
274 newmenu "${FILESDIR}"/icon/mozilla-firefox-1.5-unbranded.desktop \
275 mozilla-firefox-3.0.desktop
276 sed -i -e "s/Bon Echo/Minefield/" "${D}"/usr/share/applications/mozilla-firefox-3.0.desktop
277 fi
278
279 if use xulrunner; then
280 # Create /usr/bin/firefox
281 cat <<EOF >"${D}"/usr/bin/firefox
282 #!/bin/sh
283 export LD_LIBRARY_PATH="${MOZILLA_FIVE_HOME}"
284 exec "${MOZILLA_FIVE_HOME}"/firefox "\$@"
285 EOF
286 fperms 0755 /usr/bin/firefox
287 else
288 # Create /usr/bin/firefox
289 make_wrapper firefox "${MOZILLA_FIVE_HOME}/firefox"
290
291 # Add vendor
292 echo "pref(\"general.useragent.vendor\",\"Gentoo\");" \
293 >> "${D}"${MOZILLA_FIVE_HOME}/defaults/pref/vendor.js
294 fi
295
296 }
297
298 pkg_postinst() {
299 declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
300
301 ewarn "All the packages built against ${PN} won't compile,"
302 ewarn "if after installing firefox 3.0 you get some blockers,"
303 ewarn "please add 'xulrunner' to your USE-flags."
304
305 if use xulrunner; then
306 ln -s /usr/$(get_libdir)/xulrunner-1.9/defaults/autoconfig \
307 ${MOZILLA_FIVE_HOME}/defaults/autoconfig
308 fi
309
310 # Update mimedb for the new .desktop file
311 fdo-mime_desktop_database_update
312 }

  ViewVC Help
Powered by ViewVC 1.1.20