mirror of
https://github.com/librespot-org/librespot.git
synced 2024-12-18 17:11:53 +00:00
Merge pull request #1044 from felixstorm/fix-armv6hp
Fix armv6hp Builds (RPI 1 & Zero)
This commit is contained in:
commit
d899da5f8f
1 changed files with 10 additions and 35 deletions
|
@ -1,42 +1,17 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Snipped and tucked from https://github.com/plietar/librespot/pull/202/commits/21549641d39399cbaec0bc92b36c9951d1b87b90
|
# largerly inspired by https://github.com/Spotifyd/spotifyd/blob/993336f7/.github/workflows/cd.yml#L109
|
||||||
# and further inputs from https://github.com/kingosticks/librespot/commit/c55dd20bd6c7e44dd75ff33185cf50b2d3bd79c3
|
|
||||||
|
|
||||||
set -eux
|
set -eux
|
||||||
# Get alsa lib and headers
|
|
||||||
ALSA_VER="1.0.25-4"
|
# See https://github.com/raspberrypi/tools/commit/5caa7046
|
||||||
DEPS=( \
|
# Since this commit is not (yet) contained in what is downloaded in Dockerfile, we use the target of the symlink directly
|
||||||
"http://mirrordirector.raspbian.org/raspbian/pool/main/a/alsa-lib/libasound2_${ALSA_VER}_armhf.deb" \
|
PI1_TOOLS_DIR="/pi-tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf"
|
||||||
"http://mirrordirector.raspbian.org/raspbian/pool/main/a/alsa-lib/libasound2-dev_${ALSA_VER}_armhf.deb" \
|
|
||||||
|
PI1_LIB_DIRS=(
|
||||||
|
"$PI1_TOOLS_DIR/arm-linux-gnueabihf/sysroot/lib"
|
||||||
|
"$PI1_TOOLS_DIR/arm-linux-gnueabihf/sysroot/usr/lib"
|
||||||
)
|
)
|
||||||
|
export RUSTFLAGS="-C linker=$PI1_TOOLS_DIR/bin/arm-linux-gnueabihf-gcc ${PI1_LIB_DIRS[@]/#/-L}"
|
||||||
|
|
||||||
# Collect Paths
|
|
||||||
SYSROOT="/pi-tools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/arm-bcm2708hardfp-linux-gnueabi/sysroot"
|
|
||||||
GCC="/pi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin"
|
|
||||||
GCC_SYSROOT="$GCC/gcc-sysroot"
|
|
||||||
|
|
||||||
|
|
||||||
export PATH=/pi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/:$PATH
|
|
||||||
|
|
||||||
# Link the compiler
|
|
||||||
export TARGET_CC="$GCC/arm-linux-gnueabihf-gcc"
|
|
||||||
|
|
||||||
# Create wrapper around gcc to point to rpi sysroot
|
|
||||||
echo -e '#!/bin/bash' "\n$TARGET_CC --sysroot $SYSROOT \"\$@\"" > $GCC_SYSROOT
|
|
||||||
chmod +x $GCC_SYSROOT
|
|
||||||
|
|
||||||
# Add extra target dependencies to our rpi sysroot
|
|
||||||
for path in "${DEPS[@]}"; do
|
|
||||||
curl -OL $path
|
|
||||||
dpkg -x $(basename $path) $SYSROOT
|
|
||||||
done
|
|
||||||
|
|
||||||
# i don't why this is neccessary
|
|
||||||
# ln -s ld-linux.so.3 $SYSROOT/lib/ld-linux-armhf.so.3
|
|
||||||
|
|
||||||
# point cargo to use gcc wrapper as linker
|
|
||||||
echo -e '[target.arm-unknown-linux-gnueabihf]\nlinker = "gcc-sysroot"' > /.cargo/config
|
|
||||||
|
|
||||||
# Build
|
|
||||||
cargo build --release --target arm-unknown-linux-gnueabihf --no-default-features --features "alsa-backend"
|
cargo build --release --target arm-unknown-linux-gnueabihf --no-default-features --features "alsa-backend"
|
||||||
|
|
Loading…
Reference in a new issue