You are not logged in.

#26 2015-01-04 11:38:45

89c51
Member
Registered: 2012-06-05
Posts: 741

Re: [Request]Ozone-Wayland

4GB of swap so i think it would be enough. I was compiling it with nothing graphical running. If anyone builds a 32bit package i'll be happy to try it.

Offline

#27 2015-01-07 15:42:56

89c51
Member
Registered: 2012-06-05
Posts: 741

Re: [Request]Ozone-Wayland

Is there a way to modify the PKGBUILD posted so i can built it to my 64bit machine (and specify it using all 4 cores) but have it produce 32bit binaries??

Offline

#28 2015-01-07 17:26:14

progandy
Member
Registered: 2012-05-17
Posts: 5,184

Re: [Request]Ozone-Wayland

89c51 wrote:

Is there a way to modify the PKGBUILD posted so i can built it to my 64bit machine (and specify it using all 4 cores) but have it produce 32bit binaries??

use a 32bit chroot.
https://wiki.archlinux.org/index.php/Bu … bit_system


| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |

Offline

#29 2015-01-28 15:01:04

zAo
Member
Registered: 2012-11-01
Posts: 26

Re: [Request]Ozone-Wayland

Thanks 89c51! I'm still building on a very slow Atom machine.

Can anyone share his/her package? I also run out of diskspace.

EDIT: Removed 2 partitions and restarted smile Now I get this error. Any ideas?

Syncing projects: 100% (80/80), done.                                                       
                                                                                            
________ running '/build/chromium/src/python2-path/python src/build/landmines.py' in '/build/chromium/src'                                                                              
/build/chromium/src/python2-path/python: can't open file 'src/build/landmines.py': [Errno 2] No such file or directory                                                                  
Error: Command /build/chromium/src/python2-path/python src/build/landmines.py returned non-zero exit status 2 in /build/chromium/src
==> ERROR: A failure occurred in prepare().
    Aborting...

Last edited by zAo (2015-01-30 11:43:53)

Offline

#30 2015-01-31 06:01:52

pypi
Wiki Maintainer
Registered: 2014-04-22
Posts: 250

Re: [Request]Ozone-Wayland

For those interested, I've updated my local copy of the PKGBUILD (modified a bit to my liking) to build using the latest release (ThanksGiving) and the Chromium version in [extra] (40.0.2214.93 {out of date, but not by much}).

Here's the new version:

# $Id: PKGBUILD 227394 2014-12-10 12:36:46Z foutrelis $
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>

pkgname=chromium-wayland
_pkgname=chromium
pkgver=40.0.2214.93
_wayland_pkgver=40.0.2214.8
pkgrel=1
pkgdesc="The open-source project behind Google Chrome, an attempt at creating a safer, faster, and more stable browser"
arch=('i686' 'x86_64')
url="http://www.chromium.org/"
license=('BSD')
depends=('gtk2' 'nss' 'alsa-lib' 'xdg-utils' 'bzip2' 'libevent' 'libxss' 'icu'
         'libexif' 'libgcrypt' 'ttf-font' 'systemd' 'dbus' 'flac' 'snappy'
         'speech-dispatcher' 'pciutils' 'libpulse' 'harfbuzz'
         'desktop-file-utils' 'hicolor-icon-theme')
makedepends=('python2' 'perl' 'gperf' 'yasm' 'mesa' 'libgnome-keyring'
             'elfutils' 'subversion' 'ninja' 'clang')
[[ $CARCH = x86_64 ]] && makedepends+=('lib32-gcc-libs' 'lib32-zlib')
optdepends=('kdebase-kdialog: needed for file dialogs in KDE'
            'gnome-keyring: for storing passwords in GNOME keyring'
            'libgnome-keyring: for storing passwords in GNOME keyring'
            'kdeutils-kwalletmanager: for storing passwords in KWallet')
conflicts=('chromium')
provides=('chromium')
backup=('etc/chromium/default')
options=('!strip')
install=chromium.install
source=(https://commondatastorage.googleapis.com/chromium-browser-official/${_pkgname}-$pkgver.tar.xz
        https://github.com/01org/ozone-wayland/archive/${_wayland_pkgver}.tar.gz
        chromium.desktop
        chromium.default
        chromium.sh)
sha256sums=('c4937596bc02d346a89543a6b5bd0fab9f45e34f3ce20dee94dc132a95c990de'
            '72cb4dc1dd31ec9abce73e9d1351152a70e2fd841b610955b36b813e86cec9d4'
            '09bfac44104f4ccda4c228053f689c947b3e97da9a4ab6fa34ce061ee83d0322'
            '478340d5760a9bd6c549e19b1b5d1c5b4933ebf5f8cfb2b3e2d70d07443fe232'
            '4999fded897af692f4974f0a3e3bbb215193519918a1fa9b31ed51e74a2dccb9')

# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
# Note: These are for Arch Linux use ONLY. For your own distribution, please
# get your own set of keys. Feel free to contact foutrelis@archlinux.org for
# more information.
_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM
_google_default_client_id=413772536636.apps.googleusercontent.com
_google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4

# We can't build (P)NaCL on i686 because the toolchain is x86_64 only and the
# instructions to build the toolchain from source don't work that well (at least
# from within the Chromium 39 source tree).
# https://sites.google.com/a/chromium.org/dev/nativeclient/pnacl/building-pnacl-components-for-distribution-packagers
_build_nacl=1
if [[ $CARCH == i686 ]]; then
  _build_nacl=0
fi

prepare() {
  cd "$srcdir/$_pkgname-$pkgver"

  # Remove bundled ICU; its header files appear to get picked up instead of
  # the system ones, leading to errors during the final link stage
  # https://groups.google.com/a/chromium.org/d/topic/chromium-packagers/BNGvJc08B6Q
  find third_party/icu -type f \! -regex '.*\.\(gyp\|gypi\|isolate\)' -delete

  # Use Python 2
  find . -name '*.py' -exec sed -i -r 's|/usr/bin/python$|&2|g' {} +
  # There are still a lot of relative calls which need a workaround
  mkdir "$srcdir/python2-path"
  ln -s /usr/bin/python2 "$srcdir/python2-path/python"

  # Download the PNaCL toolchain on x86_64; i686 toolchain is no longer provided
  if (( $_build_nacl )); then
    python2 build/download_nacl_toolchains.py \
      --packages nacl_x86_newlib,pnacl_newlib,pnacl_translator
  fi

  # Ozone-Wayland
  mv ../ozone-wayland-${_wayland_pkgver} ozone
  for patchfile in ozone/patches/000*
    do patch -p1 <$patchfile
  done
}

build() {
  cd "$srcdir/$_pkgname-$pkgver"

  export PATH="$srcdir/python2-path:$PATH"

  # CFLAGS are passed through release_extra_cflags below
  export -n CFLAGS CXXFLAGS

  local _chromium_conf=(
    -Dgoogle_api_key=$_google_api_key
    -Dgoogle_default_client_id=$_google_default_client_id
    -Dgoogle_default_client_secret=$_google_default_client_secret
    -Dwerror=
    -Dclang=0
    -Dpython_ver=2.7
    -Dlinux_link_gsettings=1
    -Dlinux_link_libpci=1
    -Dlinux_link_libspeechd=1
    -Dlinux_link_pulseaudio=1
    -Dlinux_strip_binary=1
    -Dlinux_use_bundled_binutils=0
    -Dlinux_use_bundled_gold=0
    -Dlinux_use_gold_flags=0
    -Dicu_use_data_file_flag=0
    -Dlogging_like_official_build=1
    -Drelease_extra_cflags="$CFLAGS"
    -Dlibspeechd_h_prefix=speech-dispatcher/
    -Dffmpeg_branding=Chrome
    -Dproprietary_codecs=1
    -Duse_system_bzip2=1
    -Duse_system_flac=1
    -Duse_system_ffmpeg=0
    -Duse_system_harfbuzz=1
    -Duse_system_icu=1
    -Duse_system_libevent=1
    -Duse_system_libjpeg=1
    -Duse_system_libpng=1
    -Duse_system_libxml=0
    -Duse_system_snappy=1
    -Duse_system_ssl=0
    -Duse_system_xdg_utils=1
    -Duse_system_yasm=1
    -Duse_system_zlib=0
    -Dusb_ids_path=/usr/share/hwdata/usb.ids
    -Duse_mojo=0
    -Duse_gconf=0
    -Ddisable_fatal_linker_warnings=1
    -Ddisable_glibc=1
    -Duse_ash=1
    -Duse_aura=1
    -Dchromeos=0
    -Duse_ozone=1
    -Duse_xkbcommon=1)

  if (( ! $_build_nacl )); then
    _chromium_conf+=(
      -Ddisable_nacl=1
      -Ddisable_pnacl=1
    )
  fi

  build/linux/unbundle/replace_gyp_files.py "${_chromium_conf[@]}"
  build/gyp_chromium --depth=. "${_chromium_conf[@]}"

  ninja -C out/Release chrome chrome_sandbox chromedriver
}

