/[gentoo-x86]/www-client/mozilla-firefox/mozilla-firefox-3.0_beta5-r3.ebuild
Gentoo

Contents of /www-client/mozilla-firefox/mozilla-firefox-3.0_beta5-r3.ebuild

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (show annotations) (download)
Thu May 15 10:59:02 2008 UTC (12 years, 6 months ago) by armin76
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +1 -1 lines
FILE REMOVED
Restore old wrapper behaviour
(Portage version: 2.1.4.4)

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

  ViewVC Help
Powered by ViewVC 1.1.20