Skip to content

Add Chromium 81.0.4044.92 #112

Merged
merged 1 commit into from
Apr 20, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
137 changes: 137 additions & 0 deletions chromium-81.0.4044.92-0.build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
#! /bin/bash

PKG=chromium
VERSION=81.0.4044.92
BUILD=0

PREFIX=/pkg/$PKG-$VERSION-$BUILD
if [ -n "$TESTING" ]; then PREFIX=/scratch/local2/$PKG-$VERSION-$BUILD ; fi

set -xe
umask 022

BUILD_TMPDIR=/scratch/local2/$PKG-$VERSION-$BUILD.build.tmp
test -d $BUILD_TMPDIR && rm -rf $BUILD_TMPDIR
mkdir -p $BUILD_TMPDIR/home
export TMPDIR=$BUILD_TMPDIR
export HOME=$BUILD_TMPDIR/home

exec </dev/null

mkdir -p $PREFIX
cat >$PREFIX/profile <<-EOF
PATH=$PREFIX/bin:\$PATH
if [ -d $PREFIX/.compatlibs ]; then export LD_LIBRARY_PATH=$PREFIX/.compatlibs\${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH} ; fi
EOF
. $PREFIX/profile

export MAKEFLAGS="-j $(nproc)"

BUILDDIR=$PREFIX/build

#source google API Zeug; wird benoetigt damit browser sync funktioniert
dirname="$(dirname $0)"
if [ -f ${dirname}/google_api_zeug ]; then
. ${dirname}/google_api_zeug
else
echo "google_default_client_id, google_api_key und google_default_client_secret wird benoetigt, damit Browser Sync funktioniert(siehe HelmutSchmidtSeite)."
exit 1
# uncomment if you want it with out api key
fi

mkdir -p $BUILDDIR
cd $BUILDDIR

#test -d depot_tools || git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

PATH=$PREFIX/build/depot_tools:$PATH

test -e ${PKG}-${VERSION}.tar.xz || wget https://commondatastorage.googleapis.com/${PKG}-browser-official/${PKG}-${VERSION}.tar.xz
test -d ${PKG}-${VERSION} || tar xvf ${PKG}-${VERSION}.tar.xz

cd ${PKG}-${VERSION}

patch -p1 < /src/mariux/patches/chromium-api-warning.patch
patch -p1 < /src/mariux/patches/chromium-72-as-needed.patch
patch -p1 < /src/mariux/patches/chromium-72-unused-typedefs.patch

#Create Directories for Build and Install
test -d $PREFIX/bin || mkdir $PREFIX/bin
test -d out || mkdir out

mkdir -p third_party/node/linux/node-linux-x64/bin
if [ ! -e third_party/node/linux/node-linux-x64/bin/node ]; then
ln -s /pkg/node-10.16.0-0/bin/node third_party/node/linux/node-linux-x64/bin/
fi
# Download the NaCL toolchains:
python2 build/download_nacl_toolchains.py --packages nacl_x86_newlib,pnacl_newlib,pnacl_translator sync --extract
# Do not make the build fail, see Chromium issue #386097:
python2 third_party/libaddressinput/chromium/tools/update-strings.py

# Fix for: ERROR at //build/config/sysroot.gni:57:5: Assertion failed
python2 build/linux/sysroot_scripts/install-sysroot.py --arch=amd64

# Generate the ninja build files:
python2 tools/gn/bootstrap/bootstrap.py

python2 tools/clang/scripts/build.py \
--skip-checkout \
--use-system-cmake \
--without-android \
--without-fuchsia

#Ensure that only this clang version is used
export PATH=${BUILDDIR}/${PKG}-${VERSION}/third_party/llvm-build/Release+Asserts/bin:$PATH

_chromium_conf=(
'is_debug=false'
'remove_webcore_debug_symbols=true'
'use_gnome_keyring=true'
'treat_warnings_as_errors=false'
'enable_nacl=true'
'use_sysroot=true'
'is_official_build=true'
'fatal_linker_warnings=false'
"google_api_key=\"$google_api_key\""
"google_default_client_id=\"$google_default_client_id\""
"google_default_client_secret=\"$google_default_client_secret\""
)

# make sure to use python2
source /pkg/python-2.7.16-0/profile

out/Release/gn gen out/Release --args="${_chromium_conf[*]}"

#ninja -C out/Release pdf chrome chromedriver chrome_sandbox
ninja -C out/Release chrome

install -D out/Release/chrome ${PREFIX}/bin/chrome2

cp -a out/Release/*.pak ${PREFIX}/bin/
cp -a out/Release/*.so ${PREFIX}/bin/
cp -a out/Release/nacl_helper{,_bootstrap,_nonsfi} ${PREFIX}/bin/
cp -a out/Release/nacl_irt_*.nexe ${PREFIX}/bin/
cp -a out/Release/icudtl.dat ${PREFIX}/bin/
cp -a out/Release/locales ${PREFIX}/bin/
cp -ar out/Release/swiftshader ${PREFIX}/bin/

for i in out/Release/{natives_blob.bin,snapshot_blob.bin,v8_context_snapshot.bin}; do
if [ -f $i ]; then
cp -a $i ${PREFIX}/bin/
fi
done
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Out of curiosity, why did you change the cp -a to a for loop?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They remove f.e. native_blob.bin and I am not sure, if they bring it back or remove the next one.
So I decide to do it this way.


strip --strip-unneeded ${PREFIX}/bin/*.so
strip --strip-unneeded ${PREFIX}/bin/chrome2
strip --strip-unneeded ${PREFIX}/bin/nacl_helper{,_bootstrap,_nonsfi}
strip --strip-unneeded ${PREFIX}/bin/swiftshader/*.so

cat >$PREFIX/bin/chromium <<-EOF
#!/usr/bin/bash
$PREFIX/bin/chrome2 --password-store=basic \${@}
EOF
chmod a+x $PREFIX/bin/chromium
cd $PREFIX/bin
ln -s chromium chrome

exit