CRUX-ARM : Home

Home :: Documentation :: Download :: Development :: Community :: Ports :: Packages :: Bugs :: Links :: About :: Donors
firefox: updated to 52.0.2
[ports/opt-arm.git] / firefox / Pkgfile
index eddf075739bff0587a306124eb2f2e2c59dee834..b7c9feee3c1226b572b629b2147ae42792f78d6e 100644 (file)
@@ -2,42 +2,74 @@
 # URL: http://www.mozilla.com/firefox/
 # Maintainer: Fredrik Rinnestam, fredrik at crux dot nu
 # Arch Maintainer: CRUX-ARM System Team, devel at crux-arm dot nu
-# Depends on: nss, libidl, gtk, python, alsa-lib, yasm, mesa3d
+# Depends on: nss, unzip, autoconf-2.13, zip, libidl, gtk, gtk3, python, alsa-lib, xorg-libxt, yasm, mesa3d
 
 name=firefox
-version=18.0.1
+version=52.0.2
 release=1
-source=(ftp://ftp.mozilla.org/pub/firefox/releases/$version/source/firefox-$version.source.tar.bz2
-        mozconfig)
+source=(http://ftp.mozilla.org/pub/firefox/releases/$version/source/firefox-$version.source.tar.xz
+        firefox-install-dir.patch firefox.desktop)
 
 build() {
-  export MOZ_CO_PROJECT=browser
-  export BUILD_OFFICIAL=1
-  export MOZILLA_OFFICIAL=1
-  export MOZILLA_FIVE_HOME=/usr/lib/firefox
+  # Fix to avoid gcc6 compilations error at install stage
+  export CFLAGS="$CFLAGS -fno-schedule-insns"
+  export CXXFLAGS="$CFLAGS"
 
-  cd mozilla-release
-  sed -e "s/#CFLAGS#/$CFLAGS/" $SRC/mozconfig > .mozconfig
-  ./configure
+  cd $name-$version
 
-  #mozilla sucks: BZ #824381
-  mkdir $SRC/mozilla-release/js/src/.deps
+  sed -i '/^ftfntfmt.h/ i freetype/ftfntfmt.h' config/system-headers
+  # stupid workaround
+  sed -i '2,7d' js/src/configure
+  patch -p1 -i $SRC/firefox-install-dir.patch
 
-  make
+  cat <<- EOF > .mozconfig
+  mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-shared
+  mk_add_options MOZ_MAKE_FLAGS="$MAKEFLAGS -s"
+  ac_add_options --prefix=/usr
+  ac_add_options --enable-default-toolkit=cairo-gtk3
+  ac_add_options --with-system-jpeg
+  ac_add_options --with-system-zlib
+  ac_add_options --with-system-png
+  ac_add_options --with-system-nspr
+  ac_add_options --with-system-nss
+  ac_add_options --with-system-cairo
+  ac_add_options --enable-system-ffi
+  ac_add_options --enable-system-pixman
+  ac_add_options --enable-system-sqlite
+  ac_add_options --enable-alsa
+  ac_add_options --with-pthreads
+  ac_add_options --enable-official-branding
+  ac_add_options --with-distribution-id=nu.crux-arm
+  ac_add_options --enable-extensions=default,-gnomevfs
+  ac_add_options --disable-tests
+  ac_add_options --disable-dbus
+  ac_add_options --disable-debug
+  ac_add_options --disable-updater
+  ac_add_options --disable-gnomeui
+  ac_add_options --disable-crashreporter
+  ac_add_options --disable-necko-wifi
+  ac_add_options --disable-pulseaudio
+  ac_add_options --disable-gconf
+  ac_add_options --disable-skia
+EOF
 
-  install -d \
-    $PKG$MOZILLA_FIVE_HOME \
-    $PKG/usr/bin \
-    $PKG/usr/share/idl/firefox \
-    $PKG/usr/include/firefox
+# mozonfig optimizations
+  for flag in $CFLAGS; do
+    case $flag in
+      -mfpu=neon*) echo "ac_add_options --with-fpu=neon" >> .mozconfig ;;
+      -march=armv7ve) echo "ac_add_options --with-arch=armv7ve" >> .mozconfig ;;
+    esac
+  done
 
-  cp -rL dist/bin/* $PKG$MOZILLA_FIVE_HOME
-  ln -s /usr/lib/firefox/firefox $PKG/usr/bin/firefox
+  make -f client.mk build
+  make -f client.mk DESTDIR=$PKG install
+  mkdir -p $PKG/usr/share/pixmaps
+  ln -s /usr/lib/firefox/browser/chrome/icons/default/default48.png $PKG/usr/share/pixmaps/firefox_default48.png
+  install -D -m 0644 $SRC/firefox.desktop $PKG/usr/share/applications/firefox.desktop
+  # Remove crap
+  rm $PKG/usr/lib/firefox/browser/features/{firefox@getpocket.com.xpi,webcompat@mozilla.org.xpi}
 
-  # devel stuff
-  cp -frL dist/idl/* $PKG/usr/share/idl/firefox/
-  cp -frL dist/include/* $PKG/usr/include/firefox/
-
-  install -d $PKG/etc/ld.so.conf.d
-  echo "/usr/lib/$name" > $PKG/etc/ld.so.conf.d/$name.conf
+  mkdir -p $PKG/etc/revdep.d
+  echo "/usr/lib/firefox" > $PKG/etc/revdep.d/firefox
 }