mirror of
https://github.com/itsPLK/ps5-pkg-manager.git
synced 2026-10-22 11:53:08 -05:00
49 lines
1.3 KiB
Docker
49 lines
1.3 KiB
Docker
# Dockerfile to build the ps5-payload-dev/sdk environment
|
|
# Pinned base; run `docker build --pull` periodically to refresh.
|
|
# SDK + libsmb2 are unpinned upstream (no tags): SDK_REF / LIBSMB2_REF
|
|
# below document the intended pin — set to a tested commit SHA.
|
|
ARG UBUNTU_TAG=24.04
|
|
ARG SDK_REF=master
|
|
ARG LIBSMB2_REF=master
|
|
FROM ubuntu:${UBUNTU_TAG}
|
|
|
|
# Install build tools and compiler (Clang 18 and LLD 18 required by the SDK)
|
|
RUN apt-get update && apt-get install -y \
|
|
git \
|
|
cmake \
|
|
ninja-build \
|
|
clang-18 \
|
|
lld-18 \
|
|
llvm-18 \
|
|
llvm-18-dev \
|
|
make \
|
|
python3 \
|
|
python3-pyelftools \
|
|
wget \
|
|
xz-utils \
|
|
pkg-config \
|
|
sudo \
|
|
unzip \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Set up Clang 18 as default
|
|
RUN ln -s /usr/bin/clang-18 /usr/bin/clang && \
|
|
ln -s /usr/bin/clang++-18 /usr/bin/clang++ && \
|
|
ln -s /usr/bin/ld.lld-18 /usr/bin/ld.lld
|
|
|
|
# Clone and build ps5-payload-dev SDK (shallow; set SDK_REF to a SHA to pin)
|
|
WORKDIR /opt
|
|
ARG SDK_REF=master
|
|
RUN git clone --depth 1 https://github.com/ps5-payload-dev/sdk.git ps5-payload-sdk-source
|
|
|
|
WORKDIR /opt/ps5-payload-sdk-source
|
|
RUN make DESTDIR=/opt/ps5-payload-sdk install
|
|
|
|
# Build dependencies (libmicrohttpd) using the SDK toolchain
|
|
WORKDIR /opt
|
|
COPY build_deps.sh /opt/build_deps.sh
|
|
RUN bash /opt/build_deps.sh
|
|
|
|
ENV PS5_PAYLOAD_SDK=/opt/ps5-payload-sdk
|
|
WORKDIR /src
|