Package Details: ungoogled-chromium-archlinux 76.0.3809.100-1

Git Clone URL: https://aur.archlinux.org/ungoogled-chromium-archlinux.git (read-only)
Package Base: ungoogled-chromium-archlinux
Description: A lightweight approach to removing Google web service dependency
Upstream URL: https://github.com/ungoogled-software/ungoogled-chromium-archlinux
Licenses: BSD
Conflicts: chromium
Provides: chromium
Submitter: youngunix
Maintainer: youngunix
Last Packager: youngunix
Votes: 14
Popularity: 2.528967
First Submitted: 2019-05-01 18:24
Last Updated: 2019-08-10 19:22

Dependencies (53)

Required by (48)

Sources (4)

Pinned Comments

youngunix commented on 2019-05-05 16:30

unfortunately, I cannot change the package name as there is another package with the same name that the maintainer refused to update for some odd reasons. hence why I created this port. the fix for now is to manually change the name in PKGBUILD while building it locally until that maintainer removes the out of date package.

EDIT: PKGBUILD has been updated.

youngunix commented on 2019-05-01 18:29

Note: this ungoogled-chromium version is specifically created for Archlinux AUR and it is up to date with the original package from Eloston.

Warning: this package might not build if you have 4GB of RAM or less. It might take several minutes to build on systems with fewer CPU cores.

Latest Comments

1 2 3 4 5 Next › Last »

bleak commented on 2019-08-14 20:12

$ trizen -S ungoogled-chromium-archlinux and fixing the line about --ignore-whitespace outputs lines like

...
chromium-76.0.3809.100/third_party/harfbuzz-ng/README.chromium: Write failed
chromium-76.0.3809.100/third_party/harfbuzz-ng/OWNERS: Write failed
...

