unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] gnu: Add inox.
@ 2017-01-10 12:08 David Craven
  2017-01-10 19:02 ` Leo Famulari
  0 siblings, 1 reply; 15+ messages in thread
From: David Craven @ 2017-01-10 12:08 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/inox.scm: New file.
* gnu/packages/patches/inox-glibc-2.24.patch: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES, dist_patch_DATA): Add it.

NOTE: Builds 6634/18623.
---
 gnu/local.mk                               |   2 +
 gnu/packages/inox.scm                      | 437 +++++++++++++++++++++++++++++
 gnu/packages/patches/inox-glibc-2.24.patch |  14 +
 3 files changed, 453 insertions(+)
 create mode 100644 gnu/packages/inox.scm
 create mode 100644 gnu/packages/patches/inox-glibc-2.24.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index a7b917e6e..e553b86aa 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -191,6 +191,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/indent.scm			\
   %D%/packages/inklingreader.scm		\
   %D%/packages/inkscape.scm			\
+  %D%/packages/inox.scm				\
   %D%/packages/irc.scm  			\
   %D%/packages/iso-codes.scm			\
   %D%/packages/java.scm				\
@@ -641,6 +642,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/id3lib-CVE-2007-4460.patch			\
   %D%/packages/patches/ilmbase-fix-tests.patch			\
   %D%/packages/patches/isl-0.11.1-aarch64-support.patch	\
+  %D%/packages/patches/inox-glibc-2.24.patch			\
   %D%/packages/patches/jbig2dec-ignore-testtest.patch		\
   %D%/packages/patches/jq-CVE-2015-8863.patch			\
   %D%/packages/patches/kdbusaddons-kinit-file-name.patch	\
diff --git a/gnu/packages/inox.scm b/gnu/packages/inox.scm
new file mode 100644
index 000000000..1ae2ed9d9
--- /dev/null
+++ b/gnu/packages/inox.scm
@@ -0,0 +1,437 @@
+;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 ng0 <ngillmann@runbox.com>
+;;; Copyright © 2016 David Craven <david@craven.ch>
+;;;
+;;; This file is an addendum to GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages inox)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages assembly)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages bison)
+  #:use-module (gnu packages certs)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages cups)
+  #:use-module (gnu packages elf)
+  #:use-module (gnu packages flex)
+  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages gl)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages gnuzilla)
+  #:use-module (gnu packages gperf)
+  #:use-module (gnu packages gstreamer)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages libevent)
+  #:use-module (gnu packages libffi)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages ninja)
+  #:use-module (gnu packages pciutils)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages photo)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages protobuf)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages ruby)
+  #:use-module (gnu packages serialization)
+  #:use-module (gnu packages video)
+  #:use-module (gnu packages xdisorg)
+  #:use-module (gnu packages xiph)
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages xorg)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix build-system perl)
+  #:use-module (guix download)
+  #:use-module (guix gexp)
+  #:use-module (guix git-download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix utils)
+  #:use-module (ice-9 format)
+  #:use-module (ice-9 match)
+  #:use-module (srfi srfi-1)
+  #:use-module (srfi srfi-26))
+
+;;;
+;;; Inox configuration flags
+;;;
+
+;; https://github.com/gcarq/inox-patchset
+(define %inox-flags
+  (list "-Denable_google_now=0"
+        "-Denable_webrtc=0"
+        "-Denable_remoting=0"
+        ;;"-Dsafe_browsing=0" ; Is currently broken and needs more work
+        "-Denable_rlz=0"
+        "-Denable_hangout_services_extension=0"
+        "-Denable_wifi_bootstrapping=0"
+        "-Denable_speech_input=0"
+        "-Denable_pre_sync_backup=0"
+        "-Denable_print_preview=0"
+        "-Dgoogle_chrome_build=0"))
+
+;; https://github.com/01org/ozone-wayland
+(define %wayland-flags
+  (list "-Dcomponent=static_library"
+        "-Duse_ozone=1"
+        "-Dozone_auto_platforms=1"
+        "-Dozone_platform_wayland=1"
+        "-Duse_xkbcommon=1"))
+
+(define %use-system-flags
+  ;; build/linux/unbundle/replace_gyp_files.py
+  (list "-Duse_system_expat=1"
+        "-Duse_system_ffmpeg=1"
+        "-Duse_system_flac=1"
+        "-Duse_system_harfbuzz=1"
+        "-Duse_system_icu=0" ; FIXME
+        "-Duse_system_jsoncpp=1"
+        "-Duse_system_libevent=1"
+        "-Duse_system_libjpeg=1"
+        "-Duse_system_libpng=1"
+        "-Duse_system_libusb=0" ; http://crbug.com/266149
+        "-Duse_system_libvpx=1"
+        "-Duse_system_libwebp=1"
+        "-Duse_system_libxml=1"
+        "-Duse_system_libxnvctrl=0" ; FIXME
+        "-Duse_system_libxslt=1"
+        "-Duse_system_opus=1"
+        "-Duse_system_protobuf=1"
+        "-Duse_system_re2=0" ; FIXME
+        "-Duse_system_snappy=1"
+        "-Duse_system_sqlite=0" ; http://crbug.com/22208
+        "-Duse_system_v8=0"
+        "-Duse_system_zlib=0" ; FIXME needs minizip
+        ;; Other use system flags
+        "-Duse_system_fontconfig=1" ; see build/common.gypi
+        "-Duse_system_minigbm=0" ; see third-party/minigbm.gyp FIXME
+        "-Duse_system_xdg_utils=1" ; see chrome/chrome_exe.gypi
+        "-Duse_system_yasm=1" ; see build/common.gypi
+        ))
+
+(define %base-flags
+  (list "-Dwerror="
+        "-Dclang=0"
+        "-Duse_sysroot=0"
+        "-Dselinux=0"
+        "-Dproprietary_codecs=0"
+        "-Denable_widevine=0" ; DRM related
+        "-Dlinux_use_bundled_binutils=0"
+        "-Dlinux_use_bundled_gold=0"
+        "-Dlinux_use_gold_flags=0"
+        "-Ddisable_sse2=1" ; see build/common.gypi
+        "-Dfastbuild=2"
+        "-Denable_hidpi=1"
+        ;; Disable gnome stuff
+        "-Duse_gconf=0"
+        "-Duse_gnome_keyring=0"
+        ;; Disable nacl stuff
+        "-Duse_mojo=0"
+        "-Ddisable_nacl=1"
+        "-Ddisable_pnacl=1"))
+
+(define %chromium_conf
+  (append %base-flags %inox-flags %use-system-flags))
+
+;;;
+;;; Inox patches
+;;;
+
+(define (patch-url name)
+  "Return the URL of inox patch NAME."
+  (string-append "https://raw.githubusercontent.com/gcarq/inox-patchset"
+                 "/53.0.2785.101/" name))
+
+(define (inox-patch patch)
+  "Return the origin of inox patch NAME, with expected hash SHA256"
+  (match patch
+    (('quote (name hash))
+     (origin
+       (method url-fetch)
+       (uri (patch-url name))
+       (sha256 (base32 hash))))))
+
+(define (inox-data patch)
+  (match patch
+    (('quote (name hash))
+     (list name (inox-patch patch)))))
+
+(define %inox-launcher-patches
+  '('("launcher-branding.patch"
+      "0zkjj9zjkxgpb7djaxlyxlasq1ghy19grrfmfm9i7h8l50drf4l4")))
+
+(define %inox-patches-53.0.2785.101
+  '('("add-duckduckgo-search-engine.patch"
+      "0ldmmkhybwcckcamxb0nkl0xrkrnz8csr4x53ic27p6mg90yd2jh")
+    '("branding.patch"
+      "001xrzw9ghx9i3rma3r638zxrdwnv7k34nfgvyqwmc5f4andsvpy")
+    '("chromium-52.0.2743.116-unset-madv_free.patch"
+      "09y2c46w65ndzv3fj0ishql33cb3jkkk4y0wxlwzbri9iziajfiv")
+    '("chromium-sandbox-pie.patch"
+      "0j75nhmvynw1rl2x0w4ab951nfcsbfwf3y19b71gffcxbxk2n3fd")
+    ;;'("chromium-widevine.patch"
+    ;;  "024q1kqd3y931z75906r8hf849a2xb4cqfcxflavwzss5s9cpzfn")
+    '("disable-autofill-download-manager.patch"
+      "03fqxpdviqjddgfikp11hwf8nma1czy8q3zknjrxbwc5h06n0jrd")
+    '("disable-battery-status-service.patch"
+      "0yn87cjxzysfcw7wpdgd1ypv6c4am75pv5k193gyz6j6ks7r2vn4")
+    '("disable-default-extensions.patch"
+      "0qqs0x9whsixhq3ylaib3vz4xvhzrsrhcg8na6ayaxsril6zhmkd")
+    '("disable-first-run-behaviour.patch"
+      "04sgs990gihwdh60b3wdk9ryi3n505xk8nbfnvi4ybahiw1zwzn4")
+    '("disable-gcm-status-check.patch"
+      "07hll8yvnpmss0yldkrn5b9d6ack4qf7c463yambgyjzchpld0dh")
+    '("disable-google-ipv6-probes.patch"
+      "0z1w43sigpdl1fpnsh8rwh63slkv76n3p6gkm4vnbxs2hn2flbjn")
+    '("disable-google-url-tracker.patch"
+      "13j7j00ys7x5hdj6ra1rj43wz8dwmfvxxbdpwkgvixlr61zrscm7")
+    '("disable-missing-key-warning.patch"
+      "11g3yq53nj1qkqba9zy0h7vr6ja7sj3gjdq8r0lqjamdbapmvdsm")
+    '("disable-new-avatar-menu.patch"
+      "0g7zxvwlahpwgpg68rk843j5ls1r72y1jhd13dl60asar8fpadwy")
+    '("disable-translation-lang-fetch.patch"
+      "1kkx1pspy41bpcbvskdsa45a9jcg0s9rq4244azrph5ba4vmjqh3")
+    '("disable-update-pings.patch"
+      "1n6szvmijlssfymh7h4zymzjq0kkjpiisqbg7bqra5fmgp2f074y")
+    '("disable-web-resource-service.patch"
+      "1bhnwm9mi42ypxxsh8iw7cnqcgvwh0afhs6qg4dk8z93ilnvkfn2")
+    '("modify-default-prefs.patch"
+      "04gabn1lw6gclw9ppmmzxcqyzlqr27vr1afrrqyljjn89801wcrs")
+    '("restore-classic-ntp.patch"
+      "01xwggbmhiralbx90qvazdd8ynp6cmlaf00rznkwwk4qibx72i7d")))
+
+(define %inox-data-53.0.2785.101
+  '('("inox.desktop" "0j5ia11md0806ww65hbk48m0xs0yy30c4ddsqp0q5x2phyd96gzz")
+    '("inox.install" "1pyzffw0if23yd74yn69w4znmqnswvx764zd4vfaxvgnkqjwhc76")
+    '("product_logo_128.png" "1b9d4bdn1mxg3507ddnh1v4c45kk264g4m5lgnng1yafgnc96sc9")
+    '("product_logo_16.png" "1pb877x90kjck9gs6517mj90sqmg4akfk8h4kq7l5508d6j1yivi")
+    '("product_logo_22.png" "02g5cr9q3587hm4fgaxyq5cqr6qpx41hj72asyq6f5dwzg73llsa")
+    '("product_logo_24.png" "1zbmi7rv1qfy8xz609byj0d589ylhplals5d2ksik60fbq68723v")
+    '("product_logo_256.png" "0m3k6d4hbvqfax3n9vzhaia0wvmbqvf582a0kqyydz87vjxv7y9x")
+    '("product_logo_32.png" "154xp8chgg2jv7b7i829mz9rc2if8wi68n6x3935nm8k7fqf644c")
+    '("product_logo_48.png" "1sxyyahkncxryag1dwsna8vyxm6iqydl29rw2z1k8x1vv1qvf26c")
+    '("product_logo_64.png" "1zznvm910q7380qrr0x4841043raq8iwky9smgbb97h633dfi8ak")))
+
+;;;
+;;; Inox launcher
+;;;
+
+(define inox-launcher
+  (origin
+    (method url-fetch)
+    (uri "https://github.com/foutrelis/chromium-launcher/archive/v3.tar.gz")
+    (file-name "chromium-launcher-3.tar.gz")
+    (sha256
+     (base32
+      "0a2cp292zldprf21ysmkl34khnlynj84sxcahmwn452qzr7gn0cb"))
+    (patches (map inox-patch %inox-launcher-patches))))
+
+;;;
+;;; Inox package
+;;;
+
+(define-public inox
+  (package
+    (name "inox")
+    (version "53.0.2785.101")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://commondatastorage.googleapis.com"
+                    "/chromium-browser-official/"
+                    "chromium-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1q5fqhsnfv1485f16dbxc1f0biynv37qkvimpr8l41hi9gbmxigd"))
+              ;; https://bugzilla.redhat.com/show_bug.cgi?id=1361157
+              (patches (append (search-patches "inox-glibc-2.24.patch")
+                               (map inox-patch %inox-patches-53.0.2785.101)))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("bison" ,bison)
+       ("flex" ,flex)
+       ("gperf" ,gperf)
+       ("gzip" ,gzip)
+       ,@(map inox-data %inox-data-53.0.2785.101)
+       ("inox-launcher" ,inox-launcher)
+       ("libvpx" ,libvpx)
+       ("mesa" ,mesa)
+       ("ninja" ,ninja)
+       ("pkg-config" ,pkg-config)
+       ("python-2" ,python-2)
+       ("which" ,which)
+       ("yasm" ,yasm)))
+    (inputs
+     `(("alsa-lib" ,alsa-lib)
+       ("bzip2" ,bzip2)
+       ("cairo" ,cairo)
+       ("cups" ,cups)
+       ("dbus" ,dbus)
+       ("elfutils" ,elfutils)
+       ("eudev" ,eudev)
+       ("expat" ,expat)
+       ("ffmpeg" ,ffmpeg)
+       ("flac" ,flac)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("gdk-pixbuf" ,gdk-pixbuf)
+       ("glib" ,glib)
+       ("gtk-2" ,gtk+-2)
+       ("harfbuzz" ,harfbuzz)
+       ("jsoncpp" ,jsoncpp)
+       ("libevent" ,libevent)
+       ("libexif" ,libexif)
+       ("libffi" ,libffi)
+       ("libgcrypt" ,libgcrypt)
+       ("libjpeg" ,libjpeg)
+       ("libpng" ,libpng)
+       ("libvpx" ,libvpx)
+       ("libwebp" ,libwebp)
+       ("libxcomposite" ,libxcomposite)
+       ("libxcursor" ,libxcursor)
+       ("libxdamage" ,libxdamage)
+       ("libxext" ,libxext)
+       ("libxfixes" ,libxfixes)
+       ("libxi" ,libxi)
+       ("libxinerama" ,libxinerama)
+       ("libxkbcommon" ,libxkbcommon)
+       ("libxml2" ,libxml2)
+       ("libxrandr" ,libxrandr)
+       ("libxrender" ,libxrender)
+       ("libxscrnsaver" ,libxscrnsaver)
+       ("libxslt" ,libxslt)
+       ("libxtst" ,libxtst)
+       ("nspr" ,nspr)
+       ;; https://chromium.googlesource.com/chromium/deps/nss/+/master
+       ;; http://crbug.com/58087
+       ("nss" ,nss)
+       ("opus" ,opus)
+       ("pango" ,pango)
+       ("pciutils" ,pciutils)
+       ("perl" ,perl)
+       ("perl-file-basedir" ,perl-file-basedir)
+       ("perl-json" ,perl-json)
+       ("protobuf" ,protobuf)
+       ("pulseaudio" ,pulseaudio)
+       ("python2-beautifulsoup4" ,python2-beautifulsoup4)
+       ("python2-html5lib" ,python2-html5lib)
+       ("python2-jinja2" ,python2-jinja2)
+       ("python2-ply" ,python2-ply)
+       ("python2-protobuf" ,python2-protobuf)
+       ("python2-simplejson" ,python2-simplejson)
+       ("ruby" ,ruby)
+       ("snappy" ,snappy)
+       ("xdg-utils" ,xdg-utils)
+       ("zlib" ,zlib)))
+    ;; Metabug: https://bugs.chromium.org/p/chromium/issues/detail?id=28287
+    (arguments
+     `(#:tests? #f ; Nope.
+       #:parallel-build? #f ; Avoid python race condition.
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-sources
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((eudev (assoc-ref inputs "eudev"))
+                   (pciutils (assoc-ref inputs "pciutils")))
+               (substitute* "build/common.gypi"
+                 (("/bin/echo") "echo"))
+               (substitute* "sandbox/linux/suid/client/setuid_sandbox_host.cc"
+                 (("return sandbox_binary;")
+                  "return base::FilePath(GetDevelSandboxPath());"))
+               (substitute* (find-files "device/udev_linux" "udev._loader.cc")
+                 (("libudev\\.so") (string-append eudev "/lib/libudev.so")))
+               (substitute* "gpu/config/gpu_info_collector_linux.cc"
+                 (("libpci\\.so") (string-append pciutils "/lib/libpci.so")))
+               ;; Reverting a hack by the chromium developers that prevents
+               ;; python2-protobuf from being used.
+               (substitute* "chrome/browser/resources/safe_browsing/gen_file_type_proto.py"
+                 (("if opts.wrap:") "if False:"))
+               #t)))
+         (add-after 'unpack 'setup-environment
+           (lambda _
+             ;; Prevent race conditions while writing pyc files.
+             (setenv "PYTHONDONTWRITEBYTECODE" "1")
+             #t))
+         ;;(add-before 'configure 'precompile-python-files
+         ;;  (lambda _
+             ;; Precompile python files to prevent race conditions.
+             ;; Ignore errors, there are some python 3 files.
+         ;;    (system* "python" "-m" "compileall" "-q" "-f" ".")
+         ;;    #t))
+         (add-before 'configure 'unbundle
+           (lambda _
+             (zero? (system* "build/linux/unbundle/replace_gyp_files.py"
+                             ,@%chromium_conf))))
+         (replace 'configure
+           (lambda _
+             (zero? (system* "build/gyp_chromium" "--depth=."
+                             ,@%chromium_conf))))
+         (add-after 'configure 'patch-build.ninja
+           (lambda _
+             ;; Compiler isn't detected properly.
+             (substitute* "out/Release/build.ninja"
+               (("cc = cc") "cc = gcc"))
+             (substitute* "out/Release/build.ninja"
+               (("c++ = c++") "c++ = g++"))
+             #t))
+         (replace 'build
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((ninja (string-append (assoc-ref inputs "ninja") "/bin/ninja"))
+                   (out   (assoc-ref outputs "out")))
+               (zero? (system* ninja "-C" "out/Release"
+                               "chrome" "chrome_sandbox" "chromedriver")))))
+         (replace 'install
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (prefix (string-append "PREFIX=" out)))
+               ;; add more later FIXME
+               (zero? (system* "make" prefix install-strip))))))))
+    (home-page "https://www.chromium.org/")
+    (synopsis "Chromium web browser")
+    (description "Chromium is an open-source browser project that aims
+to build a safer, faster, and more stable way for all Internet users to
+experience the web.")
+    (license (list license:bsd-3 ; chromium
+                   license:gpl3)))) ; patchset
+
+(define-public perl-file-basedir
+  (package
+    (name "perl-file-basedir")
+    (version "0.07")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://cpan/authors/id/K/KI/KIMRYAN/"
+                    "File-BaseDir-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0aq8d4hsaxqibp36f773y6dfck7zd82v85sp8vhi6pjkg3pmf2hj"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-file-which" ,perl-file-which)
+       ("perl-module-build" ,perl-module-build)))
+    (inputs
+     `(("perl-ipc-system-simple" ,perl-ipc-system-simple)))
+    (home-page "http://search.cpan.org/dist/File-BaseDir")
+    (synopsis "Use the Freedesktop.org base directory specification")
+    (description "fill-in-yourself!")
+    (license (package-license perl))))
+
+;;; inox.scm ends here
diff --git a/gnu/packages/patches/inox-glibc-2.24.patch b/gnu/packages/patches/inox-glibc-2.24.patch
new file mode 100644
index 000000000..10a04b7ec
--- /dev/null
+++ b/gnu/packages/patches/inox-glibc-2.24.patch
@@ -0,0 +1,14 @@
+--- old/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp	2016-08-03 21:02:37.000000000 +0200
++++ new/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp	2016-08-14 10:59:51.395354850 +0200
+@@ -41,6 +41,11 @@
+ #include <errno.h>
+ #include <sys/mman.h>
+ 
++#if OS(LINUX) && defined(MADV_FREE)
++// Added in Linux 4.5, but we don't want to depend on 4.5 at runtime
++#undef MADV_FREE
++#endif
++
+ #ifndef MADV_FREE
+ #define MADV_FREE MADV_DONTNEED
+ #endif
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH] gnu: Add inox.
  2017-01-10 12:08 [PATCH] gnu: Add inox David Craven
