So you need to:
downgrade icu
downgrade libxml2
and your old binary should run.
For building, try
downgrade nodejs
also.
Git Clone URL: | https://aur.archlinux.org/ungoogled-chromium.git (read-only, click to copy) |
---|---|
Package Base: | ungoogled-chromium |
Description: | A lightweight approach to removing Google web service dependency |
Upstream URL: | https://github.com/ungoogled-software/ungoogled-chromium |
Keywords: | blink browser privacy web |
Licenses: | BSD-3-Clause |
Conflicts: | chromedriver, chromium |
Provides: | chromedriver, chromium |
Submitter: | ilikenwf |
Maintainer: | JstKddng (networkException) |
Last Packager: | networkException |
Votes: | 353 |
Popularity: | 4.28 |
First Submitted: | 2016-12-19 08:08 (UTC) |
Last Updated: | 2024-11-20 21:14 (UTC) |
« First ‹ Previous 1 .. 34 35 36 37 38 39 40 41 42 43 44 .. 66 Next › Last »
So you need to:
downgrade icu
downgrade libxml2
and your old binary should run.
For building, try
downgrade nodejs
also.
I would not recommend installing this aur. My cookies and logins and whatnot are in ungoogled-chromium but it breaks often enough that it's not a good time. I thought it would just be a recompile that takes a couple hours and when that didn't work I thought it would be a straightforward invocation of 'downgrade' but even that didn't help me.
I don't blame the maintainers. It's just that compiling software as complex as chromium on a rolling distro is just going to suck.
I rebuild Chromium, because i cant start it because of that error:
/usr/lib/chromium/chromium: error while loading shared libraries: libicui18n.so.65: cannot open shared object file: No such file or directory
but after rebuild, still that error.
@kris7t here's a patch adapted from a upstream V8 commit, https://chromium-review.googlesource.com/c/v8/v8/+/2136489:
diff -rupN a/v8/src/objects/js-number-format.cc b/v8/src/objects/js-number-format.cc
--- a/v8/src/objects/js-number-format.cc 2020-04-27 21:39:11.000000000 -0400
+++ b/v8/src/objects/js-number-format.cc 2020-05-01 16:50:48.402713000 -0400
@@ -1197,42 +1197,31 @@ MaybeHandle<JSNumberFormat> JSNumberForm
}
namespace {
-Maybe<icu::UnicodeString> IcuFormatNumber(
+Maybe<bool> IcuFormatNumber(
Isolate* isolate,
const icu::number::LocalizedNumberFormatter& number_format,
- Handle<Object> numeric_obj, icu::FieldPositionIterator* fp_iter) {
+ Handle<Object> numeric_obj, icu::number::FormattedNumber* formatted) {
// If it is BigInt, handle it differently.
UErrorCode status = U_ZERO_ERROR;
- icu::number::FormattedNumber formatted;
if (numeric_obj->IsBigInt()) {
Handle<BigInt> big_int = Handle<BigInt>::cast(numeric_obj);
Handle<String> big_int_string;
ASSIGN_RETURN_ON_EXCEPTION_VALUE(isolate, big_int_string,
BigInt::ToString(isolate, big_int),
- Nothing<icu::UnicodeString>());
- formatted = number_format.formatDecimal(
+ Nothing<bool>());
+ *formatted = number_format.formatDecimal(
{big_int_string->ToCString().get(), big_int_string->length()}, status);
} else {
double number = numeric_obj->Number();
- formatted = number_format.formatDouble(number, status);
+ *formatted = number_format.formatDouble(number, status);
}
if (U_FAILURE(status)) {
// This happen because of icu data trimming trim out "unit".
// See https://bugs.chromium.org/p/v8/issues/detail?id=8641
- THROW_NEW_ERROR_RETURN_VALUE(isolate,
- NewTypeError(MessageTemplate::kIcuError),
- Nothing<icu::UnicodeString>());
- }
- if (fp_iter) {
- formatted.getAllFieldPositions(*fp_iter, status);
+ THROW_NEW_ERROR_RETURN_VALUE(
+ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<bool>());
}
- icu::UnicodeString result = formatted.toString(status);
- if (U_FAILURE(status)) {
- THROW_NEW_ERROR_RETURN_VALUE(isolate,
- NewTypeError(MessageTemplate::kIcuError),
- Nothing<icu::UnicodeString>());
- }
- return Just(result);
+ return Just(true);
}
} // namespace
@@ -1243,10 +1232,16 @@ MaybeHandle<String> JSNumberFormat::Form
Handle<Object> numeric_obj) {
DCHECK(numeric_obj->IsNumeric());
- Maybe<icu::UnicodeString> maybe_format =
- IcuFormatNumber(isolate, number_format, numeric_obj, nullptr);
+ icu::number::FormattedNumber formatted;
+ Maybe<bool> maybe_format =
+ IcuFormatNumber(isolate, number_format, numeric_obj, &formatted);
MAYBE_RETURN(maybe_format, Handle<String>());
- return Intl::ToString(isolate, maybe_format.FromJust());
+ UErrorCode status = U_ZERO_ERROR;
+ icu::UnicodeString result = formatted.toString(status);
+ if (U_FAILURE(status)) {
+ THROW_NEW_ERROR(isolate, NewTypeError(MessageTemplate::kIcuError), String);
+ }
+ return Intl::ToString(isolate, result);
}
namespace {
@@ -1359,12 +1354,18 @@ std::vector<NumberFormatSpan> FlattenReg
}
namespace {
-Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted,
- icu::FieldPositionIterator* fp_iter,
+Maybe<int> ConstructParts(Isolate* isolate,
+ icu::number::FormattedNumber* formatted,
Handle<JSArray> result, int start_index,
Handle<Object> numeric_obj, bool style_is_unit) {
+ UErrorCode status = U_ZERO_ERROR;
+ icu::UnicodeString formatted_text = formatted->toString(status);
+ if (U_FAILURE(status)) {
+ THROW_NEW_ERROR_RETURN_VALUE(
+ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<int>());
+ }
DCHECK(numeric_obj->IsNumeric());
- int32_t length = formatted.length();
+ int32_t length = formatted_text.length();
int index = start_index;
if (length == 0) return Just(index);
@@ -1373,13 +1374,14 @@ Maybe<int> ConstructParts(Isolate* isola
// other region covers some part of the formatted string. It's possible
// there's another field with exactly the same begin and end as this backdrop,
// in which case the backdrop's field_id of -1 will give it lower priority.
- regions.push_back(NumberFormatSpan(-1, 0, formatted.length()));
+ regions.push_back(NumberFormatSpan(-1, 0, formatted_text.length()));
{
- icu::FieldPosition fp;
- while (fp_iter->next(fp)) {
- regions.push_back(NumberFormatSpan(fp.getField(), fp.getBeginIndex(),
- fp.getEndIndex()));
+ icu::ConstrainedFieldPosition cfp;
+ cfp.constrainCategory(UFIELD_CATEGORY_NUMBER);
+ while (formatted->nextPosition(cfp, status)) {
+ regions.push_back(
+ NumberFormatSpan(cfp.getField(), cfp.getStart(), cfp.getLimit()));
}
}
@@ -1401,7 +1403,7 @@ Maybe<int> ConstructParts(Isolate* isola
Handle<String> substring;
ASSIGN_RETURN_ON_EXCEPTION_VALUE(
isolate, substring,
- Intl::ToString(isolate, formatted, part.begin_pos, part.end_pos),
+ Intl::ToString(isolate, formatted_text, part.begin_pos, part.end_pos),
Nothing<int>());
Intl::AddElement(isolate, result, index, field_type_string, substring);
++index;
@@ -1421,14 +1423,14 @@ MaybeHandle<JSArray> JSNumberFormat::For
number_format->icu_number_formatter().raw();
CHECK_NOT_NULL(fmt);
- icu::FieldPositionIterator fp_iter;
- Maybe<icu::UnicodeString> maybe_format =
- IcuFormatNumber(isolate, *fmt, numeric_obj, &fp_iter);
+ icu::number::FormattedNumber formatted;
+ Maybe<bool> maybe_format =
+ IcuFormatNumber(isolate, *fmt, numeric_obj, &formatted);
MAYBE_RETURN(maybe_format, Handle<JSArray>());
Handle<JSArray> result = factory->NewJSArray(0);
Maybe<int> maybe_format_to_parts = ConstructParts(
- isolate, maybe_format.FromJust(), &fp_iter, result, 0, numeric_obj,
+ isolate, &formatted, result, 0, numeric_obj,
number_format->style() == JSNumberFormat::Style::UNIT);
MAYBE_RETURN(maybe_format_to_parts, Handle<JSArray>());
For me, build of 81.0.4044.129 fails with
../../v8/src/objects/js-number-format.cc:1227:15: error: no member named 'getAllFieldPositions' in 'icu_67::number::FormattedNumber'
formatted.getAllFieldPositions(*fp_iter, status);
~~~~~~~~~ ^
@seppia I have compiled this new version and VAAPI is back working.
this is the only warning I get and it show once per video ERROR:vaapi_video_decode_accelerator.cc(740)] : Failed to allocate memory for a VaapiPicture
Getting Segmentation fault from clang++ at 4679/38522. Cant build :/
@Rowisi libopenjpeg issue is still not clear what is caused by so we'll keep the fix for now. About hw acceleration I would geuess this could not entirely depend on new chromium (and/or ungoogled) releases but I might be completely wrong.
@seppia Well, I think I was wrong, the latest version has broken VAAPI for Intel and AMD gpu.
@seppia I just compiled ungoogled chromium from the github repo and it works fine.
sed -i '/use_system_libopenjpeg2=true/d' "out/Default/args.gn"
is still needed.
Pinned Comments
JstKddng commented on 2022-05-06 14:37 (UTC) (edited on 2022-06-27 13:48 (UTC) by JstKddng)
A new va-api patch for wayland has been added. Required flags for it to work are the following, thanks to @acidunit
JstKddng commented on 2020-07-19 06:34 (UTC)
You can get prebuilt binaries here:
https://github.com/ungoogled-software/ungoogled-chromium-archlinux#binary-downloads
seppia commented on 2018-12-12 21:34 (UTC)
Please do NOT flag this package as out of date in relation to official chromium releases.
This is NOT Google Chromium and new releases come after additional work of the ungoogled-chromium contributors, so they may not be ready, nor available for days or even weeks after a new version of official chromium is released.
Please refer to https://github.com/Eloston/ungoogled-chromium/tags for ungoogled-chromium releases. Use those and please flag this package as out of date only if a newer release is present there. I will update the PKGBUILD as soon as I can every time a new release comes out.
Thanks