From 95910887fc7e43617bdfa64cde53d67444199b72 Mon Sep 17 00:00:00 2001 From: Mike Nolan Date: Fri, 5 Sep 2025 09:00:12 -0500 Subject: [PATCH] Add other architectures --- Dockerfile | 10 +++++++++- Dockerfile.plucky | 9 +++++++-- README.md | 4 ++++ jammy/arm64.sources | 6 ++++++ jammy/armhf.sources | 6 ++++++ jammy/riscv64.sources | 6 ++++++ plucky/arm64.sources | 6 ++++++ plucky/armhf.sources | 6 ++++++ plucky/riscv64.sources | 6 ++++++ toolchains/arm64.cmake | 6 ++++++ toolchains/armhf.cmake | 6 ++++++ toolchains/i386.cmake | 6 ++++++ toolchains/riscv64.cmake | 6 ++++++ 13 files changed, 80 insertions(+), 3 deletions(-) create mode 100644 README.md create mode 100644 jammy/arm64.sources create mode 100644 jammy/armhf.sources create mode 100644 jammy/riscv64.sources create mode 100644 plucky/arm64.sources create mode 100644 plucky/armhf.sources create mode 100644 plucky/riscv64.sources create mode 100644 toolchains/arm64.cmake create mode 100644 toolchains/armhf.cmake create mode 100644 toolchains/i386.cmake create mode 100644 toolchains/riscv64.cmake diff --git a/Dockerfile b/Dockerfile index 0185f3a..89fc927 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,15 @@ FROM ubuntu:jammy +COPY jammy /etc/apt/sources.list.d +COPY toolchains /opt/toolchains + +RUN dpkg --add-architecture i386 +RUN dpkg --add-architecture riscv64 +RUN dpkg --add-architecture arm64 +RUN dpkg --add-architecture armhf + RUN apt update -y -RUN apt install -y cmake build-essential g++ libmbedtls-dev make wget curl +RUN apt install -y cmake build-essential libmbedtls-dev make wget curl crossbuild-essential-armhf crossbuild-essential-i386 crossbuild-essential-riscv64 crossbuild-essential-armhf crossbuild-essential-arm64 libmbedtls-dev:armhf libmbedtls-dev:arm64 libmbedtls-dev:i386 libmbedtls-dev:riscv64 RUN curl https://git.tesseslanguage.com/api/packages/tesses50/debian/repository.key -o /etc/apt/keyrings/gitea-tesses50.asc RUN echo "deb [signed-by=/etc/apt/keyrings/gitea-tesses50.asc] https://git.tesseslanguage.com/api/packages/tesses50/debian jammy main" | tee -a /etc/apt/sources.list.d/gitea.list RUN apt update -y diff --git a/Dockerfile.plucky b/Dockerfile.plucky index 83769e1..454ff06 100644 --- a/Dockerfile.plucky +++ b/Dockerfile.plucky @@ -1,7 +1,12 @@ FROM ubuntu:plucky - +COPY toolchains /opt/toolchains +COPY plucky /etc/apt/sources.list.d +RUN dpkg --add-architecture i386 +RUN dpkg --add-architecture riscv64 +RUN dpkg --add-architecture arm64 +RUN dpkg --add-architecture armhf RUN apt update -y -RUN apt install -y cmake build-essential g++ libmbedtls-dev make wget curl +RUN apt install -y cmake build-essential libmbedtls-dev make wget curl crossbuild-essential-armhf crossbuild-essential-i386 crossbuild-essential-riscv64 crossbuild-essential-armhf crossbuild-essential-arm64 libmbedtls-dev:armhf libmbedtls-dev:arm64 libmbedtls-dev:i386 libmbedtls-dev:riscv64 RUN curl https://git.tesseslanguage.com/api/packages/tesses50/debian/repository.key -o /etc/apt/keyrings/gitea-tesses50.asc RUN echo "deb [signed-by=/etc/apt/keyrings/gitea-tesses50.asc] https://git.tesseslanguage.com/api/packages/tesses50/debian plucky main" | tee -a /etc/apt/sources.list.d/gitea.list RUN apt update -y diff --git a/README.md b/README.md new file mode 100644 index 0000000..a8b9f18 --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +# DebBuilder + +Thanks to +- [xoofee](https://xoofee.github.io/posts/2024/12/install_arm64_package_in_x86_ubuntu_for_cross_compile/) \ No newline at end of file diff --git a/jammy/arm64.sources b/jammy/arm64.sources new file mode 100644 index 0000000..af77c78 --- /dev/null +++ b/jammy/arm64.sources @@ -0,0 +1,6 @@ +Types: deb +URIs: http://ports.ubuntu.com/ubuntu-ports/ +Suites: jammy jammy-updates jammy-backports +Components: main universe restricted multiverse +Architectures: arm64 +Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg \ No newline at end of file diff --git a/jammy/armhf.sources b/jammy/armhf.sources new file mode 100644 index 0000000..a1b17a1 --- /dev/null +++ b/jammy/armhf.sources @@ -0,0 +1,6 @@ +Types: deb +URIs: http://ports.ubuntu.com/ubuntu-ports/ +Suites: jammy jammy-updates jammy-backports +Components: main universe restricted multiverse +Architectures: armhf +Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg \ No newline at end of file diff --git a/jammy/riscv64.sources b/jammy/riscv64.sources new file mode 100644 index 0000000..e87e5a8 --- /dev/null +++ b/jammy/riscv64.sources @@ -0,0 +1,6 @@ +Types: deb +URIs: http://ports.ubuntu.com/ubuntu-ports/ +Suites: jammy jammy-updates jammy-backports +Components: main universe restricted multiverse +Architectures: riscv64 +Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg \ No newline at end of file diff --git a/plucky/arm64.sources b/plucky/arm64.sources new file mode 100644 index 0000000..fbc1af6 --- /dev/null +++ b/plucky/arm64.sources @@ -0,0 +1,6 @@ +Types: deb +URIs: http://ports.ubuntu.com/ubuntu-ports/ +Suites: plucky plucky-updates plucky-backports +Components: main universe restricted multiverse +Architectures: arm64 +Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg \ No newline at end of file diff --git a/plucky/armhf.sources b/plucky/armhf.sources new file mode 100644 index 0000000..31f2b40 --- /dev/null +++ b/plucky/armhf.sources @@ -0,0 +1,6 @@ +Types: deb +URIs: http://ports.ubuntu.com/ubuntu-ports/ +Suites: plucky plucky-updates plucky-backports +Components: main universe restricted multiverse +Architectures: armhf +Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg \ No newline at end of file diff --git a/plucky/riscv64.sources b/plucky/riscv64.sources new file mode 100644 index 0000000..2f67fa8 --- /dev/null +++ b/plucky/riscv64.sources @@ -0,0 +1,6 @@ +Types: deb +URIs: http://ports.ubuntu.com/ubuntu-ports/ +Suites: plucky plucky-updates plucky-backports +Components: main universe restricted multiverse +Architectures: riscv64 +Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg \ No newline at end of file diff --git a/toolchains/arm64.cmake b/toolchains/arm64.cmake new file mode 100644 index 0000000..a5032d9 --- /dev/null +++ b/toolchains/arm64.cmake @@ -0,0 +1,6 @@ +set(CMAKE_C_COMPILER "aarch64-linux-gnu-gcc") +set(CMAKE_CXX_COMPILER "aarch64-linux-gnu-g++") +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_SYSTEM_PROCESSOR arm64) + +set(TOOLCHAIN_PREFIX aarch64-linux-gnu-) \ No newline at end of file diff --git a/toolchains/armhf.cmake b/toolchains/armhf.cmake new file mode 100644 index 0000000..67b6f27 --- /dev/null +++ b/toolchains/armhf.cmake @@ -0,0 +1,6 @@ +set(CMAKE_C_COMPILER "arm-linux-gnueabihf-gcc") +set(CMAKE_CXX_COMPILER "arm-linux-gnueabihf-g++") +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_SYSTEM_PROCESSOR armhf) + +set(TOOLCHAIN_PREFIX arm-linux-gnueabihf-) \ No newline at end of file diff --git a/toolchains/i386.cmake b/toolchains/i386.cmake new file mode 100644 index 0000000..7a0553f --- /dev/null +++ b/toolchains/i386.cmake @@ -0,0 +1,6 @@ +set(CMAKE_C_COMPILER "i686-linux-gnu-gcc") +set(CMAKE_CXX_COMPILER "i686-linux-gnu-g++") +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_SYSTEM_PROCESSOR i686) + +set(TOOLCHAIN_PREFIX i686-linux-gnu-) \ No newline at end of file diff --git a/toolchains/riscv64.cmake b/toolchains/riscv64.cmake new file mode 100644 index 0000000..d0e7701 --- /dev/null +++ b/toolchains/riscv64.cmake @@ -0,0 +1,6 @@ +set(CMAKE_C_COMPILER "riscv64-linux-gnu-gcc") +set(CMAKE_CXX_COMPILER "riscv64-linux-gnu-g++") +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_SYSTEM_PROCESSOR riscv64) + +set(TOOLCHAIN_PREFIX riscv64-linux-gnu-) \ No newline at end of file