@ 2017-01-10 19:02 ` Leo Famulari
  2017-01-10 19:08   ` David Craven
  0 siblings, 1 reply; 15+ messages in thread
From: Leo Famulari @ 2017-01-10 19:02 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

On Tue, Jan 10, 2017 at 01:08:56PM +0100, David Craven wrote:
> * gnu/packages/inox.scm: New file.
> * gnu/packages/patches/inox-glibc-2.24.patch: New file.
> * gnu/local.mk (GNU_SYSTEM_MODULES, dist_patch_DATA): Add it.

Wow!

> NOTE: Builds 6634/18623.

What does this note mean?

> +(define-public inox
> +  (package
> +    (name "inox")
> +    (version "53.0.2785.101")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> +                    "https://commondatastorage.googleapis.com"
> +                    "/chromium-browser-official/"
> +                    "chromium-" version ".tar.xz"))

I got:

------
Starting download of /gnu/store/7b62sh72p4i4c5c9xzvqycr2mmj33kqh-chromium-53.0.2785.101.tar.xz
From http://tarballs.nixos.org/sha256/1q5fqhsnfv1485f16dbxc1f0biynv37qkvimpr8l41hi9gbmxigd...
ERROR: download failed "http://tarballs.nixos.org/sha256/1q5fqhsnfv1485f16dbxc1f0biynv37qkvimpr8l41hi9gbmxigd" 404 "Not Found"
failed to download "/gnu/store/7b62sh72p4i4c5c9xzvqycr2mmj33kqh-chromium-53.0.2785.101.tar.xz" from "https://commondatastorage.googleapis.com/chromium-browser-official/chromium-53.0.2785.101.tar.xz"
output path `/gnu/store/7b62sh72p4i4c5c9xzvqycr2mmj33kqh-chromium-53.0.2785.101.tar.xz' should have sha256 hash `1q5fqhsnfv1485f16dbxc1f0biynv37qkvimpr8l41hi9gbmxigd', instead has `0xq68sjl74h7j4vh4if274s7isrg42hmdwxgnzrarnrd2l39xngj'
@ build-failed /gnu/store/0dwyq3001d8cdvgwy1yl2qlf0v2bhml3-chromium-53.0.2785.101.tar.xz.drv - 1 output path `/gnu/store/7b62sh72p4i4c5c9xzvqycr2mmj33kqh-chromium-53.0.2785.101.tar.xz' should have sha256 hash `1q5fqhsnfv1485f16dbxc1f0biynv37qkvimpr8l41hi9gbmxigd', instead has `0xq68sjl74h7j4vh4if274s7isrg42hmdwxgnzrarnrd2l39xngj'
cannot build derivation `/gnu/store/zyvvpy0fwsw8sdi766mjbaxgdz2qa2cy-chromium-53.0.2785.101.tar.xz.drv': 1 dependencies couldn't be built
------

Do you think they updated it "in place", or did you use `guix download`,
or some similar error?

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] gnu: Add inox.
  2017-01-10 19:02 ` Leo Famulari
