summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2021-03-19 00:13:42 +0100
committerMarius Bakke <marius@gnu.org>2021-03-19 00:14:11 +0100
commit1155a88308df7649fe74bd5bb8279a4d103ce386 (patch)
tree375a7e9bd49b1c60071618a7951b936e718e75b9
parent5dd33960bc773774dd3c2fd508e1b9ed3f8a73e2 (diff)
downloadguix-1155a88308df7649fe74bd5bb8279a4d103ce386.tar.gz
gnu: ungoogled-chromium: Update to 89.0.4389.90-1.
* gnu/packages/patches/ungoogled-chromium-system-opus.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/chromium.scm (%preserved-third-party-files): Adjust for 89.
(%chromium-version): Remove variable.
(%ungoogled-revision): Set to 89.0.4389.90-1.
(%ungoogled-origin): Conditionally set file name based on commit/tag.
(%guix-patches): Add the new file.
(libvpx/chromium): Update to 1.9.0-104-gb5d77a48d.
(ungoogled-chromium)[version]: Use %UNGOOGLED-REVISION.
[source]: Update hash.
[arguments]: Adjust #:configure-flags for build system changes.  Don't build
with external WebRTC SSL library.  Remove obsolete substitution.
[inputs]: Remove OPENSSL.  Change from PIPEWIRE to PIPEWIRE-0.3.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/chromium.scm64
-rw-r--r--gnu/packages/patches/ungoogled-chromium-system-opus.patch27
3 files changed, 55 insertions, 37 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 0422beac82..afd9c17f9c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1725,6 +1725,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/udiskie-no-appindicator.patch		\
   %D%/packages/patches/ungoogled-chromium-extension-search-path.patch	\
   %D%/packages/patches/ungoogled-chromium-system-nspr.patch	\
+  %D%/packages/patches/ungoogled-chromium-system-opus.patch	\
   %D%/packages/patches/unison-fix-ocaml-4.08.patch		\
   %D%/packages/patches/unknown-horizons-python-3.8-distro.patch	\
   %D%/packages/patches/unzip-CVE-2014-8139.patch		\
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index b81a773c3d..de7c887061 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -65,7 +65,6 @@
   #:use-module (gnu packages regex)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages speech)
-  #:use-module (gnu packages tls)
   #:use-module (gnu packages valgrind)
   #:use-module (gnu packages vulkan)
   #:use-module (gnu packages video)
@@ -96,7 +95,6 @@
     "net/third_party/quiche" ;BSD-3
     "net/third_party/uri_template" ;ASL2.0
     "third_party/abseil-cpp" ;ASL2.0
-    "third_party/adobe/flash/flapper_version.h" ;no license, trivial
     "third_party/angle" ;BSD-3
     "third_party/angle/src/common/third_party/base" ;BSD-3
     "third_party/angle/src/common/third_party/smhasher" ;Public domain
@@ -105,10 +103,6 @@
     "third_party/angle/src/third_party/libXNVCtrl" ;Expat
     "third_party/angle/src/third_party/trace_event" ;BSD-3
     "third_party/angle/src/third_party/volk" ;Expat
-    "third_party/angle/third_party/vulkan-headers" ;ASL2.0
-    "third_party/angle/third_party/vulkan-loader" ;ASL2.0
-    "third_party/angle/third_party/vulkan-tools" ;ASL2.0
-    "third_party/angle/third_party/vulkan-validation-layers" ;ASL2.0
     "third_party/apple_apsl" ;APSL2.0
     "third_party/axe-core" ;MPL2.0
     "third_party/blink" ;BSD-3, LGPL2+
@@ -161,7 +155,6 @@
     "third_party/emoji-segmenter" ;ASL2.0
     "third_party/flatbuffers" ;ASL2.0
     "third_party/fusejs" ;ASL2.0
-    "third_party/glslang" ;BSD-3, Expat, ASL2.0
     "third_party/google_input_tools" ;ASL2.0
     "third_party/google_input_tools/third_party/closure_library" ;ASL2.0
     "third_party/google_input_tools/third_party/closure_library/third_party/closure" ;Expat
@@ -189,6 +182,8 @@
     "third_party/libsrtp" ;BSD-3
     "third_party/libsync" ;ASL2.0
     "third_party/libudev" ;LGPL2.1+
+    "third_party/liburlpattern" ;Expat
+    "third_party/libva_protected_content" ;Expat
 
     ;; FIXME: build/linux/unbundle/libvpx.gn does not work for all users.
     "third_party/libvpx" ;BSD-3
@@ -203,6 +198,7 @@
     "third_party/markupsafe" ;BSD-3
     "third_party/mesa_headers" ;Expat, SGI
     "third_party/metrics_proto" ;BSD-3
+    "third_party/minigbm" ;BSD-3
     "third_party/modp_b64" ;BSD-3
     "third_party/nasm" ;BSD-2
     "third_party/nearby" ;ASL2.0
@@ -220,7 +216,8 @@
     "third_party/pdfium/third_party/skia_shared" ;BSD-3
     "third_party/pdfium/third_party/freetype/include/pstables.h" ;FreeType
     "third_party/perfetto" ;ASL2.0
