2023-03-23 20:24:26 +01:00
|
|
|
FROM alpine:3.17
|
|
|
|
|
|
|
|
RUN apk --no-cache --update add \
|
|
|
|
bash \
|
|
|
|
bzip2 \
|
|
|
|
ca-certificates \
|
|
|
|
curl \
|
|
|
|
git \
|
|
|
|
make \
|
|
|
|
shadow
|
|
|
|
|
|
|
|
ARG guix_download_path=ftp://ftp.gnu.org/gnu/guix
|
|
|
|
ARG guix_version=1.4.0
|
|
|
|
ARG guix_checksum_aarch64=72d807392889919940b7ec9632c45a259555e6b0942ea7bfd131101e08ebfcf4
|
|
|
|
ARG guix_checksum_x86_64=236ca7c9c5958b1f396c2924fcc5bc9d6fdebcb1b4cf3c7c6d46d4bf660ed9c9
|
|
|
|
ARG builder_count=32
|
|
|
|
|
|
|
|
ENV PATH /root/.config/guix/current/bin:$PATH
|
|
|
|
|
|
|
|
# Application Setup
|
|
|
|
# https://guix.gnu.org/manual/en/html_node/Application-Setup.html
|
|
|
|
ENV GUIX_LOCPATH /root/.guix-profile/lib/locale
|
|
|
|
ENV LC_ALL en_US.UTF-8
|
|
|
|
|
|
|
|
RUN guix_file_name=guix-binary-${guix_version}.$(uname -m)-linux.tar.xz && \
|
|
|
|
eval "guix_checksum=\${guix_checksum_$(uname -m)}" && \
|
|
|
|
cd /tmp && \
|
|
|
|
wget -q -O "$guix_file_name" "${guix_download_path}/${guix_file_name}" && \
|
|
|
|
echo "${guix_checksum} ${guix_file_name}" | sha256sum -c && \
|
|
|
|
tar xJf "$guix_file_name" && \
|
|
|
|
mv var/guix /var/ && \
|
|
|
|
mv gnu / && \
|
|
|
|
mkdir -p ~root/.config/guix && \
|
|
|
|
ln -sf /var/guix/profiles/per-user/root/current-guix ~root/.config/guix/current && \
|
|
|
|
source ~root/.config/guix/current/etc/profile
|
|
|
|
|
|
|
|
# Guix expects this file to exist
|
|
|
|
RUN touch /etc/nsswitch.conf
|
|
|
|
|
|
|
|
RUN guix archive --authorize < ~root/.config/guix/current/share/guix/ci.guix.gnu.org.pub
|
|
|
|
|
|
|
|
# Build Environment Setup
|
|
|
|
# https://guix.gnu.org/manual/en/html_node/Build-Environment-Setup.html
|
|
|
|
|
|
|
|
RUN groupadd --system guixbuild
|
|
|
|
RUN for i in $(seq -w 1 ${builder_count}); do \
|
|
|
|
useradd -g guixbuild -G guixbuild \
|
|
|
|
-d /var/empty -s $(which nologin) \
|
|
|
|
-c "Guix build user ${i}" --system \
|
|
|
|
"guixbuilder${i}" ; \
|
|
|
|
done
|
|
|
|
|
2023-05-16 05:15:34 +02:00
|
|
|
ENTRYPOINT ["/root/.config/guix/current/bin/guix-daemon","--build-users-group=guixbuild"]
|
2023-03-23 20:24:26 +01:00
|
|
|
|
|
|
|
RUN git clone https://github.com/dashpay/dash.git /dash
|
|
|
|
|
|
|
|
RUN mkdir base_cache sources SDKs
|
|
|
|
|
|
|
|
WORKDIR /dash
|
2023-05-16 05:15:34 +02:00
|
|
|
|
|
|
|
RUN mkdir -p depends/SDKs && \
|
|
|
|
curl -L https://bitcoincore.org/depends-sources/sdks/Xcode-12.1-12A7403-extracted-SDK-with-libcxx-headers.tar.gz | tar -xz -C depends/SDKs
|
|
|
|
|