Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make a first pre-release #27

Merged
merged 36 commits into from
Apr 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
59b32ba
Add a dlangui frontend (non functional)
Dadoum Oct 31, 2023
5b1b33c
Fix Windows compilation in GitHub Actions
Dadoum Oct 31, 2023
c5f22ec
Fix linux-aarch64 compilation in GitHub Actions
Dadoum Oct 31, 2023
1a64069
Add arm64 repos to Workflows
Dadoum Oct 31, 2023
8362d71
Fix Windows support for dlangui
Dadoum Nov 1, 2023
a70a286
Please fix ARM64 build
Dadoum Nov 1, 2023
d682c29
...
Dadoum Nov 1, 2023
fb731ee
Refactor the frontends as subpackages
Dadoum Nov 2, 2023
9577c89
Make a stub swiftui frontend
Dadoum Nov 2, 2023
26b89ff
Add a Swift test package
Dadoum Nov 3, 2023
aa5a998
Add basic Swift bindings generator, for the SwiftUI frontend
Dadoum Nov 4, 2023
1efb929
Fix Swift ARC with D Strings
Dadoum Nov 7, 2023
ce47ba6
Fix Swift ARC with D Strings
Dadoum Nov 7, 2023
01b82db
[WIP] CLI and OpenSSL update
Dadoum Dec 14, 2023
21837e4
Fix Windows and macOS CLI builds
Dadoum Dec 14, 2023
21e3f43
Fix Windows CLI build
Dadoum Dec 14, 2023
cdd2aa0
Fix #8 hopefully
Dadoum Dec 17, 2023
fc85890
Another commit to fix #8
Dadoum Dec 17, 2023
687fd5b
Fix silly error in the CLI frontend
Dadoum Dec 19, 2023
ed8a063
OPENSSL EOKIZPOR FZJ ERIK,;FZPEO$SD
Dadoum Dec 22, 2023
61edf5d
Merge dub selections for all packages
Dadoum Dec 24, 2023
bb454e2
Overhaul the CLI frontend
Dadoum Dec 25, 2023
45cecda
Add scaffolding for a Qt frontend
Dadoum Dec 27, 2023
882d5d6
Add macOS app folder structure
Dadoum Dec 27, 2023
c6afa3f
Use my dqt fork
Dadoum Dec 27, 2023
2cdc10b
Fix Windows build
Dadoum Dec 27, 2023
edc0f76
Implement basic Qt UI
Dadoum Dec 28, 2023
2758a7b
Fix nekojb ipa installation
Dadoum Dec 30, 2023
3e816b8
Add DependencyWindow to the Qt frontend
Dadoum Jan 2, 2024
cb8e05e
Force rebuild
Dadoum Mar 2, 2024
545820a
Attempt to fix Windows builds with a simple change. It's not going to…
Dadoum Mar 2, 2024
1d07b47
Fix parsing of unnamed certificates
Dadoum Mar 21, 2024
d17ab54
Give a default null machine name
Dadoum Mar 21, 2024
0d10c8c
Fix a dumb conversion issue in developersession
Dadoum Mar 21, 2024
20bdf8b
Fix #25
Dadoum Mar 24, 2024
f620102
Add a UDID switch
Dadoum Mar 28, 2024
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
312 changes: 312 additions & 0 deletions .github/workflows/build-cli.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,312 @@
name: CLI builds

on: push

env:
BUILD_TYPE: Release

jobs:
build-x86_64:
runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- uses: dlang-community/setup-dlang@v1
with:
compiler: ldc-1.33.0

- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils

- name: Write version file
run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d

- name: Build
run: dub build -b release-debug --compiler=ldc2 :cli-frontend

- name: Rename
run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-linux-x86_64"

- name: Put debug symbols in a separate file
run: eu-strip --strip-debug -f "${{github.workspace}}/bin/sideloader-cli-linux-x86_64.dbg" "${{github.workspace}}/bin/sideloader-cli-linux-x86_64"

- uses: actions/upload-artifact@v3
with:
name: sideloader-cli-linux-x86_64
path: |
${{github.workspace}}/bin/sideloader-cli-linux-x86_64
${{github.workspace}}/bin/sideloader-cli-linux-x86_64.dbg

