pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

chromium-new: Resolve all undefined references



Module Name:	pkgsrc-wip
Committed By:	Ryo ONODERA <ryoon%NetBSD.org@localhost>
Pushed By:	ryoon
Date:		Fri Jul 22 01:16:12 2016 +0900
Changeset:	10c502c56f8e9c651d85af627d47de457e25b4e6

Modified Files:
	chromium-new/Makefile
	chromium-new/distinfo
	chromium-new/patches/patch-base_files_file__path__watcher__kqueue.cc
	chromium-new/patches/patch-build_common.gypi
	chromium-new/patches/patch-chrome_browser_chrome__browser__main__posix.cc
	chromium-new/patches/patch-content_gpu_gpu__child__thread.cc
	chromium-new/patches/patch-content_gpu_gpu__main.cc
	chromium-new/patches/patch-net_dns_dns__reloader.cc
Added Files:
	chromium-new/patches/patch-base_base__paths__posix.cc
	chromium-new/patches/patch-base_linux__util.cc
	chromium-new/patches/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc
	chromium-new/patches/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.h
	chromium-new/patches/patch-net_dns_dns__config_-service__posix.cc
	chromium-new/patches/patch-net_dns_host__resolver__impl.cc
	chromium-new/patches/patch-net_dns_host__resolver__proc.cc
	chromium-new/patches/patch-third__party_mesa_src_src_mesa_main_arrayobj.c
	chromium-new/patches/patch-ui_gl_gl__gl__api__implementation.cc
	chromium-new/patches/patch-ui_gl_gl__implementation__x11.cc

Log Message:
chromium-new: Resolve all undefined references

Known problems:
* Chromium start page ant https://twitter.com/ at least emit a error
  and I cannot see a result of rendering
* On NetBSD/amd64 current without full DRMKMS support, you must boot
  with "chrome --disable-gl-drawing-for-tests --use-gl=osmesa" and
  disable "Use hardware acceleration when available"
* Cannot login with Google account
* Unstable
* No install target yet

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=10c502c56f8e9c651d85af627d47de457e25b4e6

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 chromium-new/Makefile                              | 18 +++++----
 chromium-new/distinfo                              | 22 +++++++---
 .../patches/patch-base_base__paths__posix.cc       | 47 ++++++++++++++++++++++
 ...patch-base_files_file__path__watcher__kqueue.cc |  2 +-
 chromium-new/patches/patch-base_linux__util.cc     | 13 ++++++
 chromium-new/patches/patch-build_common.gypi       | 23 +++++------
 ...-chrome_browser_chrome__browser__main__posix.cc |  2 +-
 ...writer__private_removable__storage__provider.cc | 18 +++++++++
 ..._writer__private_removable__storage__provider.h | 16 ++++++++
 .../patch-content_gpu_gpu__child__thread.cc        |  2 +-
 .../patches/patch-content_gpu_gpu__main.cc         |  6 +--
 .../patch-net_dns_dns__config_-service__posix.cc   | 13 ++++++
 .../patches/patch-net_dns_dns__reloader.cc         | 12 +++---
 .../patches/patch-net_dns_host__resolver__impl.cc  | 13 ++++++
 .../patches/patch-net_dns_host__resolver__proc.cc  | 13 ++++++
 ...-third__party_mesa_src_src_mesa_main_arrayobj.c | 15 +++++++
 .../patch-ui_gl_gl__gl__api__implementation.cc     | 16 ++++++++
 .../patches/patch-ui_gl_gl__implementation__x11.cc | 13 ++++++
 18 files changed, 226 insertions(+), 38 deletions(-)

diffs:
diff --git a/chromium-new/Makefile b/chromium-new/Makefile
index d315b76..fd99320 100644
--- a/chromium-new/Makefile
+++ b/chromium-new/Makefile
@@ -26,6 +26,11 @@ DEPENDS+=	xdg-utils-[0-9]*:../../misc/xdg-utils
 
 ONLY_FOR_PLATFORM=	*-*-arm *-*-i386 *-*-x86_64
 
+CHECK_PORTABILITY_SKIP+=	third_party/xdg-utils/scripts/xdg-terminal.in
+CHECK_PORTABILITY_SKIP+=	third_party/xdg-utils/scripts/xdg-terminal
+CHECK_PORTABILITY_SKIP+=	third_party/icu/source/configure
+CHECK_PORTABILITY_SKIP+=	third_party/icu/android/patch_locale.sh
+
 SUBST_CLASSES+=		bash
 SUBST_MESSAGE.bash=	Fixing bash path
 SUBST_STAGE.bash=	post-patch
@@ -56,6 +61,7 @@ CFLAGS+=		-fno-stack-protector
 CFLAGS+=		-I${BUILDLINK_DIR}/include/glib
 
 BUILDTYPE=	Release
