diff --git a/.github/workflows/panfrost_ci.yml b/.github/workflows/panfrost_ci.yml deleted file mode 100644 index 25b6064..0000000 --- a/.github/workflows/panfrost_ci.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Build "panfrost" - -on: - workflow_dispatch: - schedule: - - cron: '30 0-23 * * *' - -jobs: - start_building_panfrost: - runs-on: ubuntu-22.04 - steps: - - uses: actions/checkout@v3 - - - name: Prepare environment - run: | - sudo sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list - sudo apt update && sudo apt upgrade - sudo apt build-dep mesa -y - - - name: Execute build script - run: bash ./panfrost_builder.sh - - - name: Upload a Build Artifact - uses: actions/upload-artifact@v3.1.0 - with: - name: panfrost-23.0.0-P-Alpha_MrPurple.adpkg.zip - path: turnip_workdir/panfrost-23.0.0-P-Alpha_MrPurple.adpkg.zip diff --git a/panfrost_builder.sh b/panfrost_builder.sh deleted file mode 100644 index 1121748..0000000 --- a/panfrost_builder.sh +++ /dev/null @@ -1,124 +0,0 @@ -#!/bin/sh -green='\033[0;32m' -red='\033[0;31m' -nocolor='\033[0m' -deps="meson ninja patchelf unzip curl pip flex bison zip" -workdir="$(pwd)/panfrost_workdir" -driverdir="$workdir/panfrost_module" -clear - - - -echo "Checking system for required Dependencies ..." -for deps_chk in $deps; - do - sleep 0.25 - if command -v $deps_chk >/dev/null 2>&1 ; then - echo -e "$green - $deps_chk found $nocolor" - else - echo -e "$red - $deps_chk not found, can't countinue. $nocolor" - deps_missing=1 - fi; - done - - if [ "$deps_missing" == "1" ] - then echo "Please install missing dependencies" && exit 1 - fi - - - -echo "Installing python Mako dependency (if missing) ..." $'\n' -pip install mako &> /dev/null - -echo "Creating and entering to work directory ..." $'\n' -mkdir -p $workdir && cd $workdir - - -echo "Downloading android-ndk from google server (~506 MB) ..." $'\n' -curl https://dl.google.com/android/repository/android-ndk-r25b-linux.zip --output android-ndk-r25b-linux.zip &> /dev/null -### -echo "Exracting android-ndk to a folder ..." $'\n' -unzip android-ndk-r25b-linux.zip &> /dev/null - -echo "Downloading mesa source (~30 MB) ..." $'\n' -curl https://gitlab.freedesktop.org/mesa/mesa/-/archive/main/mesa-main.zip --output mesa-main.zip &> /dev/null -### -echo "Exracting mesa source to a folder ..." $'\n' -unzip mesa-main.zip &> /dev/null -cd mesa-main - - - -echo "Creating meson cross file ..." $'\n' -ndk="$workdir/android-ndk-r25b/toolchains/llvm/prebuilt/linux-x86_64/bin" -cat <"android-aarch64" -[binaries] -ar = '$ndk/llvm-ar' -c = ['ccache', '$ndk/aarch64-linux-android31-clang'] -cpp = ['ccache', '$ndk/aarch64-linux-android31-clang++', '-fno-exceptions', '-fno-unwind-tables', '-fno-asynchronous-unwind-tables', '-static-libstdc++'] -c_ld = 'lld' -cpp_ld = 'lld' -strip = '$ndk/aarch64-linux-android-strip' -pkgconfig = ['env', 'PKG_CONFIG_LIBDIR=NDKDIR/pkgconfig', '/usr/bin/pkg-config'] -[host_machine] -system = 'android' -cpu_family = 'aarch64' -cpu = 'armv8' -endian = 'little' -EOF - - - -echo "Generating build files ..." $'\n' -meson build-android-aarch64 --cross-file $workdir/mesa-main/android-aarch64 -Dbuildtype=release -Dplatforms=android -Dplatform-sdk-version=31 -Dandroid-stub=true -Dgallium-drivers= -Dvulkan-drivers=panfrost -Dllvm=disabled -Db_lto=true &> $workdir/meson_log - -echo "Compiling build files ..." $'\n' -ninja -C build-android-aarch64 &> $workdir/ninja_log - - - -echo "Using patchelf to match soname ..." $'\n' -cp $workdir/mesa-main/build-android-aarch64/src/panfrost/vulkan/libvulkan_panfrost.so $workdir -cd $workdir -patchelf --set-soname vulkan.mali.so libvulkan_panfrost.so -mv libvulkan_panfrost.so vulkan.mali.so - - - -if ! [ -a vulkan.mali.so ]; then - echo -e "$red Build failed! $nocolor" && exit 1 -fi - - - -echo "Prepare magisk module structure ..." $'\n' -mkdir -p $driverdir -cd $driverdir - - -cat <"meta.json" -{ - "schemaVersion": 1, - "name": "Mesa panfrost mali Driver 23.0.0", - "description": "Open-source Vulkan driver build from mesa drivers repo", - "author": "Mr_Purple_666", - "packageVersion": "P-Alpha", - "vendor": "Mesa", - "driverVersion": "23.0.0-devel", - "minApi": 30, - "libraryName": "vulkan.mali.so" -} -EOF - - -echo "Copy necessary files from work directory ..." $'\n' -cp $workdir/vulkan.mali.so $driverdir - - - -echo "Packing files in to magisk module ..." $'\n' -zip -r $workdir/panfrost-23.0.0-P-Alpha_MrPurple.adpkg.zip * &> /dev/null -if ! [ -a $workdir/panfrost-23.0.0-P-Alpha_MrPurple.adpkg.zip ]; - then echo -e "$red-Packing failed!$nocolor" && exit 1 - else echo -e "$green-All done, you can take your module from here;$nocolor" && echo $workdir/panfrost-23.0.0-P-Alpha_MrPurple.adpkg.zip -fi