-    "third_party/pffft" ;the "FFTPACK" license, similar to BSD-3
+    "third_party/perfetto/protos/third_party/chromium" ;BSD-3
+    "third_party/pffft" ;the "FFTPACK" license
     "third_party/ply" ;BSD-3
     "third_party/polymer" ;BSD-3
     "third_party/private_membership" ;ASL2.0
@@ -236,7 +233,6 @@
     "third_party/s2cellid" ;ASL2.0
     "third_party/schema_org" ;CC-BY-SA3.0
     "third_party/securemessage" ;ASL2.0
-    "third_party/shaka-player" ;ASL2.0
     "third_party/shell-encryption" ;ASL2.0
     "third_party/skia" ;BSD-3
     "third_party/skia/include/third_party/skcms" ;BSD-3
@@ -244,8 +240,6 @@
     "third_party/skia/third_party/vulkanmemoryallocator" ;BSD-3, Expat
     "third_party/smhasher" ;Expat, public domain
     "third_party/speech-dispatcher" ;GPL2+
-    "third_party/spirv-headers" ;ASL2.0
-    "third_party/SPIRV-Tools" ;ASL2.0
     "third_party/sqlite" ;Public domain
     "third_party/swiftshader" ;ASL2.0
     "third_party/swiftshader/third_party/astc-encoder" ;ASL2.0
@@ -258,6 +252,7 @@
     "third_party/ukey2" ;ASL2.0
     "third_party/usb_ids" ;BSD-3
     "third_party/usrsctp" ;BSD-2
+    "third_party/vulkan-deps" ;ASL2.0, BSD-3, Expat
     "third_party/vulkan_memory_allocator" ;Expat
     "third_party/wayland/protocol" ;Expat
     "third_party/wayland/stubs" ;BSD-3, Expat
@@ -310,8 +305,7 @@
                   (string-append "ungoogled-chromium-" category "-" name))))
     (sha256 (base32 hash))))
 
-(define %chromium-version "88.0.4324.182")
-(define %ungoogled-revision "b98f2d51406c84a75df96f0da9dee3c0d790963d")
+(define %ungoogled-revision "89.0.4389.90-1")
 (define %debian-revision "debian/84.0.4147.105-1")
 
 (define %debian-patches
@@ -326,10 +320,12 @@
     (uri (git-reference (url "https://github.com/Eloston/ungoogled-chromium")
                         (commit %ungoogled-revision)))
     (file-name (git-file-name "ungoogled-chromium"
-                              (string-take %ungoogled-revision 7)))
+                              (if (= 40 (string-length %ungoogled-revision))
+                                  (string-take %ungoogled-revision 7)
+                                  %ungoogled-revision)))
     (sha256
      (base32
-      "1c9y1dn9s06pskkjw2r8lsbplak8m2rwh4drixvjpif7b4cgdhay"))))
+      "0pr756d1b4wc67d61b21yszi7mx1hsjy14i44j0kvcwm05pgnf79"))))
 
 (define %guix-patches
   (list (local-file
@@ -337,6 +333,9 @@
           (search-patch "ungoogled-chromium-system-nspr.patch")))
         (local-file
          (assume-valid-file-name
+          (search-patch "ungoogled-chromium-system-opus.patch")))
+        (local-file
+         (assume-valid-file-name
           (search-patch "ungoogled-chromium-extension-search-path.patch")))))
 
 ;; This is a source 'snippet' that does the following:
@@ -418,7 +417,7 @@
 (define libvpx/chromium
   (package
     (inherit libvpx)
-    (version "1.9.0-88-g12059d956")
+    (version "1.9.0-104-gb5d77a48d")
     (source (origin
               (inherit (package-source libvpx))
               (uri (git-reference
@@ -427,7 +426,7 @@
               (file-name (git-file-name "libvpx" version))
               (sha256
                (base32
-                "14knnvfaskfz97vs3lfqrdpcbcx22s6qp16213wdnvnsf4c1lx1b"))))))
+                "07nkpx8myw5nd4bkaj6l4wr5ipk2c6lg9cwirz0i5qbr659051rk"))))))
 
 ;; 'make-ld-wrapper' can only work with an 'ld' executable, so we need
 ;; this trick to make it wrap 'lld'.
@@ -457,17 +456,17 @@
 (define-public ungoogled-chromium
   (package
     (name "ungoogled-chromium")
-    (version (string-append %chromium-version "-0."
-                            (string-take %ungoogled-revision 7)))
+    (version %ungoogled-revision)
     (synopsis "Graphical web browser")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://commondatastorage.googleapis.com"
                                   "/chromium-browser-official/chromium-"
-                                  %chromium-version ".tar.xz"))
+                                  (string-drop-right %ungoogled-revision 2)
+                                  ".tar.xz"))
               (sha256
                (base32
-                "10av060ix6lgsvv99lyvyy03r0m3zwdg4hddbi6dycrdxk1iyh9h"))
+                "16i7bgk2jbcqs2p28nk5mlf0k6wah594pcsfm8b154nxbyf0iihi"))
               (modules '((guix build utils)))
               (snippet (force ungoogled-chromium-snippet))))
     (build-system gnu-build-system)
