Quellcode durchsuchen

uppkg -> 25.9.6-1

Noah Vogt vor 1 Jahr
Ursprung
Commit
81d52f27f3
4 geänderte Dateien mit 108 neuen und 53 gelöschten Zeilen
  1. 12 8
      .SRCINFO
  2. 50 45
      PKGBUILD
  3. 20 0
      icu-74.patch
  4. 26 0
      libxml2-2.12.patch

+ 12 - 8
.SRCINFO

@@ -1,7 +1,7 @@
-pkgbase = electron25-xdg
+pkgbase = electron25
 	pkgdesc = Build cross platform desktop apps with web technologies - without creating a useless ~/.pki directory
-	pkgver = 25.6.0
-	pkgrel = 3
+	pkgver = 25.9.6
+	pkgrel = 1
 	url = https://electronjs.org/
 	arch = x86_64
 	license = MIT
@@ -12,7 +12,6 @@ pkgbase = electron25-xdg
 	makedepends = gperf
 	makedepends = harfbuzz-icu
 	makedepends = http-parser
-	makedepends = qt5-base
 	makedepends = java-runtime-headless
 	makedepends = libnotify
 	makedepends = lld
@@ -23,9 +22,10 @@ pkgbase = electron25-xdg
 	makedepends = pipewire
 	makedepends = python
 	makedepends = python-httplib2
-	makedepends = python-requests
 	makedepends = python-pyparsing
+	makedepends = python-requests
 	makedepends = python-six
+	makedepends = qt5-base
 	makedepends = wget
 	makedepends = yarn
 	depends = c-ares
@@ -60,15 +60,17 @@ pkgbase = electron25-xdg
 	conflicts = electron25
 	replaces = electron25
 	options = !lto
-	source = git+https://github.com/electron/electron.git#tag=v25.6.0
+	source = git+https://github.com/electron/electron.git#tag=v25.9.6
 	source = git+https://chromium.googlesource.com/chromium/tools/depot_tools.git#branch=main
-	source = chromium-mirror::git+https://github.com/chromium/chromium.git#tag=114.0.5735.134
+	source = chromium-mirror::git+https://github.com/chromium/chromium.git#tag=114.0.5735.289
 	source = electron-launcher.sh
 	source = electron.desktop
 	source = default_app-icon.patch
 	source = jinja-python-3.10.patch
 	source = use-system-libraries-in-node.patch
 	source = std-vector-non-const.patch
+	source = libxml2-2.12.patch
+	source = icu-74.patch
 	source = add-some-typename-s-that-are-required-in-C-17.patch
 	source = REVERT-disable-autoupgrading-debug-info.patch
 	source = random-fixes-for-gcc13.patch
@@ -82,9 +84,11 @@ pkgbase = electron25-xdg
 	sha256sums = 55dbe71dbc1f3ab60bf1fa79f7aea7ef1fe76436b1d7df48728a1f8227d2134e
 	sha256sums = ff588a8a4fd2f79eb8a4f11cf1aa151298ffb895be566c57cc355d47f161f53f
 	sha256sums = 893bc04c7fceba2f0a7195ed48551d55f066bbc530ec934c89c55768e6f3949c
+	sha256sums = bfae9e773edfd0ddbc617777fdd4c0609cba2b048be7afe40f97768e4eb6117e
+	sha256sums = 547e092f6a20ebd15e486b31111145bc94b8709ec230da89c591963001378845
 	sha256sums = 621ed210d75d0e846192c1571bb30db988721224a41572c27769c0288d361c11
 	sha256sums = 1b782b0f6d4f645e4e0daa8a4852d63f0c972aa0473319216ff04613a0592a69
 	sha256sums = ba4dd0a25a4fc3267ed19ccb39f28b28176ca3f97f53a4e9f5e9215280040ea0
 	sha256sums = a7d9c117e713e8fc68c777fcc046da5dcae7706055d6d1af7555687086ff4266
 
-pkgname = electron25-xdg
+pkgname = electron25

+ 50 - 45
PKGBUILD

@@ -7,48 +7,52 @@
 # https://releases.electronjs.org/
 # https://github.com/stha09/chromium-patches/releases
 
-_use_suffix=1
-pkgver=25.6.0
-_chromiumver=114.0.5735.134
-# shellcheck disable=SC2034
-pkgrel=3
+pkgver=25.9.6
+_chromiumver=114.0.5735.289
+pkgrel=1
 
 _major_ver=${pkgver%%.*}
-if [[ ${_use_suffix} != 0 ]]; then
-  pkgname="electron${_major_ver}-xdg"
-else
-  pkgbase="electron${_major_ver}-xdg"
-  pkgname=electron-xdg
-fi
-# shellcheck disable=SC2034
+pkgname="electron${_major_ver}"
 pkgdesc='Build cross platform desktop apps with web technologies - without creating a useless ~/.pki directory'
-# shellcheck disable=SC2034
 arch=('x86_64')