@ 2017-01-10 19:08   ` David Craven
  2017-01-10 19:12     ` David Craven
  2017-01-10 19:16     ` Leo Famulari
  0 siblings, 2 replies; 15+ messages in thread
From: David Craven @ 2017-01-10 19:08 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

> Wow!

Don't get too excited yet... :)

>> NOTE: Builds 6634/18623.

> What does this note mean?

That it only builds to a third.

guix download https://commondatastorage.googleapis.com/chromium-browser-official/chromium-53.0.2785.101.tar.xz
warning: failed to install locale: Invalid argument

Starting download of /tmp/guix-file.ZlNMAP
From https://commondatastorage.googleapis.com/chromium-browser-official/chromium-53.0.2785.101.tar.xz...
 ...2785.101.tar.xz  439.5MiB             11.7MiB/s 00:37
[####################] 100.0%
/gnu/store/7b62sh72p4i4c5c9xzvqycr2mmj33kqh-chromium-53.0.2785.101.tar.xz
1q5fqhsnfv1485f16dbxc1f0biynv37qkvimpr8l41hi9gbmxigd

Mmh, what does this mean?

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] gnu: Add inox.
  2017-01-10 19:08   ` David Craven
@ 2017-01-10 19:12     ` David Craven
  2017-01-10 23:22       ` Marius Bakke
  2017-01-10 19:16     ` Leo Famulari
  1 sibling, 1 reply; 15+ messages in thread
From: David Craven @ 2017-01-10 19:12 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

> Don't get too excited yet... :)

Packaging chromium is a pain in the ass... There was talk on IRC about
inox, so I submitted my progress so far.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] gnu: Add inox.
  2017-01-10 19:08   ` David Craven
  2017-01-10 19:12     ` David Craven
@ 2017-01-10 19:16     ` Leo Famulari
  1 sibling, 0 replies; 15+ messages in thread
