Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
160 commits
Select commit Hold shift + click to select a range
1a930c0
add gcc-ppu-spu v13.2.0
humbertodias Mar 5, 2024
868e7f8
ignore mac .DS_Store
humbertodias Mar 5, 2024
d044950
[fix] github actions
humbertodias Mar 5, 2024
b237a9a
[gha] python dependency name fixed for ubuntu-latest
humbertodias Mar 5, 2024
57d3d7a
[gha] install python2 manually
humbertodias Mar 5, 2024
de37a37
[gha] sudo required
humbertodias Mar 5, 2024
eac7e4f
[gha] add g++ with c11 support
humbertodias Mar 5, 2024
2f2633f
specific patch file for gcc ppu
humbertodias Mar 5, 2024
afb604f
[gha] unnecessary -get
humbertodias Mar 5, 2024
66979e9
gcc 9.5.0 for spu
humbertodias Mar 5, 2024
3445df8
ppu only for c lang
humbertodias Mar 5, 2024
319554b
[ppu] add c++
humbertodias Mar 5, 2024
c48e4e1
[ppu] fix for _GLIBCXX_HAVE_STRUCT_DIRENT_D_TYPE=0
humbertodias Mar 5, 2024
6c44881
[ppu] HAVE_STRUCT_DIRENT_D_TYPE=0
humbertodias Mar 5, 2024
5af633b
[ppu] HAVE_STRUCT_DIRENT_D_TYPE=0
humbertodias Mar 5, 2024
5e818ab
spu-gcc 7.20
humbertodias Mar 5, 2024
4a6b6f7
add c++ lang for spu-gcc
humbertodias Mar 5, 2024
3be7a7d
alias sed='gsed' for mac
humbertodias Mar 5, 2024
e489a56
gsed alias for macOS
humbertodias Mar 5, 2024
4fc062a
add python2-dev and libssl-dev for psl1ght build
humbertodias Mar 5, 2024
9cb47c7
[gha] only ubuntu for while
humbertodias Mar 5, 2024
b26dbb0
[gha] set default shell to bash
humbertodias Mar 5, 2024
10609f0
[gha] use ~/.bashrc
humbertodias Mar 5, 2024
2a64760
[gha] mac already have python installed
humbertodias Mar 5, 2024
1e96642
[gha] get current arch
humbertodias Mar 5, 2024
a3f0d38
[gha] checkout@v4
humbertodias Mar 6, 2024
6ccca08
[gha] replace apple python for python@3.12
humbertodias Mar 6, 2024
c54ad20
binutils-2.42
humbertodias Mar 6, 2024
fc97138
ppu gcc remove -Werror=format-security
humbertodias Mar 6, 2024
dad8ba2
[ppu] avoiding switch case duplication on dir-common.h
humbertodias Mar 6, 2024
14c882c
[spu] gcc-9.5.0
humbertodias Mar 6, 2024
ba86afa
Revert "binutils-2.42"
humbertodias Mar 6, 2024
75b6197
[ppu] binutils-2.42
humbertodias Mar 6, 2024
df37178
[ci] add macos-latest
humbertodias Mar 6, 2024
a38290b
[ci-mac] remove python
humbertodias Mar 6, 2024
a4ef882
[ci-mac] add python2 manually
humbertodias Mar 6, 2024
f1e532f
[ci-mac] sudo required
humbertodias Mar 6, 2024
98a03e5
[docker] update ubuntu to 24.04 the last LTS
humbertodias Mar 6, 2024
eec7d6b
[spu] enable GWINSZ_IN_SYS_IOCTL using mac compiler
humbertodias Mar 6, 2024
9b064af
[spu-gdb] moving fix for mac to patch file
humbertodias Mar 6, 2024
02de5f4
[ci] docker hub
humbertodias Mar 6, 2024
f5bf275
[ci] add python11 with diskutils module
humbertodias Mar 6, 2024
0886e06
[ci] python 2.7
humbertodias Mar 6, 2024
62c2bfc
Revert "[ci] python 2.7"
humbertodias Mar 6, 2024
c5de509
[ci] install python manually for macos
humbertodias Mar 6, 2024
6ec4cc5
[ci] python@3.11 support disktutils
humbertodias Mar 6, 2024
39c17bf
[ci] mac already have python installed
humbertodias Mar 6, 2024
bbced14
[ci] pip install python-config
humbertodias Mar 6, 2024
6eba504
[ci] macos-13
humbertodias Mar 6, 2024
bb22459
[ci] brew install python3
humbertodias Mar 6, 2024
a033745
[ci] unlink python3 first
humbertodias Mar 6, 2024
a12fccb
[ci] show python installed version
humbertodias Mar 6, 2024
59e1c5f
[ci] mac install makeinfo
humbertodias Mar 6, 2024
be59dce
[ci] uninstall py3.12 for downgrading to 3.11
humbertodias Mar 6, 2024
5ed350f
[ci] brew uninstall --ignore-dependencies python3
humbertodias Mar 6, 2024
25b89ed
ignoring .vscode
humbertodias Mar 6, 2024
c019c46
[ci] install python3.11 using pyenv
humbertodias Mar 6, 2024
335c8c4
[ci] checking python-config
humbertodias Mar 6, 2024
a6ca9a7
[ci] alias python-config
humbertodias Mar 6, 2024
f7ae248
Update deploy.yaml
humbertodias Mar 6, 2024
af9ea70
Update deploy.yaml
humbertodias Mar 6, 2024
38eeddb
Update deploy.yaml
humbertodias Mar 6, 2024
22026d3
Update deploy.yaml
humbertodias Mar 6, 2024
b09a226
Update deploy.yaml
humbertodias Mar 6, 2024
e3eaebd
Update deploy.yaml
humbertodias Mar 6, 2024
b82e917
[ci] add ubuntu-latest
humbertodias Mar 6, 2024
4140ac8
[docker] add python 3.11.8 using pyenv
humbertodias Mar 6, 2024
e018f59
[ci] only ubuntu. mas is taking too long
humbertodias Mar 6, 2024
422541b
[docker] typo
humbertodias Mar 6, 2024
31d0609
Update Dockerfile
humbertodias Mar 7, 2024
a8b1513
Update Dockerfile
humbertodias Mar 7, 2024
53a74e1
Update Dockerfile
humbertodias Mar 7, 2024
46f2dbc
Update deploy-docker.yaml
humbertodias Mar 9, 2024
fddd3ad
CFLAGS=-fno-asynchronous-unwind-tables
humbertodias Mar 11, 2024
aba3190
Update deploy-docker.yaml
humbertodias Mar 11, 2024
1fb2289
Update Dockerfile
humbertodias Mar 11, 2024
c07bfc4
add PATH=/portlibs/ppu/bin
humbertodias Mar 11, 2024
9056e95
Update 009-ps3libraries.sh
humbertodias Mar 14, 2024
755d941
Update Dockerfile
humbertodias Mar 14, 2024
dd90084
Update deploy.yaml
humbertodias Mar 14, 2024
21a85b4
Update 009-ps3libraries.sh
humbertodias Mar 14, 2024
e892486
add PATH=$PATH:$PS3DEV/portlibs/ppu/bin
humbertodias Mar 15, 2024
d8e237a
PKG_CONFIG_PATH=$PS3DEV/portlibs/ppu/lib/pkgconfig
humbertodias Mar 15, 2024
1cc315a
rm tmp files
humbertodias Mar 15, 2024
504fe34
Update Dockerfile
humbertodias Mar 15, 2024
1416700
python 3.10 + pycrypto + nvidia-cg-toolkit
humbertodias Mar 16, 2024
e7bc2ca
newlib fix to avoid duplicated values on dirent_type
humbertodias Mar 19, 2024
04ddabf
typo 006-gcc-newlib-SPU.sh
humbertodias Mar 19, 2024
4d23a17
install nvidia-cg-toolkit only for x68 arch
humbertodias Apr 3, 2024
16a0243
docker multi-stage image
humbertodias Apr 3, 2024
a4910a8
add base stage
humbertodias Apr 6, 2024
8997114
download source code only if directory doesn't exist
humbertodias Apr 6, 2024
dea2c90
enabling linux/arm
humbertodias Apr 6, 2024
c450e53
typo
humbertodias Apr 6, 2024
6729efb
skip arm
humbertodias Apr 6, 2024
08351b7
typo
humbertodias Apr 6, 2024
1520f52
ci x86 install nvidia-cg-toolkit
humbertodias Apr 6, 2024
9d48317
sudo
humbertodias Apr 6, 2024
900a37d
add linux/arm64
humbertodias Apr 6, 2024
72bbba7
architecture: [x64, arm64]
humbertodias Apr 6, 2024
b5dee46
doc: how to build multi platform image
humbertodias Apr 6, 2024
627a9c4
release tagname with arch
humbertodias Apr 6, 2024
73d3c69
upload/download artifact
humbertodias Apr 7, 2024
26bfb46
publish-release
humbertodias Apr 7, 2024
b6399bc
Compress ps3dev folder
humbertodias Apr 7, 2024
b5dcf2d
Download all Artifact
humbertodias Apr 7, 2024
0be0b57
typo
humbertodias Apr 7, 2024
6812c43
typo
humbertodias Apr 7, 2024
2eac023
typo
humbertodias Apr 7, 2024
1bc901f
typo
humbertodias Apr 7, 2024
9395268
tag auto creation
humbertodias Apr 7, 2024
883f535
create-tag@v1
humbertodias Apr 7, 2024
8f655f9
tag name semantic version
humbertodias Apr 7, 2024
77a966e
steps.semver.outputs.semver
humbertodias Apr 7, 2024
9e951a7
Check if Tag Exists
humbertodias Apr 7, 2024
8175a5a
git fetch --tags
humbertodias Apr 7, 2024
52dbd3c
create tag on publish job
humbertodias Apr 7, 2024
10fd234
needs.build.outputs.sha8
humbertodias Apr 7, 2024
f18bd35
add macos-latest
humbertodias Apr 7, 2024
72718dc
docker build/push without qemu
humbertodias Apr 7, 2024
edca12c
arch[x64,arm64]
humbertodias Apr 7, 2024
dc963ff
ubuntu arm not supported for gha
humbertodias Apr 7, 2024
ccf1da7
add qemu
humbertodias Apr 7, 2024
5b403d9
qemu matrix platform
humbertodias Apr 8, 2024
1c8468e
typo
humbertodias Apr 8, 2024
f2df629
typo
humbertodias Apr 8, 2024
5b1eeaf
platforms: ${{ matrix.platform }}
humbertodias Apr 8, 2024
03ef1e6
typo
humbertodias Apr 8, 2024
49b062e
macos-14
humbertodias Apr 8, 2024
2ae5696
source ~/.bashrc
humbertodias Apr 8, 2024
e30a10b
typo
humbertodias Apr 8, 2024
fb853f0
force loading .bashrc
humbertodias Apr 8, 2024
1acdfb5
pyenv init --path
humbertodias Apr 8, 2024
1defaf3
macos-latest
humbertodias Apr 8, 2024
5f7ca93
remove arm64
humbertodias Apr 8, 2024
da9c7f7
recursive file path
humbertodias Apr 8, 2024
97f85bc
merge master into gcc-ppu-spu-13.2.0
humbertodias Aug 31, 2026
060f03b
Restore PPU gdb and python checks; make downloads resume across GNU m…
humbertodias Aug 31, 2026
ed6725d
Fix python check to find python3-config under pyenv
humbertodias Aug 31, 2026
5d34148
Fix bundled zlib fdopen clash with Apple Clang 17 / Xcode 26
humbertodias Aug 31, 2026
1f45c82
Add Apple Silicon GCC host patches for 13.2.0 and 9.5.0
humbertodias Aug 31, 2026
ae0c260
Fix Apple Silicon GCC patch hunks to match 13.2.0 and 9.5.0 sources
humbertodias Aug 31, 2026
bf78b45
Drop zlib fdopen hunk from binutils 2.22 SPU patch
humbertodias Aug 31, 2026
5fe807c
Xcode 16.4 on Intel hits the same isupper/islower
humbertodias Aug 31, 2026
4a556cf
Fix malformed Darwin GCC system.h patches so GNU patch can apply them.
humbertodias Aug 31, 2026
53900d0
Refresh newlib config.sub so Apple Silicon Darwin is a valid host.
humbertodias Aug 31, 2026
97d977d
Fix malformed GCC 9.5.0 Apple Silicon host-darwin.c hunk
humbertodias Aug 31, 2026
9a5a051
Move the Intel macOS CI runner from 15 to 26.
humbertodias Aug 31, 2026
64e1341
Apply the safe-ctype and libcody host fixes on every OS, not only Darwin
humbertodias Sep 2, 2026
a27ba07
Build with host GCC 16.2 in Docker and fix C23/C++20 failures on mode…
humbertodias Sep 2, 2026
2390d77
Stay on Debian 12 so the host-linked cross gcc needs only glibc 2.36
humbertodias Sep 2, 2026
bf4b1d5
merge master into gcc-ppu-spu-13.2.0
humbertodias Sep 13, 2026
25c82ce
Merge remote-tracking branch 'upstream/master' into gcc-ppu-spu-13.2.0
humbertodias Sep 13, 2026
d6215a3
Stop applying the removed combined SPU GCC patch.
humbertodias Sep 13, 2026
00302c8
merge origin/master into gcc-ppu-spu-13.2.0
humbertodias Sep 13, 2026
afe2b17
Merge branch 'master' into gcc-ppu-spu-13.2.0
humbertodias Sep 13, 2026
d46ecd5
Keep GCC 9.5.0 Darwin host files off the PPU 13.2.0 patch.
humbertodias Sep 13, 2026
ec5410b
kill old macos compatibility using mac-15-intel
humbertodias Sep 22, 2026
fce08b7
Revert "kill old macos compatibility using mac-15-intel"
humbertodias Sep 22, 2026
6f580ea
Always skipped. Pushing :latest needs the DockerHub environment, whic…
humbertodias Sep 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 17 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- runner: ubuntu-latest
os: linux