build-i686:
# Does not work yet
if: false
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- uses: dlang-community/setup-dlang@v1
with:
compiler: ldc-1.33.0

- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils gcc-i686-linux-gnu libc6-dev

- name: Write version file
run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d

- name: Build
run: dub build -b release-debug --compiler=ldc2 --arch i686-linux-gnu :cli-frontend

- name: Rename
run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-linux-i686"

- name: Put debug symbols in a separate file
run: eu-strip --strip-debug -f "${{github.workspace}}/bin/sideloader-cli-linux-i686.dbg" "${{github.workspace}}/bin/sideloader-cli-linux-i686"

- uses: actions/upload-artifact@v3
with:
name: sideloader-cli-linux-i686
path: |
${{github.workspace}}/bin/sideloader-cli-linux-i686
${{github.workspace}}/bin/sideloader-cli-linux-i686.dbg

build-aarch64:
runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- uses: dlang-community/setup-dlang@v1
with:
compiler: ldc-1.33.0

- name: Set-up aarch64 cross-compilation
run: |
mkdir -p $HOME/.ldc/
cat << EOF | tee $HOME/.ldc/ldc2.conf
"aarch64-.*-linux-gnu":
{
switches = [
"-defaultlib=phobos2-ldc,druntime-ldc",
"-gcc=aarch64-linux-gnu-gcc",
];
post-switches = [
"-I$HOME/ldc2-1.32.2-linux-aarch64/import",
];
lib-dirs = [
"$HOME/ldc2-1.32.2-linux-aarch64/lib",
];
};
EOF
curl -LO https://github.com/ldc-developers/ldc/releases/download/v1.32.2/ldc2-1.32.2-linux-aarch64.tar.xz
tar -xf ./ldc2-1.32.2-linux-aarch64.tar.xz -C $HOME

- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y elfutils gcc-aarch64-linux-gnu

- name: Write version file
run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d

- name: Build
run: dub build -b release-debug --compiler=ldc2 --arch aarch64-linux-gnu :cli-frontend

- name: Rename
run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-linux-aarch64"

- name: Put debug symbols in a separate file
run: eu-strip --strip-debug -f "${{github.workspace}}/bin/sideloader-cli-linux-aarch64.dbg" "${{github.workspace}}/bin/sideloader-cli-linux-aarch64"

- uses: actions/upload-artifact@v3
with:
name: sideloader-cli-linux-aarch64
path: |
${{github.workspace}}/bin/sideloader-cli-linux-aarch64
${{github.workspace}}/bin/sideloader-cli-linux-aarch64.dbg

build-macos-x86_64:
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- uses: dlang-community/setup-dlang@v1
with:
compiler: ldc-1.33.0

- name: Set-up macOS cross-compilation
run: |
mkdir -p $HOME/.ldc/
curl -LO https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/MacOSX11.0.sdk.tar.xz
tar -xf ./MacOSX11.0.sdk.tar.xz -C $HOME
cat << EOF | tee $HOME/.ldc/ldc2.conf
"x86_64-apple-darwin":
{
// default switches injected before all explicit command-line switches
switches = [
"-gcc=clang",
"-linker=lld",
"-Xcc=-target",
"-Xcc=x86_64-apple-darwin",
"-Xcc=-isysroot",
"-Xcc=$HOME/MacOSX11.0.sdk",
"-defaultlib=phobos2-ldc,druntime-ldc",
];
// default switches appended after all explicit command-line switches
post-switches = [
"-I$HOME/ldc2-1.33.0-osx-x86_64/import",
];
// default directories to be searched for libraries when linking
lib-dirs = [
"$HOME/ldc2-1.33.0-osx-x86_64/lib",
];
};
EOF
mkdir $HOME/ldc-macos
curl -LO https://github.com/ldc-developers/ldc/releases/download/v1.33.0/ldc2-1.33.0-osx-x86_64.tar.xz
tar -xf ./ldc2-1.33.0-osx-x86_64.tar.xz -C $HOME

- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils clang lld