From: Leo Famulari @ 2017-01-10 19:16 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

On Tue, Jan 10, 2017 at 08:08:59PM +0100, David Craven wrote:
> > Wow!
> 
> Don't get too excited yet... :)
> 
> >> NOTE: Builds 6634/18623.
> 
> > What does this note mean?
> 
> That it only builds to a third.

Ah, I see.

> guix download https://commondatastorage.googleapis.com/chromium-browser-official/chromium-53.0.2785.101.tar.xz
> warning: failed to install locale: Invalid argument
> 
> Starting download of /tmp/guix-file.ZlNMAP
> From https://commondatastorage.googleapis.com/chromium-browser-official/chromium-53.0.2785.101.tar.xz...
>  ...2785.101.tar.xz  439.5MiB             11.7MiB/s 00:37
> [####################] 100.0%
> /gnu/store/7b62sh72p4i4c5c9xzvqycr2mmj33kqh-chromium-53.0.2785.101.tar.xz
> 1q5fqhsnfv1485f16dbxc1f0biynv37qkvimpr8l41hi9gbmxigd
> 
> Mmh, what does this mean?

I think it was a transient network error. After a few tries (!) I got
the tarball described by the hash.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] gnu: Add inox.
  2017-01-10 19:12     ` David Craven
@ 2017-01-10 23:22       ` Marius Bakke
  2017-01-11  8:56         ` David Craven
  0 siblings, 1 reply; 15+ messages in thread
From: Marius Bakke @ 2017-01-10 23:22 UTC (permalink / raw)
  To: David Craven, Leo Famulari; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1045 bytes --]

David Craven <david@craven.ch> writes:

>> Don't get too excited yet... :)
>
> Packaging chromium is a pain in the ass... There was talk on IRC about
> inox, so I submitted my progress so far.

Tell me about it! I've been secretly maintaining a Chromium branch over
at https://github.com/mbakke/guix/commits/chromium . It's frequently
rebased.

One thing that worries me about Inox is that version 53 is very old and
likely contains known vulnerabilities. Do you know if they backport
fixes? If not, I think we should try to stick with upstream Chromium.

Also, Chromium 54+ have abandoned the "gyp" build system completely in
favor of the "gn" build system. With it, many build flags don't work
properly yet. See the FIXMEs in the HEAD of the above branch :-)

Anyway, great work so far, hopefully we can join efforts and get this in
somehow. I'm not happy with the current build, the 3rd party stuff
should be removed in a source snippet, and some sites tend to just
"hang" infrequently, likely from one of the patches (IPv6 probe?).

Cheers!

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] gnu: Add inox.
  2017-01-10 23:22       ` Marius Bakke
