From owner-svn-ports-all@freebsd.org Wed Aug 22 10:01:05 2018 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E1B7E1083CE1; Wed, 22 Aug 2018 10:01:04 +0000 (UTC) (envelope-from cpm@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 8D72C8D0DA; Wed, 22 Aug 2018 10:01:04 +0000 (UTC) (envelope-from cpm@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6EEBA116A5; Wed, 22 Aug 2018 10:01:04 +0000 (UTC) (envelope-from cpm@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w7MA14wJ065829; Wed, 22 Aug 2018 10:01:04 GMT (envelope-from cpm@FreeBSD.org) Received: (from cpm@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w7MA12iU065821; Wed, 22 Aug 2018 10:01:02 GMT (envelope-from cpm@FreeBSD.org) Message-Id: <201808221001.w7MA12iU065821@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cpm set sender to cpm@FreeBSD.org using -f From: "Carlos J. Puga Medina" Date: Wed, 22 Aug 2018 10:01:02 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-branches@freebsd.org Subject: svn commit: r477782 - in branches/2018Q3/www/chromium: . files X-SVN-Group: ports-branches X-SVN-Commit-Author: cpm X-SVN-Commit-Paths: in branches/2018Q3/www/chromium: . files X-SVN-Commit-Revision: 477782 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Aug 2018 10:01:05 -0000 Author: cpm Date: Wed Aug 22 10:01:02 2018 New Revision: 477782 URL: https://svnweb.freebsd.org/changeset/ports/477782 Log: MFH: r477781 - Add more useful comments to make Makefile more readable - Fix TEST option allow running basic tests and skip tests that must be verified if they are supported before being added back to TEST_TARGETS - Add patches that fixes crash with non-MESA drivers fall back to scanning PCI devices. Ideally, we'd like to use libpci but the current version calculates device class wrong for non-root users (patch submitted to libpci author), so a workaround would be messy. Instead, use direct access to /dev/pci. Once the upstream fixes the bug generic libpci code can be used [1] Tested by: Oleh Hushchenkov , Jonathan Chen - Bump PORTREVISION PR: 230450 [1] Submitted by: gonzo [1] Reported by: Oleh Hushchenkov, Jonathan Chen [1] Approved by: ports-secteam (blanket) Added: branches/2018Q3/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_libpci.cpp - copied unchanged from r477781, head/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_libpci.cpp Deleted: branches/2018Q3/www/chromium/Makefile.tests Modified: branches/2018Q3/www/chromium/Makefile branches/2018Q3/www/chromium/distinfo branches/2018Q3/www/chromium/files/patch-base_process_memory__unittest.cc branches/2018Q3/www/chromium/files/patch-chrome_test_base_in__process__browser__test.cc branches/2018Q3/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_internal.h branches/2018Q3/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_linux.cpp branches/2018Q3/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_x11.cpp Directory Properties: branches/2018Q3/ (props changed) Modified: branches/2018Q3/www/chromium/Makefile ============================================================================== --- branches/2018Q3/www/chromium/Makefile Wed Aug 22 09:58:18 2018 (r477781) +++ branches/2018Q3/www/chromium/Makefile Wed Aug 22 10:01:02 2018 (r477782) @@ -3,9 +3,10 @@ PORTNAME= chromium PORTVERSION= 68.0.3440.106 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES?= www -MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/ +MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/ \ + LOCAL/cpm/chromium/:fonts DISTFILES= ${DISTNAME}${EXTRACT_SUFX} MAINTAINER?= chromium@FreeBSD.org @@ -195,9 +196,9 @@ SNDIO_VARS_OFF= GN_ARGS+=use_sndio=false .endif -.include "Makefile.tests" -TEST_ALL_TARGET= ${TEST_TARGETS} -TEST_DISTFILES= ${PORTNAME}-${DISTVERSION}-testdata${EXTRACT_SUFX} +TEST_ALL_TARGET= base_unittests +TEST_DISTFILES= ${PORTNAME}-${DISTVERSION}-testdata${EXTRACT_SUFX} \ + test_fonts${EXTRACT_SUFX}:fonts .include @@ -223,6 +224,10 @@ pre-everything:: @${ECHO_MSG} "and ${WANTSPACE}." @${ECHO_MSG} +post-extract-TEST-on: + @${MKDIR} ${WRKSRC}/third_party/test_fonts/test_fonts + @${MV} ${WRKDIR}/test_fonts ${WRKSRC}/third_party/test_fonts/ + post-patch: @${REINPLACE_CMD} -e 's|@@PACKAGE@@|chromium|' \ -e 's|@@MENUNAME@@|Chromium Web Browser|' \ @@ -290,9 +295,13 @@ do-install: ${INSTALL_SCRIPT} ${WRKDIR}/chrome ${STAGEDIR}${PREFIX}/bin ${INSTALL_SCRIPT} ${WRKSRC}/chrome/tools/build/linux/chrome-wrapper \ ${STAGEDIR}${DATADIR} + + # ANGLE .for f in libEGL.so libGLESv2.so ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR} .endfor + + # SwiftShader @${MKDIR} ${STAGEDIR}${DATADIR}/swiftshader .for g in libEGL.so libGLESv2.so ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/swiftshader/${g} \ Modified: branches/2018Q3/www/chromium/distinfo ============================================================================== --- branches/2018Q3/www/chromium/distinfo Wed Aug 22 09:58:18 2018 (r477781) +++ branches/2018Q3/www/chromium/distinfo Wed Aug 22 10:01:02 2018 (r477782) @@ -1,5 +1,7 @@ -TIMESTAMP = 1533765819 +TIMESTAMP = 1534764533 SHA256 (chromium-68.0.3440.106.tar.xz) = 7021040635a0a0d47f699bdb22e3ef5c91482e4f51b428d1de3016da95f0e698 SIZE (chromium-68.0.3440.106.tar.xz) = 630289544 SHA256 (chromium-68.0.3440.106-testdata.tar.xz) = 2a736b339f7cbf9fd26901666f17f53b51f7191ed2f64ea65fb8afe638a1633b SIZE (chromium-68.0.3440.106-testdata.tar.xz) = 310263984 +SHA256 (test_fonts.tar.xz) = cf9cbe3b7f1c4c42d426bddc65ec178d333ad7e205a36fe0a606a3c0c545ece1 +SIZE (test_fonts.tar.xz) = 200040 Modified: branches/2018Q3/www/chromium/files/patch-base_process_memory__unittest.cc ============================================================================== --- branches/2018Q3/www/chromium/files/patch-base_process_memory__unittest.cc Wed Aug 22 09:58:18 2018 (r477781) +++ branches/2018Q3/www/chromium/files/patch-base_process_memory__unittest.cc Wed Aug 22 10:01:02 2018 (r477782) @@ -1,5 +1,5 @@ ---- base/process/memory_unittest.cc.orig 2017-09-05 21:05:11.000000000 +0200 -+++ base/process/memory_unittest.cc 2017-09-06 16:53:33.919374000 +0200 +--- base/process/memory_unittest.cc.orig 2018-08-08 21:10:31.000000000 +0200 ++++ base/process/memory_unittest.cc 2018-08-20 13:06:25.303428000 +0200 @@ -104,7 +104,7 @@ // OpenBSD does not support these tests. Don't test these on ASan/TSan/MSan // configurations: only test the real allocator. @@ -9,9 +9,9 @@ !defined(MEMORY_TOOL_REPLACES_ALLOCATOR) namespace { -@@ -507,5 +507,5 @@ +@@ -529,5 +529,5 @@ EXPECT_FALSE(base::UncheckedCalloc(1, test_size_, &value_)); - EXPECT_TRUE(value_ == NULL); + EXPECT_TRUE(value_ == nullptr); } -#endif // !defined(OS_OPENBSD) && BUILDFLAG(ENABLE_WIN_ALLOCATOR_SHIM_TESTS) && +#endif // !defined(OS_BSD) && BUILDFLAG(ENABLE_WIN_ALLOCATOR_SHIM_TESTS) && Modified: branches/2018Q3/www/chromium/files/patch-chrome_test_base_in__process__browser__test.cc ============================================================================== --- branches/2018Q3/www/chromium/files/patch-chrome_test_base_in__process__browser__test.cc Wed Aug 22 09:58:18 2018 (r477781) +++ branches/2018Q3/www/chromium/files/patch-chrome_test_base_in__process__browser__test.cc Wed Aug 22 10:01:02 2018 (r477782) @@ -1,13 +1,22 @@ ---- chrome/test/base/in_process_browser_test.cc.orig 2017-06-05 19:03:04 UTC -+++ chrome/test/base/in_process_browser_test.cc -@@ -95,6 +95,10 @@ +--- chrome/test/base/in_process_browser_test.cc.orig 2018-08-08 21:10:43.000000000 +0200 ++++ chrome/test/base/in_process_browser_test.cc 2018-08-21 00:58:24.257483000 +0200 +@@ -69,6 +69,10 @@ + #include "chrome/test/base/scoped_bundle_swizzler_mac.h" + #endif - namespace { - +#if defined(OS_FREEBSD) +#include +#endif + - // Passed as value of kTestType. - const char kBrowserTestType[] = "browser"; + #if defined(OS_WIN) + #include "base/win/scoped_com_initializer.h" + #include "base/win/windows_version.h" +@@ -88,7 +92,7 @@ + #include "chrome/test/base/default_ash_event_generator_delegate.h" + #endif // defined(OS_CHROMEOS) + +-#if !defined(OS_CHROMEOS) && defined(OS_LINUX) ++#if !defined(OS_CHROMEOS) && (defined(OS_LINUX) || defined(OS_BSD)) + #include "ui/views/test/test_desktop_screen_x11.h" + #endif Modified: branches/2018Q3/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_internal.h ============================================================================== --- branches/2018Q3/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_internal.h Wed Aug 22 09:58:18 2018 (r477781) +++ branches/2018Q3/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_internal.h Wed Aug 22 10:01:02 2018 (r477782) @@ -1,6 +1,6 @@ ---- third_party/angle/src/gpu_info_util/SystemInfo_internal.h.orig 2017-09-10 02:31:40.635170000 +0200 -+++ third_party/angle/src/gpu_info_util/SystemInfo_internal.h 2017-09-10 02:32:27.153701000 +0200 -@@ -14,6 +14,8 @@ +--- third_party/angle/src/gpu_info_util/SystemInfo_internal.h.orig 2018-08-08 12:13:09.000000000 -0700 ++++ third_party/angle/src/gpu_info_util/SystemInfo_internal.h 2018-08-20 09:43:56.141492000 -0700 +@@ -14,8 +14,13 @@ namespace angle { @@ -8,4 +8,9 @@ + // Defined in SystemInfo_libpci when GPU_INFO_USE_LIBPCI is defined. bool GetPCIDevicesWithLibPCI(std::vector *devices); ++#if defined(__FreeBSD__) ++bool GetPCIDevicesFreeBSD(std::vector *devices); ++#endif // Defined in SystemInfo_x11 when GPU_INFO_USE_X11 is defined. + bool GetNvidiaDriverVersionWithXNVCtrl(std::string *version); + Copied: branches/2018Q3/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_libpci.cpp (from r477781, head/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_libpci.cpp) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/2018Q3/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_libpci.cpp Wed Aug 22 10:01:02 2018 (r477782, copy of r477781, head/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_libpci.cpp) @@ -0,0 +1,90 @@ +--- third_party/angle/src/gpu_info_util/SystemInfo_libpci.cpp.orig 2018-08-20 10:00:10.885543000 -0700 ++++ third_party/angle/src/gpu_info_util/SystemInfo_libpci.cpp 2018-08-20 09:50:32.387980000 -0700 +@@ -12,6 +12,11 @@ + #include + #include + ++#if defined(__FreeBSD__) ++#include ++#include ++#endif ++ + #include "common/angleutils.h" + #include "common/debug.h" + +@@ -82,6 +87,75 @@ + }; + + } // anonymous namespace ++ ++#if defined(__FreeBSD__) ++// Adds an entry per PCI GPU found and fills the device and vendor ID. ++bool GetPCIDevicesFreeBSD(std::vector *devices) ++{ ++ int fd; ++ struct pci_conf_io conf; ++ struct pci_conf *matches; ++ uint32_t offset = 0; ++ ++ fd = open("/dev/pci", O_RDONLY); ++ if (fd < 0) ++ return false; ++ ++ matches = new struct pci_conf[32]; ++ conf.generation = 0; ++ do { ++ conf.pat_buf_len = 0; ++ conf.num_patterns = 0; ++ conf.patterns = NULL; ++ conf.match_buf_len = 32 * sizeof(struct pci_conf); ++ conf.num_matches = 32; ++ conf.matches = matches; ++ conf.offset = offset; ++ conf.status = PCI_GETCONF_ERROR; ++ if (ioctl(fd, PCIOCGETCONF, &conf) < 0) { ++ if (errno == ENODEV) ++ break; ++ } ++ /* PCI_GETCONF_LIST_CHANGED would require us to start over. */ ++ if (conf.status == PCI_GETCONF_ERROR || conf.status == PCI_GETCONF_LIST_CHANGED) { ++ break; ++ } ++ ++ for (unsigned int i = 0; i < conf.num_matches; i++) { ++ uint16_t device_class = (matches[i].pc_class << 8) | matches[i].pc_subclass; ++ ++ // Skip non-GPU devices ++ switch (device_class) ++ { ++ case PCI_CLASS_DISPLAY_VGA: ++ case PCI_CLASS_DISPLAY_XGA: ++ case PCI_CLASS_DISPLAY_3D: ++ break; ++ default: ++ continue; ++ } ++ ++ // Skip unknown devices ++ if (matches[i].pc_vendor == 0 || matches[i].pc_device == 0) { ++ continue; ++ } ++ ++ GPUDeviceInfo info; ++ info.vendorId = matches[i].pc_vendor; ++ info.deviceId = matches[i].pc_device; ++ ++ devices->push_back(info); ++ } ++ offset += conf.num_matches; ++ } while (conf.status == PCI_GETCONF_MORE_DEVS); ++ ++ delete[] matches; ++ ++ close(fd); ++ ++ return true; ++} ++#endif + + // Adds an entry per PCI GPU found and fills the device and vendor ID. + bool GetPCIDevicesWithLibPCI(std::vector *devices) Modified: branches/2018Q3/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_linux.cpp ============================================================================== --- branches/2018Q3/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_linux.cpp Wed Aug 22 09:58:18 2018 (r477781) +++ branches/2018Q3/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_linux.cpp Wed Aug 22 10:01:02 2018 (r477782) @@ -1,13 +1,14 @@ ---- third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp.orig 2017-09-10 02:34:01.568975000 +0200 -+++ third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp 2017-09-10 02:35:52.870068000 +0200 -@@ -71,10 +71,17 @@ +--- third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp.orig 2018-08-08 12:13:09.000000000 -0700 ++++ third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp 2018-08-20 09:50:36.331947000 -0700 +@@ -71,10 +71,18 @@ bool GetSystemInfo(SystemInfo *info) { +#if defined(__FreeBSD__) + if (!CollectMesaCardInfo(&(info->gpus))) + { -+ return false; ++ if (!GetPCIDevicesFreeBSD(&(info->gpus))) ++ return false; + } +#else if (!GetPCIDevicesWithLibPCI(&(info->gpus))) Modified: branches/2018Q3/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_x11.cpp ============================================================================== --- branches/2018Q3/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_x11.cpp Wed Aug 22 09:58:18 2018 (r477781) +++ branches/2018Q3/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_x11.cpp Wed Aug 22 10:01:02 2018 (r477782) @@ -1,5 +1,5 @@ ---- third_party/angle/src/gpu_info_util/SystemInfo_x11.cpp.orig 2017-12-15 02:05:36.000000000 +0100 -+++ third_party/angle/src/gpu_info_util/SystemInfo_x11.cpp 2017-12-30 05:11:53.917801000 +0100 +--- third_party/angle/src/gpu_info_util/SystemInfo_x11.cpp.orig 2018-08-08 12:13:09.000000000 -0700 ++++ third_party/angle/src/gpu_info_util/SystemInfo_x11.cpp 2018-08-20 09:34:48.052352000 -0700 @@ -8,6 +8,8 @@ #include "gpu_info_util/SystemInfo_internal.h" @@ -9,7 +9,7 @@ #include #include "common/debug.h" -@@ -18,8 +20,40 @@ +@@ -18,8 +20,43 @@ #error SystemInfo_x11.cpp compiled without GPU_INFO_USE_X11 #endif @@ -32,6 +32,9 @@ + PFNGLXQUERYRENDERERINTEGERMESAPROC queryInteger = + (PFNGLXQUERYRENDERERINTEGERMESAPROC) glXGetProcAddressARB((const GLubyte *) + "glXQueryRendererIntegerMESA"); ++ ++ if (!queryInteger) ++ return false; + + bool vendor_ret = + queryInteger(display, 0, 0, GLX_RENDERER_VENDOR_ID_MESA, vid);