X-Git-Url: http://gitweb/?a=blobdiff_plain;f=firefox%2FPkgfile;h=b7c9feee3c1226b572b629b2147ae42792f78d6e;hb=65c1966f5926c2c73bc5230ba9a3df776a101439;hp=5eeebb69be6a68ce2a5958162c3d4700fb921510;hpb=3f5266132a6a9637d6b27169f3bd32e2a61a1a10;p=ports%2Fopt-arm.git diff --git a/firefox/Pkgfile b/firefox/Pkgfile index 5eeebb6..b7c9fee 100644 --- a/firefox/Pkgfile +++ b/firefox/Pkgfile @@ -2,44 +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: libidl nss gtk perl 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=6.0 +version=52.0.2 release=1 -source=(http://releases.mozilla.org/pub/mozilla.org/$name/releases/$version/source/$name-$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 - # We avoid thumb instructions over CFLAGS - export CFLAGS="$(echo $CFLAGS | sed -e 's/\-mthumb//')" - - cd mozilla-release - sed -e "s/#CFLAGS#/$CFLAGS/" $SRC/mozconfig > .mozconfig - # Disabling elf-hacks in ARM - ./configure --disable-elf-hack - make - - install -d \ - $PKG$MOZILLA_FIVE_HOME \ - $PKG/usr/bin \ - $PKG/usr/share/idl/firefox \ - $PKG/usr/include/firefox - - cp -rL dist/bin/* $PKG$MOZILLA_FIVE_HOME - ln -s /usr/lib/firefox/firefox $PKG/usr/bin/firefox - - # 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 - - # cleanup - rm $PKG/usr/lib/firefox/README.txt + # Fix to avoid gcc6 compilations error at install stage + export CFLAGS="$CFLAGS -fno-schedule-insns" + export CXXFLAGS="$CFLAGS" + + cd $name-$version + + 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 + + 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 + +# 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 + + 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} + + mkdir -p $PKG/etc/revdep.d + echo "/usr/lib/firefox" > $PKG/etc/revdep.d/firefox }