@ 2017-01-11  8:56         ` David Craven
  2017-01-11 17:48           ` Marius Bakke
  0 siblings, 1 reply; 15+ messages in thread
From: David Craven @ 2017-01-11  8:56 UTC (permalink / raw)
  To: Marius Bakke; +Cc: guix-devel

> Tell me about it! I've been secretly maintaining a Chromium branch over
> at https://github.com/mbakke/guix/commits/chromium . It's frequently
> rebased.

Looks awesome!

> One thing that worries me about Inox is that version 53 is very old and
> likely contains known vulnerabilities. Do you know if they backport
> fixes? If not, I think we should try to stick with upstream Chromium.

This is due to me not having worked on it for a while. Inox are just a couple
of patches and default configure flags, but it's still chromium. I'm not too
concerned with inox, but *whisper* I got the impression that there where
FSDG issues with chromium. By applying a bunch of patches and calling it
inox instead of chromium, I think it could be considered a "good faith effort",
and the problem avoided until someone complains.

Another interesting collection of chromium patches would be:
https://github.com/Eloston/ungoogled-chromium

> Also, Chromium 54+ have abandoned the "gyp" build system completely in
> favor of the "gn" build system. With it, many build flags don't work
> properly yet. See the FIXMEs in the HEAD of the above branch :-)

