Skip to content

Commit 32dcdca

Browse files
committed
ci/toolchain: stop using nix
Using nix causes issues with libraries when building newlib using a cached toolchain (classic nix behaviour ...). Stop using nix for this task and install the few required packages manually instead.
1 parent d267360 commit 32dcdca

1 file changed

Lines changed: 35 additions & 11 deletions

File tree

.github/workflows/build-toolchain.yml

Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -95,19 +95,19 @@ jobs:
9595
key: ${{ runner.os }}-${{ env.cache-name }}-${{ env.release }}
9696
path: toolchain/binutils/binutils-${{ env.release }}.tar.gz
9797

98-
- name: Install Nix
99-
uses: cachix/install-nix-action@v17
100-
with:
101-
extra_nix_config: |
102-
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
98+
- name: Install dependencies
99+
run: |
100+
sudo apt install build-essential pkg-config automake autoconf autoconf-archive autogen
101+
sudo apt install libisl-dev libgmp-dev libmpfr-dev libmpc-dev
102+
sudo apt install flex bison
103103
104104
- name: Configure (i686)
105105
run: |
106106
cp defconfigs/config.i686 .config
107107
108108
- name: Build Toolchain (i686)
109109
run: |
110-
nix develop .#gcc --command make gcc TARGET=i686-dailyrun ARCH= CROSS_COMPILE= GCC_CONFIGURE_FLAGS="--with-newlib"
110+
make gcc TARGET=i686-dailyrun ARCH= CROSS_COMPILE= GCC_CONFIGURE_FLAGS="--with-newlib"
111111
112112
- name: Save toolchain to cache
113113
uses: actions/cache/save@v4
@@ -126,11 +126,34 @@ jobs:
126126
steps:
127127
- uses: actions/checkout@v4
128128

129-
- name: Install Nix
130-
uses: cachix/install-nix-action@v17
129+
- name: Install toolchain
130+
uses: actions/cache@v4
131131
with:
132-
extra_nix_config: |
133-
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
132+
key: ${{ needs.cache-gcc.outputs.cache-key }}
133+
path: /opt/toolchains/i686-dailyrun
134+
135+
- name: Install dependencies
136+
run: |
137+
sudo apt install build-essential pkg-config
138+
sudo apt install libisl-dev libgmp-dev libmpfr-dev libmpc-dev
139+
140+
# Install automake 1.15.1 (specific version required by newlib)
141+
cd /tmp
142+
wget https://ftp.gnu.org/gnu/automake/automake-1.15.1.tar.gz
143+
tar -xzf automake-1.15.1.tar.gz
144+
cd automake-1.15.1
145+
./configure --prefix=/usr/local
146+
make
147+
sudo make install
148+
149+
# Install autoconf 2.69 (specific version required by newlib)
150+
cd /tmp
151+
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
152+
tar -xzf autoconf-2.69.tar.gz
153+
cd autoconf-2.69
154+
./configure --prefix=/usr/local
155+
make
156+
sudo make install
134157
135158
- name: Configure (i686)
136159
run: |
@@ -142,7 +165,8 @@ jobs:
142165
- name: Build libc
143166
id: build-libc
144167
continue-on-error: true
145-
run: nix develop .#newlib --command make newlib VERBOSE=y
168+
run: |
169+
make newlib
146170
147171
- name: Upload build logs on failure
148172
if: steps.build-libc.outcome == 'failure'

0 commit comments

Comments
 (0)