- runner: macos-15-intel
- runner: macos-26-intel
os: macos

- runner: macos-26
Expand Down Expand Up @@ -92,6 +92,22 @@ jobs:
working-directory: ./build
run: ../download.sh

- name: Show host GCC version
shell: bash
run: |
echo "which gcc: $(command -v gcc || true)"
echo "which g++: $(command -v g++ || true)"
echo "which cc: $(command -v cc || true)"
echo "----- gcc --version -----"
gcc --version
echo "----- g++ --version -----"
g++ --version
echo "----- cc --version -----"
cc --version
echo "----- gcc -dumpfullversion / -dumpmachine -----"
gcc -dumpfullversion -dumpversion
gcc -dumpmachine

- name: Build Binutils (PPU)
run: ./toolchain.sh 001

Expand Down
64 changes: 64 additions & 0 deletions .github/workflows/deploy-docker.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: ci-docker
on:
pull_request:
branches:
- master

# Runs on pushes targeting the default branch
push:
branches: ['master']

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

jobs:
dockerhub-push:
# Always skipped. Pushing :latest needs the DockerHub environment, which
# fails closed in a few seconds when those secrets are unavailable.
if: false
runs-on: ubuntu-latest
environment: DockerHub
env:
DOCKERHUB_REPONAME: ps3dev
strategy:
matrix:
platform: [linux/amd64]