- name: Write version file
run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d

- name: Build
run: dub build -b release-debug --compiler=ldc2 --arch x86_64-apple-darwin :cli-frontend

- name: Rename
run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-macOS-x86_64" # TODO make an app bundle

- uses: actions/upload-artifact@v3
with:
name: sideloader-cli-macOS-x86_64
path: |
${{github.workspace}}/bin/sideloader-cli-macOS-x86_64

build-macos-arm64:
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- uses: dlang-community/setup-dlang@v1
with:
compiler: ldc-1.33.0

- name: Set-up macOS cross-compilation
run: |
mkdir -p $HOME/.ldc/
curl -LO https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/MacOSX11.0.sdk.tar.xz
tar -xf ./MacOSX11.0.sdk.tar.xz -C $HOME
cat << EOF | tee $HOME/.ldc/ldc2.conf
"arm64-apple-macos":
{
// default switches injected before all explicit command-line switches
switches = [
"-gcc=clang",
"-linker=lld",
"-Xcc=-target",
"-Xcc=arm64-apple-macos",
"-Xcc=-isysroot",
"-Xcc=$HOME/MacOSX11.0.sdk",
"-defaultlib=phobos2-ldc,druntime-ldc",
];
// default switches appended after all explicit command-line switches
post-switches = [
"-I$HOME/ldc2-1.33.0-osx-arm64/import",
];
// default directories to be searched for libraries when linking
lib-dirs = [
"$HOME/ldc2-1.33.0-osx-arm64/lib",
];
};
EOF
mkdir $HOME/ldc-macos
curl -LO https://github.com/ldc-developers/ldc/releases/download/v1.33.0/ldc2-1.33.0-osx-arm64.tar.xz
tar -xf ./ldc2-1.33.0-osx-arm64.tar.xz -C $HOME

- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils clang lld

- name: Write version file
run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d

- name: Build
run: dub build -b release-debug --compiler=ldc2 --arch arm64-apple-macos :cli-frontend

- name: Rename
run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-macOS-arm64" # TODO make an app bundle

- uses: actions/upload-artifact@v3
with:
name: sideloader-cli-macOS-arm64
path: |
${{github.workspace}}/bin/sideloader-cli-macOS-arm64

build-windows-x86_64:
runs-on: windows-2019

steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- uses: dlang-community/setup-dlang@v1
with:
compiler: ldc-1.33.0

# - name: Install dependencies
# run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils clang lld 7zip
#
# - name: Set-up Windows cross-compilation
# run: |
# mkdir -p $HOME/.ldc/
# cat << EOF | tee $HOME/.ldc/ldc2.conf
# "x86_64-.*-windows-msvc":
# {
# // default switches injected before all explicit command-line switches
# switches = [
# "-defaultlib=phobos2-ldc,druntime-ldc",
# ];
# // default switches appended after all explicit command-line switches
# post-switches = [
# "-I$HOME/ldc2-1.33.0-windows-x64/import",
# ];
# // default directories to be searched for libraries when linking
# lib-dirs = [
# "$HOME/ldc2-1.33.0-windows-x64/lib",
# ];
# };
# EOF
# curl -LO https://github.com/ldc-developers/ldc/releases/download/v1.33.0/ldc2-1.33.0-windows-x64.7z
# 7z x ./ldc2-1.33.0-windows-x64.7z -o$HOME

- name: Write version file
run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d

- name: Build
run: dub build -b release-debug --compiler=ldc2 --arch x86_64-windows-msvc :cli-frontend

- name: Rename
run: |
mv "${{github.workspace}}/bin/sideloader.exe" "${{github.workspace}}/bin/sideloader-cli-windows-x86_64.exe"
mv "${{github.workspace}}/bin/sideloader.pdb" "${{github.workspace}}/bin/sideloader-cli-windows-x86_64.pdb"

- uses: actions/upload-artifact@v3
with:
name: sideloader-cli-windows-x86_64
path: |
${{github.workspace}}/bin/sideloader-cli-windows-x86_64.exe
${{github.workspace}}/bin/sideloader-cli-windows-x86_64.pdb
Loading
Loading