Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package nodejs-electron for openSUSE:Factory checked in at 2023-10-27 22:29:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/nodejs-electron (Old) and /work/SRC/openSUSE:Factory/.nodejs-electron.new.17445 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nodejs-electron" Fri Oct 27 22:29:05 2023 rev:86 rq:1120771 version:27.0.2 Changes: -------- --- /work/SRC/openSUSE:Factory/nodejs-electron/nodejs-electron.changes 2023-10-22 21:02:37.742968382 +0200 +++ /work/SRC/openSUSE:Factory/.nodejs-electron.new.17445/nodejs-electron.changes 2023-10-27 22:29:44.034904925 +0200 @@ -1,0 +2,7 @@ +Thu Oct 26 17:25:56 UTC 2023 - Bruno Pitrus <brunopit...@hotmail.com> + +- v8: Re-enable glibc (as opposed to fdlibm) trigonometry + which was mistakenly disabled (v8_use_libm_trig_functions) + and unbundle it (system-libm.patch). + +------------------------------------------------------------------- New: ---- system-libm.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nodejs-electron.spec ++++++ --- /var/tmp/diff_new_pack.klzNjD/_old 2023-10-27 22:29:47.903046793 +0200 +++ /var/tmp/diff_new_pack.klzNjD/_new 2023-10-27 22:29:47.907046940 +0200 @@ -307,6 +307,7 @@ Patch1076: crashpad-use-system-abseil.patch Patch1077: system-wayland.patch Patch1078: system-simdutf.patch +Patch1079: system-libm.patch # PATCHES to fix interaction with third-party software @@ -1123,8 +1124,7 @@ myconf_gn+=" enable_swiftshader=false" %endif myconf_gn+=" is_component_ffmpeg=true" -myconf_gn+=" use_cups=true" -myconf_gn+=" use_aura=true" +myconf_gn+=" use_cups=false" # link libvulkan.so and libGLX.so instead of dlopening myconf_gn+=" angle_use_custom_libvulkan=false" @@ -1137,6 +1137,10 @@ #Upstream sets it by default to the value of is_clang with the comment âhas trouble supporting MSVCâ. #This is supposed to be enabled in chromium and compiles fine with GCC. myconf_gn+=' angle_enable_abseil=true' +#this is also mistakenly set to is_clang with the (untrue) comment âmacros for determining endian type are currently clang specificâ +#in fact, 1° clang copied those macros from gcc and 2° this should be unbundled. +myconf_gn+=' v8_use_libm_trig_functions=true' + # do not build PDF support @@ -1240,9 +1244,6 @@ myconf_gn+=' disable_histogram_support=true' -#disable some tracing hooks, they increase size and we do not build chrome://tracing anyway (see disable-catapult.patch) -myconf_gn+=" enable_trace_logging=false" -myconf_gn+=" optional_trace_events_enabled=false" #Do not build Chromecast ++++++ system-libm.patch ++++++ The new trigonometric code in v8/third_party is copied verbatim from glibc. Vendoring it is rather perverse on GNU systems, especially since the actual glibc code features dynamic dispatch for FMA-capable systems which the bundled copy does not implement. --- src/v8/BUILD.gn.orig 2023-10-21 08:29:36.669885000 +0000 +++ src/v8/BUILD.gn 2023-10-26 17:17:36.379773800 +0000 @@ -6230,7 +6230,7 @@ v8_component("v8_libbase") { } if (v8_use_libm_trig_functions) { - deps += [ ":libm" ] + libs += [ "m" ] } # TODO(infra): Add support for qnx, freebsd, openbsd, netbsd, and solaris. --- src/v8/src/base/ieee754.cc.orig 2023-10-21 08:19:44.750081100 +0000 +++ src/v8/src/base/ieee754.cc 2023-10-26 17:19:09.517780600 +0000 @@ -3023,11 +3023,6 @@ double tanh(double x) { #undef SET_HIGH_WORD #undef SET_LOW_WORD -#if defined(V8_USE_LIBM_TRIG_FUNCTIONS) && defined(BUILDING_V8_BASE_SHARED) -double libm_sin(double x) { return glibc_sin(x); } -double libm_cos(double x) { return glibc_cos(x); } -#endif - } // namespace ieee754 } // namespace base } // namespace v8 --- src/v8/src/base/ieee754.h.orig 2023-10-21 08:19:44.750081100 +0000 +++ src/v8/src/base/ieee754.h 2023-10-26 17:21:25.732860000 +0000 @@ -8,7 +8,7 @@ #include "src/base/base-export.h" #if defined(V8_USE_LIBM_TRIG_FUNCTIONS) -#include "third_party/glibc/src/sysdeps/ieee754/dbl-64/trig.h" // nogncheck +#include <cmath> #endif namespace v8 { @@ -44,13 +44,8 @@ V8_BASE_EXPORT double atan2(double y, do V8_BASE_EXPORT double fdlibm_sin(double x); V8_BASE_EXPORT double fdlibm_cos(double x); -#if !defined(BUILDING_V8_BASE_SHARED) && !defined(USING_V8_BASE_SHARED) -inline double libm_sin(double x) { return glibc_sin(x); } -inline double libm_cos(double x) { return glibc_cos(x); } -#else -V8_BASE_EXPORT double libm_sin(double x); -V8_BASE_EXPORT double libm_cos(double x); -#endif +constexpr inline double (&libm_sin)(double) = ::std::sin; +constexpr inline double (&libm_cos)(double) = ::std::cos; #else V8_BASE_EXPORT double cos(double x); V8_BASE_EXPORT double sin(double x);