39 Commits

Author SHA1 Message Date
themixedupstuff d127132dca Merge branch 'master' into stable
Build / build (push) Successful in 29m56s
2026-05-15 23:34:04 +03:00
themixedupstuff 9569415083 Find an alternate way to have all dotnet versions in one docker image. 2026-05-15 23:32:36 +03:00
themixedupstuff 8013b451fd Revert "Add .net10 to the build." Stable is back to v1.0.2
This reverts commit e3f052f181.
2026-04-25 15:12:38 +03:00
themixedupstuff c7800f4740 Add deb packages for dotnet 6.0 and 8.0 for the future. 2026-04-25 15:07:38 +03:00
themixedupstuff 5af0afc451 Use the new Debian 13 database for .net
Build / build (push) Failing after 54s
2026-04-14 23:45:13 +03:00
themixedupstuff e3f052f181 Add .net10 to the build.
Build / build (push) Failing after 56s
2026-04-14 22:33:57 +02:00
themixedupstuff d0f5760c7a Add --no-cache to the correct place in the build command.
Build / build (push) Successful in 27m11s
2024-07-23 22:48:53 +03:00
themixedupstuff db4b7e7c46 Add --no-cache to build command.
Build / build (push) Failing after 32s
2024-07-23 22:47:16 +03:00
themixedupstuff 165fd4f7f3 Add the .net 8.0 sdk to the build image.
Build / build (push) Failing after 1m47s
2024-07-23 22:41:38 +03:00
themixedupstuff 518969e2c9 Merge branch 'stable' of https://git.mixedup.dev/ReFuel/docker-cross-compiler into stable
Build / build (push) Successful in 36s
2024-06-20 12:57:36 +03:00
themixedupstuff 3b4d6cee18 Rename additional cmake variable. 2024-06-20 12:45:58 +03:00
themixedupstuff 5901e3e317 Update build_native to honor build options. 2024-06-14 22:11:22 +03:00
themixedupstuff 44c8ab3212 Update the cmake scripts by copying the correct commit. 2024-06-14 22:00:05 +03:00
themixedupstuff 36660bcf38 Add osx options again. 2024-06-14 21:52:51 +03:00
themixedupstuff caafc898f3 Convert all files to lf. 2024-06-14 18:24:14 +03:00
themixedupstuff 797197b562 Revert "Remove init.sh."
Build / build (push) Successful in 40s
This reverts commit 5959c1229f.
2024-06-13 21:20:50 +03:00
themixedupstuff 74e192bb05 Change workflow to use tags. 2024-06-13 21:17:13 +03:00
themixedupstuff d3f2aee3c3 Fix .bashrc after removing init.sh 2024-06-13 21:16:38 +03:00
themixedupstuff 35f1d46e81 Fix typo 2024-06-13 21:01:26 +03:00
themixedupstuff 5959c1229f Remove init.sh. 2024-06-13 21:00:57 +03:00
themixedupstuff 7aeb3ab967 Rebrand as ReFuel. 2024-06-13 19:58:34 +02:00
themixedupstuff 57bd32ea77 Reintroduce build essentials into this repository. 2024-06-13 19:58:34 +02:00
themixedupstuff 4107bf9df4 Rebrand as ReFuel.
Build / build (push) Failing after 30s
2024-06-13 20:57:08 +03:00
themixedupstuff fe004342de Reintroduce build essentials into this repository. 2024-06-13 20:49:00 +03:00
themixedupstuff 9eb5f90a2e Merge branch 'stable' of https://git.mixedup.dev/QUIK/docker-cross-compiler into stable
Build / build (push) Successful in 25m12s
2024-03-30 14:34:19 +03:00
themixedupstuff 9a1e45f9e3 Add support for osxcross. 2024-03-30 14:13:32 +03:00
themixedupstuff b979f9a579 Merge branch 'master' of https://git.mixedup.dev/QUIK/docker-cross-compiler 2024-03-23 11:28:24 +03:00
themixedupstuff 0aa4ab377c node -> nodejs
Build / build (push) Successful in 10m54s
2024-03-23 11:11:32 +03:00
themixedupstuff a644c84827 Merge branch 'stable' of https://git.mixedup.dev/QUIK/docker-cross-compiler into stable
Build / build (push) Failing after 34s
2024-03-23 11:05:30 +03:00
themixedupstuff 20af74f962 Removed cmake files from this repository and added node and meson to the apt packages list. 2024-03-23 11:05:23 +03:00
themixedupstuff aae31f8a25 Update .gitea/workflows/build.yaml
Build / build (push) Successful in 5m15s
2024-03-19 17:56:37 +01:00
themixedupstuff 1e3ba6c54c Update .gitea/workflows/build.yaml 2024-03-19 17:55:45 +01:00
themixedupstuff 74bc3a4d42 fix docker name conflict.
Build / build (push) Failing after 31s
2024-03-19 18:49:09 +03:00
themixedupstuff f3ee885fa2 Fix typo.
Build / build (push) Failing after 31s
2024-03-19 18:45:14 +03:00
themixedupstuff 56fc90dddb Merge branch 'master' of https://git.mixedup.dev/QUIK/docker-cross-compiler 2024-03-19 18:43:57 +03:00
themixedupstuff a1ca2ee3ea Try adding secrets to the workflow script. 2024-03-19 18:42:11 +03:00
themixedupstuff 0f007a1a30 Merge pull request 'Fix workflow.' (#1) from stable into master
Reviewed-on: QUIK/docker-cross-compiler#1
2024-03-19 16:22:09 +01:00
themixedupstuff eb7d9d0b94 Fix workflow.
Build / build (push) Successful in 4m29s
2024-03-19 18:21:24 +03:00
themixedupstuff 18f533ce47 Add an action.
Build / build (push) Failing after 1m12s
2024-03-19 18:17:44 +03:00
20 changed files with 310 additions and 23 deletions
+9 -4
View File
@@ -2,7 +2,8 @@ name: Build
run-name: Building docker container. run-name: Building docker container.
on: on:
push: push:
branches: stable tags:
- '*'
jobs: jobs:
build: build:
@@ -13,10 +14,14 @@ jobs:
- name: Gather dependencies. - name: Gather dependencies.
run: apt install -y docker.io run: apt install -y docker.io
- name: Log into Docker registry. - name: Log into Docker registry.
run: "echo ${{secrets.QUIK_API_KEY}} | docker login -u themixedupstuff --password-stdin git.mixedup.dev" run: "echo ${{secrets.REFUEL_API_KEY}} | docker login -u ${{vars.DOCKER_USER_NAME}} --password-stdin git.mixedup.dev"
- name: Check repository out. - name: Check repository out.
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Build Docker Image - name: Build Docker Image
run: docker build -t git.mixedup.dev/quik/docker-cross-compiler . run: "docker build --no-cache -t git.mixedup.dev/refuel/docker-cross-compiler:${{gitea.ref_name}} ."
- name: Upload Docker Image - name: Upload Docker Image
run: docker push git.mixedup.dev/quik/docker-cross-compiler run: "docker push git.mixedup.dev/refuel/docker-cross-compiler:${{gitea.ref_name}}"
- name: Alias image as latest and push.
run: |
docker tag git.mixedup.dev/refuel/docker-cross-compiler:${{gitea.ref_name}} git.mixedup.dev/refuel/docker-cross-compiler:latest && \
docker push git.mixedup.dev/refuel/docker-cross-compiler:latest
+33 -16
View File
@@ -2,7 +2,7 @@
# packages needed to build this project. # packages needed to build this project.
# #
# As always, debian > ubuntu <3 # As always, debian > ubuntu <3
FROM debian:stable-slim FROM debian:trixie-slim
WORKDIR /root WORKDIR /root
# Set host name. # Set host name.
@@ -13,11 +13,6 @@ RUN echo docker_cross_compiler > /etc/hostname
RUN apt-get update RUN apt-get update
RUN apt-get install -y sudo wget RUN apt-get install -y sudo wget
# Add the .NET package repository to the repository listing.
RUN wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
RUN dpkg -i packages-microsoft-prod.deb
RUN rm packages-microsoft-prod.deb
# APT dependencies. # APT dependencies.
RUN apt-get update RUN apt-get update
RUN apt-get install -y \ RUN apt-get install -y \
@@ -26,42 +21,64 @@ RUN echo docker_cross_compiler > /etc/hostname
cmake \ cmake \
clang \ clang \
cpio \ cpio \
dotnet-sdk-6.0 \ curl \
gcc-arm-linux-gnueabihf \ gcc-arm-linux-gnueabihf \
gcc-aarch64-linux-gnu \ gcc-aarch64-linux-gnu \
gcc-i686-linux-gnu \ gcc-i686-linux-gnu \
git \ git \
libbz2-dev \
libharfbuzz-dev \ libharfbuzz-dev \
liblzma-dev \
libpng-dev \ libpng-dev \
libssl-dev \ libssl-dev \
libxml2-dev \ libxml2-dev \
lzma-dev \ llvm \
mingw-w64 \ mingw-w64 \
meson \ meson \
nuget \
ninja-build \ ninja-build \
nodejs \ nodejs \
patch \ patch \
python3 \ python3 \
uuid \
xz-utils \ xz-utils \
zlib1g-dev zlib1g-dev
# Install dotnet 6.0 even if Micro$lop doesn't support it :P
WORKDIR /root/
COPY share/*.tar.gz /root/
RUN mkdir -p /usr/lib64/dotnet
WORKDIR /usr/lib64/dotnet
RUN tar -zxf /root/dotnet-sdk-6.0.428-linux-x64.tar.gz
RUN tar -zxf /root/dotnet-sdk-8.0.421-linux-x64.tar.gz
RUN tar -zxf /root/dotnet-sdk-10.0.300-linux-x64.tar.gz
RUN ln -s /usr/lib64/dotnet/dotnet /usr/local/bin/dotnet
# Clone osxcross # Clone osxcross
# Let's do this later. # Let's do this later.
# RUN git clone https://github.com/tpoechtrager/osxcross.git osxcross WORKDIR /root/
RUN git clone --recurse-submodules "https://github.com/tpoechtrager/osxcross.git" osxcross
# Download packaged SDK from this random github (very safe i know)
WORKDIR /root/osxcross/tarballs
RUN wget "https://github.com/joseluisq/macosx-sdks/releases/download/14.0/MacOSX14.0.sdk.tar.xz" -O "MacOSX14.0.sdk.tar.xz"
WORKDIR /root/osxcross
ENV UNATTENDED=1 TARGET_DIR=/usr/local SDK_DIR=/usr/local/osxcross-sdk
RUN bash -c "./build.sh"
# Setup interactive shell. # Setup interactive shell.
# Setup sudo. Remove password prompt for group "wheel". # Setup sudo. Remove password prompt for group "wheel".
RUN echo "%wheel ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/quik_sudo_conf RUN echo "%wheel ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/refuel_sudo_conf
# Create a default user and switch. # Create a default user and switch.
RUN adduser --comment "" --disabled-password quik RUN adduser --comment "" --disabled-password refuel
USER quik RUN addgroup wheel
WORKDIR /home/quik RUN usermod -aG wheel refuel
USER refuel
WORKDIR /home/refuel
# Copy bashrc # Copy bashrc
RUN cp /etc/bash.bashrc ~/.bashrc COPY sh/bashrc.sh /home/refuel/.bashrc
RUN echo source $HOME/src/sh/bashrc.sh >> ~/.bashrc
# Execute an interactive shell. # Execute an interactive shell.
CMD bash CMD bash
+13
View File
@@ -0,0 +1,13 @@
# ReFuel Toolchain file for Linux-arm systems.
# Copyright (C) 2023
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc)
set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++)
set(CMAKE_FIND_ROOT_PATH "/usr/arm-linux-gnueabihf")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+13
View File
@@ -0,0 +1,13 @@
# ReFuel Toolchain file for Linux-arm64 (aarch64) systems.
# Copyright (C) 2023
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc)
set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++)
set(CMAKE_FIND_ROOT_PATH "/usr/aarch64-linux-gnu")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+9
View File
@@ -0,0 +1,9 @@
# ReFuel Toolchain file for Linux-x64 (amd64) systems.
# Copyright (C) 2023
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_C_COMPILER gcc)
set(CMAKE_CXX_COMPILER g++)
add_compile_options(-m64)
+14
View File
@@ -0,0 +1,14 @@
# ReFuel Toolchain file for Linux-x86 (i386) systems.
# Copyright (C) 2023
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_C_COMPILER i686-linux-gnu-gcc)
set(CMAKE_CXX_COMPILER i686-linux-gnu-g++)
add_compile_options(-m32 -march=i686)
set(CMAKE_FIND_ROOT_PATH "/usr/i686-linux-gnu")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+14
View File
@@ -0,0 +1,14 @@
# ReFuel Toolchain file for OSX-ARM64 systems.
# Copyright (C) 2024
set(CMAKE_SYSTEM_NAME Darwin)
set(CMAKE_C_COMPILER aarch64-apple-darwin23-clang)
set(CMAKE_CXX_COMPILER aarch64-apple-darwin23-clang++)
set(CMAKE_FIND_ROOT_PATH "/usr/local/SDK/MacOSX14.0.sdk/usr"
"/usr/local/SDK/MacOSX14.0.sdk/System")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+14
View File
@@ -0,0 +1,14 @@
# ReFuel Toolchain file for OSX-ARM64 systems.
# Copyright (C) 2024
set(CMAKE_SYSTEM_NAME Darwin)
set(CMAKE_C_COMPILER x86_64-apple-darwin23-clang)
set(CMAKE_CXX_COMPILER x86_64-apple-darwin23-clang++)
set(CMAKE_FIND_ROOT_PATH "/usr/local/SDK/MacOSX14.0.sdk/usr"
"/usr/local/SDK/MacOSX14.0.sdk/System")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+14
View File
@@ -0,0 +1,14 @@
# ReFuel Toolchain file for Windows-x64 systems.
# Copyright (C) 2023
set(CMAKE_SYSTEM_NAME Windows)
set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc)
set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++)
set(CMAKE_FIND_ROOT_PATH "/usr/x86_64-w64-mingw32")
add_compile_options(-m64)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+14
View File
@@ -0,0 +1,14 @@
# ReFuel Toolchain file for Windows-x86 systems.
# Copyright (C) 2023
set(CMAKE_SYSTEM_NAME Windows)
set(CMAKE_C_COMPILER i686-w64-mingw32-gcc)
set(CMAKE_CXX_COMPILER i686-w64-mingw32-g++)
set(CMAKE_FIND_ROOT_PATH "/usr/i686-w64-mingw32")
add_compile_options(-m32)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+54
View File
@@ -0,0 +1,54 @@
#ifndef _REFUEL_COMMON_H_
#define _REFUEL_COMMON_H_
#include "stdlib.h"
#include "stdio.h"
#if __GNUC__ || _MSC_VER
#define __REFUEL_FUNCTION__ __FUNCTION__
#else
#define __REFUEL_FUNCTION__ NULL
#endif
#if WIN32 || _MSC_VER > 0 || __MINGW__
#define RFEXTERN __declspec(dllexport)
#else
#define RFEXTERN
#endif
/**
* @brief Callback for failed assert function for QUIK redist libraries.
* @param[in] expr The expression that failed.
* @param[in] file The failing file (if available)
* @param[in] line The failing line number (if available)
* @param[in] func The failing function (if available)
*/
typedef void (*rf_failed_assert_cb_t)(const char *expr, const char *file, int line, const char* func);
#define DECLARE_ASSERT_CB(NAME) \
RFEXTERN rf_failed_assert_cb_t NAME##_failed_assert
#define DECLARE_ASSERT_STORE(NAME) \
RFEXTERN void NAME##_failed_assert_store(rf_failed_assert_cb_t cb)
#define DEFINE_ASSERT_CB(NAME) \
rf_failed_assert_cb_t NAME##_failed_assert
#define DEFINE_ASSERT_STORE(NAME) \
void NAME##_failed_assert_store(rf_failed_assert_cb_t cb) { \
NAME##_failed_assert = cb != NULL ? cb : rf_default_assert; \
}
#define REFUEL_DECLARE_LIB(NAME) \
DECLARE_ASSERT_CB(NAME); \
DECLARE_ASSERT_STORE(NAME);
#define REFUEL_DEFINE_LIB(NAME) \
DEFINE_ASSERT_CB(NAME); \
DEFINE_ASSERT_STORE(NAME);
inline static void rf_default_assert(const char *expr, const char *file, int line, const char *function)
{
fprintf(stderr, "Assert failed at %s:%d in %s()\n %s", file, line, function, expr);
abort();
}
#endif
+1
View File
@@ -0,0 +1 @@
*.sh text eof=lf
Regular → Executable
+20 -3
View File
@@ -1,5 +1,22 @@
source $HOME/src/sh/init.sh source /etc/bash.bashrc
echo QUIK Project Copyright \(C\) 2023
# Set location for AppHost lookup
[ -z "$DOTNET_ROOT" ] && export DOTNET_ROOT=/usr/lib64/dotnet
# Add dotnet tools directory to PATH
DOTNET_TOOLS_PATH="$HOME/.dotnet/tools"
case "$PATH" in
*"$DOTNET_TOOLS_PATH"* ) true ;;
* ) PATH="$PATH:$DOTNET_TOOLS_PATH" ;;
esac
# Extract self-contained executables under HOME
# to avoid multi-user issues from using the default '/var/tmp'.
[ -z "$DOTNET_BUNDLE_EXTRACT_BASE_DIR" ] && export DOTNET_BUNDLE_EXTRACT_BASE_DIR="${XDG_CACHE_HOME:-"$HOME"/.cache}/dotnet_bundle_extract"
echo ReFuel Project - Copyright \(C\) 2023
echo echo
echo This is an interactive shell for QUIK build image. echo This is an interactive shell for ReFuel build image.
echo SuperUser \(su/sudo\) commands are enabled without a password. Beware. echo SuperUser \(su/sudo\) commands are enabled without a password. Beware.
+57
View File
@@ -0,0 +1,57 @@
#!/bin/bash
# $1 Source path of the project.
# $2 Target architecture list.
# DST is the destination directory.
# NOINSTALL = 1 to skip installing.
SRC=$1
ARCHS=$2
if [ -z "$SRC" ]
then
echo You need to provide a source path.
return
fi
if [ -z "$ARCHS" ]
then
ARCHS="linux-arm linux-arm64 linux-x64 win-x64 win-x86 osx-arm64 osx-x64"
fi
if [ -z "$DST" ]
then
DST=$PWD
fi
if [ -z "$CMAKE_DIR"]
then
CMAKE_DIR="$SRC/docker-cross-compiler/cmake"
fi
for ARCH in $ARCHS; do
# Output directory.
PREFIX=$DST/runtimes/$ARCH/native
# Build directory.
BUILD=$DST/out/$ARCH
# Cmake toolchain file.
TOOLCHAIN=$CMAKE_DIR/$ARCH.cmake
# Create directories.
mkdir -p $PREFIX $BUILD
# Configure CMAKE.
cmake -B $BUILD -S $SRC \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$PREFIX \
-DCMAKE_TOOLCHAIN_FILE=$TOOLCHAIN \
$REFUEL_ADDITIONAL_CMAKE
# Build and install.
ninja -C $BUILD all
if [ ! $NOINSTALL ]
then
ninja -C $BUILD install
fi
done
Regular → Executable
View File
Executable
+30
View File
@@ -0,0 +1,30 @@
#!/bin/bash
if [-z "$1"]
then
$1 = $(dirname "$0")
fi
if [ -z "$NUGET_API_KEY" ]
then
echo "Please define NUGET_API_KEY"
exit 1
fi
if [ -z "$NUGET_USER_NAME" ]
then
echo "Please define NUGET_USER_NAME"
exit 1
fi
if [ -z "$NUGET_INDEX" ]
then
echo "Please define NUGET_INDEX"
exit 1
fi
cd $1
dotnet nuget add source \
-n ReFuel -u "$NUGET_USER_NAME" -p "$NUGET_API_KEY" \
--store-password-in-clear-text \
"$NUGET_INDEX"
dotnet nuget push -s ReFuel bin/*/*.nupkg
+1
View File
@@ -0,0 +1 @@
**/*.deb -diff
Binary file not shown.
Binary file not shown.
Binary file not shown.