summaryrefslogtreecommitdiff
path: root/repo/apps/chromium.xibuild
diff options
context:
space:
mode:
authordavidovski <david@davidovski.xyz>2022-05-04 23:52:30 +0100
committerdavidovski <david@davidovski.xyz>2022-05-04 23:52:30 +0100
commit739c65c54cb0e957df5e9b76f93fb02554e5cac3 (patch)
tree09ddfa0a342f3ea9de136cb50abdd79821bf1b53 /repo/apps/chromium.xibuild
parent4c585ad54388285500fd18a6aaa516894e0f2c16 (diff)
moved everything to new file formatting
Diffstat (limited to 'repo/apps/chromium.xibuild')
-rw-r--r--repo/apps/chromium.xibuild287
1 files changed, 0 insertions, 287 deletions
diff --git a/repo/apps/chromium.xibuild b/repo/apps/chromium.xibuild
deleted file mode 100644
index 2edfbd3..0000000
--- a/repo/apps/chromium.xibuild
+++ /dev/null
@@ -1,287 +0,0 @@
-#!/bin/sh
-
-NAME="chromium"
-DESC="Chromium webbrowser (ungoogled)"
-
-MAKEDEPS="meson ninja hwids compiler-rt lld pciutils"
-DEPS="alsa-lib at-spi2-atk at-spi2-core atk cairo dbus eudev expat ffmpeg4 flac font-opensans fontconfig freetype2 glib gtk3 harfbuzz lcms2 libdrm libevent libjpeg-turbo libpng pulseaudio libwebp libx11 libxcb libxcomposite libxdamage libxext libxfixes libxkbcommon libxml2 libxrandr libxslt mesa musl nspr nss opus pango re2 snappy wayland xdg-utils nodejs"
-
-PKG_VER=100.0.4896.127
-
-SOURCE="https://commondatastorage.googleapis.com/chromium-browser-official/chromium-$PKG_VER.tar.xz"
-
-fonts_package=cd96fc55dc243f6c6f4cb63ad117cad6cd48dceb
-_launcher_ver=8
-ADDITIONAL="
-https://github.com/Eloston/ungoogled-chromium/archive/$PKG_VER-1.tar.gz
-https://chromium-fonts.storage.googleapis.com/$fonts_package
-
-chromium-VirtualCursor-standard-layout.patch
-chromium-revert-drop-of-system-java.patch
-chromium-use-alpine-target.patch
-chromium.conf
-chromium-launcher.sh
-chromium.desktop
-credentials-header.patch
-default-pthread-stacksize.patch
-elf-arm.patch
-fix-narrowing-cast.patch
-fix-unittests-sandbox.patch
-gcc-arm.patch
-gdbinit.patch
-google-api.keys
-media-base.patch
-memory-tagging-arm64.patch
-musl-crashpad.patch
-musl-fixes.patch
-musl-hacks.patch
-musl-libc++.patch
-musl-sandbox.patch
-musl-stat.patch
-musl-tid-caching.patch
-musl-v8-monotonic-pthread-cont_timedwait.patch
-nasm.patch
-no-execinfo.patch
-no-getcontext.patch
-no-mallinfo.patch
-quiche-arena-size.patch
-resolver.patch
-revert-use-ffile-compilation-dir.patch
-scoped-file.patch
-system-opus.patch
-use-deprecated-ffmpeg-api.patch
-unbundle-ffmpeg-av_stream_get_first_dts.patch
-use-oauth2-client-switches-as-default.patch
-wayland-egl.patch
-webcodecs-stop-using-AudioOpusEncoder.patch
-"
-
-prepare () {
- apply_patches
-
- # Congratulations, you have found a bug! The bug is in the application that uses this internal glibc header
- files="third_party/libsync/src/include/sync/sync.h
- third_party/crashpad/crashpad/compat/linux/sys/ptrace.h
- base/allocator/allocator_shim_internals.h"
- for f in $files; do
- sed -i "s/__BEGIN_DECLS/#ifdef __cplusplus\nextern \"C\" {\n#endif/g" $f
- sed -i "s/__END_DECLS/#ifdef __cplusplus\n}\n#endif/g" $f
- sed -i "s,#include <sys/cdefs.h>,," $f
- done
-
- # prevent annoying errors when regenerating gni
- sed -i 's,^update_readme$,#update_readme,' \
- third_party/libvpx/generate_gni.sh
-
- # allow system dependencies in "official builds"
- sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
- tools/generate_shim_headers/generate_shim_headers.py
-
-
- tar xf chromium-launcher-$_launcher_ver.tar.gz
- tar xf $fonts_package
- tar xf $PKG_VER-1.tar.gz
- ungoogled_repo="ungoogled-chromium-$PKG_VER-1"
- utils="${ungoogled_repo}/utils"
-
- python "$utils/prune_binaries.py" ./ "$ungoogled_repo/pruning.list"
- python "$utils/patches.py" apply ./ "$ungoogled_repo/patches"
- python "$utils/domain_substitution.py" apply -r "$ungoogled_repo/domain_regex.list" \
- -f "$ungoogled_repo/domain_substitution.list" -c domainsubcache.tar.gz ./
-
- mv test_fonts ./third_party/test_fonts
-
- sed 's|//third_party/usb_ids/usb.ids|/usr/share/hwdata/usb.ids|g' \
- -i services/device/public/cpp/usb/BUILD.gn
-
- mkdir -p third_party/node/linux/node-linux-x64/bin
- ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/
-
- # 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 use_system="
- ffmpeg
- flac
- fontconfig
- freetype
- harfbuzz-ng
- libdrm
- libevent
- libjpeg
- libwebp
- libxml
- libxslt
- opus
- re2
- snappy
- "
-
- local _lib
- for _lib in ${use_system}; do
- for f in $(find "third_party/$_lib/chromium" "third_party/$_lib/google" -type f \( -name "*.gn" -or -name "*.gni" -or -name "*.isolate" \)); do
- echo "removing $f to use system $_lib"
- rm $f
- done
- done
-
- python build/linux/unbundle/replace_gn_files.py \
- --system-libraries ${use_system}
- python third_party/libaddressinput/chromium/tools/update-strings.py
-}
-
-build () {
- export CC=clang
- export CXX=clang++
- export LD=clang++
- export AR=ar
- export NM=nm
-
- flags="
-custom_toolchain=\"//build/toolchain/linux/unbundle:default\"
-host_toolchain=\"//build/toolchain/linux/unbundle:default\"
-enable_nacl=false
-use_sysroot=false
-clang_use_chrome_plugins=false
-is_clang=true
-use_lld=false
-gold_path=\"/usr/bin/ld.gold\"
-use_custom_libcxx=false
-use_gold=false
-is_debug=false
-blink_symbol_level=0
-symbol_level=0
-icu_use_data_file=true
-use_allocator=\"none\"
-use_allocator_shim=false
-enable_widevine=true
-use_system_harfbuzz=false
-use_system_wayland_scanner=true
-use_cups=false
-use_gnome_keyring=false
-use_vaapi=true
-enable_js_type_check=true
-use_pulseaudio=true
-link_pulseaudio=true
-rtc_use_pipewire=true
-proprietary_codecs=false
-ffmpeg_branding=\"Chrome\"
-fatal_linker_warnings=false
-disable_fieldtrial_testing_config=true
-is_official_build=true
-is_cfi=false
-use_thin_lto=false
-use_cfi_icall=false
-chrome_pgo_phase=0
- "
-
- # Append ungoogled chromium flags to _flags array
- flags="$flags
- $(cat "ungoogled-chromium-$PKG_VER-1/flags.gn")
- "
-
- # Facilitate deterministic builds (taken from build/config/compiler/BUILD.gn)
- CFLAGS="$CFLAGS -Wno-builtin-macro-redefined"
- CXXFLAGS="$CXXFLAGS -Wno-builtin-macro-redefined"
- CPPFLAGS="$CPPFLAGS -D__DATE__= -D__TIME__= -D__TIMESTAMP__="
-
- # Do not warn about unknown warning options
- CFLAGS="$CFLAGS -Wno-unknown-warning-option"
- CXXFLAGS="$CXXFLAGS -Wno-unknown-warning-option"
-
- python3 tools/gn/bootstrap/bootstrap.py -s -v --skip-generate-buildfiles
-
- ./out/Release/gn gen out/Release --args="$flags"
-
- ninja -C out/Release mksnapshot
- ninja -C out/Release v8_context_snapshot_generator
-
- ulimit -n 2048
- ninja -C out/Release chrome chrome_sandbox chromedriver
-}
-
-package () {
- install -Dm755 chromium-launcher.sh \
- "$PKG_DEST"/usr/lib/chromium/chromium-launcher.sh
-
- install -D out/Release/chrome "$PKG_DEST/usr/lib/chromium/chromium"
- install -D out/Release/chromedriver "$PKG_DEST/usr/bin/chromedriver"
- install -Dm4755 out/Release/chrome_sandbox "$PKG_DEST/usr/lib/chromium/chrome-sandbox"
-
- install -Dm644 ../chromium-drirc-disable-10bpc-color-configs.conf \
- "$PKG_DEST/usr/share/drirc.d/10-chromium.conf"
-
- install -Dm644 chrome/installer/linux/common/desktop.template \
- "$PKG_DEST/usr/share/applications/chromium.desktop"
- install -Dm644 chrome/app/resources/manpage.1.in \
- "$PKG_DEST/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' \
- "$PKG_DEST/usr/share/applications/chromium.desktop" \
- "$PKG_DEST/usr/share/man/man1/chromium.1"
-
- install -Dm644 chrome/installer/linux/common/chromium-browser/chromium-browser.appdata.xml \
- "$PKG_DEST/usr/share/metainfo/chromium.appdata.xml"
- sed -ni \
- -e 's/chromium-browser\.desktop/chromium.desktop/' \
- -e '/<update_contact>/d' \
- -e '/<p>/N;/<p>\n.*\(We invite\|Chromium supports Vorbis\)/,/<\/p>/d' \
- -e '/^<?xml/,$p' \
- "$PKG_DEST/usr/share/metainfo/chromium.appdata.xml"
-
- local toplevel_files="
-chrome_100_percent.pak
-chrome_200_percent.pak
-chrome_crashpad_handler
-resources.pak
-v8_context_snapshot.bin
-snapshot_blob.bin
-xdg-mime
-xdg-settings
-libEGL.so
-libGLESv2.so
-libvk_swiftshader.so
-vk_swiftshader_icd.json
-icudtl.dat
-libvulkan.so.1
- "
-
- mkdir -p "$PKG_DEST/usr/lib/chromium"
- mkdir -p "$PKG_DEST/usr/lib/chromium/locales"
- mkdir -p "$PKG_DEST/usr/lib/chromium/swiftshader"
-
- for file in $toplevel_files; do
- cp out/Release/$file "$PKG_DEST/usr/lib/chromium/"
- done
-
- for locale in out/Release/locales/* ; do
- install -Dm644 $locale "$PKG_DEST/usr/lib/chromium/locales"
- done
- for shader in out/Release/swiftshader/*.so; do
- install -Dm755 $shader "$PKG_DEST/usr/lib/chromium/swiftshader"
- done
-
- for size in 24 48 64 128 256; do
- install -Dm644 "chrome/app/theme/chromium/product_logo_$size.png" \
- "$PKG_DEST/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" \
- "$PKG_DEST/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
- done
-
- install -Dm644 LICENSE "$PKG_DEST/usr/share/licenses/chromium/LICENSE"
-
- mkdir -p "$PKG_DEST"/usr/bin
- ln -sf /usr/lib/chromium/chromium-launcher.sh "$PKG_DEST"/usr/bin/chromium-browser
- install -Dm644 chromium.conf \
- "$PKG_DEST"/etc/chromium/chromium.conf
-
- install -Dm644 chromium.desktop \
- "$PKG_DEST"/usr/share/applications/chromium.desktop
-
-}