Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
DavidZbarsky-at committed Oct 20, 2023
0 parents commit 4f1caf6
Show file tree
Hide file tree
Showing 5 changed files with 125 additions and 0 deletions.
23 changes: 23 additions & 0 deletions .github/workflows/amd64-linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: release-amd64-linux

on:
push:
tags:
- "v*.*.*"

jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Build
run: NAME="debian_bullseye_amd64_sysroot" LIB_ARCH="x86_64" URL="https://commondatastorage.googleapis.com/chrome-linux-sysroot/toolchain/f5f68713249b52b35db9e08f67184cac392369ab/debian_bullseye_amd64_sysroot.tar.xz" ./build.sh

- name: Release artifact
uses: softprops/action-gh-release@v1
with:
files: |
debian_bullseye_amd64_sysroot.tar.xz
debian_bullseye_amd64_sysroot.tar.zst
23 changes: 23 additions & 0 deletions .github/workflows/arm64-linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: release-arm64-linux

on:
push:
tags:
- "v*.*.*"

jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Build
run: NAME="debian_bullseye_arm64_sysroot" LIB_ARCH="aarch64" URL="https://commondatastorage.googleapis.com/chrome-linux-sysroot/toolchain/80fc74e431f37f590d0c85f16a9d8709088929e8/debian_bullseye_arm64_sysroot.tar.xz" ./build.sh

- name: Release artifact
uses: softprops/action-gh-release@v1
with:
files: |
debian_bullseye_arm64_sysroot.tar.xz
debian_bullseye_arm64_sysroot.tar.zst
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
clang+llvm-16.0.3-arm64-apple-darwin22.0*
bin/
*.swp
74 changes: 74 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
set -eux

curl -L "$URL" -o src.tar.xz
tar -xvf src.tar.xz \
"./lib" \
"./usr/include" \
"./usr/lib/gcc" \
"./usr/lib/$LIB_ARCH-linux-gnu" \
&>/dev/null

# Cleanup some includes Chrome uses.
# TODO(zbarsky): It would be cleaner to start from a clean state and build a more minimal sysroot.

rm -rf "usr/include/EGL"
rm -rf "usr/include/FLAC"
rm -rf "usr/include/GL"
rm -rf "usr/include/GLES"
rm -rf "usr/include/GLES2"
rm -rf "usr/include/GLES3"
rm -rf "usr/include/X11"
rm -rf "usr/include/alsa"
rm -rf "usr/include/at-spi-2.0"
rm -rf "usr/include/atk-1.0"
rm -rf "usr/include/bluetooth"
rm -rf "usr/include/cairo"
rm -rf "usr/include/dbus-1.0"
rm -rf "usr/include/epoxy"
rm -rf "usr/include/freetype2"
rm -rf "usr/include/fribidi"
rm -rf "usr/include/gdk-pixbuf-2.0"
rm -rf "usr/include/glib-2.0"
rm -rf "usr/include/gio-unix-2.0"
rm -rf "usr/include/gnutls"
rm -rf "usr/include/graphene-1.0"
rm -rf "usr/include/gtk-3.0"
rm -rf "usr/include/gtk-4.0"
rm -rf "usr/include/harfbuzz"
rm -rf "usr/include/libevdev-1.0"
rm -rf "usr/include/libxml2"
rm -rf "usr/include/jsoncpp"
rm -rf "usr/include/krb5"
rm -rf "usr/include/libdbusmenu-glib-0.4"
rm -rf "usr/include/libdrm"
rm -rf "usr/include/libpng"*
rm -rf "usr/include/libxslt"
rm -rf "usr/include/linux"
rm -rf "usr/include/mit-krb5"
rm -rf "usr/include/nspr"
rm -rf "usr/include/nss"
rm -rf "usr/include/openssl"
rm -rf "usr/include/opus"
rm -rf "usr/include/pango-1.0"
rm -rf "usr/include/pipewire-0.3"
rm -rf "usr/include/pulse"
rm -rf "usr/include/spa-0.2"
rm -rf "usr/include/sound"
rm -rf "usr/include/systemd"
rm -rf "usr/include/xcb"
rm -rf "usr/include/xkbcommon"
rm -rf "usr/include/valgrind"
rm -rf "usr/include/vulkan"
rm -rf "usr/include/webp"
rm -rf "usr/include/zlib.h"
rm -rf "usr/include/$LIB_ARCH-linux-gnu/qt5"
rm -rf "usr/include/$LIB_ARCH-linux-gnu/qt6"

mv "./usr/lib/$LIB_ARCH-linux-gnu" "./usr/lib/$LIB_ARCH-linux-gnu-backup"
mkdir "./usr/lib/$LIB_ARCH-linux-gnu"

mv "./usr/lib/$LIB_ARCH-linux-gnu-backup"/{*.o,libc*,libm*,libpthread*,librt*} "./usr/lib/$LIB_ARCH-linux-gnu"
rm -rf "./usr/lib/$LIB_ARCH-linux-gnu-backup"

tar -cJf "$NAME.tar.xz" lib/ usr/
tar -cf lib/ usr/ | zstd -o "$NAME.tar.zst"
2 changes: 2 additions & 0 deletions release.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
git tag -a $VERSION -m "$VERSION"
git push origin $VERSION

0 comments on commit 4f1caf6

Please sign in to comment.