Rockbox open source high quality audio player as a Music Player Daemon
mpris rockbox mpd libadwaita audio rust zig deno
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add macOS Intel build workflow

+115
+115
.github/workflows/macos-intel-build.yml
··· 1 + name: macos-build 2 + 3 + on: 4 + push: 5 + 6 + jobs: 7 + build: 8 + runs-on: macos-15-intel 9 + steps: 10 + - uses: actions/checkout@v2 11 + with: 12 + submodules: true 13 + - name: Setup Cache 14 + uses: actions/cache@v3 15 + with: 16 + path: | 17 + ~/.cargo/registry 18 + ~/.cargo/git 19 + zig/.zig-cache 20 + target 21 + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} 22 + restore-keys: | 23 + ${{ runner.os }}-cargo- 24 + - uses: mlugg/setup-zig@v2 25 + with: 26 + version: 0.16.0 27 + - name: Setup LLVM 28 + run: | 29 + brew install llvm gcc@15 sdl2 cmake protobuf 30 + cp /opt/homebrew/opt/llvm/bin/llvm-objcopy /opt/homebrew/opt/llvm/bin/objcopy || cp /usr/local/opt/llvm/bin/llvm-objcopy /usr/local/opt/llvm/bin/objcopy 31 + - uses: actions-rust-lang/setup-rust-toolchain@v1 32 + - uses: denoland/setup-deno@v2 33 + - name: Build Web UI 34 + run: | 35 + cd webui/rockbox 36 + deno install 37 + deno run build 38 + - name: Build Rockbox Lib 39 + run: | 40 + export PATH="/opt/homebrew/opt/llvm/bin:/usr/local/opt/llvm/bin:$PATH" 41 + mkdir -p build-lib 42 + cd build-lib 43 + ../tools/configure --target=sdlapp --type=N --lcdwidth=320 --lcdheight=240 --prefix=/usr/local && cp ../autoconf/autoconf.h . 44 + make lib -j8 45 + - name: Skip Rust Warnings 46 + run: echo "RUSTFLAGS=-A warnings" >> $GITHUB_ENV 47 + - name: Build Rust Libs 48 + run: | 49 + cargo build -p rockbox-cli --release 50 + cargo build -p rockbox-server --release 51 + cargo build -p rockbox --release 52 + env: 53 + TAG: ${{ inputs.tag || github.ref_name }} 54 + - name: Build Rockbox Binary 55 + run: zig build -Dcpu=x86_64 56 + working-directory: zig 57 + env: 58 + TAG: ${{ inputs.tag || github.ref_name }} 59 + - name: Install Rockbox Libraries 60 + run: sudo make install 61 + working-directory: build-lib 62 + - name: Install Rockbox Binaries 63 + run: | 64 + sudo cp target/release/rockbox /usr/local/bin/ 65 + sudo cp zig/zig-out/bin/rockboxd /usr/local/bin/ 66 + - name: Determine architecture 67 + id: vars 68 + run: | 69 + echo "arch=x86_64" >> $GITHUB_OUTPUT 70 + echo "version=${{ github.event.inputs.tag || github.ref_name }}" >> $GITHUB_OUTPUT 71 + - name: Show artifacts 72 + run: | 73 + ls rockbox-*.pkg 74 + echo build-lib 75 + ls -l build-lib 76 + echo zig-out 77 + ls -l zig/zig-out/bin 78 + echo target 79 + ls -l target/release 80 + echo lib 81 + ls -l /usr/local/lib/rockbox/* 82 + echo share 83 + ls -l /usr/local/share/rockbox 84 + - name: Show Rockbox version 85 + run: | 86 + ./target/release/rockbox --version 87 + ./zig/zig-out/bin/rockboxd --version 88 + - name: Archive artifacts 89 + run: | 90 + VERSION="${{ steps.vars.outputs.version }}" 91 + ARCH="${{ steps.vars.outputs.arch }}" 92 + sudo bash -c """ 93 + cp target/release/rockbox . 94 + cp zig/zig-out/bin/rockboxd . 95 + tar czvf rockbox_${{ steps.vars.outputs.version }}_${{ steps.vars.outputs.arch }}-darwin.tar.gz rockbox 96 + sha256 rockbox_${{ steps.vars.outputs.version }}_${{ steps.vars.outputs.arch }}-darwin.tar.gz > rockbox_${{ steps.vars.outputs.version }}_${{ steps.vars.outputs.arch }}-darwin.tar.gz.sha256 97 + tar czvf rockboxd_${{ steps.vars.outputs.version }}_${{ steps.vars.outputs.arch }}-darwin.tar.gz rockboxd 98 + sha256 rockboxd_${{ steps.vars.outputs.version }}_${{ steps.vars.outputs.arch }}-darwin.tar.gz > rockboxd_${{ steps.vars.outputs.version }}_${{ steps.vars.outputs.arch }}-darwin.tar.gz.sha256 99 + cd /usr/local/lib/rockbox && tar czvf rockbox-codecs-${{ steps.vars.outputs.version }}-${{ steps.vars.outputs.arch }}-darwin.tar.gz * 100 + cd /usr/local/lib/rockbox && shasum -a 256 rockbox-codecs-${{ steps.vars.outputs.version }}-${{ steps.vars.outputs.arch }}-darwin.tar.gz > rockbox-codecs-${{ steps.vars.outputs.version }}-${{ steps.vars.outputs.arch }}-darwin.tar.gz.sha256 101 + cd /usr/local/share/rockbox && tar czvf rockbox-assets-${{ steps.vars.outputs.version }}-${{ steps.vars.outputs.arch }}-darwin.tar.gz * 102 + cd /usr/local/share/rockbox && shasum -a 256 rockbox-assets-${{ steps.vars.outputs.version }}-${{ steps.vars.outputs.arch }}-darwin.tar.gz > rockbox-assets-${{ steps.vars.outputs.version }}-${{ steps.vars.outputs.arch }}-darwin.tar.gz.sha256 103 + """ 104 + - name: Copy Archives 105 + run: | 106 + cp /usr/local/lib/rockbox/rockbox-codecs-${{ steps.vars.outputs.version }}-${{ steps.vars.outputs.arch }}-darwin.tar.gz . 107 + cp /usr/local/lib/rockbox/rockbox-codecs-${{ steps.vars.outputs.version }}-${{ steps.vars.outputs.arch }}-darwin.tar.gz.sha256 . 108 + cp /usr/local/share/rockbox/rockbox-assets-${{ steps.vars.outputs.version }}-${{ steps.vars.outputs.arch }}-darwin.tar.gz . 109 + cp /usr/local/share/rockbox/rockbox-assets-${{ steps.vars.outputs.version }}-${{ steps.vars.outputs.arch }}-darwin.tar.gz.sha256 . 110 + - name: Upload artifact 111 + uses: actions/upload-artifact@v4 112 + with: 113 + name: rockboxd.tar.gz 114 + path: rockboxd_${{ steps.vars.outputs.version }}_${{ steps.vars.outputs.arch }}-darwin.tar.gz 115 + if-no-files-found: error