Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
executable file 140 lines (109 sloc) 4.22 KB
#! /bin/bash -x
PKG=chromium
VERSION=86.0.4240.183
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
#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'
'enable_platform_hevc=true'
'enable_platform_ac3_eac3_audio=true'
'enable_platform_mpeg_h_audio=true'
'enable_precompiled_headers=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
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