From 84c3f232af5369fefd61e59230668fc3bb7220ea Mon Sep 17 00:00:00 2001 From: david Date: Wed, 17 Aug 2022 12:28:02 +0200 Subject: [PATCH 1/2] chromium-104: add script --- chromium-104.0.5112.101-0.build.sh | 163 +++++++++++++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100755 chromium-104.0.5112.101-0.build.sh diff --git a/chromium-104.0.5112.101-0.build.sh b/chromium-104.0.5112.101-0.build.sh new file mode 100755 index 0000000..04a00e7 --- /dev/null +++ b/chromium-104.0.5112.101-0.build.sh @@ -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 $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 From 533dc1c66d252f1c3c102a493c46478e9ca4ba28 Mon Sep 17 00:00:00 2001 From: david Date: Thu, 18 Aug 2022 12:00:12 +0200 Subject: [PATCH 2/2] Chromium:Add version 104.0.5112.101 --- chromium-104.0.5112.101-0.build.sh | 43 +++++++++++++++--------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/chromium-104.0.5112.101-0.build.sh b/chromium-104.0.5112.101-0.build.sh index 04a00e7..bdb23e3 100755 --- a/chromium-104.0.5112.101-0.build.sh +++ b/chromium-104.0.5112.101-0.build.sh @@ -1,13 +1,16 @@ #! /bin/bash -x +set -xe + +#COOKIE=$(mcookie|cut -c-8); grep -v V_GREP_ME $0 > /dev/shm/runme-$COOKIE.sh ; sleep 0.3; exec bash /dev/shm/runme-$COOKIE.sh + PKG=chromium -VERSION=100.0.4896.60 +VERSION=104.0.5112.101 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 @@ -32,7 +35,11 @@ BUILDDIR=$PREFIX/build #source google API Zeug; wird benoetigt damit browser sync funktioniert dirname="$(dirname $0)" if [ -f ${dirname}/google_api_zeug ]; then + #geht nur ohne COOKIE . ${dirname}/google_api_zeug +elif [[ $0 == "/dev/shm/runme-"*".sh" ]]; then + #muss ich mir nich was besseres ueberlegen + . /home/schrader/git_zeug/pkg-scripts/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 @@ -48,7 +55,7 @@ if [ -d ${PKG}-${VERSION} ];then 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 +test -d ${PKG}-${VERSION} || tar xf ${PKG}-${VERSION}.tar.xz cd ${PKG}-${VERSION} @@ -58,7 +65,7 @@ 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/ + ln -s /pkg/node-16.16.0-0/bin/node third_party/node/linux/node-linux-x64/bin/ fi # Add essential proprietary codecs to the "chrome" branding of ffmpeg: @@ -71,19 +78,8 @@ python3 third_party/libaddressinput/chromium/tools/update-strings.py 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 +python3 tools/clang/scripts/update.py #Ensure that only this clang version is used export PATH=${BUILDDIR}/${PKG}-${VERSION}/third_party/llvm-build/Release+Asserts/bin:$PATH @@ -100,6 +96,8 @@ python3 chromium/scripts/generate_gn.py cd ${BUILDDIR}/${PKG}-${VERSION} +python3 tools/gn/bootstrap/bootstrap.py + _chromium_conf=( 'blink_enable_generated_code_formatting=false' 'blink_symbol_level=0' @@ -124,22 +122,26 @@ _chromium_conf=( 'enable_vulkan=true' ) -# make sure to use python2 +# make sure to use python3 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 +ninja -C out/Release pdf chrome chromedriver chrome_sandbox +#ninja -C out/Release chrome install -D out/Release/chrome ${PREFIX}/bin/chrome2 +install -m755 out/Release/chromedriver ${PREFIX}/bin/ +install -m755 out/Release/chrome_sandbox ${PREFIX}/bin/ +install -m755 out/Release/chrome_crashpad_handler ${PREFIX}/bin/ + 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/ +cp -a out/Release/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 @@ -150,7 +152,6 @@ 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