package() {
  cd "$srcdir/$_pkgname-$pkgver"

  install -D out/Release/chrome "$pkgdir/usr/lib/chromium/chromium"

  install -Dm4755 -o root -g root out/Release/chrome_sandbox \
    "$pkgdir/usr/lib/chromium/chrome-sandbox"

  install -D out/Release/chromedriver "$pkgdir/usr/lib/chromium/chromedriver"

  cp out/Release/{*.pak,libffmpegsumo.so,libpdf.so} "$pkgdir/usr/lib/chromium/"

  if (( $_build_nacl )); then
    cp out/Release/nacl_helper{,_bootstrap} out/Release/nacl_irt_*.nexe \
      "$pkgdir/usr/lib/chromium/"
  fi

  # Manually strip binaries so that 'nacl_irt_*.nexe' is left intact
  strip $STRIP_BINARIES "$pkgdir/usr/lib/chromium/"{chromium,chrome-sandbox} \
    "$pkgdir/usr/lib/chromium/chromedriver"
  strip $STRIP_SHARED "$pkgdir/usr/lib/chromium/libffmpegsumo.so" \
    "$pkgdir/usr/lib/chromium/libpdf.so"

  if (( $_build_nacl )); then
    strip $STRIP_BINARIES "$pkgdir/usr/lib/chromium/"nacl_helper{,_bootstrap}
  fi

  # Allow users to override command-line options
  install -Dm644 "$srcdir/chromium.default" "$pkgdir/etc/chromium/default"

  cp -a out/Release/locales "$pkgdir/usr/lib/chromium/"

  install -Dm644 out/Release/chrome.1 "$pkgdir/usr/share/man/man1/chromium.1"

  install -Dm644 "$srcdir/chromium.desktop" \
    "$pkgdir/usr/share/applications/chromium.desktop"

  for size in 22 24 48 64 128 256; do
    install -Dm644 "chrome/app/theme/chromium/product_logo_$size.png" \
      "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
  done

  for size in 16 32; do
    install -Dm644 "chrome/app/theme/default_100_percent/chromium/product_logo_$size.png" \
      "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
  done

  install -D "$srcdir/chromium.sh" "$pkgdir/usr/bin/chromium"
  ln -s /usr/lib/chromium/chromedriver "$pkgdir/usr/bin/chromedriver"

  install -Dm644 LICENSE "$pkgdir/usr/share/licenses/chromium/LICENSE"
}

# vim:set ts=2 sw=2 et:

What works:
- GPU sandboxing smile
- General rendering (it's fast, too!)

What doesn't:
- It doesn't run on my machine using nouveau? Nor does the older package, so something's changed...
- Both bookmark menus and second-level drop down windows vanish as soon as they appear.
- Drag and drop
- Highlighting (copy + paste)

I'd say that it's not ready yet, at least for my normal workflow...

For those who want the new package (64 bit), I've uploaded it to Google Drive here.

Offline

#31 2015-01-31 09:37:03

zAo
Member
Registered: 2012-11-01
Posts: 26

Re: [Request]Ozone-Wayland

Thanks again pypi. Updated with your package and it looks good.

Offline

#32 2015-02-12 23:09:57

themax
Member
Registered: 2013-05-14
Posts: 32

Re: [Request]Ozone-Wayland

I updated the PKGBUILD to the newest release from 01org (41.0.2272.17). It compiled fine, but have not tested it yet. If you have no time to compile it yourself you can download it here.

pkgname=chromium
pkgver=41.0.2272.17
pkgrel=1
pkgdesc="The open-source project behind Google Chrome, an attempt at creating a safer, faster, and more stable browser"
arch=('i686' 'x86_64')
url="http://www.chromium.org/"
license=('BSD')
depends=('gtk2' 'nss' 'alsa-lib' 'xdg-utils' 'bzip2' 'libevent' 'libxss' 'icu'
         'libexif' 'libgcrypt' 'ttf-font' 'systemd' 'dbus' 'flac' 'snappy'
         'speech-dispatcher' 'pciutils' 'libpulse' 'harfbuzz'
         'desktop-file-utils' 'hicolor-icon-theme')
makedepends=('python2' 'perl' 'gperf' 'yasm' 'mesa' 'libgnome-keyring'
             'elfutils' 'subversion' 'ninja' 'clang')
[[ $CARCH = x86_64 ]] && makedepends+=('lib32-gcc-libs' 'lib32-zlib')
optdepends=('kdebase-kdialog: needed for file dialogs in KDE'
            'gnome-keyring: for storing passwords in GNOME keyring'
            'libgnome-keyring: for storing passwords in GNOME keyring'
            'kdeutils-kwalletmanager: for storing passwords in KWallet')
backup=('etc/chromium/default')
options=('!strip')
install=chromium.install
source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
        https://github.com/01org/ozone-wayland/archive/$pkgver.tar.gz
        chromium.desktop
        chromium.default
        chromium.sh)
sha256sums=('b1e1dba8431a1f7292ea60bfafdd1fe0a64284ce12097294d8b79482a7b31647'
            'cc0f0cdbf2157598e53115bf60ff2868ec7a98a582c6eb97a1ff12216c02e18a'
            '09bfac44104f4ccda4c228053f689c947b3e97da9a4ab6fa34ce061ee83d0322'
            '478340d5760a9bd6c549e19b1b5d1c5b4933ebf5f8cfb2b3e2d70d07443fe232'
            '4999fded897af692f4974f0a3e3bbb215193519918a1fa9b31ed51e74a2dccb9') 

# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
# Note: These are for Arch Linux use ONLY. For your own distribution, please
# get your own set of keys. Feel free to contact foutrelis@archlinux.org for
# more information.
_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM
_google_default_client_id=413772536636.apps.googleusercontent.com
_google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4

# We can't build (P)NaCL on i686 because the toolchain is x86_64 only and the
# instructions to build the toolchain from source don't work that well (at least
# from within the Chromium 39 source tree).
# https://sites.google.com/a/chromium.org/dev/nativeclient/pnacl/building-pnacl-components-for-distribution-packagers
_build_nacl=1
if [[ $CARCH == i686 ]]; then
  _build_nacl=0
fi

prepare() {
  cd "$srcdir/$pkgname-$pkgver"

  # Remove bundled ICU; its header files appear to get picked up instead of
  # the system ones, leading to errors during the final link stage
  # https://groups.google.com/a/chromium.org/d/topic/chromium-packagers/BNGvJc08B6Q
  find third_party/icu -type f \! -regex '.*\.\(gyp\|gypi\|isolate\)' -delete

  # Use Python 2
  find . -name '*.py' -exec sed -i -r 's|/usr/bin/python$|&2|g' {} +
  # There are still a lot of relative calls which need a workaround
  mkdir "$srcdir/python2-path"
  ln -s /usr/bin/python2 "$srcdir/python2-path/python"

  # Download the PNaCL toolchain on x86_64; i686 toolchain is no longer provided
  if (( $_build_nacl )); then
    python2 build/download_nacl_toolchains.py \
      --packages nacl_x86_newlib,pnacl_newlib,pnacl_translator \
      sync
  fi

  # Ozone-Wayland
  mv ../ozone-wayland-$pkgver ozone
  for patchfile in ozone/patches/*.patch
    do patch -s -p1 <$patchfile
  done
}

build() {
  cd "$srcdir/$pkgname-$pkgver"

  export PATH="$srcdir/python2-path:$PATH"

  # CFLAGS are passed through release_extra_cflags below
  export -n CFLAGS CXXFLAGS

  local _chromium_conf=(
    -Dgoogle_api_key=$_google_api_key
    -Dgoogle_default_client_id=$_google_default_client_id
    -Dgoogle_default_client_secret=$_google_default_client_secret
    -Dwerror=
    -Dclang=0
    -Dpython_ver=2.7
    -Dlinux_link_gsettings=1
    -Dlinux_link_libpci=1
    -Dlinux_link_libspeechd=1
    -Dlinux_link_pulseaudio=1
    -Dlinux_strip_binary=1
    -Dlinux_use_bundled_binutils=0
    -Dlinux_use_bundled_gold=0
    -Dlinux_use_gold_flags=0
    -Dicu_use_data_file_flag=0
    -Dlogging_like_official_build=1
    -Drelease_extra_cflags="$CFLAGS"
    -Dlibspeechd_h_prefix=speech-dispatcher/
    -Dffmpeg_branding=Chrome
    -Dproprietary_codecs=1
    -Duse_system_bzip2=1
    -Duse_system_flac=1
    -Duse_system_ffmpeg=0
    -Duse_system_harfbuzz=1
    -Duse_system_icu=1
    -Duse_system_libevent=1
    -Duse_system_libjpeg=1
    -Duse_system_libpng=1
    -Duse_system_libxml=0
    -Duse_system_snappy=1
    -Duse_system_ssl=0
    -Duse_system_xdg_utils=1
    -Duse_system_yasm=1
    -Duse_system_zlib=0
    -Dusb_ids_path=/usr/share/hwdata/usb.ids
    -Duse_mojo=0
    -Duse_gconf=0
    -Ddisable_fatal_linker_warnings=1
    -Ddisable_glibc=1
    -Duse_ash=1
    -Duse_aura=1
    -Dchromeos=0
    -Duse_ozone=1
    -Duse_xkbcommon=1)

  if (( ! $_build_nacl )); then
    _chromium_conf+=(
      -Ddisable_nacl=1
      -Ddisable_pnacl=1
    )
  fi

  build/linux/unbundle/replace_gyp_files.py "${_chromium_conf[@]}"
  build/gyp_chromium --depth=. "${_chromium_conf[@]}"

  ninja -C out/Release chrome chrome_sandbox chromedriver
}

package() {
  cd "$srcdir/$pkgname-$pkgver"

  install -D out/Release/chrome "$pkgdir/usr/lib/chromium/chromium"

  install -Dm4755 -o root -g root out/Release/chrome_sandbox \
    "$pkgdir/usr/lib/chromium/chrome-sandbox"

  install -D out/Release/chromedriver "$pkgdir/usr/lib/chromium/chromedriver"

  cp out/Release/{*.pak,libffmpegsumo.so,libpdf.so,*.bin} "$pkgdir/usr/lib/chromium/"

  if (( $_build_nacl )); then
    cp out/Release/nacl_helper{,_bootstrap} out/Release/nacl_irt_*.nexe \
      "$pkgdir/usr/lib/chromium/"
  fi

  # Manually strip binaries so that 'nacl_irt_*.nexe' is left intact
  strip $STRIP_BINARIES "$pkgdir/usr/lib/chromium/"{chromium,chrome-sandbox} \
    "$pkgdir/usr/lib/chromium/chromedriver"
  strip $STRIP_SHARED "$pkgdir/usr/lib/chromium/libffmpegsumo.so" \
    "$pkgdir/usr/lib/chromium/libpdf.so"

  if (( $_build_nacl )); then
    strip $STRIP_BINARIES "$pkgdir/usr/lib/chromium/"nacl_helper{,_bootstrap}
  fi

  # Allow users to override command-line options
  install -Dm644 "$srcdir/chromium.default" "$pkgdir/etc/chromium/default"

  cp -a out/Release/locales "$pkgdir/usr/lib/chromium/"

  install -Dm644 out/Release/chrome.1 "$pkgdir/usr/share/man/man1/chromium.1"

  install -Dm644 "$srcdir/chromium.desktop" \
    "$pkgdir/usr/share/applications/chromium.desktop"

  for size in 22 24 48 64 128 256; do
    install -Dm644 "chrome/app/theme/chromium/product_logo_$size.png" \
      "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
  done

  for size in 16 32; do
    install -Dm644 "chrome/app/theme/default_100_percent/chromium/product_logo_$size.png" \
      "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
  done

  install -D "$srcdir/chromium.sh" "$pkgdir/usr/bin/chromium"
  ln -s /usr/lib/chromium/chromedriver "$pkgdir/usr/bin/chromedriver"

  install -Dm644 LICENSE "$pkgdir/usr/share/licenses/chromium/LICENSE"
}

Edit: didn't package .bin files
writing this from ozone-wayland right now. yay!

Last edited by themax (2015-02-12 23:37:39)

Offline

#33 2015-02-19 18:23:48

zAo
Member
Registered: 2012-11-01
Posts: 26

Re: [Request]Ozone-Wayland

themax wrote:

I updated the PKGBUILD to the newest release from 01org (41.0.2272.17). It compiled fine, but have not tested it yet. If you have no time to compile it yourself you can download it here.

pkgname=chromium
pkgver=41.0.2272.17
pkgrel=1
pkgdesc="The open-source project behind Google Chrome, an attempt at creating a safer, faster, and more stable browser"
arch=('i686' 'x86_64')
url="http://www.chromium.org/"
license=('BSD')
depends=('gtk2' 'nss' 'alsa-lib' 'xdg-utils' 'bzip2' 'libevent' 'libxss' 'icu'
         'libexif' 'libgcrypt' 'ttf-font' 'systemd' 'dbus' 'flac' 'snappy'
         'speech-dispatcher' 'pciutils' 'libpulse' 'harfbuzz'
         'desktop-file-utils' 'hicolor-icon-theme')
makedepends=('python2' 'perl' 'gperf' 'yasm' 'mesa' 'libgnome-keyring'
             'elfutils' 'subversion' 'ninja' 'clang')
[[ $CARCH = x86_64 ]] && makedepends+=('lib32-gcc-libs' 'lib32-zlib')
optdepends=('kdebase-kdialog: needed for file dialogs in KDE'
            'gnome-keyring: for storing passwords in GNOME keyring'
            'libgnome-keyring: for storing passwords in GNOME keyring'
            'kdeutils-kwalletmanager: for storing passwords in KWallet')
backup=('etc/chromium/default')
options=('!strip')
install=chromium.install
source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
        https://github.com/01org/ozone-wayland/archive/$pkgver.tar.gz
        chromium.desktop
        chromium.default
        chromium.sh)
sha256sums=('b1e1dba8431a1f7292ea60bfafdd1fe0a64284ce12097294d8b79482a7b31647'
            'cc0f0cdbf2157598e53115bf60ff2868ec7a98a582c6eb97a1ff12216c02e18a'
            '09bfac44104f4ccda4c228053f689c947b3e97da9a4ab6fa34ce061ee83d0322'
            '478340d5760a9bd6c549e19b1b5d1c5b4933ebf5f8cfb2b3e2d70d07443fe232'
            '4999fded897af692f4974f0a3e3bbb215193519918a1fa9b31ed51e74a2dccb9') 

# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
# Note: These are for Arch Linux use ONLY. For your own distribution, please
# get your own set of keys. Feel free to contact foutrelis@archlinux.org for
# more information.
_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM
_google_default_client_id=413772536636.apps.googleusercontent.com
_google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4

# We can't build (P)NaCL on i686 because the toolchain is x86_64 only and the
# instructions to build the toolchain from source don't work that well (at least
# from within the Chromium 39 source tree).
# https://sites.google.com/a/chromium.org/dev/nativeclient/pnacl/building-pnacl-components-for-distribution-packagers
_build_nacl=1
if [[ $CARCH == i686 ]]; then
  _build_nacl=0
fi

prepare() {
  cd "$srcdir/$pkgname-$pkgver"

  # Remove bundled ICU; its header files appear to get picked up instead of
  # the system ones, leading to errors during the final link stage
  # https://groups.google.com/a/chromium.org/d/topic/chromium-packagers/BNGvJc08B6Q
  find third_party/icu -type f \! -regex '.*\.\(gyp\|gypi\|isolate\)' -delete

  # Use Python 2
  find . -name '*.py' -exec sed -i -r 's|/usr/bin/python$|&2|g' {} +
  # There are still a lot of relative calls which need a workaround
  mkdir "$srcdir/python2-path"
  ln -s /usr/bin/python2 "$srcdir/python2-path/python"

  # Download the PNaCL toolchain on x86_64; i686 toolchain is no longer provided
  if (( $_build_nacl )); then
    python2 build/download_nacl_toolchains.py \
      --packages nacl_x86_newlib,pnacl_newlib,pnacl_translator \
      sync
  fi

  # Ozone-Wayland
  mv ../ozone-wayland-$pkgver ozone
  for patchfile in ozone/patches/*.patch
    do patch -s -p1 <$patchfile
  done
}

build() {
  cd "$srcdir/$pkgname-$pkgver"

  export PATH="$srcdir/python2-path:$PATH"

  # CFLAGS are passed through release_extra_cflags below
  export -n CFLAGS CXXFLAGS

  local _chromium_conf=(
    -Dgoogle_api_key=$_google_api_key
    -Dgoogle_default_client_id=$_google_default_client_id
    -Dgoogle_default_client_secret=$_google_default_client_secret
    -Dwerror=
    -Dclang=0
    -Dpython_ver=2.7
    -Dlinux_link_gsettings=1
    -Dlinux_link_libpci=1
    -Dlinux_link_libspeechd=1
    -Dlinux_link_pulseaudio=1
    -Dlinux_strip_binary=1
    -Dlinux_use_bundled_binutils=0
    -Dlinux_use_bundled_gold=0
    -Dlinux_use_gold_flags=0
    -Dicu_use_data_file_flag=0
    -Dlogging_like_official_build=1
    -Drelease_extra_cflags="$CFLAGS"
    -Dlibspeechd_h_prefix=speech-dispatcher/
    -Dffmpeg_branding=Chrome
    -Dproprietary_codecs=1
    -Duse_system_bzip2=1
    -Duse_system_flac=1
    -Duse_system_ffmpeg=0
    -Duse_system_harfbuzz=1
    -Duse_system_icu=1
    -Duse_system_libevent=1
    -Duse_system_libjpeg=1
    -Duse_system_libpng=1
    -Duse_system_libxml=0
    -Duse_system_snappy=1
    -Duse_system_ssl=0
    -Duse_system_xdg_utils=1
    -Duse_system_yasm=1
    -Duse_system_zlib=0
    -Dusb_ids_path=/usr/share/hwdata/usb.ids
    -Duse_mojo=0
    -Duse_gconf=0
    -Ddisable_fatal_linker_warnings=1
    -Ddisable_glibc=1
    -Duse_ash=1
    -Duse_aura=1
    -Dchromeos=0
    -Duse_ozone=1
    -Duse_xkbcommon=1)

  if (( ! $_build_nacl )); then
    _chromium_conf+=(
      -Ddisable_nacl=1
      -Ddisable_pnacl=1
    )
  fi

  build/linux/unbundle/replace_gyp_files.py "${_chromium_conf[@]}"
  build/gyp_chromium --depth=. "${_chromium_conf[@]}"

  ninja -C out/Release chrome chrome_sandbox chromedriver
}

package() {
  cd "$srcdir/$pkgname-$pkgver"

  install -D out/Release/chrome "$pkgdir/usr/lib/chromium/chromium"

  install -Dm4755 -o root -g root out/Release/chrome_sandbox \
    "$pkgdir/usr/lib/chromium/chrome-sandbox"

  install -D out/Release/chromedriver "$pkgdir/usr/lib/chromium/chromedriver"

  cp out/Release/{*.pak,libffmpegsumo.so,libpdf.so,*.bin} "$pkgdir/usr/lib/chromium/"

  if (( $_build_nacl )); then
    cp out/Release/nacl_helper{,_bootstrap} out/Release/nacl_irt_*.nexe \
      "$pkgdir/usr/lib/chromium/"
  fi

  # Manually strip binaries so that 'nacl_irt_*.nexe' is left intact
  strip $STRIP_BINARIES "$pkgdir/usr/lib/chromium/"{chromium,chrome-sandbox} \
    "$pkgdir/usr/lib/chromium/chromedriver"
  strip $STRIP_SHARED "$pkgdir/usr/lib/chromium/libffmpegsumo.so" \
    "$pkgdir/usr/lib/chromium/libpdf.so"

  if (( $_build_nacl )); then
    strip $STRIP_BINARIES "$pkgdir/usr/lib/chromium/"nacl_helper{,_bootstrap}
  fi

  # Allow users to override command-line options
  install -Dm644 "$srcdir/chromium.default" "$pkgdir/etc/chromium/default"

  cp -a out/Release/locales "$pkgdir/usr/lib/chromium/"

  install -Dm644 out/Release/chrome.1 "$pkgdir/usr/share/man/man1/chromium.1"

  install -Dm644 "$srcdir/chromium.desktop" \
    "$pkgdir/usr/share/applications/chromium.desktop"

  for size in 22 24 48 64 128 256; do
    install -Dm644 "chrome/app/theme/chromium/product_logo_$size.png" \
      "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
  done

  for size in 16 32; do
    install -Dm644 "chrome/app/theme/default_100_percent/chromium/product_logo_$size.png" \
      "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
  done

  install -D "$srcdir/chromium.sh" "$pkgdir/usr/bin/chromium"
  ln -s /usr/lib/chromium/chromedriver "$pkgdir/usr/bin/chromedriver"

  install -Dm644 LICENSE "$pkgdir/usr/share/licenses/chromium/LICENSE"
}

Edit: didn't package .bin files
writing this from ozone-wayland right now. yay!

Thanks, again! Why don't you create an AUR version?

Offline

#34 2015-02-23 06:56:12

hongy19
Member
From: China
Registered: 2005-04-08
Posts: 83
Website

Re: [Request]Ozone-Wayland

I tried it and have same issue with you.
- bookmark and sub menu disappear instantly
- mouse left click on extension button doesn't work, but right click works


pypi wrote:

@89c51: Have you set up any swap? Maybe not enough? EDIT: It built on my machine which has 3GB of RAM and no swap, so 2GB of swap should be plenty, depending on what else you are running. I was going to offer to try to post my finished package somewhere if that would help, but my machines are 64bit...

@themax: Well, I did manage to build a (slightly modified) package. Thanks again!

I had to build it on the Core 2 laptop - it took about half a day. The other machine, ironically, failed to build it (not enough free disk space...), but could run it (intel graphics), while the original machine couldn't (nouveau drivers).

To continue a trend;
What doesn't work on my computer:
- Drag and drop support (a known issue)
- Bookmarks bar menus appear and then instantly vanish
- Other menus appear, but appear to 'get stuck' after opening a submenu.
- Tooltips show at 0,0 and don't vanish properly

I note that the newest release has sandboxing support; I might give that a try at some point.

Offline

#35 2015-06-26 23:25:58

pypi
Wiki Maintainer
Registered: 2014-04-22
Posts: 250

Re: [Request]Ozone-Wayland

Is there an AUR version of this? I couldn't find one...
I'll create one and try to maintain it if people are still interested and one does not exist.

There's also been a couple of new releases/milestones.

Offline

#36 2015-06-27 10:11:55

89c51
Member
Registered: 2012-06-05
Posts: 741

Re: [Request]Ozone-Wayland

I don't think it was uploaded on AUR.

Offline

#37 2015-06-28 04:34:49

pypi
Wiki Maintainer
Registered: 2014-04-22
Posts: 250

Re: [Request]Ozone-Wayland

Right. Currently, I've run into a few build issues, but I might have something working in a couple of weeks.
Is anyone still interested?

Offline

#38 2015-06-28 17:11:02

89c51
Member
Registered: 2012-06-05
Posts: 741

Re: [Request]Ozone-Wayland

Yes as long as it can build properly. 20 hours and not having a package is annoying.

I'd also be ok with a PKGBUILD of 32bit binaries if they are provided by upstream.

Offline

#39 2015-07-08 07:01:27

pypi
Wiki Maintainer
Registered: 2014-04-22
Posts: 250

Re: [Request]Ozone-Wayland

I've run into a few issues, but I'll hopefully (fingers crossed) have a binary by tomorrow. I'll probably have a look at putting something up on AUR at the same time.

Offline

#40 2015-07-08 20:34:07

pypi
Wiki Maintainer
Registered: 2014-04-22
Posts: 250

Re: [Request]Ozone-Wayland

It didn't build...
I'm hopeful that I've picked up all the issues now!

Offline

#41 2015-07-09 03:24:05

pypi
Wiki Maintainer
Registered: 2014-04-22
Posts: 250

Re: [Request]Ozone-Wayland

Right!

It's a bit more involved this time around...

To build/run (?) you'll need libvpx from git; libvpx 1.4.0 is _not_ recent enough.

Here's a link to the prebuilt x86_64 package, for those that want to try it out:
https://drive.google.com/file/d/0B-ksyz … sp=sharing
Prebuilt libvpx package:
https://drive.google.com/file/d/0B-ksyz … sp=sharing

Hopefully that works!

I'm looking into putting the PKGBUILDs up on AUR.

Offline

#42 2015-07-09 04:01:41

pypi
Wiki Maintainer
Registered: 2014-04-22
Posts: 250

Re: [Request]Ozone-Wayland

There is already an AUR version of libvpx-git.
I've put the chromium-wayland PKGBUILD on AUR4, if anyone wants to try it out. It might take a while to build, though...

Offline

#43 2015-07-09 19:57:54

89c51
Member
Registered: 2012-06-05
Posts: 741

Re: [Request]Ozone-Wayland

Thank you for your work. I'll give it a try at some point. smile

Offline

#44 2015-08-23 20:12:39

pypi
Wiki Maintainer
Registered: 2014-04-22
Posts: 250

Re: [Request]Ozone-Wayland

Milestone-Trask is now out!
I've updated the AUR package and created a  prebuilt package.

With the later releases I experience some visual corruption, eg https://github.com/01org/ozone-wayland/issues/387, and I'd be interested if someone else does/does not.

Offline

#45 2015-08-29 11:06:29

technolog
Member
From: Europe / Slovenia / Grosuplje
Registered: 2012-01-28
Posts: 117

Re: [Request]Ozone-Wayland

Hey, pypi, why is gtk2 still a dependency?

Offline

#46 2015-08-29 20:01:40

pypi
Wiki Maintainer
Registered: 2014-04-22
Posts: 250

Re: [Request]Ozone-Wayland

technolog wrote:

Hey, pypi, why is gtk2 still a dependency?

I think gtk2 is required for (at least) the file picker. If you have any conflicting information, I'd be interesting in hearing about it!

Offline

#47 2015-09-02 15:16:21

technolog
Member
From: Europe / Slovenia / Grosuplje
Registered: 2012-01-28
Posts: 117

Re: [Request]Ozone-Wayland

I have thought the point of ozone was to add support for wayland.

gtk2 is not compatible with wayland, it has to run via Xwayland. gtk3 is compatible.

Offline

#48 2015-09-02 16:42:25

progandy
Member
Registered: 2012-05-17
Posts: 5,184

Re: [Request]Ozone-Wayland

pypi wrote:
technolog wrote:

Hey, pypi, why is gtk2 still a dependency?

I think gtk2 is required for (at least) the file picker. If you have any conflicting information, I'd be interesting in hearing about it!

There should be a patch for a basic WebUI based file-picker in ozone-wayland
https://github.com/01org/ozone-wayland/ … ebUI.patch


| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |

Offline

#49 2015-09-02 19:53:01

pypi
Wiki Maintainer
Registered: 2014-04-22
Posts: 250

Re: [Request]Ozone-Wayland

progandy wrote:
pypi wrote:
technolog wrote:

Hey, pypi, why is gtk2 still a dependency?

I think gtk2 is required for (at least) the file picker. If you have any conflicting information, I'd be interesting in hearing about it!

There should be a patch for a basic WebUI based file-picker in ozone-wayland
https://github.com/01org/ozone-wayland/ … ebUI.patch

Good spotting @progandy! I'll have a play around later this week or next week and see whether it builds and runs minus gtk2.

Offline

#50 2015-09-05 23:21:47

pypi
Wiki Maintainer
Registered: 2014-04-22
Posts: 250

Re: [Request]Ozone-Wayland

pypi wrote:

Good spotting @progandy! I'll have a play around later this week or next week and see whether it builds and runs minus gtk2.

chromium-launcher requires gtk (that could *probably* be removed, though).
I'm not hugely interested in running sans gtk2, since I don't consider chromium-wayland to really be usable yet, but if someone else wants to hunt down and remove any remaining deps...
I think chromium-wayland still does require gtk2, though - at least there's some pkg-config warnings about it being missing - and I suspect it's for desktop-specific things (I believe that the Tizen team has managed to get an embedded/chromeos build working without gtk2, hence the file picker patch). I'm trying to stick as close to upstream (Arch's main chromium PKGBUILD, in this case) as possible, but if chromium-launcher was patched upstream to not need gtk I'd be happy to test building without gtk for chromium-wayland "proper".

Offline

Board footer

Powered by FluxBB