@@ -488,9 +487,6 @@
              ;; Use the "official" release optimizations, as opposed to
              ;; a developer build.
              "is_official_build=true"
-             (string-append "max_jobs_per_link="
-                            ;; Respect the default cap of 8 jobs.
-                            (number->string (min 8 (parallel-job-count))))
              "clang_use_chrome_plugins=false"
              "chrome_pgo_phase=0"
              "use_sysroot=false"
@@ -533,7 +529,6 @@
 
              "use_system_zlib=true"
              "use_gnome_keyring=false"  ;deprecated by libsecret
-             "use_openh264=true"
              "use_pulseaudio=true"
              "link_pulseaudio=true"
              "icu_use_data_file=false"
@@ -548,6 +543,10 @@
                    '("use_vaapi=true")
                    '())
 
+             "media_use_ffmpeg=true"
+             "media_use_libvpx=true"
+             "media_use_openh264=true"
+
              ;; Do not artifically restrict formats supported by system ffmpeg.
              "proprietary_codecs=true"
              "ffmpeg_branding=\"Chrome\""
@@ -556,17 +555,15 @@
              "rtc_use_h264=true"
              "rtc_use_pipewire=true"
              "rtc_link_pipewire=true"
+             "rtc_pipewire_version=\"0.3\""
              ;; Don't use bundled sources.
              "rtc_build_json=true"      ;FIXME: libc++ std::string ABI difference
              "rtc_build_libevent=false"
              "rtc_build_libvpx=false"
              "rtc_build_opus=false"
-             "rtc_build_ssl=false"
              "rtc_build_libsrtp=true"   ;FIXME: fails to find headers
              "rtc_build_usrsctp=true"   ;TODO: package this
-             (string-append "rtc_ssl_root=\""
-                            (assoc-ref %build-inputs "openssl")
-                            "/include/openssl\""))
+             "rtc_build_ssl=true")      ;XXX: the bundled BoringSSL is required?
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-stuff
@@ -604,12 +601,6 @@
                (("third_party/icu/source/(common|i18n)/")
                 ""))
 
-             ;; Fix faulty ICU call.  Likely fixed in M89.
-             (substitute*
-                 "third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc"
-               (("ideographicSpaceCharacter")
-                "kIdeographicSpaceCharacter"))
-
              ;; XXX: Should be unnecessary when use_system_lcms2=true.
              (substitute* "third_party/pdfium/core/fxcodec/icc/iccmodule.h"
                (("include \"third_party/lcms/include/lcms2\\.h\"")
@@ -865,11 +856,10 @@
        ("nss" ,nss)
        ("openh264" ,openh264)
        ("openjpeg" ,openjpeg)                          ;PDFium only
-       ("openssl" ,openssl)
        ("opus" ,opus+custom)
        ("pango" ,pango)
        ("pciutils" ,pciutils)
-       ("pipewire" ,pipewire)
+       ("pipewire" ,pipewire-0.3)
        ("pulseaudio" ,pulseaudio)
        ("snappy" ,snappy)
        ("speech-dispatcher" ,speech-dispatcher)
diff --git a/gnu/packages/patches/ungoogled-chromium-system-opus.patch b/gnu/packages/patches/ungoogled-chromium-system-opus.patch
new file mode 100644
index 0000000000..6f887a31a4
--- /dev/null
+++ b/gnu/packages/patches/ungoogled-chromium-system-opus.patch
@@ -0,0 +1,27 @@
+Add missing build dependency on Opus so that system headers are found.
+
+Taken from upstream:
+https://chromium-review.googlesource.com/c/chromium/src/+/2644623
+
+diff --git a/third_party/blink/renderer/modules/webcodecs/BUILD.gn b/third_party/blink/renderer/modules/webcodecs/BUILD.gn
+--- a/third_party/blink/renderer/modules/webcodecs/BUILD.gn
++++ b/third_party/blink/renderer/modules/webcodecs/BUILD.gn
+@@ -65,6 +65,7 @@ blink_modules_sources("webcodecs") {
+     "//media/mojo/clients",
+     "//media/mojo/mojom",
+     "//third_party/libyuv:libyuv",
++    "//third_party/opus",
+   ]
+   if (media_use_openh264) {
+     deps += [ "//third_party/openh264:encoder" ]
+diff --git a/third_party/blink/renderer/modules/webcodecs/DEPS b/third_party/blink/renderer/modules/webcodecs/DEPS
+--- a/third_party/blink/renderer/modules/webcodecs/DEPS
++++ b/third_party/blink/renderer/modules/webcodecs/DEPS
+@@ -19,6 +19,7 @@ include_rules = [
+ 
+     "+third_party/libyuv",
+     "+third_party/openh264",
++    "+third_party/opus",
+ 
+     "+ui/gfx/color_space.h",
+     "+ui/gfx/geometry/rect.h",