In the end chromium-76.0.3809.100/third_party/* results in an error which finaly ends withbsdtar: Error exit delayed from previous errors. Is there a permission problem somewhere? Until that point no privileges have been given.

Morguldir commented on 2019-08-14 04:25

Just remove the lines, it isn't needed anymore.

kronikpillow commented on 2019-08-13 09:05

I manually fixed the typo, but then i hit a new error

patch: **** Can't open patch file ../../gcc-9-fix.patch : No such file or directory

bsdice commented on 2019-08-12 00:48

For anyone looking for a "quick" solution, try the following. On my machines package group "custom" is ignored for updates.

Edit /etc/pacman.conf: IgnoreGroup = custom

Bottom line imho here is, chromium is a decidedly quickly moving target, because Google is changing alot of code every month. Ungoogled patches have to keep up and will break basically every month, too. Worse, video acceleration will break when you just look at the browser at the wrong angle. In addition, there is no reliable, frequently updated, "ungoogled-chromium(-vaapi)" just yet. So in effect you can just as well build a new package yourself manually every month. It is the burden imposed on you for wanting freedom from Google. ;-)

Create script in ~/tmp in your home and build a working version with working VAAPI acceleration:

!/usr/bin/bash -e

N="ionice -c3 nice -n19 chrt -i 0"

SCRIPTPATH=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P )

cd "$SCRIPTPATH"

rm -rf ungoogled-chromium-archlinux

git clone https://github.com/jstkdng/ungoogled-chromium-archlinux.git

cd ungoogled-chromium-archlinux

sed -i '/^pkgname=ungoogled-chromium/a groups=(custom)' PKGBUILD

$N makepkg -Cf

mv ungoogled-chromium*.pkg.tar.xz "$SCRIPTPATH"

cd ..

rm -rf ungoogled-chromium-archlinux

Sukid commented on 2019-08-12 00:30

Seconded about the typo. It's easy enough to fix on our end but not so much if we update all our aur packages with yay. :(

kronikpillow commented on 2019-08-11 12:24

dude ... fix the typo already ... there is a typo in the pgkbuild that says igonre-whitespace instead of ignore-whitespace

anodium commented on 2019-07-30 06:11

@youngunix Typo in the PKGBUILD, please fix when you get a chance!

--- PKGBUILD.orig   2019-07-30 00:53:29.514416000 -0500
+++ PKGBUILD.new    2019-07-30 01:08:17.485524000 -0500
@@ -84,7 +84,7 @@
   cd "$srcdir/chromium-${_chromium_version}"

   msg2 'Fixing compile time bug on gcc9'
-  patch -p1 --igonre-whitespace -i ../../gcc-9-fix.patch --no-backup-if-mismatch
+  patch -p1 --ignore-whitespace -i ../../gcc-9-fix.patch --no-backup-if-mismatch
   msg2 'Pruning binaries'
   python "$_utils/prune_binaries.py" ./ "$_ungoogled_repo/pruning.list"
   msg2 'Applying patches'

Reden commented on 2019-07-27 22:43

bsdice and others, for quite some long time in Eloston's github a guy had been making ungoogled chromium binaries for Arch Linux, just download and "pacman -U". To add, the ungoogled-chromium-bin package, using these same binaries, has been restored.

Tio commented on 2019-07-21 20:17

Error:

==> Validating source files with sha256sums...
    chromium-74.0.3729.169.tar.xz ... Passed
    chromium-launcher-6.tar.gz ... Passed
    ungoogled-chromium-74.0.3729.169-1.tar.gz ... Skipped
    ungoogled-chromium-archlinux-c0bd60f9726f68c62471f15a701f1087baec87c4.tar.gz ... Skipped
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting chromium-74.0.3729.169.tar.xz with bsdtar
  -> Extracting chromium-launcher-6.tar.gz with bsdtar
  -> Extracting ungoogled-chromium-74.0.3729.169-1.tar.gz with bsdtar
  -> Extracting ungoogled-chromium-archlinux-c0bd60f9726f68c62471f15a701f1087baec87c4.tar.gz with bsdtar
==> Starting prepare()...
  -> Fixing compile time bug on gcc9
patch: unrecognized option '--igonre-whitespace'
patch: Try 'patch --help' for more information.
==> ERROR: A failure occurred in prepare().
    Aborting...

danieltetraquark commented on 2019-07-17 18:10

# maintainer: youngunix <zagazaw2004 [at] gmail [dot] com>
# submitter: youngunix <zagazaw2004 [at] gmail [dot] com>
#---------------------------------------------------------
# Git original comments
# Derived from PKGBUILD for Inox
# Original Inox PKGBUILD authors:
# Maintainer: Michael Egger <gcarq@archlinux.info>
# Contributor: 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=ungoogled-chromium-archlinux
# Commit or tag for the upstream ungoogled-chromium repo
_ungoogled_version='75.0.3770.142-1'
_ungoogled_archlinux_version=af242f55185ff0ff530d9be502099af0b9f6349b
_chromium_version=$(curl -sL https://raw.githubusercontent.com/Eloston/ungoogled-chromium/${_ungoogled_version}/chromium_version.txt)
_ungoogled_revision=$(curl -sL https://raw.githubusercontent.com/Eloston/ungoogled-chromium/${_ungoogled_version}/revision.txt)
pkgver=${_chromium_version}
_ungoogled_archlinux_pkgrel=0
pkgrel=$((_ungoogled_revision + _ungoogled_archlinux_pkgrel))
_launcher_ver=6
pkgdesc="A lightweight approach to removing Google web service dependency"
arch=('x86_64')
url="https://github.com/ungoogled-software/ungoogled-chromium-archlinux"
license=('BSD')
depends=('gtk3' 'nss' 'alsa-lib' 'xdg-utils' 'libxss' 'libcups' 'libgcrypt'
         'ttf-font' 'systemd' 'dbus' 'libpulse' 'pciutils' 'json-glib' 'libva'
         'desktop-file-utils' 'hicolor-icon-theme' 'jsoncpp' 'openjpeg2')
makedepends=('python' 'python2' 'gperf' 'yasm' 'mesa' 'ninja' 'git'
             'clang' 'lld' 'gn' 'llvm' 'quilt')
optdepends=('pepper-flash: support for Flash content'
            'kdialog: needed for file dialogs in KDE'
            'gnome-keyring: for storing passwords in GNOME keyring'
            'kwallet: for storing passwords in KWallet'
            'libva-intel-driver: for hardware video acceleration with Intel GPUs'
            'libva-mesa-driver: for hardware video acceleration with AMD/ATI GPUs'
            'libva-vdpau-driver: for hardware video acceleration with NVIDIA GPUs')
provides=('chromium')
conflicts=('chromium')
source=(https://commondatastorage.googleapis.com/chromium-browser-official/chromium-${_chromium_version}.tar.xz
        chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz
        "ungoogled-chromium-${_ungoogled_version}.tar.gz::https://github.com/Eloston/ungoogled-chromium/archive/${_ungoogled_version}.tar.gz"
        "ungoogled-chromium-archlinux-${_ungoogled_archlinux_version}.tar.gz::https://github.com/ungoogled-software/ungoogled-chromium-archlinux/archive/${_ungoogled_archlinux_version}.tar.gz")
sha256sums=($(curl -sL https://commondatastorage.googleapis.com/chromium-browser-official/chromium-${_chromium_version}.tar.xz.hashes | grep sha256 | cut -d ' ' -f3)
            '04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1'
            'SKIP'
            'SKIP')

# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
# Keys are the names in the above script; values are the dependencies in Arch
declare -gA _system_libs=(
  [ffmpeg]=ffmpeg
  [flac]=flac
  [fontconfig]=fontconfig
  [freetype]=freetype2
  [harfbuzz-ng]=harfbuzz
  [icu]=icu
  [libdrm]=
  [libevent]=libevent
  [libjpeg]=libjpeg
  #[libpng]=libpng            # https://crbug.com/752403#c10
  [libvpx]=libvpx
  [libwebp]=libwebp
  [libxml]=libxml2
  [libxslt]=libxslt
  [opus]=opus
  [re2]=re2
  [snappy]=snappy
  [yasm]=
  [zlib]=minizip
)
_unwanted_bundled_libs=(
  ${!_system_libs[@]}
  ${_system_libs[libjpeg]+libjpeg_turbo}
)
depends+=(${_system_libs[@]})

prepare() {
  _ungoogled_archlinux_repo="$srcdir/$pkgname-${_ungoogled_archlinux_version}"
  _ungoogled_repo="$srcdir/ungoogled-chromium-${_ungoogled_version}"
  _utils="${_ungoogled_repo}/utils"

  cd "$srcdir/chromium-${_chromium_version}"

  msg2 'Fixing compile time bug on gcc9'
  patch -p1 --ignore-whitespace -i $_ungoogled_archlinux_repo/gcc-9-fix.patch --no-backup-if-mismatch
  msg2 'Pruning binaries'
  python "$_utils/prune_binaries.py" ./ "$_ungoogled_repo/pruning.list"
  msg2 'Applying patches'
  python "$_utils/patches.py" apply ./ "$_ungoogled_repo/patches" "$_ungoogled_archlinux_repo/patches"
  msg2 'Applying domain substitution'
  python "$_utils/domain_substitution.py" apply -r "$_ungoogled_repo/domain_regex.list" -f "$_ungoogled_repo/domain_substitution.list" -c domainsubcache.tar.gz ./

  # Force script incompatible with Python 3 to use /usr/bin/python2
  sed -i '1s|python$|&2|' third_party/dom_distiller_js/protoc_plugins/*.py

  # Remove bundled libraries for which we will use the system copies; this
  # *should* do what the remove_bundled_libraries.py script does, with the
  # added benefit of not having to list all the remaining libraries
  local _lib
  for _lib in ${_unwanted_bundled_libs[@]}; do
    find -type f -path "*third_party/$_lib/*" \
      \! -path "*third_party/$_lib/chromium/*" \
      \! -path "*third_party/$_lib/google/*" \
      \! -path './base/third_party/icu/*' \
      \! -path './third_party/crashpad/crashpad/third_party/zlib/zlib_crashpad.h' \
      \! -path './third_party/pdfium/third_party/freetype/include/pstables.h' \
      \! -path './third_party/yasm/run_yasm.py' \
      \! -regex '.*\.\(gn\|gni\|isolate\)' \
      -delete
  done

  python2 build/linux/unbundle/replace_gn_files.py \
    --system-libraries "${!_system_libs[@]}"
}

build() {
  _ungoogled_archlinux_repo="$srcdir/$pkgname-${_ungoogled_archlinux_version}"
  _ungoogled_repo="$srcdir/ungoogled-chromium-${_ungoogled_version}"

  make -C chromium-launcher-$_launcher_ver

  cd "$srcdir/chromium-${_chromium_version}"

  if check_buildoption ccache y; then
    # Avoid falling back to preprocessor mode when sources contain time macros
    export CCACHE_SLOPPINESS=time_macros
  fi

  export CC=clang
  export CXX=clang++
  export AR=llvm-ar
  export NM=llvm-nm

  mkdir -p out/Default

  # Assemble GN flags
  cp "$srcdir/ungoogled-chromium-${_ungoogled_version}/flags.gn" "out/Default/args.gn"
  printf '\n' >> "out/Default/args.gn"
  cat "$_ungoogled_archlinux_repo/flags.archlinux.gn" >> "out/Default/args.gn"

  # Facilitate deterministic builds (taken from build/config/compiler/BUILD.gn)
  CFLAGS+='   -Wno-builtin-macro-redefined'
  CXXFLAGS+=' -Wno-builtin-macro-redefined'
  CPPFLAGS+=' -D__DATE__=  -D__TIME__=  -D__TIMESTAMP__='

  msg2 'Configuring Chromium'
  gn gen out/Default --script-executable=/usr/bin/python2 --fail-on-unused-args
  msg2 'Building Chromium'
  ninja -C out/Default chrome chrome_sandbox chromedriver
}

package() {
  cd chromium-launcher-$_launcher_ver
  make PREFIX=/usr DESTDIR="$pkgdir" install
  install -Dm644 LICENSE \
    "$pkgdir/usr/share/licenses/chromium/LICENSE.launcher"

  cd "$srcdir/chromium-${_chromium_version}"

  install -D out/Default/chrome "$pkgdir/usr/lib/chromium/chromium"
  install -Dm4755 out/Default/chrome_sandbox "$pkgdir/usr/lib/chromium/chrome-sandbox"
  ln -s /usr/lib/$pkgname/chromedriver "$pkgdir/usr/bin/chromedriver"

  install -Dm644 chrome/installer/linux/common/desktop.template \
    "$pkgdir/usr/share/applications/chromium.desktop"
  install -Dm644 chrome/app/resources/manpage.1.in \
    "$pkgdir/usr/share/man/man1/chromium.1"
  sed -i \
    -e "s/@@MENUNAME@@/Chromium/g" \
    -e "s/@@PACKAGE@@/chromium/g" \
    -e "s/@@USR_BIN_SYMLINK_NAME@@/chromium/g" \
    "$pkgdir/usr/share/applications/chromium.desktop" \
    "$pkgdir/usr/share/man/man1/chromium.1"

  cp \
    out/Default/{chrome_{100,200}_percent,resources}.pak \
    out/Default/{*.bin,chromedriver} \
    "$pkgdir/usr/lib/chromium/"
  install -Dm644 -t "$pkgdir/usr/lib/chromium/locales" out/Default/locales/*.pak

  if [[ -z ${_system_libs[icu]+set} ]]; then
    cp out/Default/icudtl.dat "$pkgdir/usr/lib/chromium/"
  fi

  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 -Dm644 LICENSE "$pkgdir/usr/share/licenses/chromium/LICENSE"
}

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