Good to know, thanks for the heads up!

> Anyway, great work so far, hopefully we can join efforts and get this in
> somehow. I'm not happy with the current build, the 3rd party stuff
> should be removed in a source snippet, and some sites tend to just
> "hang" infrequently, likely from one of the patches (IPv6 probe?).

Sounds good! We should definitely use your package as a base...

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] gnu: Add inox.
  2017-01-11  8:56         ` David Craven
@ 2017-01-11 17:48           ` Marius Bakke
  2017-01-11 19:56             ` David Craven
  2017-01-12  9:39             ` ng0
  0 siblings, 2 replies; 15+ messages in thread
From: Marius Bakke @ 2017-01-11 17:48 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1462 bytes --]

David Craven <david@craven.ch> writes:

>> One thing that worries me about Inox is that version 53 is very old and
>> likely contains known vulnerabilities. Do you know if they backport
>> fixes? If not, I think we should try to stick with upstream Chromium.
>
> This is due to me not having worked on it for a while. Inox are just a couple
> of patches and default configure flags, but it's still chromium. I'm not too
> concerned with inox, but *whisper* I got the impression that there where
> FSDG issues with chromium. By applying a bunch of patches and calling it
> inox instead of chromium, I think it could be considered a "good faith effort",
> and the problem avoided until someone complains.
>
> Another interesting collection of chromium patches would be:
> https://github.com/Eloston/ungoogled-chromium