-# shellcheck disable=SC2034
 url='https://electronjs.org/'
-# shellcheck disable=SC2034
-license=('MIT' 'custom')
-# shellcheck disable=SC2034
-depends=('c-ares' 'gtk3' 'libevent' 'nss' 'libffi')
-# shellcheck disable=SC2034
-makedepends=('clang' 'git' 'gn' 'gperf' 'harfbuzz-icu' 'http-parser'
-             'qt5-base' 'java-runtime-headless' 'libnotify' 'lld' 'llvm'
-             'ninja' 'npm' 'pciutils' 'pipewire' 'python' 'python-httplib2'
-             'python-requests' 'python-pyparsing' 'python-six' 'wget' 'yarn')
-# shellcheck disable=SC2034
+license=(MIT custom)
+depends=(c-ares
+         gtk3
+         libevent
+         nss
+         libffi)
+makedepends=(clang
+             git
+             gn
+             gperf
+             harfbuzz-icu
+             http-parser
+             java-runtime-headless
+             libnotify
+             lld
+             llvm
+             ninja
+             npm
+             pciutils
+             pipewire
+             python
+             python-httplib2
+             python-pyparsing
+             python-requests
+             python-six
+             qt5-base
+             wget
+             yarn)
 optdepends=('kde-cli-tools: file deletion support (kioclient5)'
             'pipewire: WebRTC desktop sharing under Wayland'
             'qt5-base: enable Qt5 with --enable-features=AllowQt'
             'trash-cli: file deletion support (trash-put)'
             'xdg-utils: open URLs with desktop’s default (xdg-email, xdg-open)')
-# shellcheck disable=SC2034
 conflicts=("electron${_major_ver}")
-# shellcheck disable=SC2034
 provides=("electron${_major_ver}")
 replaces=("electron${_major_ver}")
-# shellcheck disable=SC2034
 options=('!lto') # Electron adds its own flags for ThinLTO
