guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#28004] Chromium


From: Marius Bakke
Subject: [bug#28004] Chromium
Date: Tue, 24 Oct 2017 23:11:10 +0200
User-agent: Notmuch/0.25.1 (https://notmuchmail.org) Emacs/25.3.1 (x86_64-pc-linux-gnu)

Marius Bakke <address@hidden> writes:

> Anyway I'm attaching the current iteration of this patch.  Chromium 62
> is out today, I'll try to update this weekend and will push it after
> that in lieu of other feedback.

Here is the interdiff for the 62 upgrade.  I mixed in some unrelated
changes after reading through Debians 61 refresh[0] and Archs 62
update[1], but overall it was straightforward (apart from the slow
hack-test-fix cycle).

diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index 5693b70ff..f5ee95c2f 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -32,6 +32,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
@@ -84,7 +85,7 @@ HTTP(S) URI that returns a file with the given HASH."
               ,@(package-arguments opus)))))
 
 ;; Chromium since 58 depends on an unreleased libvpx. So, we
-;; package the latest master branch as of 2017-10-12.
+;; package the latest master branch as of 2017-10-22.
 (define libvpx+experimental
   (package
     (inherit libvpx)
@@ -92,11 +93,11 @@ HTTP(S) URI that returns a file with the given HASH."
               (method git-fetch)
               (uri (git-reference
                     (url "https://chromium.googlesource.com/webm/libvpx";)
-                    (commit "175b36cb6d2811c721d63277ba953ea817f32361")))
+                    (commit "b58259ab55674cb028898a0ac9e8fdd3cf1d4b39")))
               (file-name "libvpx-for-chromium-checkout")
               (sha256
                (base32
-                "1j8ni29mcj74lfsc0hsha22zzp24ig53iki0id5bdfhzl8q1rpyk"))))
+                "0grx2p7add0qyycqvqiv3djk0i37xrg75phszg5mwnwd3ijv3qzj"))))
     ;; TODO: Make libvpx configure flags overrideable.
     (arguments
      `(#:phases
@@ -122,27 +123,15 @@ HTTP(S) URI that returns a file with the given HASH."
 (define %chromium-gn-bootstrap.patch
   (remote-patch "chromium-gn-bootstrap.patch"
                 "https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/\
-chromium/files/chromium-gn-bootstrap-r14.patch?id=\
-900e6203d4015711887137bcd03c913361dbf41f"
-                "1050abvq24s1a5vd97d5ljb8bmv0wcdgkj3vk0scygkr1954qy4q"))
-
-(define %chromium-gcc-compat.patch
-  (remote-patch "chromium-gcc-compat.patch"
-                "https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/\
-chromium/files/chromium-gcc-r1.patch?id=506399c6ac2ace6501429925a608db9d7e502bde"
-                "0n5bc1ckq83vlfzh5k3frh7cp7hyhxii89iq2v4jg46lblqgxkqi"))
+chromium/files/chromium-gn-bootstrap-r17.patch?id=\
+5c9cf110bd61fa287a5c536760b5d8ed13f65d52"
+                "12wsq3bs46mvr7cinxvqjmbzymigm8yzf478r08y9l6sd3qij4yq"))
 
 (define %chromium-gcc-5-compat.patch
   (remote-patch "chromium-gcc-5-compat.patch"
                 "https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/\
-chromium/files/chromium-gcc5-r1.patch?id=506399c6ac2ace6501429925a608db9d7e502bde"
-                "0jz9sg24yzimcass3c3myynp3sf2c1rasrcwh7jn1gbbj4yp7j8v"))
-
-(define %chromium-atk-compat.patch
-  (remote-patch "chromium-atk-compat.patch"
-                "https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/\
-chromium/files/chromium-atk-r1.patch?id=506399c6ac2ace6501429925a608db9d7e502bde"
-                "13g9g1k9f3fqpgjhnlqvf5np6m58czr57zq1fqdf5y5nfyxrl3pw"))
+chromium/files/chromium-gcc5-r3.patch?id=5c9cf110bd61fa287a5c536760b5d8ed13f65d52"
+                "0qwl396w2bnc4ww71q3621chh9rfnw1m3w6nbd55sbhq8yz6jnx0"))
 
 (define %chromium-system-nspr.patch
   (remote-patch "chromium-system-nspr.patch"
@@ -159,7 +148,7 @@ 
plain/debian/patches/system/event.patch?id=64458c4216edd82503dc9366e2f4d80ae7c76
 (define-public chromium
   (package
     (name "chromium")
-    (version "61.0.3163.100")
+    (version "62.0.3202.62")
     (synopsis "Graphical web browser")
     (source (origin
               (method url-fetch)
@@ -168,13 +157,12 @@ 
plain/debian/patches/system/event.patch?id=64458c4216edd82503dc9366e2f4d80ae7c76
                                   version ".tar.xz"))
               (sha256
                (base32
-                "06r89jim9cq87668ya8wwk69hh17rl04cj94nb9c28v6mj69cda1"))
+                "0qn3pjq5n3ri3qh25wg5gd2as5a8wlkncqvi975xsab771833pz8"))
               (patches (append (list %chromium-gn-bootstrap.patch
-                                     %chromium-atk-compat.patch
-                                     %chromium-gcc-compat.patch
                                      %chromium-gcc-5-compat.patch
                                      %chromium-system-nspr.patch
-                                     %chromium-system-libevent.patch)
+                                     %chromium-system-libevent.patch
+                                     )
                                (search-patches
                                 "chromium-system-icu.patch"
                                 "chromium-disable-api-keys-warning.patch"
@@ -271,6 +259,7 @@ 
plain/debian/patches/system/event.patch?id=64458c4216edd82503dc9366e2f4d80ae7c76
                      "third_party/catapult/tracing/third_party/oboe"
                      "third_party/ced"
                      "third_party/cld_3"
+                     "third_party/crc32c"
                      "third_party/cros_system_api"
                      "third_party/dom_distiller_js"
                      "third_party/fips181"
@@ -307,7 +296,7 @@ 
plain/debian/patches/system/event.patch?id=64458c4216edd82503dc9366e2f4d80ae7c76
                      "third_party/modp_b64"
                      "third_party/mt19937ar"
                      "third_party/node"
-                     
"third_party/node/node_modules/vulcanize/third_party/UglifyJS2"
+                     
"third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2"
                      "third_party/openmax_dl"
                      "third_party/ots"
                      "third_party/pdfium" ;TODO: can be built standalone.
@@ -320,6 +309,7 @@ 
plain/debian/patches/system/event.patch?id=64458c4216edd82503dc9366e2f4d80ae7c76
                      "third_party/sfntly"
                      "third_party/skia"
                      "third_party/skia/third_party/vulkan"
+                     "third_party/skia/third_party/gif"
                      "third_party/smhasher"
                      ;; XXX the sources that include this are generated.
                      "third_party/speech-dispatcher"
@@ -419,9 +409,14 @@ 
plain/debian/patches/system/event.patch?id=64458c4216edd82503dc9366e2f4d80ae7c76
                      "linux_use_bundled_binutils=false"
                      "use_custom_libcxx=false"
                      "use_sysroot=false"
+                     "goma_dir=\"\""
+                     "use_jumbo_build=true"     ;speeds up compilation
+                     "enable_precompiled_headers=false"
                      "remove_webcore_debug_symbols=true"
                      "enable_iterator_debugging=false"
+                     "exclude_unwind_tables=true"
                      "override_build_date=\"01 01 2000 05:00:00\""
+                     "use_unofficial_version_number=false"
                      ;; Don't fail when using deprecated ffmpeg features.
                      "treat_warnings_as_errors=false"
                      "enable_nacl=false"
@@ -433,8 +428,14 @@ 
plain/debian/patches/system/event.patch?id=64458c4216edd82503dc9366e2f4d80ae7c76
                      "use_official_google_api_keys=false"
                      ;; Disable "field trials".
                      "fieldtrial_testing_like_official_build=true"
+                     "enable_reading_list=false"
+                     ;;"enable_reporting=false"   ;XXX breaks the build
 
+                     "use_openh264=true"
+                     "use_system_freetype=true"
                      "use_system_libjpeg=true"
+                     "use_system_lcms2=true"
+                     "use_system_zlib=true"
                      ;; This is currently not supported on Linux:
                      ;; 
https://bugs.chromium.org/p/chromium/issues/detail?id=22208
                      ;; "use_system_sqlite=true"
@@ -443,7 +444,6 @@ 
plain/debian/patches/system/event.patch?id=64458c4216edd82503dc9366e2f4d80ae7c76
                      "use_gnome_keyring=false" ; deprecated by libsecret
                      "use_xkbcommon=true"
                      "link_pulseaudio=true"
-                     "use_openh264=true"
 
                      ;; Don't arbitrarily restrict formats supported by system 
ffmpeg.
                      "proprietary_codecs=true"
@@ -454,7 +454,6 @@ 
plain/debian/patches/system/event.patch?id=64458c4216edd82503dc9366e2f4d80ae7c76
                      ;; Don't use bundled sources.
                      "rtc_build_json=false"
                      "rtc_build_libevent=false"
-                     "rtc_build_libjpeg=false"
                      "rtc_build_libvpx=false"
                      "rtc_build_opus=false"
                      "rtc_build_ssl=false"
@@ -595,8 +594,9 @@ 
plain/debian/patches/system/event.patch?id=64458c4216edd82503dc9366e2f4d80ae7c76
        ("gtk+-2" ,gtk+-2)
        ("gtk+" ,gtk+)
        ("harfbuzz" ,harfbuzz)
-       ("icu4c" ,icu4c)
+       ("icu4c" ,icu4c-59.1)
        ("jsoncpp" ,jsoncpp)
+       ("lcms" ,lcms)
        ("libevent" ,libevent)
        ("libffi" ,libffi)
        ("libjpeg-turbo" ,libjpeg-turbo)
diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm
index 55bc9f203..b12de6ff0 100644
--- a/gnu/packages/icu4c.scm
+++ b/gnu/packages/icu4c.scm
@@ -80,6 +81,23 @@ C/C++ part.")
                          (origin-patches (package-source icu4c))
                          (search-patches "icu4c-CVE-2017-14952.patch")))))))
 
+(define-public icu4c-59.1
+  (package
+    (inherit icu4c)
+    (version "59.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://download.icu-project.org/files/icu4c/";
+                    version
+                    "/icu4c-"
+                    (string-map (lambda (x) (if (char=? x #\.) #\_ x)) version)
+                    "-src.tgz"))
+              (patches (search-patches "icu4c-CVE-2017-14952.patch"))
+              (sha256
+               (base32
+                "1zkmbg2932ggvpgjp8pys0cj6z8bw087y8858009shkrjfpzscki"))))))
+
 (define-public java-icu4j
   (package
     (name "java-icu4j")
Below is the full patch for convenience.  I plan to commit it on Friday
or Saturday, after a cosmetic check.  Especially the description could
use some work, and the grouping of "configure flags".

One final note for future contributors is that Gentoo[2] is kind-of
upstream for Chromium, as ChromiumOS is based on Portage and I've seen
several Gentoo developers on the Chromium bug tracker.  They often have
early compatibility patches (e.g. when it invariably breaks with GCC).

[0] 
https://anonscm.debian.org/cgit/pkg-chromium/pkg-chromium.git/commit/?id=794aa1820460727711e534ea1042db7eebc1601d
[1] 
https://git.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/chromium&id=6ebdd8085de0b7c8bbc66e47b937271ab4a85fbd
[2] https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium

Attachment: 0001-gnu-Add-chromium.patch
Description: Text Data

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]