steps:

- name: Checkout
uses: actions/checkout@v4

- name: README to Dockerhub
uses: christian-korneck/update-container-description-action@v1
env:
DOCKER_USER: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKER_PASS: ${{ secrets.DOCKERHUB_TOKEN }}
with:
destination_container_repo: ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.DOCKERHUB_REPONAME }}
provider: dockerhub
short_description: 'A Docker Image for PS3 Development'
readme_file: 'README.md'

- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: ${{ matrix.platform }}

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build and Push Docker Image
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
platforms: ${{ matrix.platform }}
push: true
tags: ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.DOCKERHUB_REPONAME }}:latest
94 changes: 70 additions & 24 deletions .github/workflows/deploy.yaml
Original file line number Diff line number Diff line change
@@ -1,11 +1,24 @@
name: Build toolchain docker image
name: ci

on:
workflow_dispatch

jobs:
Docker:
runs-on: ubuntu-latest
build:
runs-on: ${{ matrix.os }}

strategy:
matrix:
os: [ubuntu-latest]
architecture: [x64]
defaults:
run:
shell: bash

outputs:
sha8: ${{ steps.slug.outputs.sha8 }}
date: ${{ steps.date.outputs.date }}

steps:
- name: Checkout
uses: actions/checkout@v6
Expand All @@ -23,19 +36,13 @@ jobs:
if: success()
id: prepare
run: |
echo ::set-output name=docker_platforms::linux/amd64,linux/386
echo ::set-output name=docker_username::miigotu
echo ::set-output name=github_image::docker.pkg.github.com/${GITHUB_REPOSITORY,,}/ps3dev
VERSION_TAG=${GITHUB_REF#refs/*/}
echo ::set-output name=version::${VERSION_TAG%/merge}
- name: Available platforms
if: success()
run: echo ${{ steps.buildx.outputs.platforms }}
- name: Docker Login and set build command
if: success()
id: login
env:
GITHUB_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
sudo apt update
sudo apt -y install autoconf automake bison flex gcc g++ libelf-dev make texinfo libncurses5-dev patch python2-dev subversion wget zlib1g-dev libtool-bin python-dev-is-python3 bzip2 libgmp3-dev pkg-config libssl-dev && \
if [ "$(uname -m)" = "x86_64" ]; then sudo apt install -y nvidia-cg-toolkit ; fi

- name: Install macOS requirements
if: startsWith(matrix.os, 'macos')
# act -P macos-latest=-self-hosted --container-architecture linux/amd64
run: |
echo "${GITHUB_PASSWORD}" | docker login --username "${{ steps.prepare.outputs.docker_username }}" --password-stdin docker.pkg.github.com
echo ::set-output name=buildx::$(echo docker buildx build --output type=image,name=${{ steps.prepare.outputs.github_image }},push=true \
Expand All @@ -52,12 +59,51 @@ jobs:
- name: Run Buildx (master)
if: success() && steps.prepare.outputs.version == 'master' && github.event_name != 'pull_request'
run: |
${{ steps.login.outputs.buildx }} --tag "${{ steps.prepare.outputs.github_image }}:latest" --file Dockerfile .
- name: Run Buildx (non-master)
if: success() && steps.prepare.outputs.version != 'master' && github.event_name != 'pull_request'
run: |
${{ steps.login.outputs.buildx }} --file Dockerfile .
- name: Clear
if: always()
. ~/.bashrc
mkdir -p $PWD/ps3dev
export PS3DEV=$PWD/ps3dev
export PSL1GHT=$PS3DEV
export PATH=$PATH:$PS3DEV/bin
export PATH=$PATH:$PS3DEV/ppu/bin
export PATH=$PATH:$PS3DEV/spu/bin
export PATH=$PATH:$PS3DEV/portlibs/ppu/bin
export PKG_CONFIG_PATH=$PS3DEV/portlibs/ppu/lib/pkgconfig
./toolchain.sh

- name: Compress ps3dev folder
run: |
rm -rf ${HOME}/.docker/config.json
tar -zcvf ps3dev-${{matrix.os}}-${{steps.arch.outputs.arch}}-${{steps.date.outputs.date}}.tar.gz ps3dev

- name: Archive Folder
uses: actions/upload-artifact@v4
with:
name: ${{matrix.os}}-${{matrix.architecture}}
path: ps3dev-*.tar.gz

publish:
needs: build
runs-on: ubuntu-latest

steps:
- name: Download all Artifact
uses: actions/download-artifact@v4

- name: Set SemVer
id: semver
run: echo "::set-output name=semver::0.1.0+${{ needs.build.outputs.date }}.${{ needs.build.outputs.sha8 }}"

- name: Create Tag
uses: negz/create-tag@v1
with:
version: ${{ steps.semver.outputs.semver }}
message: "automatic tag creation"
token: ${{ secrets.GITHUB_TOKEN }}

- name: Create Release
id: create_release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ steps.semver.outputs.semver }}
files: |
${{ github.workspace }}/**/*.tar.gz

