From 1fef9e1f239fcedf421bc09ac5f41d40e656d7b9 Mon Sep 17 00:00:00 2001 From: Shinovon Date: Tue, 20 May 2025 19:31:32 +0500 Subject: [PATCH 1/3] Symbian build workflow --- .github/workflows/build_symbian.yml | 57 +++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/build_symbian.yml diff --git a/.github/workflows/build_symbian.yml b/.github/workflows/build_symbian.yml new file mode 100644 index 000000000..5380a4fd1 --- /dev/null +++ b/.github/workflows/build_symbian.yml @@ -0,0 +1,57 @@ +name: Build latest (Symbian) +# trigger via either push to selected branches or on manual run +on: + push: + branches: + - main + - master + - ModernLighting + - AngledLighting + workflow_dispatch: + +concurrency: + group: ${{ github.ref }}-symbian + cancel-in-progress: true + +jobs: + build: + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + - name: Download Symbian SDK + run: Invoke-WebRequest https://nnp.nnchan.ru/dl/symbiansr1_rvct4_workflow.zip -OutFile symbiansdk.zip + - name: Extract Symbian SDK + run: Expand-Archive symbiansdk.zip -DestinationPath . + - name: Compile Symbian build + id: compile + run: | + $SDK = "$pwd/SDK/" + $Env:EPOCROOT = "$SDK".Substring(2) + $Env:RVCT40BIN = "$pwd/ARM/RVCT/Programs/4.0/400/win_32-pentium" + $Env:RVCT40INC = "$pwd/ARM/RVCT/Data/4.0/400/include/windows" + $Env:RVCT40LIB = "$pwd/ARM/RVCT/Data/4.0/400/lib" + $Env:ARMLMD_LICENSE_FILE = "$pwd/ARM/Licenses/license.dat;$pwd/ARM/Licenses/License.lic" + cmd /c "$SDK/epoc32/tools/sbs\bin\sbs.bat -b misc/symbian/bld.inf -c armv5_urel -f - -m $SDK/epoc32/build/ClassiCube/makefile -j 4" + + (Get-Content misc/symbian/ClassiCube.pkg).Replace('$(EPOCROOT)', "$SDK").Replace('$(PLATFORM)', 'armv5').Replace('$(TARGET)', 'urel') | Set-Content misc/symbian/ClassiCube.pkg + cd misc/symbian + cmd /c "$SDK/epoc32/tools/makesis.exe ClassiCube.pkg ClassiCube.sis" + + - uses: ./.github/actions/upload_build + if: ${{ always() && steps.compile.outcome == 'success' }} + with: + SOURCE_FILE: 'misc/symbian/ClassiCube.sis' + DEST_NAME: 'ClassiCube-Symbian.sis' + + - uses: ./.github/actions/notify_failure + if: ${{ always() && steps.compile.outcome == 'failure' }} + with: + NOTIFY_MESSAGE: 'Failed to compile Symbian build' + WEBHOOK_URL: '${{ secrets.WEBHOOK_URL }}' + + + - uses: ./.github/actions/notify_success + if: ${{ always() && steps.compile.outcome == 'success' }} + with: + DESTINATION_URL: '${{ secrets.NOTIFY_URL }}' + WORKFLOW_NAME: 'symbian' From c944f1ec672055ab0fa8f3f8b1300e9f5cf0ad67 Mon Sep 17 00:00:00 2001 From: Shinovon Date: Fri, 23 May 2025 12:08:13 +0500 Subject: [PATCH 2/3] Symbian workflow fixes --- .github/workflows/build_symbian.yml | 2 +- misc/symbian/ClassiCube_common.mmh | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/build_symbian.yml b/.github/workflows/build_symbian.yml index 5380a4fd1..a6d30bd58 100644 --- a/.github/workflows/build_symbian.yml +++ b/.github/workflows/build_symbian.yml @@ -33,8 +33,8 @@ jobs: $Env:ARMLMD_LICENSE_FILE = "$pwd/ARM/Licenses/license.dat;$pwd/ARM/Licenses/License.lic" cmd /c "$SDK/epoc32/tools/sbs\bin\sbs.bat -b misc/symbian/bld.inf -c armv5_urel -f - -m $SDK/epoc32/build/ClassiCube/makefile -j 4" - (Get-Content misc/symbian/ClassiCube.pkg).Replace('$(EPOCROOT)', "$SDK").Replace('$(PLATFORM)', 'armv5').Replace('$(TARGET)', 'urel') | Set-Content misc/symbian/ClassiCube.pkg cd misc/symbian + (Get-Content ClassiCube.pkg).Replace('$(EPOCROOT)', "$SDK").Replace('$(PLATFORM)', 'armv5').Replace('$(TARGET)', 'urel') | Set-Content ClassiCube.pkg cmd /c "$SDK/epoc32/tools/makesis.exe ClassiCube.pkg ClassiCube.sis" - uses: ./.github/actions/upload_build diff --git a/misc/symbian/ClassiCube_common.mmh b/misc/symbian/ClassiCube_common.mmh index 1a6267d3c..ef8c30319 100644 --- a/misc/symbian/ClassiCube_common.mmh +++ b/misc/symbian/ClassiCube_common.mmh @@ -35,8 +35,6 @@ LIBRARY libpthread.lib STATICLIBRARY libcrt0.lib -OPTION GCCE -O2 -std=c99 - OPTION ARMCC -Otime --diag_suppress 1296 --diag_suppress 1293 --diag_suppress 66 OPTION_REPLACE ARMCC --cpu 6 OPTION_REPLACE ARMCC --fpu softvfp+vfpv2 --fpmode fast From 54fbd6870bbbbb095933dd98ab1e6301217a8831 Mon Sep 17 00:00:00 2001 From: Shinovon Date: Fri, 23 May 2025 12:08:29 +0500 Subject: [PATCH 3/3] Replace ARMCC to GCCE --- .github/workflows/build_symbian.yml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build_symbian.yml b/.github/workflows/build_symbian.yml index a6d30bd58..199a1a816 100644 --- a/.github/workflows/build_symbian.yml +++ b/.github/workflows/build_symbian.yml @@ -19,7 +19,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Download Symbian SDK - run: Invoke-WebRequest https://nnp.nnchan.ru/dl/symbiansr1_rvct4_workflow.zip -OutFile symbiansdk.zip + run: Invoke-WebRequest https://nnp.nnchan.ru/dl/symbiansr1_gcce_workflow.zip -OutFile symbiansdk.zip - name: Extract Symbian SDK run: Expand-Archive symbiansdk.zip -DestinationPath . - name: Compile Symbian build @@ -27,11 +27,8 @@ jobs: run: | $SDK = "$pwd/SDK/" $Env:EPOCROOT = "$SDK".Substring(2) - $Env:RVCT40BIN = "$pwd/ARM/RVCT/Programs/4.0/400/win_32-pentium" - $Env:RVCT40INC = "$pwd/ARM/RVCT/Data/4.0/400/include/windows" - $Env:RVCT40LIB = "$pwd/ARM/RVCT/Data/4.0/400/lib" - $Env:ARMLMD_LICENSE_FILE = "$pwd/ARM/Licenses/license.dat;$pwd/ARM/Licenses/License.lic" - cmd /c "$SDK/epoc32/tools/sbs\bin\sbs.bat -b misc/symbian/bld.inf -c armv5_urel -f - -m $SDK/epoc32/build/ClassiCube/makefile -j 4" + $Env:SBS_GCCE441BIN = "$pwd/GCCE/bin" + cmd /c "$SDK/epoc32/tools/sbs\bin\sbs.bat -b misc/symbian/bld.inf -c armv5_urel_gcce -f - -m $SDK/epoc32/build/ClassiCube/makefile -j 4" cd misc/symbian (Get-Content ClassiCube.pkg).Replace('$(EPOCROOT)', "$SDK").Replace('$(PLATFORM)', 'armv5').Replace('$(TARGET)', 'urel') | Set-Content ClassiCube.pkg