Skip to content

build(deps): bump libc from 0.2.177 to 0.2.178 #4742

build(deps): bump libc from 0.2.177 to 0.2.178

build(deps): bump libc from 0.2.177 to 0.2.178 #4742

Workflow file for this run

on:
push:
branches: [main]
pull_request:
workflow_dispatch:
name: Windows
jobs:
build-deps:
name: Build dependencies with MSVC
runs-on: windows-latest
steps:
- uses: actions/cache@v4
id: cache
with:
path: c:/gnome
key: ${{ runner.os }}-gtk-rs-core-msvc-20
restore-keys: |
${{ runner.os }}-gtk-rs-core-msvc-20
- name: Set up the PATH environment
run: |
echo "C:\pkg-config-lite-0.28-1\bin" >> $GITHUB_PATH
echo "C:\gnome\bin" >> $GITHUB_PATH
shell: bash
- name: Install pkgconfig-lite
run: |
Invoke-WebRequest -UserAgent "Wget" -Uri https://downloads.sourceforge.net/project/pkgconfiglite/0.28-1/pkg-config-lite-0.28-1_bin-win32.zip -OutFile /pkg_config_lite.zip -MaximumRetryCount 5
Expand-Archive /pkg_config_lite.zip -DestinationPath C:\
pkg-config --version
- name: Clone dependencies
if: steps.cache.outputs.cache-hit != 'true'
shell: bash
run: |
cd /c
git clone https://github.com/madler/zlib.git --depth 1
git clone https://github.com/pnggroup/libpng.git --depth 1 --branch libpng16
git clone https://gitlab.freedesktop.org/pixman/pixman.git --depth 1
git clone https://gitlab.freedesktop.org/freetype/freetype.git --depth 1
git clone https://gitlab.gnome.org/GNOME/glib.git --depth 1
git clone https://github.com/harfbuzz/harfbuzz.git --depth 1
git clone https://gitlab.freedesktop.org/cairo/cairo.git --depth 1
git clone https://github.com/fribidi/fribidi.git --depth 1
git clone https://gitlab.gnome.org/GNOME/pango.git --depth 1
git clone https://gitlab.gnome.org/GNOME/gdk-pixbuf.git --depth 1
git clone https://github.com/ebassi/graphene.git --depth 1
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: "3.x"
- name: Install Python Dependencies
run: pip install meson ninja setuptools packaging
- name: Setup MSVC
uses: bus1/cabuild/action/msdevshell@v1
with:
architecture: x64
- name: Set PKG_CONFIG_PATH
shell: bash
run: |
echo "PKG_CONFIG_PATH=C:/gnome/lib/pkgconfig" >> $GITHUB_ENV
- name: Remove conflicting link.exe from Git
if: steps.cache.outputs.cache-hit != 'true'
shell: bash
run: |
rm -f "/c/Program Files/Git/usr/bin/link.exe"
- name: Build and install dependencies
if: steps.cache.outputs.cache-hit != 'true'
shell: bash
run: |
# Build zlib
cd /c/zlib
cmake -S . -B builddir -DCMAKE_INSTALL_PREFIX=C:/gnome -DCMAKE_BUILD_TYPE=Release
cmake --build builddir --config Release
cmake --install builddir --config Release
# Build libpng
cd /c/libpng
cmake -S . -B builddir -DCMAKE_INSTALL_PREFIX=C:/gnome -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=C:/gnome -DPNG_TESTS=OFF
cmake --build builddir --config Release
cmake --install builddir --config Release
# Build pixman
cd /c/pixman
meson setup builddir --prefix=C:/gnome -Dtests=disabled
meson install -C builddir
# Build FreeType (without HarfBuzz first)
cd /c/freetype
meson setup builddir --prefix=C:/gnome -Dharfbuzz=disabled -Dpng=enabled -Dzlib=enabled
meson install -C builddir
# Build GLib
cd /c/glib
meson setup builddir --prefix=C:/gnome -Dtests=false -Dsysprof=disabled
meson install -C builddir
# Build HarfBuzz
cd /c/harfbuzz
meson setup builddir --prefix=C:/gnome -Dtests=disabled -Ddocs=disabled -Dcairo=disabled -Dglib=enabled -Dfreetype=enabled
meson install -C builddir
# Rebuild FreeType with HarfBuzz
cd /c/freetype
meson setup builddir --prefix=C:/gnome -Dharfbuzz=enabled -Dpng=enabled -Dzlib=enabled --wipe
meson install -C builddir
# Build cairo
cd /c/cairo
meson setup builddir --prefix=C:/gnome -Dtests=disabled -Dglib=enabled
meson install -C builddir
# Build Fribidi
cd /c/fribidi
meson setup builddir --prefix=C:/gnome -Dtests=false -Ddocs=false
meson install -C builddir
# Build Pango
cd /c/pango
meson setup builddir --prefix=C:/gnome -Dintrospection=disabled -Dbuild-testsuite=false -Dbuild-examples=false
meson install -C builddir
# Build gdk-pixbuf
cd /c/gdk-pixbuf
meson setup builddir --prefix=C:/gnome -Dtests=false -Dintrospection=disabled -Dman=false
meson install -C builddir
# Build graphene
cd /c/graphene
meson setup builddir --prefix=C:/gnome -Dtests=false -Dintrospection=disabled
meson install -C builddir
build:
name: Build gtk-rs on Windows
runs-on: windows-latest
needs: build-deps
strategy:
matrix:
conf:
- { name: "cairo", test: true, args: "--features png,pdf,svg,ps,use_glib,v1_16,freetype,script,win32-surface" }
- { name: "gdk-pixbuf", test: true, args: "--features v2_42" }
- { name: "gio", test: true, args: "--features v2_80" }
- { name: "gio-win32", test: true, args: "--features v2_84" }
- { name: "glib", test: true, args: "--features v2_80" }
- { name: "glib-win32", test: true }
- { name: "glib-build-tools", test: false, args: "" }
- { name: "graphene", test: false, args: "" }
- { name: "pango", test: true, args: "--features v1_52" }
- { name: "pangocairo", test: true, args: "" }
- { name: "examples", test: false, args: "--bins --examples --all-features" }
steps:
- uses: actions/checkout@v6
- uses: actions/cache@v4
id: cache
with:
path: c:/gnome
key: ${{ runner.os }}-gtk-rs-core-msvc-20
restore-keys: |
${{ runner.os }}-gtk-rs-core-msvc-20
- name: Set up env
run: |
echo "PKG_CONFIG=C:\pkg-config-lite-0.28-1\bin\pkg-config.exe" >> $GITHUB_ENV
echo "PKG_CONFIG_PATH=C:/gnome/lib/pkgconfig" >> $GITHUB_ENV
echo "C:\pkg-config-lite-0.28-1\bin" >> $GITHUB_PATH
echo "C:\gnome\bin" >> $GITHUB_PATH
shell: bash
- name: Install pkgconfig-lite
run: |
Invoke-WebRequest -UserAgent "Wget" -Uri https://downloads.sourceforge.net/project/pkgconfiglite/0.28-1/pkg-config-lite-0.28-1_bin-win32.zip -OutFile /pkg_config_lite.zip -MaximumRetryCount 5
Expand-Archive /pkg_config_lite.zip -DestinationPath C:\
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
default: true
- name: test
uses: actions-rs/cargo@v1
with:
command: test
args: --manifest-path ${{ matrix.conf.name }}/Cargo.toml ${{ matrix.conf.args }}
if: matrix.conf.test
- name: test sys
uses: actions-rs/cargo@v1
with:
command: test
args: --manifest-path ${{ matrix.conf.name }}/sys/Cargo.toml ${{ matrix.conf.args }}
if: matrix.conf.name != 'examples' && matrix.conf.name != 'glib-build-tools'
- name: build
uses: actions-rs/cargo@v1
with:
command: build
args: --manifest-path ${{ matrix.conf.name }}/Cargo.toml ${{ matrix.conf.args }}