I actually picked most of the patches from ungoogled-chromium (which
includes inox and iridium), but skipped "high maintenance" ones. This
started as an attempt to package that very project, but they were
lagging too far behind upstream IMO.

FSDG problems is the reason I haven't advertised it. At the very least,
the Google integrations should be disabled and analytics removed (but
Chromium can't currently build without either). I think if most of the
"FIXMEs" are resolved upstream, it might be eligible for a free distro.

Now that the cat is out of the box, feel free to send patches somewhere
and I'll incorporate them in the branch :-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] gnu: Add inox.
  2017-01-11 17:48           ` Marius Bakke
@ 2017-01-11 19:56             ` David Craven
  2017-01-11 23:53               ` David Craven
  2017-01-12 17:22               ` Marius Bakke
  2017-01-12  9:39             ` ng0
  1 sibling, 2 replies; 15+ messages in thread
From: David Craven @ 2017-01-11 19:56 UTC (permalink / raw)
  To: Marius Bakke; +Cc: guix-devel

> I actually picked most of the patches from ungoogled-chromium (which
> includes inox and iridium), but skipped "high maintenance" ones. This
> started as an attempt to package that very project, but they were
> lagging too far behind upstream IMO.

Ah yes, I saw it now. Including the Warning in the description :)

> I think if most of the "FIXMEs" are resolved upstream, it might be eligible for a free distro.

Is there reason to believe that this is going to happen any time soon?
Looks like a lot of the remaining work is waiting for upstream to fix
stuff?

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] gnu: Add inox.
  2017-01-11 19:56             ` David Craven
@ 2017-01-11 23:53               ` David Craven
  2017-01-12 17:22               ` Marius Bakke
  1 sibling, 0 replies; 15+ messages in thread
From: David Craven @ 2017-01-11 23:53 UTC (permalink / raw)
  To: Marius Bakke; +Cc: guix-devel

So finished building chromium finally!

A major issue:

* no hidpi scaling: didn't there use to be an enable_hdpi flag?
Recompiling with enable_hdpi=true see if that works

and some issues minor issues:

* ugly font: is new times roman the default? what do other distros do?

* menu has a dark background with classic theme and gtk dark system
theme, google-chrome from the nix repo keeps the dropdown menu nice
and white

any ideas? awesome that it finally builds! :)

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] gnu: Add inox.
  2017-01-11 17:48           ` Marius Bakke
  2017-01-11 19:56             ` David Craven
@ 2017-01-12  9:39             ` ng0
  1 sibling, 0 replies; 15+ messages in thread
From: ng0 @ 2017-01-12  9:39 UTC (permalink / raw)
  To: Marius Bakke; +Cc: guix-devel

Hi,

great to see this produced something usable (although not yet
shipable).

Marius Bakke <mbakke@fastmail.com> writes:

> David Craven <david@craven.ch> writes:
>
>>> One thing that worries me about Inox is that version 53 is very old and
>>> likely contains known vulnerabilities. Do you know if they backport
>>> fixes? If not, I think we should try to stick with upstream Chromium.
>>
>> This is due to me not having worked on it for a while. Inox are just a couple
>> of patches and default configure flags, but it's still chromium. I'm not too
>> concerned with inox, but *whisper* I got the impression that there where
>> FSDG issues with chromium. By applying a bunch of patches and calling it
>> inox instead of chromium, I think it could be considered a "good faith effort",
>> and the problem avoided until someone complains.
>>
>> Another interesting collection of chromium patches would be:
>> https://github.com/Eloston/ungoogled-chromium
>
> I actually picked most of the patches from ungoogled-chromium (which
> includes inox and iridium), but skipped "high maintenance" ones. This
> started as an attempt to package that very project, but they were
> lagging too far behind upstream IMO.
>
> FSDG problems is the reason I haven't advertised it. At the very least,
> the Google integrations should be disabled and analytics removed (but
> Chromium can't currently build without either). I think if most of the
> "FIXMEs" are resolved upstream, it might be eligible for a free distro.

You haven't invested too much time in hoping upstream will really
do this, that they really care. Last time I gave inox/chromium a
try I've found
https://bugs.chromium.org/p/chromium/issues/detail?id=28287 and
https://bugzilla.redhat.com/show_bug.cgi?id=1270322

So either fedora really forked it (been too long since I've
looked at this) or they figured out a way to improve their
package.
You might want to get in touch with the maintainers for chromium
at fedora.

> Now that the cat is out of the box, feel free to send patches somewhere
> and I'll incorporate them in the branch :-)

-- 
♥Ⓐ  ng0 -- https://www.inventati.org/patternsinthechaos/

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] gnu: Add inox.
  2017-01-11 19:56             ` David Craven
  2017-01-11 23:53               ` David Craven
@ 2017-01-12 17:22               ` Marius Bakke
  2017-01-12 18:21                 ` David Craven
  1 sibling, 1 reply; 15+ messages in thread
From: Marius Bakke @ 2017-01-12 17:22 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1143 bytes --]

David Craven <david@craven.ch> writes:

>> I think if most of the "FIXMEs" are resolved upstream, it might be eligible for a free distro.
>
> Is there reason to believe that this is going to happen any time soon?
> Looks like a lot of the remaining work is waiting for upstream to fix
> stuff?

Yes. Ideally someone would report and track these issues upstream. I
haven't cared enough to do it :-(

> A major issue:
>
> * no hidpi scaling: didn't there use to be an enable_hdpi flag?
> Recompiling with enable_hdpi=true see if that works

Oops, let us know!

> and some issues minor issues:
>
> * ugly font: is new times roman the default? what do other distros do?

Do you have fonts in your profile? Could it be an instance of
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24703 ? I haven't noticed
this.

> * menu has a dark background with classic theme and gtk dark system
> theme, google-chrome from the nix repo keeps the dropdown menu nice
> and white

The menu is white on my i3wm GuixSD system as well. Don't think I've
changed anything, still using "classic" theme. Maybe it has picked up
some old settings from ~/.config/chromium?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] gnu: Add inox.
  2017-01-12 17:22               ` Marius Bakke