+#BUILDTYPE=	Debug
 MAKE_ENV+=	BUILDTYPE=${BUILDTYPE}
 MAKE_ENV+=	GPERF=${PREFIX}/bin/gperf
 
@@ -63,9 +69,6 @@ MAKE_ENV+=	GPERF=${PREFIX}/bin/gperf
 GYP_DEFINES+=	proprietary_codecs=1
 GYP_DEFINES+=	ffmpeg_branding=Chrome
 
-# Some gyp or gn files may be broken for NetBSD...
-#GYP_DEFINES+=	desktop_linux=1
-
 GYP_DEFINES+=	use_gconf=0
 GYP_DEFINES+=	use_pulseaudio=1
 GYP_DEFINES+=	gcc_version=${CC_VERSION:S/gcc-//}
@@ -79,7 +82,7 @@ GYP_DEFINES+=	disable_nacl=1
 GYP_DEFINES+=	enable_extensions=1
 GYP_DEFINES+=	enable_one_click_signin=1
 GYP_DEFINES+=	enable_webrtc=0
-GYP_DEFINES+=	enable_web_speech=0
+GYP_DEFINES+=	enable_web_speech=1
 GYP_DEFINES+=	enable_service_discovery=1
 GYP_DEFINES+=	werror=
 GYP_DEFINES+=	no_gc_sections=1
@@ -88,13 +91,13 @@ GYP_DEFINES+=	os_ver=${OS_VERSION}
 GYP_DEFINES+=	prefix_dir=${PREFIX}
 GYP_DEFINES+=	python_ver=${PYVERSSUFFIX}
 GYP_DEFINES+=	use_allocator=none
-GYP_DEFINES+=	use_cups=1
+GYP_DEFINES+=	use_cups=0
 GYP_DEFINES+=	linux_link_gsettings=1
 GYP_DEFINES+=	linux_link_libpci=1
 GYP_DEFINES+=	linux_link_libspeechd=0
 GYP_DEFINES+=	want_separate_host_toolset=0
 GYP_DEFINES+=	use_system_bzip2=1
-GYP_DEFINES+=	use_system_flac=0
+GYP_DEFINES+=	use_system_flac=1
 GYP_DEFINES+=	use_system_ffmpeg=0
 GYP_DEFINES+=	use_system_harfbuzz=0
 GYP_DEFINES+=	use_system_icu=0
@@ -117,6 +120,7 @@ GYP_DEFINES+=	use_system_yasm=1
 GYP_DEFINES+=	v8_use_external_startup_data=0
 GYP_DEFINES+=	flapper_version_h_file='${WRKSRC}/flapper_version.h'
 GYP_DEFINES+=	usb_ids_path=${PREFIX}/share/usbids/usb.ids
+GYP_DEFINES+=	icu_use_data_file_flag=1
 
 # API key and OAuth credential for Google.
 # This is pkgsrc use only.
@@ -331,7 +335,7 @@ do-build:
 .include "../../audio/pulseaudio/buildlink3.mk"
 .include "../../audio/alsa-lib/buildlink3.mk"
 .include "../../graphics/cairo/buildlink3.mk"
-.include "../../print/cups/buildlink3.mk"
+#.include "../../print/cups/buildlink3.mk"
 .include "../../sysutils/dbus/buildlink3.mk"
 .include "../../sysutils/dbus-glib/buildlink3.mk"
 .include "../../x11/libdrm/buildlink3.mk"
diff --git a/chromium-new/distinfo b/chromium-new/distinfo
index 91a294d..8709f27 100644
--- a/chromium-new/distinfo
+++ b/chromium-new/distinfo
@@ -6,12 +6,14 @@ SHA512 (chromium-51.0.2704.106.tar.xz) = 2afd73ae6942f7d3092e54d2f24bf251baa28bd
 Size (chromium-51.0.2704.106.tar.xz) = 448656636 bytes
 SHA1 (patch-base_base.gyp) = 8bcdefdacfc1cb979c6330eecbe3a4ee33c0aff8
 SHA1 (patch-base_base.gypi) = b0900d5b87964590f83c53cf1901c902120540b0
+SHA1 (patch-base_base__paths__posix.cc) = e8c08666412f6cc9e08e58356a651a47befe290f
 SHA1 (patch-base_debug_debugger__posix.cc) = b1983a4bb3a9429394b5bc0665eb66b14f228204
 SHA1 (patch-base_debug_stack__trace__posix.cc) = 08dc7ad292480c3a07787df7e837266c730c10fb
-SHA1 (patch-base_files_file__path__watcher__kqueue.cc) = d1b16fb59a737f60f61bbcb938848df024bd4248
+SHA1 (patch-base_files_file__path__watcher__kqueue.cc) = faabf877afc757b4c5c5fe1a6d9a1c04917ad1ad
 SHA1 (patch-base_files_file__path__watcher__kqueue.h) = fef4498a2495ed08e1986910d0872abe5889b2b6
 SHA1 (patch-base_i18n_icu__util.cc) = 29b269d1491a0d59436d14354358646f10193393
 SHA1 (patch-base_i18n_icu__util.h) = e6dfc47010581c67d60e80a36e422cda1a33d5ba
+SHA1 (patch-base_linux__util.cc) = 292ed8100d0d8c7a2cbe0bd97ab3ac29153d75a3
 SHA1 (patch-base_posix_unix__domain__socket__linux.cc) = b4d5cd2d70ee8b3021a2e4859af457dd62abb244
 SHA1 (patch-base_posix_unix__domain__socket__linux__unittest.cc) = 94f59b1609a950884cc461ea96350a04df09052b
 SHA1 (patch-base_process_internal__linux.h) = dec9c9f6c7509288a6574072391f77f9ae4c2316
@@ -42,7 +44,7 @@ SHA1 (patch-base_threading_platform__thread__posix.cc) = 2e6b12e2b5af5e01efacd34
 SHA1 (patch-base_trace__event_process__memory__dump.cc) = 7c28a6ac88c6b812dab3c79e26bc8bc7f83678a1
 SHA1 (patch-base_trace__event_process__memory__dump.h) = 8f9fea6a2a271482a6e5290a8e768372683fe2de
 SHA1 (patch-build_build__config.h) = f6c09cbcf5d917da3104842ce307d60303707401
-SHA1 (patch-build_common.gypi) = 3ab9dc8b10debb863190e2b017528a123af68cc9
+SHA1 (patch-build_common.gypi) = 19d13a9b48994857c7150ba77ed5de92090e3b2c
 SHA1 (patch-build_filename__rules.gypi) = dd720f3c44228674d6b987fc51a7b29705dfd680
 SHA1 (patch-build_linux_system.gyp) = c1b58d24d653be2926d47340304647faedc9c935
 SHA1 (patch-build_linux_unbundle_libwebp.gyp) = 05e963f78891c2954b5cdc4fb5f644135ad96b10
@@ -57,7 +59,7 @@ SHA1 (patch-chrome_browser_about__flags.cc) = 76ac78bc9e7f10a15ca4371a64a03a2124
 SHA1 (patch-chrome_browser_browser__resources.grd) = 4f9c0100f67346c9dd5cdb8aac6796656340f01a
 SHA1 (patch-chrome_browser_chrome__browser__main.cc) = a65d7e33c9e0e6805dfa76f3e21ee2d911a73c83
 SHA1 (patch-chrome_browser_chrome__browser__main__linux.cc) = 1cc1c770e66218cfa78f647adb513326e475aaf2
-SHA1 (patch-chrome_browser_chrome__browser__main__posix.cc) = 01c77fce6837a9fc0db67c513b5af6e94d6d96e7
+SHA1 (patch-chrome_browser_chrome__browser__main__posix.cc) = 86b752fc93faeab5078d34b65479d3f4d1d06b37
 SHA1 (patch-chrome_browser_chrome__content__browser__client.cc) = 809d14065a644abd31627dba613970daefb46c40
 SHA1 (patch-chrome_browser_chrome__content__browser__client.h) = eb0f643ac57ef93bfe3157648b840615b3268c8a
 SHA1 (patch-chrome_browser_defaults.cc) = 9e2700ed67c33295d411825914ed0c100d9a55e2
@@ -72,6 +74,8 @@ SHA1 (patch-chrome_browser_download_download__query.cc) = ec7dab730d873f48b1fb56
 SHA1 (patch-chrome_browser_download_download__shelf__context__menu.cc) = dada990d0acb5b9857feda8f2919e367588aab10
 SHA1 (patch-chrome_browser_extensions_activity__log_activity__log.cc) = 30ba8f4e19d79133b6aeebf11a3121b7c305a085
 SHA1 (patch-chrome_browser_extensions_api_image__writer__private_image__writer__private__api.cc) = c2fb46cc8fa4c5b433f024221ddc5d861702cb9c
+SHA1 (patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc) = a08be3225a823943cd396759cb4828a318f865ae
+SHA1 (patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.h) = 6cddc43019033ea9fc4d4a86ee18030d9e1c39ac
 SHA1 (patch-chrome_browser_extensions_api_input__ime_input__ime__api.h) = e14719f5f2739f99cde3e5d0c4133a366b47bb27
 SHA1 (patch-chrome_browser_extensions_api_messaging_message__service.cc) = 6e7e9a67d508fdfafe09096dd4e2d01058b67825
 SHA1 (patch-chrome_browser_extensions_api_music__manager__private_device__id__linux.cc) = 55ce1f5d5b31f323455c28c5d74cc7ab5f6db3b7
@@ -201,8 +205,8 @@ SHA1 (patch-content_common_set__process__title__linux.h) = 7ecf5cee9081e08dcdb3a
 SHA1 (patch-content_content__browser.gypi) = 100b6094d39fd39b5c8432969f3d079680210ac9
 SHA1 (patch-content_content__common.gypi) = 21eb4ac13752c21aa6e05fc26eee0cd87fd53033
 SHA1 (patch-content_content__tests.gypi) = fdc4b3044405439cd6df5e8815cf02a7e644fbf0
-SHA1 (patch-content_gpu_gpu__child__thread.cc) = f50c4319d9f866eca3379ad97344b525a5bb254e
-SHA1 (patch-content_gpu_gpu__main.cc) = f96d1fbdf3ab38ac27ded2b3d6274c58b1cdf453
+SHA1 (patch-content_gpu_gpu__child__thread.cc) = 68b59265c98eec87e0f2e132ffb8e7235ec61bde
+SHA1 (patch-content_gpu_gpu__main.cc) = 6aae17e7da2eb87a7cc5786c93a639b131fae958
 SHA1 (patch-content_public_common_child__process__sandbox__support__linux.h) = 9da0022b5e38da5cf831f5cfbb391203e7f391f7
 SHA1 (patch-content_public_common_content__switches.cc) = d0a1a6378b42cb48522fc74853c167ed4c48ccc9
 SHA1 (patch-content_public_common_content__switches.h) = 01a8b3b6da6ec5b8219c7484ce6ad0426eab5217
@@ -285,9 +289,12 @@ SHA1 (patch-net_base_network__change__notifier.cc) = d996973c3de09b13fc68a463a2e
 SHA1 (patch-net_base_network__interfaces__linux.cc) = ebfd5456cdb2c390dd4515b0da0618306a151db5
 SHA1 (patch-net_base_network__interfaces__posix.cc) = c5f78b08eb510a852027de528dd94a9c3eaa58a5
 SHA1 (patch-net_dns_address__sorter__posix.cc) = 32b384221def41cabe9ea046fac51ccc5f86afa9
+SHA1 (patch-net_dns_dns__config_-service__posix.cc) = 56c9739f1a98a14643312b68f8354f3d291521fa
 SHA1 (patch-net_dns_dns__config__service__posix__unittest.cc) = baeed691d202f2ffcae8c6f82fb75c4d463d35b0
-SHA1 (patch-net_dns_dns__reloader.cc) = a1eba257e4d4b0f07dd11719431c9ebc91198b55
+SHA1 (patch-net_dns_dns__reloader.cc) = 85a6177e805f703b775f036f4ff300cfbdd0adc0
 SHA1 (patch-net_dns_dns__session.cc) = cdca6c5c401e212b8836966fd8cd35bf35deaa9a
+SHA1 (patch-net_dns_host__resolver__impl.cc) = ed9a48fb0e83bf2c7cde9fd803b6c31b05054ff1
+SHA1 (patch-net_dns_host__resolver__proc.cc) = 8817d6aed738f1204cb3f931b2972ce7a3039c6a
 SHA1 (patch-net_http_http__auth__gssapi__posix.cc) = 13e95a22dc48ffd846c6e2096aac7a5481b36b00
 SHA1 (patch-net_net.gyp) = c5346350f93e397f9f4e37f41e019acf001ddffd
 SHA1 (patch-net_net.gypi) = 235320c7324f7008d44cd1631dd5c4bf80172778
@@ -351,6 +358,7 @@ SHA1 (patch-third__party_libphonenumber_libphonenumber.gyp) = f1635609f27a322aa2
 SHA1 (patch-third__party_libpng_libpng.gyp) = 2790ee87c4b275e327971f9bad59ff25b6bbacdc
 SHA1 (patch-third__party_libyuv_include_libyuv_row.h) = 46cafafca01293312b42f74d806aa00a40763292
 SHA1 (patch-third__party_libyuv_source_mjpeg__decoder.cc) = 1725db3056678b07a1af2d8b06bbd4ebdea24bb7
+SHA1 (patch-third__party_mesa_src_src_mesa_main_arrayobj.c) = 4915ad6d4367789f7c7f370465faf70eb80796df
 SHA1 (patch-third__party_ots_include_opentype-sanitiser.h) = b2b6fbfef584873ba1b0a3ba736fb12474c6184b
 SHA1 (patch-third__party_pdfium_build_standalone.gypi) = 3d691565bd70ce0e931cfe79ce4250f5a1e5c9cc
 SHA1 (patch-third__party_pdfium_core_fxcrt_include_fx__system.h) = d5ae1d0a53f6e67f64ad2a563a86b32be8bab509
@@ -408,6 +416,8 @@ SHA1 (patch-ui_gfx_font__fallback__linux.cc) = 6eb56aa2bb1838a8a55f0a8298026ca57
 SHA1 (patch-ui_gfx_font__render__params.h) = b3da6ca2f475ab3da509745ee21291ef85657567
 SHA1 (patch-ui_gfx_render__text.cc) = a3ad95b6eac82d1b73cd35e9cc918ca1e6d79648
 SHA1 (patch-ui_gl_gl.gyp) = 06b1786ad4a3f7af0eb6c247cd038a4e2402a53d
+SHA1 (patch-ui_gl_gl__gl__api__implementation.cc) = 05faddf08ac81a6bca10c60c8fd7bcc43703ccfe
+SHA1 (patch-ui_gl_gl__implementation__x11.cc) = 42491f0bf60e5994a1564458cd900ad8e0a888e2
 SHA1 (patch-ui_gl_gl__surface__glx.cc) = e507b6bb50b5439f335a1469bf6d16ec7931ac21
 SHA1 (patch-ui_gl_sync__control__vsync__provider.cc) = eb8aa4e9170c315c35be8bbc33e583e81e94892e
 SHA1 (patch-ui_message__center_message__center__style.h) = 825b969362b1b270d98567dd57c76b567c2687ca
diff --git a/chromium-new/patches/patch-base_base__paths__posix.cc b/chromium-new/patches/patch-base_base__paths__posix.cc
new file mode 100644
index 0000000..e8dc2e4
--- /dev/null
+++ b/chromium-new/patches/patch-base_base__paths__posix.cc
@@ -0,0 +1,47 @@
+$NetBSD$
+
+--- base/base_paths_posix.cc.orig	2016-06-24 01:02:08.000000000 +0000
++++ base/base_paths_posix.cc
+@@ -24,9 +24,10 @@
+ #include "base/process/process_metrics.h"
+ #include "build/build_config.h"
+ 
+-#if defined(OS_FREEBSD)
++#if defined(OS_FREEBSD) || defined(OS_NETBSD)
+ #include <sys/param.h>
+ #include <sys/sysctl.h>
++#include <unistd.h>
+ #elif defined(OS_SOLARIS)
+ #include <stdlib.h>
+ #endif
+@@ -59,6 +60,30 @@ bool PathProviderPosix(int key, FilePath
+       }
+       *result = FilePath(FilePath::StringType(bin_dir, length - 1));
+       return true;
++#elif defined(OS_NETBSD)
++      char pathname[MAXPATHLEN];
++      int mib[4];
++      int ret;
++      size_t size;
++
++      mib[0] = CTL_KERN;
++      mib[1] = KERN_PROC_ARGS;
++      mib[2] = getpid();
++      mib[3] = KERN_PROC_PATHNAME;
++
++      size = sizeof(pathname);
++      ret = sysctl(mib, 4, NULL, &size, NULL, 0);
++      if (ret == -1) {
++        return false;
++      }
++
++      ret = sysctl(mib, 4, pathname, &size, NULL, 0);
++      if (ret == -1 || strlen(pathname) == 0) {
++        return false;
++      }
++
++      *result = FilePath(FilePath::StringType(pathname, size - 1));
++      return true;
+ #elif defined(OS_SOLARIS)
+       char bin_dir[PATH_MAX + 1];
+       if (realpath(getexecname(), bin_dir) == NULL) {
diff --git a/chromium-new/patches/patch-base_files_file__path__watcher__kqueue.cc b/chromium-new/patches/patch-base_files_file__path__watcher__kqueue.cc
index cd0f47b..2aff538 100644
--- a/chromium-new/patches/patch-base_files_file__path__watcher__kqueue.cc
+++ b/chromium-new/patches/patch-base_files_file__path__watcher__kqueue.cc
@@ -9,7 +9,7 @@ $NetBSD$
 -            NOTE_RENAME | NOTE_REVOKE | NOTE_EXTEND), 0, data);
 +            NOTE_RENAME | NOTE_REVOKE | NOTE_EXTEND), 0,
 +#if defined(__NetBSD__)
