-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #186 from mariux64/chromium-100-update
Chromium 100.0.4896.60
- Loading branch information
Showing
1 changed file
with
163 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,163 @@ | ||
#! /bin/bash -x | ||
|
||
PKG=chromium | ||
VERSION=100.0.4896.60 | ||
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 | ||
|
||
# clean for rebuild | ||
if [ -d ${PKG}-${VERSION} ];then | ||
rm -rf ${PKG}-${VERSION} | ||
fi | ||
|
||
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} | ||
|
||
#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-14.17.1-0/bin/node third_party/node/linux/node-linux-x64/bin/ | ||
fi | ||
|
||
# Add essential proprietary codecs to the "chrome" branding of ffmpeg: | ||
cat /src/mariux/patches/chromium_ffmpeg_prop.patch | patch -p1 | ||
|
||
# Do not make the build fail, see Chromium issue #386097: | ||
python3 third_party/libaddressinput/chromium/tools/update-strings.py | ||
|
||
# Fix for: ERROR at //build/config/sysroot.gni:57:5: Assertion failed | ||
python3 build/linux/sysroot_scripts/install-sysroot.py --arch=amd64 | ||
|
||
# Generate the ninja build files: | ||
python3 tools/gn/bootstrap/bootstrap.py | ||
|
||
if [ -d $BUILDDIR/llvm-build ]; then | ||
rm -r third_party/llvm-build | ||
ln -sf $BUILDDIR/llvm-build third_party/llvm-build | ||
else | ||
python3 tools/clang/scripts/build.py \ | ||
--skip-checkout \ | ||
--use-system-cmake \ | ||
--without-android \ | ||
--without-fuchsia | ||
cp -avr third_party/llvm-build $BUILDDIR | ||
fi | ||
|
||
#Ensure that only this clang version is used | ||
export PATH=${BUILDDIR}/${PKG}-${VERSION}/third_party/llvm-build/Release+Asserts/bin:$PATH | ||
|
||
#ffmpeg and HEVC want to play together now :) | ||
cd third_party/ffmpeg | ||
FFMPEG_BRANDING=Chrome | ||
echo " +- Adding HEVC support..." | ||
FFMPEG_CUSTOM_ARGS="--enable-decoder=hevc --enable-demuxer=hevc --enable-parser=hevc" | ||
python3 chromium/scripts/build_ffmpeg.py linux x64 \ | ||
--branding ${FFMPEG_BRANDING} -- ${FFMPEG_CUSTOM_ARGS} | ||
chromium/scripts/copy_config.sh | ||
python3 chromium/scripts/generate_gn.py | ||
|
||
cd ${BUILDDIR}/${PKG}-${VERSION} | ||
|
||
_chromium_conf=( | ||
'blink_enable_generated_code_formatting=false' | ||
'blink_symbol_level=0' | ||
'is_debug=false' | ||
#'remove_webcore_debug_symbols=true' | ||
'use_gnome_keyring=true' | ||
'treat_warnings_as_errors=false' | ||
'enable_nacl=false' | ||
'use_sysroot=true' | ||
'is_official_build=true' | ||
'fatal_linker_warnings=false' | ||
'enable_platform_hevc=true' | ||
'proprietary_codecs=true' | ||
'enable_platform_ac3_eac3_audio=true' | ||
'enable_platform_mpeg_h_audio=true' | ||
"ffmpeg_branding=\"${FFMPEG_BRANDING}\"" | ||
'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\"" | ||
'enable_js_type_check=false' | ||
'enable_vulkan=true' | ||
) | ||
|
||
# make sure to use python2 | ||
source /pkg/python-3.9.7-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/libvulkan.so.1 ${PREFIX}/bin/ | ||
cp -a out/Release/icudtl.dat ${PREFIX}/bin/ | ||
cp -a out/Release/locales ${PREFIX}/bin/ | ||
cp -a out/Release/{swiftshader,angledata} ${PREFIX}/bin/ | ||
install -m755 out/Release/vk_swiftshader_icd.json ${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/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 |