-# shellcheck disable=SC2034
 source=("git+https://github.com/electron/electron.git#tag=v$pkgver"
         'git+https://chromium.googlesource.com/chromium/tools/depot_tools.git#branch=main'
         "chromium-mirror::git+https://github.com/chromium/chromium.git#tag=$_chromiumver"
@@ -58,12 +62,13 @@ source=("git+https://github.com/electron/electron.git#tag=v$pkgver"
         'jinja-python-3.10.patch'
         'use-system-libraries-in-node.patch'
         'std-vector-non-const.patch'
+        'libxml2-2.12.patch'
+        'icu-74.patch'
         'add-some-typename-s-that-are-required-in-C-17.patch'
         'REVERT-disable-autoupgrading-debug-info.patch'
         'random-fixes-for-gcc13.patch'
 
        )
-# shellcheck disable=SC2034
 sha256sums=('SKIP'
             'SKIP'
             'SKIP'
@@ -73,6 +78,8 @@ sha256sums=('SKIP'
             '55dbe71dbc1f3ab60bf1fa79f7aea7ef1fe76436b1d7df48728a1f8227d2134e'
             'ff588a8a4fd2f79eb8a4f11cf1aa151298ffb895be566c57cc355d47f161f53f'
             '893bc04c7fceba2f0a7195ed48551d55f066bbc530ec934c89c55768e6f3949c'
+            'bfae9e773edfd0ddbc617777fdd4c0609cba2b048be7afe40f97768e4eb6117e'
+            '547e092f6a20ebd15e486b31111145bc94b8709ec230da89c591963001378845'
             '621ed210d75d0e846192c1571bb30db988721224a41572c27769c0288d361c11'
             '1b782b0f6d4f645e4e0daa8a4852d63f0c972aa0473319216ff04613a0592a69'
             'ba4dd0a25a4fc3267ed19ccb39f28b28176ca3f97f53a4e9f5e9215280040ea0')
@@ -121,11 +128,7 @@ sha256sums=(${sha256sums[@]}
 prepare() {
   sed -i "s|@ELECTRON@|${pkgname%-*}|" electron-launcher.sh
   sed -i "s|@ELECTRON@|${pkgname%-*}|" electron.desktop
-  if [[ ${_use_suffix} != 0 ]]; then
-    sed -i "s|@ELECTRON_NAME@|Electron ${_major_ver}|" electron.desktop
-  else
-    sed -i "s|@ELECTRON_NAME@|Electron|" electron.desktop
-  fi
+  sed -i "s|@ELECTRON_NAME@|Electron ${_major_ver}|" electron.desktop
 
   sed --in-place "/'chromium_version':/{n;s/'[0-9.]\+',/'${_chromiumver}',/}" "${srcdir}/electron/DEPS"
 
@@ -155,10 +158,9 @@ EOF
       --with_branch_heads \
       --with_tags
 
-  (
-    cd src/electron || exit
-    patch -Np1 -i ../../std-vector-non-const.patch
-  )
+  pushd src/electron
+  patch -Np1 -i ../../std-vector-non-const.patch
+  popd
 
   echo "Running hooks..."
   # python "${srcdir}/depot_tools/gclient.py" runhooks
@@ -181,9 +183,9 @@ EOF
   ln -sf /usr/bin/node src/third_party/node/linux/node-linux-x64/bin
   src/electron/script/apply_all_patches.py \
       src/electron/patches/config.json
-  cd src/electron || exit
+  pushd src/electron
   yarn install --frozen-lockfile
-  cd ..
+  pushd ..
 
   echo "Applying local patches..."
 
@@ -204,6 +206,13 @@ EOF
   patch -Np1 -i "${srcdir}/use-system-libraries-in-node.patch"
   patch -Np1 -i "${srcdir}/default_app-icon.patch"  # Icon from .desktop file
 
+  # Fix build with libxml2 2.12
+  patch -Np1 -i ../libxml2-2.12.patch
+
+  # Fix build with ICU 74
+  patch -Np1 -i ../icu-74.patch
+
+
   # Allow building against system libraries in official builds
   echo "Patching Chromium for using system libraries..."
   sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
@@ -262,7 +271,7 @@ build() {
   CFLAGS+='   -Wno-unknown-warning-option'
   CXXFLAGS+=' -Wno-unknown-warning-option'
 
-  cd src || exit
+  pushd src
   export CHROMIUM_BUILDTOOLS_PATH="${PWD}/buildtools"
   GN_EXTRA_ARGS='
     custom_toolchain = "//build/toolchain/linux/unbundle:default"
@@ -308,10 +317,6 @@ package() {
 
   install -Dm755 "${srcdir}/electron-launcher.sh" \
     "${pkgdir}/usr/bin/${pkgname%-*}"
-  if [[ "${_use_suffix}" == 0 ]]; then
-    ln -s "/usr/bin/${pkgname%-*}" "${pkgdir}/usr/bin/${pkgname%-*}${_major_ver}"
-    ln -s "/usr/lib/${pkgname%-*}" "${pkgdir}/usr/lib/${pkgname%-*}${_major_ver}"
-  fi
 
   # Install .desktop and icon file (see default_app-icon.patch)
   install -Dm644 electron.desktop \

+ 20 - 0
icu-74.patch

@@ -0,0 +1,20 @@
+See ICU change https://github.com/unicode-org/icu/commit/2e45e6ec0e84a1c01812015a254ea31b286316fb
+
+Similar has happened in the past. See:
+https://chromium.googlesource.com/chromium/src/+/e60b571faa3f14dd9119a6792dccf12f8bf80192
+
+diff --git a/third_party/blink/renderer/platform/text/text_break_iterator.cc b/third_party/blink/renderer/platform/text/text_break_iterator.cc
+index ddfbd51..247da06 100644
+--- a/third_party/blink/renderer/platform/text/text_break_iterator.cc
++++ b/third_party/blink/renderer/platform/text/text_break_iterator.cc
+@@ -161,7 +161,9 @@ static const unsigned char kAsciiLineBreakTable[][(kAsciiLineBreakTableLastChar
+ };
+ // clang-format on
+ 
+-#if U_ICU_VERSION_MAJOR_NUM >= 58
++#if U_ICU_VERSION_MAJOR_NUM >= 74
++#define BA_LB_COUNT (U_LB_COUNT - 8)
++#elif U_ICU_VERSION_MAJOR_NUM >= 58
+ #define BA_LB_COUNT (U_LB_COUNT - 3)
+ #else
+ #define BA_LB_COUNT U_LB_COUNT

+ 26 - 0
libxml2-2.12.patch

@@ -0,0 +1,26 @@
+diff --git a/third_party/blink/renderer/core/xml/xslt_processor.h b/third_party/blink/renderer/core/xml/xslt_processor.h
+index d53835e9675793..2eaea31ed29b90 100644
+--- a/third_party/blink/renderer/core/xml/xslt_processor.h
++++ b/third_party/blink/renderer/core/xml/xslt_processor.h
+@@ -77,7 +77,7 @@ class XSLTProcessor final : public ScriptWrappable {
+ 
+   void reset();
+ 
+-  static void ParseErrorFunc(void* user_data, xmlError*);
++  static void ParseErrorFunc(void* user_data, const xmlError*);
+   static void GenericErrorFunc(void* user_data, const char* msg, ...);
+ 
+   // Only for libXSLT callbacks
+diff --git a/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc b/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc
+index 133e0b3355d2f0..f424077089da87 100644
+--- a/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc
++++ b/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc
+@@ -66,7 +66,7 @@ void XSLTProcessor::GenericErrorFunc(void*, const char*, ...) {
+   // It would be nice to do something with this error message.
+ }
+ 
+-void XSLTProcessor::ParseErrorFunc(void* user_data, xmlError* error) {
++void XSLTProcessor::ParseErrorFunc(void* user_data, const xmlError* error) {
+   FrameConsole* console = static_cast<FrameConsole*>(user_data);
+   if (!console)
+     return;