aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Nagy <robert@openbsd.org>2022-03-21 11:02:18 +0000
committerRene Ladan <rene@FreeBSD.org>2022-03-21 11:06:21 +0000
commit229eae94451f1213d3fc5d2198728d0a909d43f6 (patch)
tree15df52619a77f0feeb2016323b936cd16c411d0c
parent53252a4de1300478a60378400160adfc9f5cbc9b (diff)
downloadports-229eae94451f1213d3fc5d2198728d0a909d43f6.tar.gz
ports-229eae94451f1213d3fc5d2198728d0a909d43f6.zip
www/chromium: update to 99.0.4844.82
While here: - respect download location settings [1] - fix manual page installation - fix build on arm64 - fixup pkg-plist PR: 262673 Reported by: o.hushchenkov@gmail.com
-rw-r--r--www/chromium/Makefile4
-rw-r--r--www/chromium/distinfo10
-rw-r--r--www/chromium/files/patch-chrome_browser_download_download__prefs.cc40
-rw-r--r--www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc30
-rw-r--r--www/chromium/files/patch-third__party_skia_src_core_SkCpu.cpp26
-rw-r--r--www/chromium/pkg-plist3
6 files changed, 72 insertions, 41 deletions
diff --git a/www/chromium/Makefile b/www/chromium/Makefile
index 26ecb4f7eb36..a2e9e554b7ba 100644
--- a/www/chromium/Makefile
+++ b/www/chromium/Makefile
@@ -1,7 +1,7 @@
# Created by: Florent Thoumie <flz@FreeBSD.org>
PORTNAME= chromium
-PORTVERSION= 99.0.4844.74
+PORTVERSION= 99.0.4844.82
CATEGORIES= www
MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/ \
https://nerd.hu/distfiles/:fonts
@@ -279,7 +279,7 @@ do-install:
@${MKDIR} ${STAGEDIR}${DATADIR}
${INSTALL_MAN} ${WRKSRC}/chrome/app/resources/manpage.1.in \
${STAGEDIR}${MANPREFIX}/man/man1/chrome.1
- @${SED} -ie 's,\@\@PACKAGE\@\@,chromium,g;s,\@\@MENUNAME\@\@,Chromium Web Browser,g' \
+ @${SED} -i "" -e 's,\@\@PACKAGE\@\@,chromium,g;s,\@\@MENUNAME\@\@,Chromium Web Browser,g' \
${STAGEDIR}${MANPREFIX}/man/man1/chrome.1
${CP} ${WRKSRC}/chrome/app/theme/chromium/product_logo_22_mono.png ${WRKSRC}/chrome/app/theme/chromium/product_logo_22.png
.for s in 22 24 48 64 128 256
diff --git a/www/chromium/distinfo b/www/chromium/distinfo
index 10d39f810fad..275f70c8d20f 100644
--- a/www/chromium/distinfo
+++ b/www/chromium/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1647412274
-SHA256 (chromium-99.0.4844.74.tar.xz) = 2d5f464730fde0260d1b00db1b38210344952ec91a5b3c544c99c43e76ffbb98
-SIZE (chromium-99.0.4844.74.tar.xz) = 1316293332
-SHA256 (chromium-99.0.4844.74-testdata.tar.xz) = 9b3de3c3f2decc2481aa11dace73dcea150b84d0b69b095117f6caeac0c0ceb6
-SIZE (chromium-99.0.4844.74-testdata.tar.xz) = 258879148
+TIMESTAMP = 1647811738
+SHA256 (chromium-99.0.4844.82.tar.xz) = b8bb0bc1410de8b9d98889c79410726a4e78801d4e54ea23b23b7b4015c7d25c
+SIZE (chromium-99.0.4844.82.tar.xz) = 1316414584
+SHA256 (chromium-99.0.4844.82-testdata.tar.xz) = 2af7befb56c8b904ca575c9830896c969a5f41ab9854593dbd2f4c79d6824003
+SIZE (chromium-99.0.4844.82-testdata.tar.xz) = 258942728
SHA256 (test_fonts-cd96fc55dc243f6c6f4cb63ad117cad6cd48dceb.tar.gz) = ec973eccd669d417fbf2d0a4dac730744a3174268ff062db5451b55c82bc3492
SIZE (test_fonts-cd96fc55dc243f6c6f4cb63ad117cad6cd48dceb.tar.gz) = 26759650
diff --git a/www/chromium/files/patch-chrome_browser_download_download__prefs.cc b/www/chromium/files/patch-chrome_browser_download_download__prefs.cc
index 9dbb2956cd6f..11bfe5f3bdb7 100644
--- a/www/chromium/files/patch-chrome_browser_download_download__prefs.cc
+++ b/www/chromium/files/patch-chrome_browser_download_download__prefs.cc
@@ -1,4 +1,4 @@
---- chrome/browser/download/download_prefs.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/download/download_prefs.cc.orig 2022-03-20 09:08:36 UTC
+++ chrome/browser/download/download_prefs.cc
@@ -13,6 +13,7 @@
#include "base/callback_helpers.h"
@@ -8,16 +8,18 @@
#include "base/feature_list.h"
#include "base/files/file_util.h"
#include "base/no_destructor.h"
-@@ -60,6 +61,8 @@
+@@ -60,6 +61,10 @@
#include "chrome/browser/ui/pdf/adobe_reader_info_win.h"
#endif
-+#include "sandbox/policy/switches.h"
++#if BUILDFLAG(IS_OPENBSD)
++#include "sandbox/policy/openbsd/sandbox_openbsd.h"
++#endif
+
using content::BrowserContext;
using content::BrowserThread;
using content::DownloadManager;
-@@ -70,7 +73,7 @@ namespace {
+@@ -70,7 +75,7 @@ namespace {
// Consider downloads 'dangerous' if they go to the home directory on Linux and
// to the desktop on any platform.
bool DownloadPathIsDangerous(const base::FilePath& download_path) {
@@ -26,7 +28,7 @@
base::FilePath home_dir = base::GetHomeDir();
if (download_path == home_dir) {
return true;
-@@ -168,7 +171,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profi
+@@ -168,7 +173,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profi
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
@@ -35,7 +37,7 @@
should_open_pdf_in_system_reader_ =
prefs->GetBoolean(prefs::kOpenPdfDownloadInSystemReader);
#endif
-@@ -287,7 +290,7 @@ void DownloadPrefs::RegisterProfilePrefs(
+@@ -287,7 +292,7 @@ void DownloadPrefs::RegisterProfilePrefs(
registry->RegisterFilePathPref(prefs::kSaveFileDefaultDirectory,
default_download_path);
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
@@ -44,7 +46,7 @@
registry->RegisterBooleanPref(prefs::kOpenPdfDownloadInSystemReader, false);
#endif
#if BUILDFLAG(IS_ANDROID)
-@@ -421,7 +424,7 @@ bool DownloadPrefs::IsDownloadPathManaged() const {
+@@ -421,7 +426,7 @@ bool DownloadPrefs::IsDownloadPathManaged() const {
bool DownloadPrefs::IsAutoOpenByUserUsed() const {
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
@@ -53,7 +55,7 @@
if (ShouldOpenPdfInSystemReader())
return true;
#endif
-@@ -436,7 +439,7 @@ bool DownloadPrefs::IsAutoOpenEnabled(const GURL& url,
+@@ -436,7 +441,7 @@ bool DownloadPrefs::IsAutoOpenEnabled(const GURL& url,
DCHECK(extension[0] == base::FilePath::kExtensionSeparator);
extension.erase(0, 1);
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
@@ -62,7 +64,7 @@
if (base::FilePath::CompareEqualIgnoreCase(extension,
FILE_PATH_LITERAL("pdf")) &&
ShouldOpenPdfInSystemReader())
-@@ -491,7 +494,7 @@ void DownloadPrefs::DisableAutoOpenByUserBasedOnExtens
+@@ -491,7 +496,7 @@ void DownloadPrefs::DisableAutoOpenByUserBasedOnExtens
}
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
@@ -71,7 +73,7 @@
void DownloadPrefs::SetShouldOpenPdfInSystemReader(bool should_open) {
if (should_open_pdf_in_system_reader_ == should_open)
return;
-@@ -513,7 +516,7 @@ bool DownloadPrefs::ShouldOpenPdfInSystemReader() cons
+@@ -513,7 +518,7 @@ bool DownloadPrefs::ShouldOpenPdfInSystemReader() cons
void DownloadPrefs::ResetAutoOpenByUser() {
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
@@ -80,18 +82,18 @@
SetShouldOpenPdfInSystemReader(false);
#endif
auto_open_by_user_.clear();
-@@ -651,9 +654,13 @@ base::FilePath DownloadPrefs::SanitizeDownloadTargetPa
- // Fall back to the default download directory for all other paths.
- return GetDefaultDownloadDirectoryForProfile();
+@@ -653,7 +658,14 @@ base::FilePath DownloadPrefs::SanitizeDownloadTargetPa
#else
-+ // If unveil(2) is used, force the file dialog directory to something we
-+ // know is available.
-+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
-+
// If the stored download directory is an absolute path, we presume it's
// correct; there's not really much more validation we can do here.
-- if (path.IsAbsolute())
-+ if (command_line->HasSwitch(sandbox::policy::switches::kDisableUnveil) && path.IsAbsolute())
++#if BUILDFLAG(IS_OPENBSD)
++ // If unveil(2) is used, force the file dialog directory to something we
++ // know is available.
++ auto* sandbox = sandbox::policy::SandboxLinux::GetInstance();
++ if (!sandbox->unveil_initialized() && path.IsAbsolute())
++#else
+ if (path.IsAbsolute())
++#endif
return path;
// When the default download directory is *not* an absolute path, we use the
diff --git a/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc b/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc
index eedb1286b9ff..fad03295c3f7 100644
--- a/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc
+++ b/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc
@@ -1,25 +1,31 @@
---- chrome/browser/profiles/profile_impl.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/profiles/profile_impl.cc.orig 2022-03-20 09:08:36 UTC
+++ chrome/browser/profiles/profile_impl.cc
-@@ -182,6 +182,7 @@
- #include "services/preferences/public/mojom/preferences.mojom.h"
- #include "services/preferences/public/mojom/tracked_preference_validation_delegate.mojom.h"
- #include "services/service_manager/public/cpp/service.h"
-+#include "sandbox/policy/switches.h"
- #include "ui/base/l10n/l10n_util.h"
+@@ -264,6 +264,10 @@
+ #include "chrome/browser/spellchecker/spellcheck_service.h"
+ #endif
- #if BUILDFLAG(IS_CHROMEOS_ASH)
-@@ -850,7 +851,13 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode)
++#if BUILDFLAG(IS_OPENBSD)
++#include "sandbox/policy/openbsd/sandbox_openbsd.h"
++#endif
++
+ using bookmarks::BookmarkModel;
+ using content::BrowserThread;
+ using content::DownloadManagerDelegate;
+@@ -850,7 +854,17 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode)
}
base::FilePath ProfileImpl::last_selected_directory() {
-- return GetPrefs()->GetFilePath(prefs::kSelectFileLastDirectory);
++#if BUILDFLAG(IS_OPENBSD)
+ // If unveil(2) is used, force the file dialog directory to something we
+ // know is available.
-+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
-+ if (!command_line->HasSwitch(sandbox::policy::switches::kDisableUnveil))
++ auto* sandbox = sandbox::policy::SandboxLinux::GetInstance();
++ if (sandbox->unveil_initialized())
+ return GetPrefs()->GetFilePath(prefs::kDownloadDefaultDirectory);
+ else
+ return GetPrefs()->GetFilePath(prefs::kSelectFileLastDirectory);
++#else
+ return GetPrefs()->GetFilePath(prefs::kSelectFileLastDirectory);
++#endif
}
void ProfileImpl::set_last_selected_directory(const base::FilePath& path) {
diff --git a/www/chromium/files/patch-third__party_skia_src_core_SkCpu.cpp b/www/chromium/files/patch-third__party_skia_src_core_SkCpu.cpp
new file mode 100644
index 000000000000..f35def466fcc
--- /dev/null
+++ b/www/chromium/files/patch-third__party_skia_src_core_SkCpu.cpp
@@ -0,0 +1,26 @@
+--- third_party/skia/src/core/SkCpu.cpp.orig 2022-03-21 06:36:22 UTC
++++ third_party/skia/src/core/SkCpu.cpp
+@@ -73,6 +73,23 @@
+ return features;
+ }
+
++#elif defined(SK_CPU_ARM64) && defined(__FreeBSD__)
++ #include <machine/armreg.h>
++ #ifndef ID_AA64ISAR0_CRC32_VAL
++ #define ID_AA64ISAR0_CRC32_VAL ID_AA64ISAR0_CRC32
++ #endif
++
++ static uint32_t read_cpu_features() {
++ uint32_t features = 0;
++ uint64_t id_aa64isar0;
++
++ id_aa64isar0 = READ_SPECIALREG(id_aa64isar0_el1);
++ if (ID_AA64ISAR0_CRC32_VAL(id_aa64isar0) == ID_AA64ISAR0_CRC32_BASE) {
++ features |= SkCpu::CRC32;
++ }
++ return features;
++ }
++
+ #elif defined(SK_CPU_ARM64) && __has_include(<sys/auxv.h>)
+ #include <sys/auxv.h>
+
diff --git a/www/chromium/pkg-plist b/www/chromium/pkg-plist
index c2cf62c92e9e..2aa267c1c49c 100644
--- a/www/chromium/pkg-plist
+++ b/www/chromium/pkg-plist
@@ -132,9 +132,6 @@ bin/chrome
%%DATADIR%%/v8_context_snapshot.bin
%%DEBUG%%%%DATADIR%%/character_data_generator
%%DEBUG%%%%DATADIR%%/libVkLayer_khronos_validation.so
-%%DEBUG%%%%DATADIR%%/libimmediate_crash_test_helper.so
-%%DEBUG%%%%DATADIR%%/libmalloc_wrapper.so
-%%DEBUG%%%%DATADIR%%/libtest_shared_library.so
%%DRIVER%%bin/chromedriver
man/man1/chrome.1.gz
share/applications/chromium-browser.desktop