-+            reinterpret_cast<intptr_t>(data));
++            (intptr_t)data);
 +#else
 +            data);
 +#endif
diff --git a/chromium-new/patches/patch-base_linux__util.cc b/chromium-new/patches/patch-base_linux__util.cc
new file mode 100644
index 0000000..1c84ed0
--- /dev/null
+++ b/chromium-new/patches/patch-base_linux__util.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- base/linux_util.cc.orig	2016-06-24 01:02:08.000000000 +0000
++++ base/linux_util.cc
+@@ -91,7 +91,7 @@ char g_linux_distro[kDistroSize] =
+ #endif
+ 
+ std::string GetLinuxDistro() {
+-#if defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#if defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_NETBSD)
+   return g_linux_distro;
+ #elif defined(OS_LINUX)
+   LinuxDistroHelper* distro_state_singleton = LinuxDistroHelper::GetInstance();
diff --git a/chromium-new/patches/patch-build_common.gypi b/chromium-new/patches/patch-build_common.gypi
index 27cfa78..502e55a 100644
--- a/chromium-new/patches/patch-build_common.gypi
+++ b/chromium-new/patches/patch-build_common.gypi
@@ -91,7 +91,7 @@ $NetBSD$
            'use_openmax_dl_fft%': 0,
          }],
 -        ['OS=="win" or OS=="linux"', {
-+        ['OS=="win" or OS=="linux" or OS=="freebsd"', {
++        ['OS=="win" or OS=="linux" or OS=="freebsd" or OS=="netbsd"', {
            'enable_mdns%' : 1,
          }],
  
@@ -106,7 +106,13 @@ $NetBSD$
      # The release channel that this build targets. This is used to restrict
      # channel-specific build options, like which installer packages to create.
      # The default is 'all', which does no channel-specific filtering.
-@@ -4724,6 +4734,24 @@
+@@ -4719,11 +4729,18 @@
+     }],
+     # FreeBSD-specific options; note that most FreeBSD options are set above,
+     # with Linux.
+-    ['OS=="freebsd"', {
++    ['OS=="freebsd" or OS=="netbsd"', {
+       'target_defaults': {
          'ldflags': [
            '-Wl,--no-keep-memory',
          ],
@@ -117,21 +123,10 @@ $NetBSD$
 +        'libraries!': [
 +          '-ldl',
 +        ],
-+      },
-+    }],
-+    # NetBSD
-+    ['OS=="netbsd"', {
-+      'target_defaults': {
-+        'ldflags!': [
-+          '-ldl',
-+        ],
-+        'libraries!': [
-+          '-ldl',
-+        ],
        },
      }],
      # Android-specific options; note that most are set above with Linux.
-@@ -5240,7 +5268,7 @@
+@@ -5240,7 +5257,7 @@
            # 2. Further down, library_dirs is set to
            #    third_party/libc++-static, which contains a static
            #    libc++.a library.  The linker then links against that instead
diff --git a/chromium-new/patches/patch-chrome_browser_chrome__browser__main__posix.cc b/chromium-new/patches/patch-chrome_browser_chrome__browser__main__posix.cc
index 0ca9069..f9ca550 100644
--- a/chromium-new/patches/patch-chrome_browser_chrome__browser__main__posix.cc
+++ b/chromium-new/patches/patch-chrome_browser_chrome__browser__main__posix.cc
@@ -11,7 +11,7 @@ $NetBSD$
 +    // we request the default pthread stack size by specifying 0 here.
 +    const size_t kShutdownDetectorThreadStackSize = 0;
 +#elif defined(__NetBSD__)
-+    const size_t kShutdownDetectorThreadStackSize = sysconf(_SC_THREAD_STACK_MIN) * 2;
++    const size_t kShutdownDetectorThreadStackSize = 0;
 +#else
  #if !defined(ADDRESS_SANITIZER) && !defined(KEEP_SHADOW_STACKS)
      const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 2;
diff --git a/chromium-new/patches/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc b/chromium-new/patches/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc
new file mode 100644
index 0000000..81541fd
--- /dev/null
+++ b/chromium-new/patches/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc
@@ -0,0 +1,18 @@
+$NetBSD$
+
+--- chrome/browser/extensions/api/image_writer_private/removable_storage_provider.cc.orig	2016-06-24 01:02:12.000000000 +0000
++++ chrome/browser/extensions/api/image_writer_private/removable_storage_provider.cc
+@@ -27,11 +27,13 @@ void RemovableStorageProvider::GetAllDev
+   scoped_refptr<StorageDeviceList> device_list(new StorageDeviceList);
+ 
+   // We need to do some file i/o to get the device block size
++#if !defined(OS_NETBSD)
+   content::BrowserThread::PostTaskAndReplyWithResult(
+       content::BrowserThread::FILE,
+       FROM_HERE,
+       base::Bind(PopulateDeviceList, device_list),
+       base::Bind(callback, device_list));
++#endif
+ }
+ 
+ void RemovableStorageProvider::SetDeviceListForTesting(
diff --git a/chromium-new/patches/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.h b/chromium-new/patches/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.h
new file mode 100644
index 0000000..3003de8
--- /dev/null
+++ b/chromium-new/patches/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.h
@@ -0,0 +1,16 @@
+$NetBSD$
+
+--- chrome/browser/extensions/api/image_writer_private/removable_storage_provider.h.orig	2016-06-24 01:02:12.000000000 +0000
++++ chrome/browser/extensions/api/image_writer_private/removable_storage_provider.h
+@@ -33,9 +33,11 @@ class RemovableStorageProvider {
+   // Clears the list of devices that is used during testing.
+   static void ClearDeviceListForTesting();
+ 
++#if !defined(OS_NETBSD)
+  private:
+   // Fills the provided empty device list with the available devices.
+   static bool PopulateDeviceList(scoped_refptr<StorageDeviceList> device_list);
++#endif
+ };
+ 
+ } // namespace extensions
diff --git a/chromium-new/patches/patch-content_gpu_gpu__child__thread.cc b/chromium-new/patches/patch-content_gpu_gpu__child__thread.cc
index a4fb2c6..dadc2ea 100644
--- a/chromium-new/patches/patch-content_gpu_gpu__child__thread.cc
+++ b/chromium-new/patches/patch-content_gpu_gpu__child__thread.cc
@@ -6,7 +6,7 @@ $NetBSD$
  }
  
  void GpuChildThread::OnCollectGraphicsInfo() {
-+#if !defined(OS_FREEBSD)
++#if !defined(OS_FREEBSD) && !defined(OS_NETBSD)
  #if defined(OS_WIN)
    // GPU full info collection should only happen on un-sandboxed GPU process
    // or single process/in-process gpu mode on Windows.
diff --git a/chromium-new/patches/patch-content_gpu_gpu__main.cc b/chromium-new/patches/patch-content_gpu_gpu__main.cc
index df9f5bc..fa9395a 100644
--- a/chromium-new/patches/patch-content_gpu_gpu__main.cc
+++ b/chromium-new/patches/patch-content_gpu_gpu__main.cc
@@ -7,7 +7,7 @@ $NetBSD$
  bool WarmUpSandbox(const base::CommandLine& command_line);
  
 -#if !defined(OS_MACOSX)
-+#if !defined(OS_MACOSX) && !defined(OS_FREEBSD) //XXX(rene) added !FreeBSD
++#if !defined(OS_MACOSX) && !defined(OS_FREEBSD) && !defined(OS_NETBSD) //XXX(rene) added !FreeBSD
  bool CollectGraphicsInfo(gpu::GPUInfo& gpu_info);
  #endif
  
@@ -32,7 +32,7 @@ $NetBSD$
        base::TimeTicks before_collect_context_graphics_info =
            base::TimeTicks::Now();
 -#if !defined(OS_MACOSX)
-+#if !defined(OS_MACOSX) && !defined(OS_FREEBSD) //XXX(rene) added !FreeBSD
++#if !defined(OS_MACOSX) && !defined(OS_FREEBSD) && !defined(OS_NETBSD)//XXX(rene) added !FreeBSD
        if (!CollectGraphicsInfo(gpu_info))
          dead_on_arrival = true;
  
@@ -41,7 +41,7 @@ $NetBSD$
  }
  
 -#if !defined(OS_MACOSX)
-+#if !defined(OS_MACOSX) && !defined(OS_FREEBSD)//XXX(rene) added !FreeBSD
++#if !defined(OS_MACOSX) && !defined(OS_FREEBSD) && !defined(OS_NETBSD) //XXX(rene) added !FreeBSD
  bool CollectGraphicsInfo(gpu::GPUInfo& gpu_info) {
    TRACE_EVENT0("gpu,startup", "Collect Graphics Info");
  
diff --git a/chromium-new/patches/patch-net_dns_dns__config_-service__posix.cc b/chromium-new/patches/patch-net_dns_dns__config_-service__posix.cc
new file mode 100644
index 0000000..2193a6e
--- /dev/null
+++ b/chromium-new/patches/patch-net_dns_dns__config_-service__posix.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- net/dns/dns_config_service_posix.cc.orig	2016-06-24 01:02:25.000000000 +0000
++++ net/dns/dns_config_service_posix.cc
+@@ -118,7 +118,7 @@ class DnsConfigWatcher {
+ ConfigParsePosixResult ReadDnsConfig(DnsConfig* config) {
+   ConfigParsePosixResult result;
+   config->unhandled_options = false;
+-#if defined(OS_OPENBSD)
++#if defined(OS_OPENBSD) || defined(OS_NETBSD)
+   // Note: res_ninit in glibc always returns 0 and sets RES_INIT.
+   // res_init behaves the same way.
+   memset(&_res, 0, sizeof(_res));
diff --git a/chromium-new/patches/patch-net_dns_dns__reloader.cc b/chromium-new/patches/patch-net_dns_dns__reloader.cc
index 8b33bd5..41122a1 100644
--- a/chromium-new/patches/patch-net_dns_dns__reloader.cc
+++ b/chromium-new/patches/patch-net_dns_dns__reloader.cc
@@ -2,14 +2,16 @@ $NetBSD$
 
 --- net/dns/dns_reloader.cc.orig	2016-06-24 01:02:25.000000000 +0000
 +++ net/dns/dns_reloader.cc
-@@ -7,6 +7,10 @@
- #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \
-     !defined(OS_ANDROID)
+@@ -5,7 +5,11 @@
+ #include "net/dns/dns_reloader.h"
  
+ #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \
+-    !defined(OS_ANDROID)
++    !defined(OS_ANDROID) && !defined(OS_NETBSD)
++
 +#if defined(OS_FREEBSD)
 +#include <netinet/in.h>
 +#endif
-+
+ 
  #include <resolv.h>
  
- #include "base/lazy_instance.h"
diff --git a/chromium-new/patches/patch-net_dns_host__resolver__impl.cc b/chromium-new/patches/patch-net_dns_host__resolver__impl.cc
new file mode 100644
index 0000000..a038be6
--- /dev/null
+++ b/chromium-new/patches/patch-net_dns_host__resolver__impl.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- net/dns/host_resolver_impl.cc.orig	2016-06-24 01:02:25.000000000 +0000
++++ net/dns/host_resolver_impl.cc
+@@ -1888,7 +1888,7 @@ HostResolverImpl::HostResolverImpl(const
+   NetworkChangeNotifier::AddConnectionTypeObserver(this);
+   NetworkChangeNotifier::AddDNSObserver(this);
+ #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \
+-    !defined(OS_ANDROID)
++    !defined(OS_ANDROID) && !defined(OS_NETBSD)
+   EnsureDnsReloaderInit();
+ #endif
+ 
diff --git a/chromium-new/patches/patch-net_dns_host__resolver__proc.cc b/chromium-new/patches/patch-net_dns_host__resolver__proc.cc
new file mode 100644
index 0000000..a026e53
--- /dev/null
+++ b/chromium-new/patches/patch-net_dns_host__resolver__proc.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- net/dns/host_resolver_proc.cc.orig	2016-06-24 01:02:25.000000000 +0000
++++ net/dns/host_resolver_proc.cc
+@@ -194,7 +194,7 @@ int SystemHostResolverCall(const std::st
+   hints.ai_socktype = SOCK_STREAM;
+ 
+ #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \
+-    !defined(OS_ANDROID)
++    !defined(OS_ANDROID) && !defined(OS_NETBSD)
+   DnsReloaderMaybeReload();
+ #endif
+   int err = getaddrinfo(host.c_str(), NULL, &hints, &ai);
diff --git a/chromium-new/patches/patch-third__party_mesa_src_src_mesa_main_arrayobj.c b/chromium-new/patches/patch-third__party_mesa_src_src_mesa_main_arrayobj.c
new file mode 100644
index 0000000..1fdbd70
--- /dev/null
+++ b/chromium-new/patches/patch-third__party_mesa_src_src_mesa_main_arrayobj.c
@@ -0,0 +1,15 @@
+$NetBSD$
+
+--- third_party/mesa/src/src/mesa/main/arrayobj.c.orig	2016-06-24 01:03:55.000000000 +0000
++++ third_party/mesa/src/src/mesa/main/arrayobj.c
+@@ -52,6 +52,10 @@
+ #include "varray.h"
+ #include "main/dispatch.h"
+ 
++#if defined(__NetBSD__)
++#include <sys/bitops.h>
++#define ffsll ffs64
++#endif
+ 
+ /**
+  * Look up the array object for the given ID.
diff --git a/chromium-new/patches/patch-ui_gl_gl__gl__api__implementation.cc b/chromium-new/patches/patch-ui_gl_gl__gl__api__implementation.cc
new file mode 100644
index 0000000..ecd7a28
--- /dev/null
+++ b/chromium-new/patches/patch-ui_gl_gl__gl__api__implementation.cc
@@ -0,0 +1,16 @@
+$NetBSD$
+
+--- ui/gl/gl_gl_api_implementation.cc.orig	2016-06-24 01:02:53.000000000 +0000
++++ ui/gl/gl_gl_api_implementation.cc
+@@ -555,7 +555,11 @@ bool VirtualGLApi::MakeCurrent(GLContext
+     // context loss handling in virtual context mode.
+     // There should be no other errors from the previous context leaking into
+     // the new context.
++#if defined(OS_NETBSD)
++    DCHECK(error == GL_NO_ERROR) <<
++#else
+     DCHECK(error == GL_NO_ERROR || error == GL_CONTEXT_LOST_KHR) <<
++#endif
+         "GL error was: " << error;
+ #endif
+ 
diff --git a/chromium-new/patches/patch-ui_gl_gl__implementation__x11.cc b/chromium-new/patches/patch-ui_gl_gl__implementation__x11.cc
new file mode 100644
index 0000000..0b523e5
--- /dev/null
+++ b/chromium-new/patches/patch-ui_gl_gl__implementation__x11.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- ui/gl/gl_implementation_x11.cc.orig	2016-06-24 01:02:53.000000000 +0000
++++ ui/gl/gl_implementation_x11.cc
+@@ -33,7 +33,7 @@ void GL_BINDING_CALL MarshalDepthRangeTo
+   glDepthRangef(static_cast<GLclampf>(z_near), static_cast<GLclampf>(z_far));
+ }
+ 
+-#if defined(OS_OPENBSD)
++#if defined(OS_OPENBSD) || defined(OS_NETBSD)
+ const char kGLLibraryName[] = "libGL.so";
+ #else
+ const char kGLLibraryName[] = "libGL.so.1";


Home | Main Index | Thread Index | Old Index