[Lunar-commits] <moonbase> firefox5: new firefox: 5.0

Zbigniew Luszpinski zbiggy at lunar-linux.org
Thu Jun 30 01:20:11 CEST 2011


commit 418a43ce71943ff9ff48a7cd8d832b71d5ca9da4
Author: Zbigniew Luszpinski <zbiggy at lunar-linux.org>
Date:   Thu Jun 30 01:20:11 2011 +0200

    firefox5: new firefox: 5.0
---
 web/firefox5/BUILD           |   96 ++++++++++++++++++++++++++++++++++++++++++
 web/firefox5/CONFIGURE       |    2 +
 web/firefox5/CONFLICTS       |    1 +
 web/firefox5/DEPENDS         |   25 +++++++++++
 web/firefox5/DETAILS         |   44 +++++++++++++++++++
 web/firefox5/POST_INSTALL    |   31 +++++++++++++
 web/firefox5/POST_REMOVE     |   10 ++++
 web/firefox5/PRE_BUILD       |    7 +++
 web/firefox5/firefox.desktop |   11 +++++
 web/firefox5/mozconfig       |   37 ++++++++++++++++
 10 files changed, 264 insertions(+), 0 deletions(-)

diff --git a/web/firefox5/BUILD b/web/firefox5/BUILD
new file mode 100644
index 0000000..e54aefb
--- /dev/null
+++ b/web/firefox5/BUILD
@@ -0,0 +1,96 @@
+(
+
+  patch_it $SOURCE2 1 &&
+  sedit 's/^GENERATE_CACHE .*/GENERATE_CACHE = true/' toolkit/mozapps/installer/packager.mk &&
+  sedit 's/@PRE_RELEASE_SUFFIX@//g' browser/base/content/browser.xul &&
+  
+  if module_is_expired $MODULE && [ "$VERSION" != "`installed_version $MODULE`" ]; then
+    set_module_config OLD_VER "`installed_version $MODULE`"
+  fi  &&
+
+  export MOZ_CO_PROJECT=browser  &&
+  export MOZILLA_OFFICIAL=1  &&
+  export BUILD_OFFICIAL=1  &&
+
+  cp $SCRIPT_DIRECTORY/mozconfig .  &&
+
+  export MOZ_OBJDIR="${SOURCE_DIRECTORY}/build-mozilla"  &&
+  mkdir -p ${MOZ_OBJDIR}  &&
+
+  echo "ac_add_options --disable-necko-wifi" >> mozconfig  &&
+  echo "ac_add_options --disable-system-sqlite" >> mozconfig  &&
+
+  #Add DEPENDS options
+  if in_depends $MODULE "xulrunner" ; then
+    XUL=`module_version xulrunner`  &&
+    echo "ac_add_options --with-libxul-sdk=/usr/lib/xulrunner-devel-$XUL" >> mozconfig
+  fi  &&
+
+  if in_depends $MODULE gnome-vfs ; then
+    echo "ac_add_options --enable-gnomevfs" >> mozconfig
+  else
+    echo "ac_add_options --disable-gnomevfs" >> mozconfig
+  fi  &&
+
+  if in_depends $MODULE libevent ; then
+    echo "ac_add_options --with-system-libevent" >> mozconfig
+  else
+    echo "ac_add_options --without-system-libevent" >> mozconfig
+  fi  &&
+
+  if in_depends $MODULE dbus-glib ; then
+    echo "ac_add_options --enable-dbus" >> mozconfig
+  else
+    echo "ac_add_options --disable-dbus" >> mozconfig
+  fi  &&
+
+  if in_depends $MODULE sun-jdk ; then
+    echo "ac_add_options --with-java-include-path=/usr/java/default/include" >> mozconfig  &&
+    echo "ac_add_options --with-java-bin-path=/usr/java/default/bin" >> mozconfig  &&
+    echo "ac_add_options --enable-javaxpcom" >> mozconfig
+  fi  &&
+
+  #Add CONFIGURE options
+
+  if [ "$SAFE" == "y" ] ; then
+    echo "ac_add_options --enable-safe-browsing" >> mozconfig
+  fi  &&
+
+  setterm -bfreq -blength &&
+
+  #Finally, the build!
+  if [ "$PGO" == "y" ] ; then
+    #CCache breaks the pgo build
+    export CCACHE_DISABLE=1  &&
+    echo "ac_add_options --enable-profile-guided-optimization" >> mozconfig  &&
+    echo "mk_add_options PROFILE_GEN_SCRIPT='python $MOZ_OBJDIR/_profile/pgo/profileserver.py'" >> mozconfig  &&
+    make -f client.mk build &&
+    make -f client.mk profiledbuild
+  else
+    make -f client.mk build
+  fi  &&
+
+  cd ${MOZ_OBJDIR}  &&
+  prepare_install   &&
+  make install      || exit 1
+
+  MOZILLA_HOME=$(egrep ^moz_libdir= browser/app/firefox | cut -d= -f2)  &&
+  LIB_VER=$(echo $MOZILLA_HOME | cut -d\- -f2)  &&
+  # Sanity check
+  if [[ $MOZILLA_HOME != "/usr/lib"*"firefox"* ]] || [[ $LIB_VER != [1-9]* ]] ; then
+    message "${PROBLEM_COLOR}Sanity check on variables failed!${DEFAULT_COLOR}"
+    exit 1
+  fi  &&
+  set_module_config NEW_VER "$LIB_VER"  &&
+
+  # Now the .desktop file and icons
+  install -Dm 644 {"$SCRIPT_DIRECTORY",/usr/share/applications}/firefox.desktop  &&
+
+  for s in 16 22 24 32 48 256 ; do
+    install -Dm 644 ../other-licenses/branding/firefox/default${s}.png /usr/share/icons/hicolor/${s}x${s}/apps/firefox.png
+  done  &&
+  if [ -x /usr/bin/gtk-update-icon-cache ] ; then
+    gtk-update-icon-cache -f /usr/share/icons/hicolor/
+  fi
+
+) > $C_FIFO 2>&1
diff --git a/web/firefox5/CONFIGURE b/web/firefox5/CONFIGURE
new file mode 100644
index 0000000..c8311d9
--- /dev/null
+++ b/web/firefox5/CONFIGURE
@@ -0,0 +1,2 @@
+mquery PGO "Build with Profile Guided Optimization?"  y  "--enable-profile-guided-optimization"  ""
+mquery SAFE "Enable safe browsing (anti-phishing)?"  y  "--enable-safe-browsing"  ""
diff --git a/web/firefox5/CONFLICTS b/web/firefox5/CONFLICTS
new file mode 100644
index 0000000..db109b6
--- /dev/null
+++ b/web/firefox5/CONFLICTS
@@ -0,0 +1 @@
+conflicts firefox
diff --git a/web/firefox5/DEPENDS b/web/firefox5/DEPENDS
new file mode 100644
index 0000000..68566a1
--- /dev/null
+++ b/web/firefox5/DEPENDS
@@ -0,0 +1,25 @@
+depends ORBit2
+depends zip
+depends unzip
+depends gtk+-2
+depends nss
+depends curl
+depends libnotify
+depends alsa-lib
+depends libvpx
+
+# Firefox crashes with sqlite 3.6.18 when adding new bookmarks:
+# https://bugzilla.mozilla.org/show_bug.cgi?id=512940
+# Comment 9:  "System SQLite isn't supported by Mozilla (in fact we discourage its use)"
+# So, disable the option to use system sqlite - instead, use Mozilla's version
+#optional_depends "sqlite"  ""  ""  \
+#                 "Use system sqlite"
+
+optional_depends "Python"           ""  ""  "Needed to do a Profile Guided Optimization build"
+optional_depends "flash-plugin-10"  ""  ""  "To enable Flash plugin"
+optional_depends "gnome-vfs"        ""  ""  "For Gnome VFS support"
+optional_depends "hunspell"         ""  ""  "For spelling support"
+
+# $OPTS is ignored in this BUILD
+optional_depends "libevent"         ""  ""  "For event detection"
+optional_depends "dbus-glib"        ""  ""  "For dbus support"
diff --git a/web/firefox5/DETAILS b/web/firefox5/DETAILS
new file mode 100644
index 0000000..f6d722e
--- /dev/null
+++ b/web/firefox5/DETAILS
@@ -0,0 +1,44 @@
+          MODULE=firefox5
+         VERSION=5.0
+          SOURCE=firefox-$VERSION.source.tar.bz2
+         SOURCE2=firefox5-bug644692fix.patch
+   SOURCE_URL[0]=ftp://ftp.uni-erlangen.de/pub/mozilla.org/firefox/releases/$VERSION/source
+   SOURCE_URL[1]=ftp://mozilla.isc.org/pub/mozilla.org/firefox/releases/$VERSION/source
+   SOURCE_URL[2]=ftp://ftp.mozilla.org/pub/firefox/releases/$VERSION/source
+     SOURCE2_URL=$PATCH_URL
+      SOURCE_VFY=sha1:22b7b4751173c2142a0f09cca1aebc717d97b45a
+     SOURCE2_VFY=sha1:4f57bc9a5ced79c60fab7b166f84441fce83f63c
+SOURCE_DIRECTORY=$BUILD_DIRECTORY/mozilla-release
+        WEB_SITE=http://www.mozilla.org/projects/firefox
+         ENTERED=20030810
+         UPDATED=20110620
+      MAINTAINER="tchan at lunar-linux.org"
+           PSAFE=no
+           SHORT="A speedy, full-featured web browser"
+
+cat << EOF
+Mozilla Firefox is the successor of Mozilla Firebird.
+
+Firefox includes:
+  * comprehensive popup controls to keep unwanted advertising off
+    your desktop
+  * a tab browsing mode that lets you open several pages in a single
+    window, allowing you to load links in the background without
+    leaving the page you're on
+  * integrated Google search
+  * industry leading accessibility with Find As You Type - find links
+    and page text by simply typing
+  * simplified privacy controls that let you cover your tracks more
+    effectively
+  * a streamlined browser window that lets you see more of the page
+    than any other browser while at the same time being more
+    configurable
+  * a large variety of free downloadable extensions and themes that
+    add specific functionality and visual changes to the browser
+
+------- NOTE -------
+The Lunar version of Firefox has crypto enabled and uses only gtk+-2.
+NOTHING ELSE IS CONFIGURED IN! No mail, irc, composer, gpg, calendar,
+MathML, Javascript debugger, html code inspector, LDAP, help support.
+If you want any of that use the regular seamonkey module.
+EOF
diff --git a/web/firefox5/POST_INSTALL b/web/firefox5/POST_INSTALL
new file mode 100644
index 0000000..c54c5f8
--- /dev/null
+++ b/web/firefox5/POST_INSTALL
@@ -0,0 +1,31 @@
+OLD_VER="`get_module_config OLD_VER`"
+NEW_VER="`get_module_config NEW_VER`"
+FIREFOX_HOME=/usr
+FFOX_LIBDIR=firefox-$NEW_VER
+
+if [ ! -z "$OLD_VER" ] && [ "$OLD_VER" != "$NEW_VER" ] ; then
+  for old_version in $OLD_VER
+  do
+    rm -rf /usr/lib/firefox-$old_version
+    rm -rf /usr/lib/firefox-devel-$old_version
+    rm -rf /usr/include/firefox-$old_version
+    rm -rf /usr/share/idl/firefox-$old_version
+    rm -rf /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/include-fixed/firefox-$old_version
+  done
+fi
+
+unset_module_config OLD_VER
+
+# Clean up old firefox junk
+rm -rf /usr/include/firefox-3*
+rm -rf /usr/include/firefox-4*
+rm -rf /usr/share/idl/firefox-3*
+rm -rf /usr/share/idl/firefox-4*
+rm -rf /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/include-fixed/firefox-3*
+rm -rf /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/include-fixed/firefox-4*
+
+export LD_LIBRARY_PATH="$FIREFOX_HOME/lib/$FFOX_LIBDIR:$FIREFOX_HOME/lib/$FFOX_LIBDIR/plugins:$FIREFOX_HOME/lib/$FFOX_LIBDIR/components"
+export MOZILLA_FIVE_HOME="$FIREFOX_HOME/lib/$FFOX_LIBDIR"
+# Add plugins
+ln -snf /opt/lunar/plugins "$MOZILLA_FIVE_HOME/plugins"
+ldconfig
diff --git a/web/firefox5/POST_REMOVE b/web/firefox5/POST_REMOVE
new file mode 100644
index 0000000..ecb70e2
--- /dev/null
+++ b/web/firefox5/POST_REMOVE
@@ -0,0 +1,10 @@
+NEW_VER="`get_module_config NEW_VER`"
+if [ -z "$NEW_VER" ] ; then
+  NEW_VER=$VERSION
+fi
+
+rm -f  /usr/share/pixmaps/firefox48.png
+rm -rf /usr/include/firefox*
+rm -rf /usr/share/idl/firefox*
+rm -rf /usr/lib/firefox*
+rm -rf /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/include-fixed/firefox*
diff --git a/web/firefox5/PRE_BUILD b/web/firefox5/PRE_BUILD
new file mode 100644
index 0000000..4073902
--- /dev/null
+++ b/web/firefox5/PRE_BUILD
@@ -0,0 +1,7 @@
+if [ ! -e /usr/include/cairo/cairo-tee.h ] ; then
+  message "${PROBLEM_COLOR}Run:  ${MODULE_COLOR}lin -c cairo"
+  message "${MESSAGE_COLOR}To recompile cairo with tee support, which is required by firefox5.${DEFAULT_COLOR}"
+  exit 1
+fi
+
+default_pre_build
diff --git a/web/firefox5/firefox.desktop b/web/firefox5/firefox.desktop
new file mode 100644
index 0000000..064444f
--- /dev/null
+++ b/web/firefox5/firefox.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Firefox
+Comment=Firefox Web Browser
+Exec=firefox
+Icon=firefox
+Terminal=false
+Type=Application
+Categories=Application;Network;
+Comment[pl]=Firefox - przeglÄ…darka WWW
+X-KDE-StartupNotify=true
diff --git a/web/firefox5/mozconfig b/web/firefox5/mozconfig
new file mode 100644
index 0000000..94ed726
--- /dev/null
+++ b/web/firefox5/mozconfig
@@ -0,0 +1,37 @@
+ac_add_options --prefix=/usr
+ac_add_options --with-x
+ac_add_options --with-pthreads
+ac_add_options --with-default-mozilla-five-home=$MOZILLA_HOME
+ac_add_options --with-user-appdir=".firefox"
+ac_add_options --with-system-zlib
+ac_add_options --with-system-jpeg
+ac_add_options --with-system-bz2
+ac_add_options --enable-storage
+ac_add_options --enable-places
+ac_add_options --enable-application=browser
+ac_add_options --enable-default-toolkit=cairo-gtk2
+ac_add_options --enable-optimize="$CFLAGS"
+ac_add_options --enable-crypto
+ac_add_options --enable-strip
+ac_add_options --enable-canvas
+ac_add_options --enable-svg
+ac_add_options --enable-system-cairo
+ac_add_options --enable-xterm-updates
+ac_add_options --enable-libxul
+ac_add_options --enable-official-branding
+ac_add_options --enable-jemalloc
+ac_add_options --disable-debug
+ac_add_options --disable-tests
+ac_add_options --disable-installer
+ac_add_options --disable-pedantic
+ac_add_options --disable-logging
+ac_add_options --disable-accessibility
+ac_add_options --enable-mathml
+ac_add_options --disable-os2-high-mem
+ac_add_options --enable-gio
+ac_add_options --enable-raw
+ac_add_options --with-system-libvpx
+ac_add_options --enable-splashscreen
+ac_add_options --enable-url-classifier
+ac_add_options --enable-shared-js
+ac_add_options --enable-system-pixman


More information about the Lunar-commits mailing list