4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
/build
/archives/*
!/archives/archives.txt
/ps3dev
.DS_Store
.idea/**
.vscode
59 changes: 41 additions & 18 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,27 +1,50 @@
# FROM ubuntu:xenial
FROM debian:12-slim
# Stay on Debian 12 so the host-linked cross gcc needs only glibc 2.36
# (Bookworm). Building on Trixie produces GLIBC_2.38+ binaries that fail
# on Debian 12 and similar hosts.
FROM debian:12-slim AS base
LABEL maintainer="miigotu@gmail.com"

ENV PS3DEV /usr/local/ps3dev
ENV PSL1GHT ${PS3DEV}
ENV PATH ${PATH}:${PS3DEV}/bin:${PS3DEV}/ppu/bin:${PS3DEV}/spu/bin
ENV PS3DEV=/usr/local/ps3dev \
PSL1GHT=/usr/local/ps3dev \
DEBIAN_FRONTEND=noninteractive \
PYTHON_VERSION=3.10 \
PYENV_ROOT=/root/.pyenv \
PIP_ROOT_USER_ACTION=ignore \
PKG_CONFIG_PATH=/usr/local/ps3dev/portlibs/ppu/lib/pkgconfig
ENV PATH="${PYENV_ROOT}/shims:${PYENV_ROOT}/bin:${PATH}:${PS3DEV}/bin:${PS3DEV}/ppu/bin:${PS3DEV}/spu/bin:${PS3DEV}/portlibs/ppu/bin"

ENV DEBIAN_FRONTEND=noninteractive

RUN \
apt-get -y update && \
apt-get -y install \
autoconf bison build-essential ca-certificates flex git libelf-dev\
libgmp-dev libncurses5-dev libssl-dev libtool-bin pkg-config \
texinfo wget zlib1g-dev && \
apt-get -y clean autoclean autoremove && \
rm -rf /var/lib/{apt,dpkg,cache,log}/
RUN apt-get update -y && \
apt-get --no-install-recommends install -y autoconf automake bison build-essential bzip2 \
ca-certificates cmake flex gettext-base git libelf-dev libgmp3-dev libncurses5-dev libssl-dev \
libtool libtool-bin make patch pkg-config texinfo wget xz-utils zlib1g-dev && \
# Fixes certificate errors with letsencrypt in ARMv7
echo 'ca_certificate=/etc/ssl/certs/ca-certificates.crt' >> /etc/wgetrc && \
# nvidia-cg-toolkit is non-free and amd64-only
if [ "$(uname -m)" = "x86_64" ]; then \
sed -i 's/ main$/ main contrib non-free non-free-firmware/' /etc/apt/sources.list && \
apt-get update -y && apt-get install -y nvidia-cg-toolkit ; \
fi && \
# pyenv
apt-get --no-install-recommends install -y zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev \
llvm libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev curl git && \
echo 'cacert=/etc/ssl/certs/ca-certificates.crt' >> ~/.curlrc && \
git config --global http.sslverify 'false' && \
curl https://pyenv.run | bash && \
pyenv update && pyenv install $PYTHON_VERSION && pyenv global $PYTHON_VERSION && pyenv rehash && \
pip install pycrypto && \
apt-get -y clean autoclean autoremove && \
rm -rf /var/lib/apt/lists/*

FROM base AS builder
RUN mkdir /build
WORKDIR /build
COPY . /build
RUN mkdir -p "${PS3DEV}" && /build/toolchain.sh

# Fixes certificate errors with letsencrypt in ARMv7
# RUN echo "\nca_certificate=/etc/ssl/certs/ca-certificates.crt" | tee -a /etc/wgetrc
# RUN /build/toolchain.sh
FROM base AS runtime
COPY --from=builder ${PS3DEV} ${PS3DEV}

# How to build and run a multi platform image
# Tested platforms: linux/amd64 or linux/arm64
# DOCKER_DEFAULT_PLATFORM=linux/arm64 docker build . -t ps3dev
# DOCKER_DEFAULT_PLATFORM=linux/arm64 docker run -it -v `pwd`:/build -w /build ps3dev
6 changes: 4 additions & 2 deletions archives/archives.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
6c7af8ed1c8cf9b4b9d6e6fe09a3e1d3d479fe63984ba8b9b26bf356b6313ca9 19973532 https://sourceware.org/pub/binutils/releases/binutils-2.22.tar.bz2 -> binutils-2.22.tar.bz2
aa54850ebda5064c72cd4ec2d9b056c294252991486350d9a97ab2a6dfdfaf12 38254526 https://sourceware.org/pub/binutils/releases/binutils-2.42.tar.bz2 -> binutils-2.42.tar.bz2
27769f64ef1d4cd5e2be8682c0c93f9887983e6cfd1a927ce5a0a2915a95cf8f 72462752 https://sourceware.org/pub/gcc/releases/gcc-9.5.0/gcc-9.5.0.tar.xz -> gcc-9.5.0.tar.xz
e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da 87858592 https://sourceware.org/pub/gcc/releases/gcc-13.2.0/gcc-13.2.0.tar.xz -> gcc-13.2.0.tar.xz
c644b2847244278c57bec2ddda69d8fab5a7c767f3b9af69aa7aa3da823ff692 14571004 https://sourceware.org/pub/newlib/newlib-1.20.0.tar.gz -> newlib-1.20.0.tar.gz
- - https://github.com/ps3dev/psl1ght/tarball/master -> psl1ght.tar.gz
- - https://github.com/ps3dev/ps3libraries/tarball/master -> ps3libraries.tar.gz
1e55b4d7cdca7b34be12f4ceae651623aa73b2fd640152313f9f66a7149757c4 20489528 https://sourceware.org/pub/gdb/releases/gdb-8.3.1.tar.xz -> gdb-8.3.1.tar.xz
- - https://github.com/ps3dev/psl1ght/tarball/master -> psl1ght.tar.gz
- - https://github.com/ps3dev/ps3libraries/tarball/master -> ps3libraries.tar.gz
43 changes: 43 additions & 0 deletions depends/check-python.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#!/bin/sh
# check-python.sh by Naomi Peori (naomi@peori.ca)

## Prefer python3 (pyenv, Debian) over the unversioned python name.
python_bin=""
for c in python3 python; do
command -v "$c" >/dev/null 2>&1 || continue
python_bin="$c"
break
done
[ -n "$python_bin" ] || { echo "ERROR: Install python before continuing."; exit 1; }

## python-config is often not on PATH; pyenv ships python3-config next to the interpreter.
pyconfig=""
for c in python3-config python-config; do
command -v "$c" >/dev/null 2>&1 || continue
pyconfig="$c"
break
done
if [ -z "$pyconfig" ]; then
pyhome=$("$python_bin" -c "import sys; print(sys.base_prefix)")
for c in "$pyhome"/bin/python3-config "$pyhome"/bin/python*-config; do
[ -x "$c" ] || continue
pyconfig="$c"
break
done
fi
[ -n "$pyconfig" ] || { echo "ERROR: Install python-dev before continuing."; exit 1; }

pyprefix=$("$pyconfig" --prefix) || { echo "ERROR: Install python-dev before continuing."; exit 1; }

python_h=""
for h in \
"$pyprefix"/include/python*/Python.h \
${PYENV_ROOT:+$PYENV_ROOT/versions/*/include/python*/Python.h} \
/opt/local/include/python*/Python.h \
${PYINSTALLDIR:+$PYINSTALLDIR/include/Python.h}
do
[ -f "$h" ] || continue
python_h="$h"
break
done
[ -n "$python_h" ] || { echo "ERROR: Install python-dev before continuing."; exit 1; }
Loading
Loading