svn commit: r477782 - in branches/2018Q3/www/chromium: . files
Carlos J. Puga Medina
cpm at FreeBSD.org
Wed Aug 22 10:01:05 UTC 2018
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 <gor at clogic.com.ua>, Jonathan Chen <jonc at chen.org.nz>
- 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 at 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 <bsd.port.options.mk>
@@ -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 <signal.h>
+#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<GPUDeviceInfo> *devices);
++#if defined(__FreeBSD__)
++bool GetPCIDevicesFreeBSD(std::vector<GPUDeviceInfo> *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 <pci/pci.h>
+ #include <unistd.h>
+
++#if defined(__FreeBSD__)
++#include <fcntl.h>
++#include <sys/pciio.h>
++#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<GPUDeviceInfo> *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<GPUDeviceInfo> *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 <X11/Xlib.h>
#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);
More information about the svn-ports-branches
mailing list