CRUX-ARM : Home

Home :: Documentation :: Download :: Development :: Community :: Ports :: Packages :: Bugs :: Links :: About :: Donors
chromium: updated to 54.0.2840.100
[ports/opt-arm.git] / chromium / Pkgfile
index 5d470a293a46d05d0489ab26f84da9d740731394..121703fa82163a45b895fc4fc2e953c72ab2a13a 100644 (file)
@@ -3,25 +3,19 @@
 # Arch Maintainer: CRUX-ARM System Team, devel at crux-arm dot nu
 # Maintainer: Jose V Beneyto, sepen at crux dot nu
 # Packager: Tadeusz Sosnierz, tadzikes gmail com
-# Depends on: dbus-glib gtk libevent nss xorg-libxscrnsaver xorg-libxtst libgcrypt xorg-libxdamage xorg-libxt gperf speech-dispatcher
+# Depends on: dbus-glib gperf gtk libevent libexif libgcrypt mesa3d ninja nss pciutils speech-dispatcher xorg-libxscrnsaver xorg-libxt xorg-libxtst yasm
 
 name=chromium
-version=32.0.1700.102
+version=54.0.2840.100
+
 release=1
-source=(http://commondatastorage.googleapis.com/chromium-browser-official/$name-$version.tar.xz \
-        $name.sh icu-native-arm.patch)
+source=(http://commondatastorage.googleapis.com/$name-browser-official/$name-$version.tar.xz \
+        last-commit-position.patch $name-build-toolchain.patch $name.sh $name.desktop)
 
 build() {
   cd $name-$version
 
-  # avoid 32-bit flags (g++: error: unrecognized command line option '-m32')
-  patch -p1 -i $SRC/icu-native-arm.patch
-
-  # fix for speech-dispatcher >= 0.8
-  sed -e 's|<<(libspeechd_h_prefix)libspeechd.h>|<speech-dispatcher/libspeechd.h>|' \
-      -i build/linux/system.gyp
-
-  export CFLAGS="$CFLAGS $(pkg-config --cflags nspr)"
+  export CFLAGS="$CFLAGS $(pkg-config --cflags nspr) -lpthread"
   export LDFLAGS="$LDFLAGS $(pkg-config --libs nspr)"
 
   # determine some flags depending on SOC
@@ -35,66 +29,65 @@ build() {
     esac
   done
 
-  build/gyp_chromium -f make build/all.gyp --depth=. \
-        -Dtarget_arch=arm \
-        -Darm_float_abi=hard \
-        -Darmv7=$USE_ARMV7 \
-        -Darm_thumb=$USE_ARM_THUMB \
-        -Darm_neon=$USE_ARM_NEON \
-        -Dv8_target_arch=arm \
-        -Dv8_use_arm_eabi_hardfloat=1 \
-        -Dsysroot= \
-        -Dpython_ver="2.7" \
-        -Dno_strict_aliasing=1 \
-        -Dwerror= \
-        -Dlinux_sandbox_path=/usr/lib/chromium/chrome-sandbox \
-        -Dlinux_strip_binary=1 \
-        -Dlinux_use_gold_binary=0 \
-        -Dlinux_use_gold_flags=0 \
-        -Dlinux_use_tmalloc=0 \
-        -Drelease_extra_cflags="$CFLAGS" \
-        -Dproprietary_codecs=1 \
-        -Dffmpeg_branding=Chrome \
-        -Duse_system_libjpeg=1 \
-        -Duse_system_libxslt=1 \
-        -Duse_system_libxml=1 \
-        -Duse_system_bzip2=1 \
-        -Duse_system_zlib=0 \
-        -Duse_system_libpng=0 \
-        -Duse_system_ffmpeg=0 \
-        -Duse_system_yasm=0 \
-        -Duse_system_libevent=1 \
-        -Duse_system_sqlite=0 \
-        -Dremove_webcore_debug_symbols=1 \
-        -Duse_gconf=0 \
-        -Duse_cups=0 \
-        -Duse_gnome_keyring=0 \
-        -Duse_kerberos=0 \
-        -Duse_pulseaudio=0 \
-        -Dlinux_link_gnome_keyring=0 \
-        -Dlinux_link_libpci=1 \
-        -Dlinux_link_libspeechd=1 \
-        -Denable_webrtc=1 \
-        -Ddisable_nacl=1
-
-  # fix issue with nspr libs
-  sed -e "s|LIBS := |LIBS := $LDFLAGS |" -i chrome/chrome.target.mk
-
-  make chrome chrome_sandbox BUILDTYPE=Release
-
-  install -m 0755 -D out/Release/chrome $PKG/usr/lib/chromium/chromium
-  install -m 4755 -o root -g root -D out/Release/chrome_sandbox $PKG/usr/lib/chromium/chrome-sandbox
-  install -m 0644 -D out/Release/*.pak $PKG/usr/lib/chromium
-  install -m 0755 -D out/Release/libffmpegsumo.so $PKG/usr/lib/chromium
-  install -d $PKG/usr/lib/chromium/locales
-  install -m 0644 out/Release/locales/en-US.pak $PKG/usr/lib/chromium/locales
-  cp -a out/Release/resources $PKG/usr/lib/chromium
-  install -m 0644 -D out/Release/chrome.1 $PKG/usr/man/man1/chromium.1
+
+  # we don't use git sources
+  patch -p1 -i $SRC/last-commit-position.patch
+
+  # Let's fix the toolchain
+  patch -p0 -i $SRC/$name-build-toolchain.patch
+
+  _gn_args=(
+    'blink_gc_plugin=false'
+    'clang_use_chrome_plugins=false'
+    'enable_hangout_services_extension=true'
+    'enable_nacl=false'
+    'enable_nacl_nonsfi=false'
+    'fatal_linker_warnings=false'
+    'ffmpeg_branding="Chrome"'
+    'is_clang=false'
+    'is_debug=false'
+    'linux_use_bundled_binutils=false'
+    'proprietary_codecs=true'
+    'remove_webcore_debug_symbols=true'
+    'symbol_level=0'
+    'treat_warnings_as_errors=false'
+    'use_allocator="none"'
+    'use_cups=false'
+    'use_gconf=false'
+    'use_gnome_keyring=false'
+    'use_gold=false'
+    'use_kerberos=false'
+    'use_pulseaudio=false'
+    'use_sysroot=false'
+    'use_system_libjpeg=true'
+  )
+
+  python2 tools/gn/bootstrap/bootstrap.py --gn-gen-args="${_gn_args[*]}"
+  out/Release/gn gen out/Release --args="${_gn_args[*]}" --script-executable=/usr/bin/python2
+
+  ninja -C out/Release chrome chrome_sandbox
+
+  install -m 0755 -D out/Release/chrome $PKG/usr/lib/$name/$name
+  install -m 4755 -o root -g root -D out/Release/chrome_sandbox $PKG/usr/lib/$name/chrome-sandbox
+  install -m 0644 -D out/Release/*.pak $PKG/usr/lib/$name
+  install -d $PKG/usr/lib/$name/locales
+  install -m 0644 out/Release/locales/en-US.pak $PKG/usr/lib/$name/locales
+  cp -a out/Release/resources $PKG/usr/lib/$name
+  install -m 0644 -D out/Release/chrome.1 $PKG/usr/share/man/man1/$name.1
+
+  # fix v8 natives
+  cp -a out/Release/{natives,snapshot}_blob.bin $PKG/usr/lib/$name
 
   for size in 22 24 48 128 256; do
-    install -m 0644 -D chrome/app/theme/chromium/product_logo_${size}.png \
-      $PKG/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png
+    install -m 0644 -D chrome/app/theme/$name/product_logo_${size}.png \
+    $PKG/usr/share/icons/hicolor/${size}x${size}/apps/$name.png
   done
 
-  install -m 0755 -D $SRC/chromium.sh $PKG/usr/bin/chromium
+  # fix icu installation
+  cp -a out/Release/icudtl.dat $PKG/usr/lib/$name
+
+  install -d $PKG/usr/share/pixmaps
+  ln -sf /usr/share/icons/hicolor/48x48/apps/$name.png $PKG/usr/share/pixmaps/$name.png
+  install -m 0644 -D $SRC/$name.desktop $PKG/usr/share/applications/$name.desktop
+  install -m 0755 -D $SRC/$name.sh $PKG/usr/bin/$name
 }