Skip to content

Commit 671f90a

Browse files
authored
feat: add loong64 devtoolset image (#23)
1 parent 90b9443 commit 671f90a

File tree

2 files changed

+59
-1
lines changed

2 files changed

+59
-1
lines changed

.github/workflows/build.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,17 @@ jobs:
2323
- focal-x64
2424
- focal-devtoolset-ppc64le
2525
- focal-devtoolset-riscv64
26+
- trixie-devtoolset-loong64
2627

2728
steps:
2829
- uses: actions/checkout@v3
2930

3031
- uses: docker/setup-qemu-action@v2
31-
if: "!endsWith(matrix.arch, 'x64')"
32+
if: "!endsWith(matrix.arch, 'x64') && !endsWith(matrix.arch, 'loong64')"
33+
34+
- name: Set up QEMU for Loong64
35+
run: docker run --rm --privileged loongcr.lcpu.dev/multiarch/archlinux --reset -p yes
36+
if: "endsWith(matrix.arch, 'loong64')"
3237

3338
- name: Set up Docker Buildx
3439
uses: docker/setup-buildx-action@v1

trixie-devtoolset-loong64/Dockerfile

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
ARG REPO=loongarch64/debian
2+
ARG TAG=latest
3+
FROM ${REPO}:${TAG}
4+
5+
ARG DEBIAN_FRONTEND=noninteractive
6+
ARG NODE_VERSION="20.16.0"
7+
8+
RUN apt-get update && \
9+
apt-get install -y --no-install-recommends \
10+
binutils \
11+
build-essential \
12+
# build-essential will offer gcc-14 and g++-14, which is overly new for us.
13+
gcc-12 \
14+
g++-12 \
15+
git \
16+
pkg-config \
17+
fakeroot \
18+
rpm \
19+
sudo \
20+
apt-transport-https \
21+
ca-certificates \
22+
libx11-dev \
23+
libx11-xcb-dev \
24+
libxkbfile-dev \
25+
libsecret-1-dev \
26+
libkrb5-dev \
27+
libatomic1 \
28+
curl \
29+
gnupg \
30+
unzip \
31+
# VSCodium
32+
jq
33+
34+
# set gcc-12 and g++-12 as default (gcc doesn't support loong64 until 12.1)
35+
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 1 && \
36+
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 1
37+
38+
# set python3 as default
39+
RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 1 && \
40+
python --version
41+
42+
# setup Node.js
43+
RUN curl -L -O https://unofficial-builds.nodejs.org/download/release/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-loong64.tar.gz && \
44+
tar -xzf node-v${NODE_VERSION}-linux-loong64.tar.gz && \
45+
cp -R node-v${NODE_VERSION}-linux-loong64/* /usr/local/ && \
46+
rm -rf node-v${NODE_VERSION}-linux-loong64* && \
47+
node --version
48+
49+
# install yarn & node-gyp
50+
RUN npm install -g yarn node-gyp
51+
52+
RUN mkdir -p /root/vscode
53+
WORKDIR /root/vscode

0 commit comments

Comments
 (0)