drk: Replace "play" with "rodio".

Fun police go away.

This removes the deps on pkgconfig and libmpg123, and should ease the
build process for non GNU/Linux operating systems.
This commit is contained in:
parazyd
2023-06-06 14:01:27 +02:00
parent 39be99644c
commit 88865e2663
14 changed files with 407 additions and 129 deletions

View File

@@ -22,12 +22,12 @@ setup_mac() {
}
setup_apt() {
apt_deps="git make jq gcc pkg-config libmpg123-dev"
apt_deps="git make jq gcc"
$1 install $apt_deps || return 1
}
setup_pacman() {
pacman_deps="git make jq gcc pkgconf mpg123"
pacman_deps="git make jq gcc"
$1 -Sy $pacman_deps || return 1
}
@@ -52,17 +52,17 @@ setup_zypper() {
}
setup_emerge() {
emerge_deps="dev-vcs/git app-misc/jq dev-util/pkgconf"
emerge_deps="dev-vcs/git app-misc/jq"
$1 $emerge_deps || return 1
}
setup_pkg() {
pkg_deps="git bash jq gcc findutils cantarell-fonts devel/pkgconf gmake devel/automake pulseaudio-module-sndio"
pkg_deps="git bash jq gcc findutils cantarell-fonts gmake devel/automake"
$1 install -y $pkg_deps || return 1
}
setup_pkg_add() {
pkg_add_deps="git bash jq gcc-11.2.0p6 findutils cantarell-fonts pkgconf gmake automake-1.15.1"
pkg_add_deps="git bash jq gcc-11.2.0p6 findutils cantarell-fonts gmake automake-1.15.1"
$1 -I $pkg_add_deps || return 1
}
@@ -148,40 +148,6 @@ Linux)
echo "curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | bash -s -- -y --default-toolchain nightly --default-host x86_64-unknown-openbsd"
fi
if command -v pkg || command -v pkg_add || command -v pkgin; then
echo "Dependencies installed!" >&2
cat <<'ENDOFCAT' >&2
=======================
Few more things may be needed:
Install rust from https://www.rust-lang.org/tools/install
Execute: rustup target add wasm32-unknown-unknown
And apply few patches ...
cd ..
git clone --recurse-submodules -j8 https://github.com/stainless-steel/mpg123-sys
cd ./mpg123-sys
sed -e's/$(RM)/rm -f/g' -i.bak source/Makefile.in
patch -p0 build.rs <<'EOF'
43a44
> .arg(&format!("--with-audio=sndio"))
EOF
cargo build # to see if it works fine
cd ../darkfi
patch -p0 Cargo.toml <<'EOF'
329a330
> mpg123-sys = { path = "../mpg123-sys" }
EOF
gmake test # no errors expected
gmake
ls -al darkfid ircd dnetview faucetd vanityaddr # list of built executables
ENDOFCAT
exit 0
fi
echo "Error: Could not recognize your package manager." >&2
exit 1
;;

View File

@@ -42,7 +42,7 @@ RUN bash -c 'make -j test && make -j'
# 3. stage
FROM alpine:${ALPINE_VER}
RUN apk add --no-cache openssl ttf-opensans libgcc mpg123-libs
RUN apk add --no-cache openssl ttf-opensans libgcc
WORKDIR /opt/darkfi

View File

@@ -47,7 +47,7 @@ RUN bash -c 'make -j test && make -j'
# 3. stage
FROM --platform=$TARGETPLATFORM ${REPOSITORY}:${OS_VER}
RUN apk add --no-cache openssl ttf-opensans libgcc mpg123-libs
RUN apk add --no-cache openssl ttf-opensans libgcc
WORKDIR /opt/darkfi

View File

@@ -31,7 +31,7 @@ RUN bash -c 'make -j test && make -j all'
# 2. stage
FROM debian:${RUN_OS_VER}
RUN apt-get -y update && apt-get install -y openssl fonts-lato libout123-0 libmpg123-0 \
RUN apt-get -y update && apt-get install -y openssl fonts-lato \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
WORKDIR /opt/darkfi

View File

@@ -38,7 +38,7 @@ RUN bash -c 'make -j test && make -j all'
# 3. stage
FROM ${OS_VER}
RUN dnf -y install openssl lato-fonts mpg123-libs \
RUN dnf -y install openssl lato-fonts \
&& dnf clean all \
&& rm -rf /var/cache/dnf

View File

@@ -40,7 +40,7 @@ RUN bash -c 'make -j test && make -j all'
# 3. stage
FROM ${REPOSITORY}:${RUN_OS_VER}
RUN apt-get -y update && apt-get install -y openssl fonts-lato libout123-0 libmpg123-0 \
RUN apt-get -y update && apt-get install -y openssl fonts-lato \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
WORKDIR /opt/darkfi

View File

@@ -44,7 +44,7 @@ RUN bash -c 'make -j test && make -j all'
# 3. stage
FROM --platform=$TARGETPLATFORM ${REPOSITORY}:${RUN_OS_VER}
RUN apt-get -y update && apt-get install -y openssl fonts-lato libout123-0 libmpg123-0 \
RUN apt-get -y update && apt-get install -y openssl fonts-lato \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
WORKDIR /opt/darkfi