@ 2017-01-12 18:21                 ` David Craven
  2017-01-12 18:42                   ` Marius Bakke
  0 siblings, 1 reply; 15+ messages in thread
From: David Craven @ 2017-01-12 18:21 UTC (permalink / raw)
  To: Marius Bakke; +Cc: guix-devel

>> * no hidpi scaling: didn't there use to be an enable_hdpi flag?
>> Recompiling with enable_hdpi=true see if that works

> Oops, let us know!

I think that the flag was removed and is the default now. I expect
that the problem is that some dependencies need to be added to the
wrapper. I'm not using guixsd yet (can you believe? :). I updated
chromium from nixos and then it works. When I uninstall chromium from
my nix-env and run nix-collect-garbage I get the problems again.

Interestingly guix environment --pure --ad-hoc chromium-browser
doesn't do anything. I bet all the problems will likely resolve when I
start using guixsd - hopefully soon :)

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] gnu: Add inox.
  2017-01-12 18:21                 ` David Craven
@ 2017-01-12 18:42                   ` Marius Bakke
  2017-01-26 19:36                     ` David Craven
  0 siblings, 1 reply; 15+ messages in thread
From: Marius Bakke @ 2017-01-12 18:42 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 739 bytes --]

David Craven <david@craven.ch> writes:

>>> * no hidpi scaling: didn't there use to be an enable_hdpi flag?
>>> Recompiling with enable_hdpi=true see if that works
>
>> Oops, let us know!
>
> I think that the flag was removed and is the default now. I expect
> that the problem is that some dependencies need to be added to the
> wrapper.

This is likely. The wrapper was added rather hap-hazardly by trying to
start chromium, see which libraries it complained about, and adding
them. There may be some non-fatal libraries missing. I would really
prefer if we could make it link with proper RUNPATHs.

> guix environment --pure --ad-hoc chromium-browser

The package is called "chromium", not "chromium-browser", unless you
renamed it :-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] gnu: Add inox.
  2017-01-12 18:42                   ` Marius Bakke
@ 2017-01-26 19:36                     ` David Craven
  0 siblings, 0 replies; 15+ messages in thread
From: David Craven @ 2017-01-26 19:36 UTC (permalink / raw)
  To: Marius Bakke; +Cc: guix-devel

Hi Marius,

What do you think about moving the chromium package into a separate
repo? I have some other packages that won't be accepted into guix. It
would be nice to have a place to put these and maybe sometime add a
guix publish service for it later. I can't expect my mother to compile
chromium herself...

I wonder who owns the guixsd github organization...

WDYT?

Cheers,
David

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2017-01-26 19:36 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-10 12:08 [PATCH] gnu: Add inox David Craven
2017-01-10 19:02 ` Leo Famulari
2017-01-10 19:08   ` David Craven
2017-01-10 19:12     ` David Craven
2017-01-10 23:22       ` Marius Bakke
2017-01-11  8:56         ` David Craven
2017-01-11 17:48           ` Marius Bakke
2017-01-11 19:56             ` David Craven
2017-01-11 23:53               ` David Craven
2017-01-12 17:22               ` Marius Bakke
2017-01-12 18:21                 ` David Craven
2017-01-12 18:42                   ` Marius Bakke
2017-01-26 19:36                     ` David Craven
2017-01-12  9:39             ` ng0
2017-01-10 19:16     ` Leo Famulari

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).