Lines 21-33
Link Here
|
21 |
# We don't use the http mirror because it deletes old tarballs. |
21 |
# We don't use the http mirror because it deletes old tarballs. |
22 |
MOZ_FTP_URI="ftp://ftp.mozilla.org/pub/mozilla.org/${MOZ_PN}/releases/" |
22 |
MOZ_FTP_URI="ftp://ftp.mozilla.org/pub/mozilla.org/${MOZ_PN}/releases/" |
23 |
|
23 |
|
24 |
inherit eutils multilib pax-utils fdo-mime gnome2-utils mozlinguas nsplugins |
24 |
inherit eutils pax-utils fdo-mime gnome2-utils mozlinguas nsplugins multilib-minimal |
25 |
|
25 |
|
26 |
DESCRIPTION="Firefox Web Browser" |
26 |
DESCRIPTION="Firefox Web Browser" |
27 |
MOZ_FTP_URI="ftp://ftp.mozilla.org/pub/mozilla.org/${MOZ_PN}/releases" |
27 |
MOZ_FTP_URI="ftp://ftp.mozilla.org/pub/mozilla.org/${MOZ_PN}/releases" |
28 |
SRC_URI="${SRC_URI} |
28 |
SRC_URI="${SRC_URI} |
29 |
amd64? ( ${MOZ_FTP_URI}/${MOZ_PV}/linux-x86_64/en-US/${MOZ_P}.tar.bz2 -> ${PN}_x86_64-${PV}.tar.bz2 ) |
29 |
abi_x86_64? ( ${MOZ_FTP_URI}/${MOZ_PV}/linux-x86_64/en-US/${MOZ_P}.tar.bz2 -> ${PN}_x86_64-${PV}.tar.bz2 ) |
30 |
x86? ( ${MOZ_FTP_URI}/${MOZ_PV}/linux-i686/en-US/${MOZ_P}.tar.bz2 -> ${PN}_i686-${PV}.tar.bz2 )" |
30 |
abi_x86_32? ( ${MOZ_FTP_URI}/${MOZ_PV}/linux-i686/en-US/${MOZ_P}.tar.bz2 -> ${PN}_i686-${PV}.tar.bz2 )" |
31 |
HOMEPAGE="http://www.mozilla.com/firefox" |
31 |
HOMEPAGE="http://www.mozilla.com/firefox" |
32 |
RESTRICT="strip mirror" |
32 |
RESTRICT="strip mirror" |
33 |
|
33 |
|
Lines 47-82
Link Here
|
47 |
selinux? ( sec-policy/selinux-mozilla ) |
47 |
selinux? ( sec-policy/selinux-mozilla ) |
48 |
>=x11-libs/gtk+-2.2:2 |
48 |
>=x11-libs/gtk+-2.2:2 |
49 |
>=media-libs/alsa-lib-1.0.16 |
49 |
>=media-libs/alsa-lib-1.0.16 |
|
|
50 |
|
51 |
amd64? ( abi_x86_32? ( |
52 |
|| ( |
53 |
( |
54 |
app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] |
55 |
app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)] |
56 |
app-emulation/emul-linux-x86-gtklibs[-abi_x86_32(-)] |
57 |
app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)] |
58 |
) |
59 |
( |
60 |
dev-libs/dbus-glib[abi_x86_32(-)] |
61 |
x11-libs/libXrender[abi_x86_32(-)] |
62 |
x11-libs/libXt[abi_x86_32(-)] |
63 |
x11-libs/libXmu[abi_x86_32(-)] |
64 |
>=x11-libs/gtk+-2.2:2[abi_x86_32(-)] |
65 |
>=media-libs/alsa-lib-1.0.16[abi_x86_32(-)] |
66 |
) |
67 |
) |
68 |
) ) |
50 |
" |
69 |
" |
51 |
|
70 |
|
52 |
QA_PREBUILT=" |
71 |
QA_PREBUILT=" |
53 |
opt/${MOZ_PN}/*.so |
72 |
opt/${MOZ_PN}*/*.so |
54 |
opt/${MOZ_PN}/${MOZ_PN} |
73 |
opt/${MOZ_PN}*/${MOZ_PN} |
55 |
opt/${MOZ_PN}/${PN} |
74 |
opt/${MOZ_PN}*/${PN} |
56 |
opt/${MOZ_PN}/crashreporter |
75 |
opt/${MOZ_PN}*/crashreporter |
57 |
opt/${MOZ_PN}/webapprt-stub |
76 |
opt/${MOZ_PN}*/webapprt-stub |
58 |
opt/${MOZ_PN}/plugin-container |
77 |
opt/${MOZ_PN}*/plugin-container |
59 |
opt/${MOZ_PN}/mozilla-xremote-client |
78 |
opt/${MOZ_PN}*/mozilla-xremote-client |
60 |
opt/${MOZ_PN}/updater |
79 |
opt/${MOZ_PN}*/updater |
61 |
" |
80 |
" |
62 |
|
81 |
|
63 |
S="${WORKDIR}/${MOZ_PN}" |
82 |
S="${WORKDIR}" |
|
|
83 |
BUILD_DIR="${S}/${MOZ_PN}" |
64 |
|
84 |
|
65 |
src_unpack() { |
85 |
src_unpack() { |
66 |
unpack ${A} |
86 |
local i |
|
|
87 |
for i in ${A} ; do |
88 |
[[ $i = *.xpi ]] && continue |
89 |
unpack "${i}" |
90 |
mv "${MOZ_PN}" "${MOZ_PN}-$([[ $i = *i686* ]] && echo abi_x86_32.x86 || echo abi_x86_64.amd64)" || die |
91 |
done |
67 |
|
92 |
|
68 |
# Unpack language packs |
93 |
# Unpack language packs |
69 |
mozlinguas_src_unpack |
94 |
mozlinguas_src_unpack |
70 |
} |
95 |
} |
71 |
|
96 |
|
72 |
src_install() { |
97 |
multilib_src_install() { |
73 |
declare MOZILLA_FIVE_HOME=/opt/${MOZ_PN} |
98 |
local suffix= |
|
|
99 |
multilib_is_native_abi || suffix="-${ABI}" |
100 |
local MY_PN="${PN}${suffix}" |
101 |
|
102 |
declare MOZILLA_FIVE_HOME=/opt/${MOZ_PN}${suffix} |
74 |
|
103 |
|
75 |
local size sizes icon_path icon name |
104 |
local size sizes icon_path icon name |
76 |
sizes="16 32 48" |
105 |
sizes="16 32 48" |
77 |
icon_path="${S}/browser/chrome/icons/default" |
106 |
icon_path="${BUILD_DIR}/browser/chrome/icons/default" |
78 |
icon="${PN}" |
107 |
icon="${PN}" |
79 |
name="Mozilla Firefox" |
108 |
name="Mozilla Firefox (bin/${ABI})" |
80 |
|
109 |
|
81 |
# Install icons and .desktop for menu entry |
110 |
# Install icons and .desktop for menu entry |
82 |
for size in ${sizes}; do |
111 |
for size in ${sizes}; do |
Lines 87-111
Link Here
|
87 |
insinto "/usr/share/icons/hicolor/128x128/apps" |
116 |
insinto "/usr/share/icons/hicolor/128x128/apps" |
88 |
newins "${icon_path}/../../../icons/mozicon128.png" "${icon}.png" || die |
117 |
newins "${icon_path}/../../../icons/mozicon128.png" "${icon}.png" || die |
89 |
# Install a 48x48 icon into /usr/share/pixmaps for legacy DEs |
118 |
# Install a 48x48 icon into /usr/share/pixmaps for legacy DEs |
90 |
newicon "${S}"/browser/chrome/icons/default/default48.png ${PN}.png |
119 |
newicon "${BUILD_DIR}"/browser/chrome/icons/default/default48.png ${PN}.png |
91 |
domenu "${FILESDIR}"/${PN}.desktop |
120 |
newmenu "${FILESDIR}"/${PN}.desktop "${MY_PN}".desktop |
92 |
sed -i -e "s:@NAME@:${name}:" -e "s:@ICON@:${icon}:" \ |
121 |
sed -e "/^Name/s:=.*:=${name}:" \ |
93 |
"${ED}/usr/share/applications/${PN}.desktop" || die |
122 |
-e "/^Icon/s:=.*:=${icon}:" \ |
|
|
123 |
-e "/^Exec/s:=.*:=/usr/bin/${MY_PN} %u:" \ |
124 |
-i "${ED}/usr/share/applications/${MY_PN}.desktop" || die |
94 |
|
125 |
|
95 |
# Add StartupNotify=true bug 237317 |
126 |
# Add StartupNotify=true bug 237317 |
96 |
if use startup-notification; then |
127 |
if use startup-notification; then |
97 |
echo "StartupNotify=true" >> "${D}"/usr/share/applications/${PN}.desktop |
128 |
echo "StartupNotify=true" >> "${D}"/usr/share/applications/${MY_PN}.desktop |
98 |
fi |
129 |
fi |
99 |
|
130 |
|
100 |
# Install firefox in /opt |
131 |
# Install firefox in /opt |
101 |
dodir ${MOZILLA_FIVE_HOME%/*} |
132 |
dodir ${MOZILLA_FIVE_HOME%/*} |
102 |
mv "${S}" "${D}"${MOZILLA_FIVE_HOME} || die |
133 |
mv "${BUILD_DIR}" "${D}"${MOZILLA_FIVE_HOME} || die |
103 |
|
134 |
|
104 |
# Fix prefs that make no sense for a system-wide install |
135 |
# Fix prefs that make no sense for a system-wide install |
105 |
insinto ${MOZILLA_FIVE_HOME}/defaults/pref/ |
136 |
insinto ${MOZILLA_FIVE_HOME}/defaults/pref/ |
106 |
doins "${FILESDIR}"/local-settings.js |
137 |
doins "${FILESDIR}"/local-settings.js |
107 |
# Copy preferences file so we can do a simple rename. |
138 |
# Copy preferences file so we can do a simple rename. |
108 |
cp "${FILESDIR}"/all-gentoo-1.js "${D}"${MOZILLA_FIVE_HOME}/all-gentoo.js |
139 |
cp "${FILESDIR}"/all-gentoo-1.js "${D}"${MOZILLA_FIVE_HOME}/all-gentoo.js || die |
109 |
|
140 |
|
110 |
# Install language packs |
141 |
# Install language packs |
111 |
mozlinguas_src_install |
142 |
mozlinguas_src_install |
Lines 120-138
Link Here
|
120 |
|
151 |
|
121 |
# Create /usr/bin/firefox-bin |
152 |
# Create /usr/bin/firefox-bin |
122 |
dodir /usr/bin/ |
153 |
dodir /usr/bin/ |
123 |
cat <<-EOF >"${D}"/usr/bin/${PN} |
154 |
cat <<-EOF >"${D}"/usr/bin/${MY_PN} |
124 |
#!/bin/sh |
155 |
#!/bin/sh |
125 |
unset LD_PRELOAD |
156 |
unset LD_PRELOAD |
126 |
LD_LIBRARY_PATH="/opt/firefox/" |
157 |
LD_LIBRARY_PATH="${MOZILLA_FIVE_HOME}" |
127 |
GTK_PATH=/usr/lib/gtk-2.0/ |
158 |
GTK_PATH=/usr/$(get_libdir)/gtk-2.0/ |
128 |
exec /opt/${MOZ_PN}/${MOZ_PN} "\$@" |
159 |
exec ${MOZILLA_FIVE_HOME}/${MOZ_PN} "\$@" |
129 |
EOF |
160 |
EOF |
130 |
fperms 0755 /usr/bin/${PN} |
161 |
fperms 0755 /usr/bin/${MY_PN} |
131 |
|
162 |
|
132 |
# revdep-rebuild entry |
163 |
# revdep-rebuild entry |
133 |
insinto /etc/revdep-rebuild |
164 |
insinto /etc/revdep-rebuild |
134 |
echo "SEARCH_DIRS_MASK=${MOZILLA_FIVE_HOME}" >> ${T}/10${PN} |
165 |
echo "SEARCH_DIRS_MASK=${MOZILLA_FIVE_HOME}" >> ${T}/10${MY_PN} |
135 |
doins "${T}"/10${PN} || die |
166 |
doins "${T}"/10${MY_PN} || die |
136 |
|
167 |
|
137 |
# Plugins dir |
168 |
# Plugins dir |
138 |
share_plugins_dir |
169 |
share_plugins_dir |