/[gentoo-x86]/www-client/mozilla-firefox/mozilla-firefox-3.0_rc1-r1.ebuild
Gentoo

Contents of /www-client/mozilla-firefox/mozilla-firefox-3.0_rc1-r1.ebuild

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (show annotations) (download)
Thu Jun 12 15:23:37 2008 UTC (12 years, 5 months ago) by armin76
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +1 -1 lines
FILE REMOVED
Version bump, remove old
(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_rc1-r1.ebuild,v 1.1 2008/05/21 10:45:54 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 ga-IE 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 sr sv-SE tr uk zh-CN zh-TW"
11 NOSHORTLANGS="en-GB es-AR pt-BR zh-CN"
12
13 MY_PV=${PV/_rc/rc}
14 MY_P="${PN}-${MY_PV}"
15 MY_PV=${PV/3.0/}
16
17 DESCRIPTION="Firefox Web Browser"
18 HOMEPAGE="http://www.mozilla.com/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_rc3
53 >=dev-libs/nspr-4.7.1
54 >=media-libs/lcms-1.17
55 >=app-text/hunspell-1.1.9
56 >=dev-db/sqlite-3.5.6
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 ####################################
146 #
147 # mozconfig, CFLAGS and CXXFLAGS setup
148 #
149 ####################################
150
151 mozconfig_init
152 mozconfig_config
153
154 mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
155 mozconfig_annotate '' --disable-mailnews
156 mozconfig_annotate 'broken' --disable-mochitest
157 mozconfig_annotate 'broken' --disable-crashreporter
158 mozconfig_annotate '' --enable-system-hunspell
159 mozconfig_annotate '' --enable-system-sqlite
160 mozconfig_annotate '' --enable-image-encoder=all
161 mozconfig_annotate '' --enable-canvas
162 mozconfig_annotate '' --with-system-nspr
163 mozconfig_annotate '' --with-system-nss
164 mozconfig_annotate '' --enable-system-lcms
165 mozconfig_annotate '' --enable-oji --enable-mathml
166 mozconfig_annotate 'places' --enable-storage --enable-places --enable-places_bookmarks
167
168 # Other ff-specific settings
169 #mozconfig_use_enable mozdevelop jsd
170 #mozconfig_use_enable mozdevelop xpctools
171 mozconfig_use_extension mozdevelop venkman
172 mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}
173 if use xulrunner; then
174 # Add xulrunner variable
175 mozconfig_annotate '' --with-libxul-sdk=/usr/$(get_libdir)/xulrunner-1.9
176 fi
177
178 if ! use bindist; then
179 mozconfig_annotate '' --enable-official-branding
180 fi
181
182 # Finalize and report settings
183 mozconfig_final
184
185 # -fstack-protector breaks us
186 if gcc-version ge 4 1; then
187 gcc-specs-ssp && append-flags -fno-stack-protector
188 else
189 gcc-specs-ssp && append-flags -fno-stack-protector-all
190 fi
191 filter-flags -fstack-protector -fstack-protector-all
192
193 ####################################
194 #
195 # Configure and build
196 #
197 ####################################
198
199 CPPFLAGS="${CPPFLAGS} -DARON_WAS_HERE" \
200 CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
201 econf || die
202
203 # It would be great if we could pass these in via CPPFLAGS or CFLAGS prior
204 # to econf, but the quotes cause configure to fail.
205 sed -i -e \
206 's|-DARON_WAS_HERE|-DGENTOO_NSPLUGINS_DIR=\\\"/usr/'"$(get_libdir)"'/nsplugins\\\" -DGENTOO_NSBROWSER_PLUGINS_DIR=\\\"/usr/'"$(get_libdir)"'/nsbrowser/plugins\\\"|' \
207 "${S}"/config/autoconf.mk \
208 "${S}"/toolkit/content/buildconfig.html
209
210 # This removes extraneous CFLAGS from the Makefiles to reduce RAM
211 # requirements while compiling
212 edit_makefiles
213
214 # Should the build use multiprocessing? Not enabled by default, as it tends to break
215 [ "${WANT_MP}" = "true" ] && jobs=${MAKEOPTS} || jobs="-j1"
216 emake ${jobs} || die
217 }
218
219 pkg_preinst() {
220 declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
221
222 einfo "Removing old installs with some really ugly code. It potentially"
223 einfo "eliminates any problems during the install, however suggestions to"
224 einfo "replace this are highly welcome. Send comments and suggestions to"
225 einfo "mozilla@gentoo.org."
226 rm -rf "${ROOT}"${MOZILLA_FIVE_HOME}
227 }
228
229 src_install() {
230 declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
231
232 emake DESTDIR="${D}" install || die "emake install failed"
233 rm "${D}"/usr/bin/firefox
234
235 linguas
236 for X in ${linguas}; do
237 [[ ${X} != "en" ]] && xpi_install "${WORKDIR}"/"${MY_P}-${X}"
238 done
239
240 use xulrunner && prefs=preferences || prefs=pref
241 cp "${FILESDIR}"/gentoo-default-prefs.js "${D}"${MOZILLA_FIVE_HOME}/defaults/${prefs}/all-gentoo.js
242
243 local LANG=${linguas%% *}
244 if [[ -n ${LANG} && ${LANG} != "en" ]]; then
245 elog "Setting default locale to ${LANG}"
246 dosed -e "s:general.useragent.locale\", \"en-US\":general.useragent.locale\", \"${LANG}\":" \
247 ${MOZILLA_FIVE_HOME}/defaults/${prefs}/firefox.js \
248 ${MOZILLA_FIVE_HOME}/defaults/${prefs}/firefox-l10n.js || \
249 die "sed failed to change locale"
250 fi
251
252 # Install icon and .desktop for menu entry
253 if ! use bindist; then
254 newicon "${S}"/other-licenses/branding/firefox/content/icon48.png firefox-icon.png
255 newmenu "${FILESDIR}"/icon/mozilla-firefox-1.5.desktop \
256 mozilla-firefox-3.0.desktop
257 else
258 newicon "${S}"/browser/base/branding/firefox/content/icon48.png firefox-icon-unbranded.png
259 newmenu "${FILESDIR}"/icon/mozilla-firefox-1.5-unbranded.desktop \
260 mozilla-firefox-3.0.desktop
261 fi
262
263 if use xulrunner; then
264 PKG_CONFIG=`which pkg-config`
265 X_DATE=`date +%Y%m%d`
266 XULRUNNER_VERSION=`${PKG_CONFIG} --modversion libxul`
267
268 #set the application.ini
269 sed -i -e "s|BuildID=.*$|BuildID=${X_DATE}GentooMozillaFirefox|" "${D}"${MOZILLA_FIVE_HOME}/application.ini
270 sed -i -e "s|MinVersion=.*$|MinVersion=${XULRUNNER_VERSION}|" "${D}"${MOZILLA_FIVE_HOME}/application.ini
271 sed -i -e "s|MaxVersion=.*$|MaxVersion=${XULRUNNER_VERSION}|" "${D}"${MOZILLA_FIVE_HOME}/application.ini
272 # Create /usr/bin/firefox
273 cat <<EOF >${D}/usr/bin/firefox
274 #!/bin/sh
275 export LD_LIBRARY_PATH="/usr/$(get_libdir)/mozilla-firefox"
276 exec /usr/$(get_libdir)/mozilla-firefox/firefox "\$@"
277 EOF
278 fperms 0755 /usr/bin/firefox
279 else
280 # Create /usr/bin/firefox
281 make_wrapper firefox "${MOZILLA_FIVE_HOME}/firefox"
282 fi
283
284 }
285
286 pkg_postinst() {
287 declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
288
289 ewarn "All the packages built against ${PN} won't compile,"
290 ewarn "since they should be built against net-libs/xulrunner,"
291 ewarn "therefore you should check if your package builds against"
292 ewarn "xulrunner and if it doesn't, file a bug, thanks."
293
294 # Update mimedb for the new .desktop file
295 fdo-mime_desktop_database_update
296 }

  ViewVC Help
Powered by ViewVC 1.1.20