Bug#799939: chromium: does not build / is not available for armhf

2016-07-22 Thread Raphael Hertzog
Hi,

On Fri, 22 Apr 2016, Michael Gilbert wrote:
> I tested the experimental package on armhf, and it always crashed, so
> I didn't include this in the latest upload.
> 
> This will need to wait for a more reliable patch.

Fair enough, it looks like the situation evolved and except for a tiny
patch (see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=799939#146),
everything is upstream in chromium 51.

Can you add armhf/arm64 support now? 

Thank you.
-- 
Raphaël Hertzog ◈ Debian Developer

Support Debian LTS: http://www.freexian.com/services/debian-lts.html
Learn to master Debian: http://debian-handbook.info/get/



Bug#799939: chromium: does not build / is not available for armhf

2016-04-22 Thread Michael Gilbert
control: reopen -1

I tested the experimental package on armhf, and it always crashed, so
I didn't include this in the latest upload.

This will need to wait for a more reliable patch.

Best wishes,
Mike



Bug#799939: chromium: does not build / is not available for armhf

2015-10-31 Thread Josua Mayer
Hi everybody,

How about at least getting the armhf part in somewhere?
I tried to build this thing myself once more but I keep getting weird
compile errors so I'd love to see it build on one of the debian
buildbots.

br
Josua Mayer

2015-10-25 3:25 GMT+01:00 Michael Gilbert :
> On Wed, Oct 21, 2015 at 9:21 AM, Riku Voipio wrote:
>> Hi,
>>
>> Here's cleaned up patch against pkg-chromium git. I've now briefly tested the
>> built chromium runs on armhf hw and a bit more extensively on arm64 hw.
>>
>> Michael, how would you feel about sending at test build at experimental?
>
> These  changes are larger than I would like.  Please upstream them
> first, especially the assembly changes to openmax.
>
> Best wishes,
> Mike



Bug#799939: chromium: does not build / is not available for armhf

2015-10-24 Thread Michael Gilbert
On Wed, Oct 21, 2015 at 9:21 AM, Riku Voipio wrote:
> Hi,
>
> Here's cleaned up patch against pkg-chromium git. I've now briefly tested the
> built chromium runs on armhf hw and a bit more extensively on arm64 hw.
>
> Michael, how would you feel about sending at test build at experimental?

These  changes are larger than I would like.  Please upstream them
first, especially the assembly changes to openmax.

Best wishes,
Mike



Bug#799939: chromium: does not build / is not available for armhf

2015-10-21 Thread Riku Voipio
Hi,

Here's cleaned up patch against pkg-chromium git. I've now briefly tested the
built chromium runs on armhf hw and a bit more extensively on arm64 hw.

Michael, how would you feel about sending at test build at experimental? 

Riku

>From 10a49f52d08b576e82613a90de4a7ec1e036f387 Mon Sep 17 00:00:00 2001
From: Riku Voipio 
Date: Wed, 21 Oct 2015 15:50:07 +0300
Subject: [PATCH] armhf and arm64 support

Add support for building chromium on armhf and arm64
---
 debian/control  |   7 +-
 debian/patches/aarch64-fixes.patch  |  42 +
 debian/patches/aarch64_openmax_clang.patch  | 273 
 debian/patches/series   |   3 +
 debian/patches/silence-clang-warnings.patch |  15 ++
 debian/rules|  22 +++
 debian/scripts/chromium |  26 ++-
 7 files changed, 380 insertions(+), 8 deletions(-)
 create mode 100644 debian/patches/aarch64-fixes.patch
 create mode 100644 debian/patches/aarch64_openmax_clang.patch
 create mode 100644 debian/patches/silence-clang-warnings.patch

diff --git a/debian/control b/debian/control
index 5172532..b21442e 100644
--- a/debian/control
+++ b/debian/control
@@ -81,10 +81,11 @@ Build-Depends:
  libgcrypt20-dev,
  fonts-ipafont-gothic,
  fonts-ipafont-mincho,
+ binutils (>= 2.25.1-7.1) [armhf],
 Standards-Version: 3.9.6
 
 Package: chromium
-Architecture: i386 amd64
+Architecture: i386 amd64 armhf arm64
 Built-Using: ${Built-Using}
 Depends:
  ${misc:Depends},
@@ -105,7 +106,7 @@ Description: web browser
  This package contains the web browser component.
 
 Package: chromium-dbg
-Architecture: i386 amd64
+Architecture: i386 amd64 armhf arm64
 Section: debug
 Priority: extra
 Built-Using: ${Built-Using}
@@ -134,7 +135,7 @@ Description: web browser - language packs
  ro, ru, sk, sl, sr, sv, sw, ta, te, th, tr, uk, vi, zh-CN, zh-TW
 
 Package: chromedriver
-Architecture: i386 amd64
+Architecture: i386 amd64 armhf arm64
 Depends:
  ${misc:Depends},
  ${shlibs:Depends},
diff --git a/debian/patches/aarch64-fixes.patch b/debian/patches/aarch64-fixes.patch
new file mode 100644
index 000..cac330a
--- /dev/null
+++ b/debian/patches/aarch64-fixes.patch
@@ -0,0 +1,42 @@
+Index: chromium-browser-46.0.2490.13/content/common/sandbox_linux/bpf_gpu_policy_linux.cc
+===
+--- chromium-browser-46.0.2490.13.orig/content/common/sandbox_linux/bpf_gpu_policy_linux.cc
 chromium-browser-46.0.2490.13/content/common/sandbox_linux/bpf_gpu_policy_linux.cc
+@@ -194,8 +194,11 @@ ResultExpr GpuBrokerProcessPolicy::Evalu
+ #if !defined(OS_CHROMEOS)
+ // The broker process needs to able to unlink the temporary
+ // files that it may create. This is used by DRI3.
++#if !defined(__aarch64__)
+ case __NR_unlink:
+-#endif
++#endif // !defined(__aarch64__)
++case __NR_unlinkat:
++#endif // !defined(OS_CHROMEOS)
+   return Allow();
+ default:
+   return GpuProcessPolicy::EvaluateSyscall(sysno);
+Index: chromium-browser-46.0.2490.13/third_party/ffmpeg/ffmpeg.gyp
+===
+--- chromium-browser-46.0.2490.13.orig/third_party/ffmpeg/ffmpeg.gyp
 chromium-browser-46.0.2490.13/third_party/ffmpeg/ffmpeg.gyp
+@@ -267,7 +267,7 @@
+ '-fno-omit-frame-pointer',
+   ],
+ }],  # target_arch == "ia32"
+-['target_arch == "arm"', {
++['target_arch == "arm" or target_arch =="arm64" ', {
+   # On arm we use gcc to compile the assembly.
+   'sources': [
+ '<@(asm_sources)',
+Index: chromium-browser-46.0.2490.13/third_party/boringssl/boringssl.gyp
+===
+--- chromium-browser-46.0.2490.13.orig/third_party/boringssl/boringssl.gyp
 chromium-browser-46.0.2490.13/third_party/boringssl/boringssl.gyp
+@@ -40,6 +40,7 @@
+   'conditions': [
+ ['OS == "linux" or OS == "android"', {
+   'sources': [ '<@(boringssl_linux_aarch64_sources)' ],
++  'cflags': [ '-march=armv8-a+crypto', ],
+ }, {
+   'defines': [ 'OPENSSL_NO_ASM' ],
+ }],
diff --git a/debian/patches/aarch64_openmax_clang.patch b/debian/patches/aarch64_openmax_clang.patch
new file mode 100644
index 000..82ac45d
--- /dev/null
+++ b/debian/patches/aarch64_openmax_clang.patch
@@ -0,0 +1,273 @@
+From 7f322e1714aca3d77f826a313bbbe106950ad67e Mon Sep 17 00:00:00 2001
+From: Riku Voipio 
+Date: Fri, 16 Oct 2015 16:29:58 +0300
+Subject: [PATCH] arm64: use correct syntax for FMUL
+
+While the current syntax is accepted by gcc, clang refuses it. According
+to ARM ARM, it seems gcc is a bit too flexible, and clang is correct to
+refuse it.
+---
+ third_party/openmax_dl/dl/sp/src/arm/arm64/ComplexToRealFixup.S   |  2 +-

Bug#799939: chromium: does not build / is not available for armhf

2015-10-21 Thread Riku Voipio
Hi,

I didn't notice these messages since I was on the CC list.

> ../../media/base/audio_video_metadata_extractor.cc:116:17: error: use
> of undeclared identifier 'avcodec_get_name'; did you mean
> 'avcodec_get_type'

You need ffmpeg packages backports. The libav in jessie is too old.

I have now package down at:

http://repo.linaro.org/ubuntu/linaro-staging/pool/main/c/chromium-browser/

Apart from the debian/chromium wrapper script, the arm64 build works
great. Didn't test armhf build yet.

debdiff attached.

Commentary:

- the clang -> clang-3.7 diff is probably unneeded now that clang-3.6 was
fixed.
- binutils is needed for: #801879
- openmax changes submitted to 
https://code.google.com/p/webrtc/issues/detail?id=5090
- gpu, ffmpeg, boringssl fixes not sent upstream yet



diff -Nru chromium-browser-46.0.2490.13/debian/changelog chromium-browser-46.0.2490.13/debian/changelog
--- chromium-browser-46.0.2490.13/debian/changelog	2015-09-05 20:45:44.0 +0300
+++ chromium-browser-46.0.2490.13/debian/changelog	2015-10-16 13:58:31.0 +0300
@@ -1,3 +1,11 @@
+chromium-browser (46.0.2490.13-1.1) UNRELEASED; urgency=medium
+
+  * armhf and arm64 buildd
+  * build with clang-3.7 since older clangs are broken on armhf
+  * use gcc for build on arm64 since asm file fail to compile
+
+ -- Riku Voipio   Fri, 25 Sep 2015 18:07:49 +
+
 chromium-browser (46.0.2490.13-1) experimental; urgency=medium
 
   * New upstream beta release.
diff -Nru chromium-browser-46.0.2490.13/debian/control chromium-browser-46.0.2490.13/debian/control
--- chromium-browser-46.0.2490.13/debian/control	2015-09-05 20:44:49.0 +0300
+++ chromium-browser-46.0.2490.13/debian/control	2015-10-20 16:25:31.0 +0300
@@ -8,7 +8,8 @@
 Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-chromium/pkg-chromium.git
 Homepage: http://www.chromium.org/Home
 Build-Depends:
- clang (>= 3.5),
+ binutils (>= 2.25.1-7.1) [armhf],
+ clang-3.7,
  debhelper (>= 9),
  gyp,
  python3,
@@ -85,7 +86,7 @@
 Standards-Version: 3.9.6
 
 Package: chromium
-Architecture: i386 amd64
+Architecture: i386 amd64 armhf arm64
 Built-Using: ${Built-Using}
 Depends:
  ${misc:Depends},
@@ -106,7 +107,7 @@
  This package contains the web browser component.
 
 Package: chromium-dbg
-Architecture: i386 amd64
+Architecture: i386 amd64 armhf arm64
 Section: debug
 Priority: extra
 Built-Using: ${Built-Using}
@@ -135,7 +136,7 @@
  ro, ru, sk, sl, sr, sv, sw, ta, te, th, tr, uk, vi, zh-CN, zh-TW
 
 Package: chromedriver
-Architecture: i386 amd64
+Architecture: i386 amd64 armhf arm64
 Depends:
  ${misc:Depends},
  ${shlibs:Depends},
diff -Nru chromium-browser-46.0.2490.13/debian/patches/0001-arm64-use-correct-syntax-for-FMUL.patch chromium-browser-46.0.2490.13/debian/patches/0001-arm64-use-correct-syntax-for-FMUL.patch
--- chromium-browser-46.0.2490.13/debian/patches/0001-arm64-use-correct-syntax-for-FMUL.patch	1970-01-01 02:00:00.0 +0200
+++ chromium-browser-46.0.2490.13/debian/patches/0001-arm64-use-correct-syntax-for-FMUL.patch	2015-10-19 12:52:32.0 +0300
@@ -0,0 +1,273 @@
+From 7f322e1714aca3d77f826a313bbbe106950ad67e Mon Sep 17 00:00:00 2001
+From: Riku Voipio 
+Date: Fri, 16 Oct 2015 16:29:58 +0300
+Subject: [PATCH] arm64: use correct syntax for FMUL
+
+While the current syntax is accepted by gcc, clang refuses it. According
+to ARM ARM, it seems gcc is a bit too flexible, and clang is correct to
+refuse it.
+---
+ third_party/openmax_dl/dl/sp/src/arm/arm64/ComplexToRealFixup.S   |  2 +-
+ .../armSP_FFTInv_CCSToR_F32_preTwiddleRadix2_s.S   |  2 +-
+ third_party/openmax_dl/dl/sp/src/arm/arm64/armSP_FFT_CToC_FC32_Radix2_s.S | 17 
+ third_party/openmax_dl/dl/sp/src/arm/arm64/armSP_FFT_CToC_FC32_Radix4_s.S | 51 --
+ .../arm/arm64/armSP_FFT_CToC_FC32_Radix8_fs_s.S| 16 +++
+ 5 files changed, 46 insertions(+), 42 deletions(-)
+
+Index: chromium-browser-46.0.2490.13/third_party/openmax_dl/dl/sp/src/arm/arm64/ComplexToRealFixup.S
+===
+--- chromium-browser-46.0.2490.13.orig/third_party/openmax_dl/dl/sp/src/arm/arm64/ComplexToRealFixup.S
 chromium-browser-46.0.2490.13/third_party/openmax_dl/dl/sp/src/arm/arm64/ComplexToRealFixup.S
+@@ -93,7 +93,7 @@
+ #define qT2   v18.2s
+ #define qT3   v20.2s
+ 
+-#define half  v0.2s
++#define half  v0.s
+ #define dZip  v21.2s
+ #define dZip8bv21.8b
+ 
+@@ -106,7 +106,7 @@
+ 
+ clz order, subFFTNum// N = 2^order
+ 
+-RSB order,order,#63
++rsb order,order,#63
+ MOV subFFTSize,subFFTNum// subFFTSize = N/2
+ //MOV subFFTNum,N
+ mov argDst, pDst
+@@ -127,7 +127,7 @@
+ MOV zero,#0
+ movdX0rs[1],zero
+ lsl step,subFFTSize, #3   // step = N/2 * 8 bytes
+-movdX0i[1],zero
++   

Bug#799939: chromium: does not build / is not available for armhf

2015-10-14 Thread Josua Mayer
Small update: Apparently those weird errors I was getting have been
related to teh toolchain. The update to Jessie 8.2 (from 8.1) of my
build-system made it go away.
Instead, I am now presented with a new message:

../../media/base/audio_video_metadata_extractor.cc:116:17: error: use
of undeclared identifier 'avcodec_get_name'; did you mean
'avcodec_get_type'

I dont think this will be hard to work around (just wondering if it
has surfaced when Riku tried to build).

2015-10-13 21:57 GMT+02:00 Josua Mayer :
> I tried to build with Riku's patch, but I end up with a build error
> that says error: '_Complex __int128' is invalid
> I don't have a clue where that message comes from. Perhaps somebody
> else can try building it on 32-bit arm hardware?
>
> I attached my logfile in case anybody wants to have a peek.
>
> 2015-10-13 15:43 GMT+02:00 Riku Voipio :
>> On Tue, Oct 13, 2015 at 11:48:04AM +0300, Riku Voipio wrote:
>>> Notice it needs a fix to objcopy/strip in binutils to handle stripping a > 
>>> 2GB file.
>>> I'm still working on cleaning up that patch.
>>
>> The patch for binutils as attached to the upstream bug:
>>
>> https://sourceware.org/bugzilla/show_bug.cgi?id=19123
>>
>> And resulted packages at:
>>
>> https://people.debian.org/~riku/chromium/
>>
>> Riku



Bug#799939: chromium: does not build / is not available for armhf

2015-10-13 Thread Riku Voipio
Hi,

With the following patch I got chromium for armhf built. This was with
arm64 machine in armhf chroot, so full 4G available. I assume for native
armhf 3/1 memsplit is needed.

Notice it needs a fix to objcopy/strip in binutils to handle stripping a > 2GB 
file.
I'm still working on cleaning up that patch.

Riku



Bug#799939: chromium: does not build / is not available for armhf

2015-10-13 Thread Riku Voipio
Hi,

this time with the patch.

Riku
diff -Nru chromium-browser-46.0.2490.13/debian/changelog chromium-browser-46.0.2490.13/debian/changelog
--- chromium-browser-46.0.2490.13/debian/changelog	2015-09-05 17:45:44.0 +
+++ chromium-browser-46.0.2490.13/debian/changelog	2015-10-13 08:26:24.0 +
@@ -1,3 +1,9 @@
+chromium-browser (46.0.2490.13-1.1) UNRELEASED; urgency=medium
+
+  * armhf build
+
+ -- Riku Voipio   Fri, 25 Sep 2015 18:07:49 +
+
 chromium-browser (46.0.2490.13-1) experimental; urgency=medium
 
   * New upstream beta release.
diff -Nru chromium-browser-46.0.2490.13/debian/control chromium-browser-46.0.2490.13/debian/control
--- chromium-browser-46.0.2490.13/debian/control	2015-09-05 17:44:49.0 +
+++ chromium-browser-46.0.2490.13/debian/control	2015-09-25 18:09:09.0 +
@@ -85,7 +85,7 @@
 Standards-Version: 3.9.6
 
 Package: chromium
-Architecture: i386 amd64
+Architecture: i386 amd64 armhf arm64
 Built-Using: ${Built-Using}
 Depends:
  ${misc:Depends},
@@ -106,7 +106,7 @@
  This package contains the web browser component.
 
 Package: chromium-dbg
-Architecture: i386 amd64
+Architecture: i386 amd64 armhf arm64
 Section: debug
 Priority: extra
 Built-Using: ${Built-Using}
@@ -135,7 +135,7 @@
  ro, ru, sk, sl, sr, sv, sw, ta, te, th, tr, uk, vi, zh-CN, zh-TW
 
 Package: chromedriver
-Architecture: i386 amd64
+Architecture: i386 amd64 armhf arm64
 Depends:
  ${misc:Depends},
  ${shlibs:Depends},
diff -Nru chromium-browser-46.0.2490.13/debian/patches/fix-clang-wanring chromium-browser-46.0.2490.13/debian/patches/fix-clang-wanring
--- chromium-browser-46.0.2490.13/debian/patches/fix-clang-wanring	1970-01-01 00:00:00.0 +
+++ chromium-browser-46.0.2490.13/debian/patches/fix-clang-wanring	2015-10-12 11:36:56.0 +
@@ -0,0 +1,17 @@
+Index: chromium-browser-46.0.2490.13/build/common.gypi
+===
+--- chromium-browser-46.0.2490.13.orig/build/common.gypi
 chromium-browser-46.0.2490.13/build/common.gypi
+@@ -2643,10 +2643,10 @@
+ '-Wno-deprecated-register',
+ 
+ # TODO(hans): Get this cleaned up, http://crbug.com/428099
+-'-Wno-inconsistent-missing-override',
++#'-Wno-inconsistent-missing-override',
+ 
+ # TODO(thakis): Enable this, crbug.com/507717
+-'-Wno-shift-negative-value',
++#'-Wno-shift-negative-value',
+   ],
+ },
+ 'includes': [ 'set_clang_warning_flags.gypi', ],
diff -Nru chromium-browser-46.0.2490.13/debian/patches/series chromium-browser-46.0.2490.13/debian/patches/series
--- chromium-browser-46.0.2490.13/debian/patches/series	2015-09-06 04:49:58.0 +
+++ chromium-browser-46.0.2490.13/debian/patches/series	2015-10-12 11:35:58.0 +
@@ -15,3 +15,4 @@
 system/clang.patch
 system/ffmpeg.patch
 fix.patch
+fix-clang-wanring
diff -Nru chromium-browser-46.0.2490.13/debian/rules chromium-browser-46.0.2490.13/debian/rules
--- chromium-browser-46.0.2490.13/debian/rules	2015-09-05 17:44:49.0 +
+++ chromium-browser-46.0.2490.13/debian/rules	2015-10-13 07:33:07.0 +
@@ -6,6 +6,8 @@
 # enable all build hardening flags
 export DEB_BUILD_MAINT_OPTIONS=hardening=+all
 
+DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
+
 # linker flags to avoid memory allocation issues on i386
 export LDFLAGS+=-Wl,--no-keep-memory -Wl,--reduce-memory-overheads -Wl,--hash-size=7919
 
@@ -15,6 +17,24 @@
 # treat all warnings as errors
 defines=werror=
 
+ifeq (armhf,$(DEB_HOST_ARCH))
+# non-NEON armv7 machines are rare and the benifit of NEON is major. Autodetection
+# didn't compile, so I suggest we enable NEON for the benefit of vast majority
+# use arm_use_neon=1 and arm_fpu=neon for speed
+defines += \
+sysroot= \
+arm_neon=1 \
+arm_use_neon=1 \
+use_cups=1 \
+v8_use_arm_eabi_hardfloat=true \
+arm_fpu=neon \
+arm_float_abi=hard \
+arm_thumb=1 \
+armv7=1 \
+remove_webcore_debug_symbols=1 \
+arm_version=7 
+endif
+
 # use clang instead of gcc
 defines+=clang=1
 defines+=clang_use_chrome_plugins=
@@ -134,8 +153,9 @@
 override_dh_fixperms:
 	dh_fixperms --exclude chrome-sandbox
 
+# readelf oom
 override_dh_strip:
-	dh_strip --dbg-package chromium-dbg
+	dh_strip -v --dbg-package chromium-dbg
 
 override_dh_gencontrol:
 	dh_gencontrol -- -VBuilt-Using="$(shell dpkg-query -f '$${source:Package} (= $${source:Version}), ' -W libjs-jquery libjs-jquery-flot)"


Bug#799939: chromium: does not build / is not available for armhf

2015-10-13 Thread Riku Voipio
On Tue, Oct 13, 2015 at 11:48:04AM +0300, Riku Voipio wrote:
> Notice it needs a fix to objcopy/strip in binutils to handle stripping a > 
> 2GB file.
> I'm still working on cleaning up that patch.

The patch for binutils as attached to the upstream bug:

https://sourceware.org/bugzilla/show_bug.cgi?id=19123

And resulted packages at:

https://people.debian.org/~riku/chromium/

Riku



Bug#799939: chromium: does not build / is not available for armhf

2015-09-25 Thread Josua Mayer
Sadly I did not manage to produce any successful build yet.
Instead I am reliably running into this bug:
https://code.google.com/p/chromium/issues/detail?id=508897

So now I am retrying with this patchset:
https://codereview.chromium.org/1236863006/#ps160001

Hopefully it works; attaching the patch jsut in case somebody else wants
to give building a try.
--- a/chrome/browser/ui/views/profiles/profile_chooser_view.cc
+++ b/chrome/browser/ui/views/profiles/profile_chooser_view.cc
@@ -50,6 +50,7 @@
 #include "ui/gfx/path.h"
 #include "ui/gfx/skia_util.h"
 #include "ui/gfx/text_elider.h"
+#include "ui/gfx/vector_icons_public.h"
 #include "ui/native_theme/native_theme.h"
 #include "ui/views/controls/button/blue_button.h"
 #include "ui/views/controls/button/image_button.h"
--- a/chrome/chrome_browser_ui.gypi
+++ b/chrome/chrome_browser_ui.gypi
@@ -2921,6 +2921,9 @@
 }],
 ['OS!="mac"', {
   'sources': [ '<@(chrome_browser_ui_views_non_mac_sources)' ],
+  'dependencies': [
+'../ui/gfx/gfx.gyp:gfx_vector_icons',
+  ],
   'conditions': [
 ['enable_extensions==1', {
   'sources': [ '<@(chrome_browser_ui_views_extensions_non_mac_sources)' ],
--- a/ui/gfx/gfx.gyp
+++ b/ui/gfx/gfx.gyp
@@ -408,41 +408,6 @@
 'text_utils_skia.cc',
   ],
 }, {  # desktop platforms
-  'variables': {
-'vector_icons_cc_file': '<(INTERMEDIATE_DIR)/ui/gfx/vector_icons.cc',
-'vector_icons_public_h_file': '<(SHARED_INTERMEDIATE_DIR)/ui/gfx/vector_icons_public.h',
-  },
-  'include_dirs': [
-'<(SHARED_INTERMEDIATE_DIR)',
-  ],
-  'sources': [
-'<(vector_icons_cc_file)',
-'<(vector_icons_public_h_file)',
-
-'paint_vector_icon.cc',
-'paint_vector_icon.h',
-'vector_icons.h',
-  ],
-  'actions': [
-{
-  # GN version: //ui/gfx:aggregate_vector_icons
-  'action_name': 'aggregate_vector_icons',
-  'inputs': [
-'vector_icons/',
-  ],
-  'outputs': [
-'<(vector_icons_cc_file)',
-'<(vector_icons_public_h_file)',
-  ],
-  'action': [ 'python',
-  'vector_icons/aggregate_vector_icons.py',
-  '--working_directory=vector_icons/',
-  '--output_cc=<(vector_icons_cc_file)',
-  '--output_h=<(vector_icons_public_h_file)',
-  ],
-  'message': 'Aggregating vector resources.',
-},
-  ],
 }],
 ['use_x11==1', {
   'dependencies': [
@@ -472,6 +437,55 @@
 }],
   ],
 },
+# Separate from gfx to limit the impact of the hard_dependency.
+{
+  'target_name': 'gfx_vector_icons',
+  'type': '<(component)',
+  'dependencies': [
+'<(DEPTH)/base/base.gyp:base',
+'<(DEPTH)/skia/skia.gyp:skia',
+'gfx',
+'gfx_geometry',
+  ],
+  'defines': [
+'GFX_IMPLEMENTATION',
+  ],
+  'sources': [
+'paint_vector_icon.cc',
+'paint_vector_icon.h',
+'vector_icons.h',
+  ],
+  'variables': {
+'vector_icons_cc_file': '<(INTERMEDIATE_DIR)/ui/gfx/vector_icons.cc',
+'vector_icons_public_h_file': '<(SHARED_INTERMEDIATE_DIR)/ui/gfx/vector_icons_public.h',
+  },
+  'include_dirs': [
+'<(SHARED_INTERMEDIATE_DIR)',
+  ],
+  'actions': [
+{
+  # GN version: //ui/gfx:aggregate_vector_icons
+  'action_name': 'aggregate_vector_icons',
+  'inputs': [
+'vector_icons/',
+  ],
+  'outputs': [
+'<(vector_icons_cc_file)',
+'<(vector_icons_public_h_file)',
+  ],
+  'action': [ 'python',
+  'vector_icons/aggregate_vector_icons.py',
+  '--working_directory=vector_icons/',
+  '--output_cc=<(vector_icons_cc_file)',
+  '--output_h=<(vector_icons_public_h_file)',
+  ],
+  'message': 'Aggregating vector resources.',
+  'process_outputs_as_sources': 1,
+},
+  ],
+  # Export a hard dependency because of generated header files.
+  'hard_dependency': 1,
+},
 {
   'target_name': 'gfx_test_support',
   'type': 'static_library',
--- a/ui/views/controls/image_view.cc
+++ b/ui/views/controls/image_view.cc
@@ -11,6 +11,7 @@
 #include "ui/gfx/canvas.h"
 #include "ui/gfx/geometry/insets.h"
 #include "ui/gfx/paint_vector_icon.h"
+#include "ui/gfx/vector_icons_public.h"
 #include "ui/views/painter.h"
 
 namespace views {
--- a/ui/views/controls/image_view.h
+++ b/ui/views/controls/image_view.h
@@ -7,11 +7,11 @@
 
 #include 

Bug#799939: chromium: does not build / is not available for armhf

2015-09-25 Thread Josua Mayer
Please find the patch for armhf attached.
As of now it is still untested, as my buildbot is still busy building.

It should work for armel too, but I did not enable that in control yet.
diff -Naur chromium-browser-45.0.2454.85.orig/debian/control chromium-browser-45.0.2454.85/debian/control
--- chromium-browser-45.0.2454.85.orig/debian/control	2015-06-26 22:50:40.0 +0200
+++ chromium-browser-45.0.2454.85/debian/control	2015-09-24 16:07:46.665797443 +0200
@@ -86,7 +86,7 @@
 Standards-Version: 3.9.6
 
 Package: chromium
-Architecture: i386 amd64
+Architecture: i386 amd64 armhf
 Depends:
  ${misc:Depends},
  ${shlibs:Depends},
@@ -105,7 +105,7 @@
  This package contains the web browser component.
 
 Package: chromium-dbg
-Architecture: i386 amd64
+Architecture: i386 amd64 armhf
 Section: debug
 Priority: extra
 Depends:
@@ -149,7 +149,7 @@
  elements of a web page at runtime (HTML, JavaScript, CSS, etc.).
 
 Package: chromedriver
-Architecture: i386 amd64
+Architecture: i386 amd64 armhf
 Depends:
  ${misc:Depends},
  ${shlibs:Depends},
diff -Naur chromium-browser-45.0.2454.85.orig/debian/rules chromium-browser-45.0.2454.85/debian/rules
--- chromium-browser-45.0.2454.85.orig/debian/rules	2015-04-19 20:30:39.0 +0200
+++ chromium-browser-45.0.2454.85/debian/rules	2015-09-24 16:22:44.81704 +0200
@@ -81,6 +81,15 @@
 #  can't use system nss since net/third_party/nss is heavily patched
 #  can't use system ots (open text *summarizer*) since that's not google's ots (open text *sanitizer*)
 
+# on armhf we need to tell gyp that this is a hardfloat system
+# chromium defaults to soft, so there is nothing to do when targeting armel
+ifeq (armhf,$(shell dpkg-architecture -qDEB_HOST_ARCH))
+defines+=arm_float_abi=hard
+endif
+
+# don't use a sysroot for build, ever. (when targeting arm, gyp default to yes)
+defines+=sysroot=
+
 # make gyp a little more informative
 options+=--check \
  --debug=includes \


Bug#799939: chromium: does not build / is not available for armhf

2015-09-24 Thread Fathi Boudra
Same applies to arm64. FWIW, Chromium is available on Ubuntu.
If you've got some patches to test, I can try on devices for both
armhf and arm64.



Bug#799939: chromium: does not build / is not available for armhf

2015-09-24 Thread Robert Nelson
For armhf:

make sure you use a 4GB builder, (locally i've been using the
igepv5_4gb for beagleboard.org jessie image's)

ubuntu's chromium-44.0.2403.89-0ubuntu1.1195 builds fine in an sbuild
for jessie, with this fstab addition:

tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0

Regards,

-- 
Robert Nelson
https://rcn-ee.com/



Bug#799939: chromium: does not build / is not available for armhf

2015-09-24 Thread Josua Mayer
Package: chromium
Version: 45.0.2454.85-1~deb8u1
Severity: wishlist

Dear Maintainer,

While chromium itself works fine on ARM, as proven by the ChromeBooks, it is 
not available
on Debian armhf (nor armel).
There are 2 things required to get this working:
a) add armhf to control for all those packages that are currently only built 
for i386 and amd64
b) enable a few special gyp defines in rules
Both of these aren't hard, and I intend to provide a minimal patch for that as 
soon as I have a working build.

Just reporting thos on a amd64 machine; but of course it affects armhf.


-- System Information:
Debian Release: 8.2
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.16.7-24-desktop (SMP w/4 CPU cores; PREEMPT)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=locale: Cannot set 
LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash
Init: unable to detect