mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-01-09 14:48:08 -05:00
Simplify project system dependencies.
This commit is contained in:
25
README.md
25
README.md
@@ -36,28 +36,21 @@ Minimum Rust version supported is **1.65.0 (stable)**.
|
||||
|
||||
The following dependencies are also required:
|
||||
|
||||
| Dependency | Debian-based |
|
||||
|------------------------------|------------------|
|
||||
| gcc, gcc-c++, kernel headers | build-essential |
|
||||
| cmake | cmake |
|
||||
| jq | jq |
|
||||
| wget | wget |
|
||||
| pkg-config | pkg-config |
|
||||
| clang | clang |
|
||||
| clang libs | libclang-dev |
|
||||
| llvm libs | llvm-dev |
|
||||
| udev libs | libudev-dev |
|
||||
| freetype2 libs | libfreetype6-dev |
|
||||
| expat xml lib | libexpat1-dev |
|
||||
| Dependency | Debian-based |
|
||||
|----------------|------------------|
|
||||
| git | git |
|
||||
| make | make |
|
||||
| jq | jq |
|
||||
| gcc | gcc |
|
||||
| pkg-config | pkg-config |
|
||||
| openssl libs | openssl-dev |
|
||||
|
||||
Users of Debian-based systems (e.g. Ubuntu) can simply run the
|
||||
following to install the required dependencies:
|
||||
|
||||
```shell
|
||||
# apt-get update
|
||||
# apt-get install -y build-essential cmake jq wget pkg-config \
|
||||
clang libclang-dev llvm-dev libudev-dev libfreetype6-dev \
|
||||
libexpat1-dev
|
||||
# apt-get install -y git make jq gcc pkg-config openssl-dev
|
||||
```
|
||||
|
||||
Alternatively, users can try using the automated script under `contrib`
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
if [ "$UID" != 0 ]; then
|
||||
SUDO="$(command -v sudo)"
|
||||
if [ "$(id -u)" != 0 ]; then
|
||||
SUDO="${SUDO:-$(command -v sudo)}"
|
||||
else
|
||||
SUDO=""
|
||||
SUDO="${SUDO:-}"
|
||||
fi
|
||||
|
||||
brew_sh="https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh"
|
||||
@@ -15,99 +15,73 @@ setup_mac() {
|
||||
bash -c "$(curl -fL "${brew_sh}")" || return 1
|
||||
fi
|
||||
|
||||
for i in cmake gcc jq pkgconf llvm@13 freetype expat; do
|
||||
for i in cmake gcc jq pkgconf llvm@13; do
|
||||
echo "Installing $i with brew..." >&2
|
||||
brew install "$i" || return 1
|
||||
done
|
||||
}
|
||||
|
||||
setup_apt() {
|
||||
APTGET="$SUDO $1"
|
||||
|
||||
$APTGET update || return 1
|
||||
$APTGET install -y build-essential cmake jq wget pkg-config \
|
||||
clang libclang-dev llvm-dev libudev-dev libfreetype6-dev \
|
||||
libexpat1-dev curl gcc make libssl-dev fonts-lato \
|
||||
libfontconfig-dev || return 1
|
||||
apt_deps="git make jq gcc pkg-config libssl-dev"
|
||||
$1 install "$apt_deps" || return 1
|
||||
}
|
||||
|
||||
setup_pacman() {
|
||||
PACMAN="$SUDO $1"
|
||||
|
||||
$PACMAN -Sy base-devel cmake wget expat freetype2 fontconfig \
|
||||
jq openssl clang llvm libgudev
|
||||
pacman_deps="git make jq gcc pkgconf openssl"
|
||||
$1 -Sy "$pacman_deps" || return 1
|
||||
}
|
||||
|
||||
setup_xbps() {
|
||||
XBPS="$SUDO $1"
|
||||
|
||||
$XBPS -S base-devel cmake wget expat-devel freetype-devel \
|
||||
fontconfig-devel jq openssl-devel clang libclang llvm \
|
||||
libllvm12 libgudev-devel
|
||||
xbps_deps="git make jq gcc pkg-config openssl-devel"
|
||||
$1 -S "$xbps_deps" || return 1
|
||||
}
|
||||
|
||||
setup_dnf() {
|
||||
DNF="$SUDO $1"
|
||||
|
||||
$DNF install -y gcc gcc-c++ kernel-headers cmake jq wget \
|
||||
pkg-config clang clang-libs llvm-libs \
|
||||
rust-libudev-devel rust-freetype-rs-devel \
|
||||
rust-expat-sys-devel openssl-devel findutils \
|
||||
fontconfig-devel || return 1
|
||||
dnf_deps="git make jq gcc pkg-config openssl-devel findutils"
|
||||
$1 install -y "$dnf_deps" || return 1
|
||||
}
|
||||
|
||||
setup_apk() {
|
||||
APK="$SUDO $1"
|
||||
|
||||
$APK update
|
||||
$APK add cmake jq wget clang curl gcc make llvm-dev openssl-dev expat-dev \
|
||||
freetype-dev libudev-zero-dev libgudev-dev pkgconf clang-dev \
|
||||
fontconfig-dev build-base || return 1
|
||||
apk_deps="git make jq gcc musl-dev openssl-dev"
|
||||
$1 add "$apk_deps" || return 1
|
||||
}
|
||||
|
||||
setup_zypper() {
|
||||
ZYPPER="$SUDO $1"
|
||||
|
||||
$ZYPPER install -y gcc gcc-c++ kernel-headers cmake jq wget git \
|
||||
pkg-config clang openssl-devel findutils \
|
||||
fontconfig-devel || return 1
|
||||
zypper_deps="git make jq gcc pkg-config openssl-devel findutils"
|
||||
$1 install -y "$zypper_deps" || return 1
|
||||
}
|
||||
|
||||
setup_emerge() {
|
||||
EMERGE="$SUDO $1"
|
||||
|
||||
$EMERGE dev-util/cmake app-misc/jq net-misc/wget dev-util/pkgconf \
|
||||
virtual/libudev media-libs/freetype dev-libs/expat \
|
||||
net-misc/curl net-libs/libssh media-libs/fontconfig || return 1
|
||||
# sys-devel/clang failed, but it worked anyway
|
||||
emerge_deps="dev-vcs/git app-misc/jq dev-util/pkgconf dev-libs/openssl"
|
||||
$1 "$emerge_deps" || return 1
|
||||
}
|
||||
|
||||
case "$(uname -s)" in
|
||||
Linux)
|
||||
if command -v apt >/dev/null; then
|
||||
echo "Setting up for apt" >&2
|
||||
setup_apt "$(command -v apt)" || exit 1
|
||||
setup_apt "$SUDO $(command -v apt)" || exit 1
|
||||
echo "Dependencies installed!" >&2
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if command -v apt-get >/dev/null; then
|
||||
echo "Setting up for apt-get" >&2
|
||||
setup_apt "$(command -v apt-get)" || exit 1
|
||||
setup_apt "$SUDO $(command -v apt-get)" || exit 1
|
||||
echo "Dependencies installed!" >&2
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if command -v pacman; then
|
||||
echo "Setting up for pacman" >&2
|
||||
setup_pacman "$(command -v pacman)" || exit 1
|
||||
setup_pacman "$SUDO $(command -v pacman)" || exit 1
|
||||
echo "Dependencies installed!" >&2
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if command -v xbps-install; then
|
||||
echo "Setting up for xbps" >&2
|
||||
setup_xbps "$(command -v xbps-install)" || exit 1
|
||||
setup_xbps "$SUDO $(command -v xbps-install)" || exit 1
|
||||
echo "Dependencies installed!" >&2
|
||||
exit 0
|
||||
fi
|
||||
@@ -115,28 +89,28 @@ Linux)
|
||||
|
||||
if command -v dnf; then
|
||||
echo "Setting up for dnf" >&2
|
||||
setup_dnf "$(command -v dnf)" || exit 1
|
||||
setup_dnf "$SUDO $(command -v dnf)" || exit 1
|
||||
echo "Dependencies installed!" >&2
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if command -v apk; then
|
||||
echo "Setting up for apk" >&2
|
||||
setup_apk "$(command -v apk)" || exit 1
|
||||
setup_apk "$SUDO $(command -v apk)" || exit 1
|
||||
echo "Dependencies installed!" >&2
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if command -v zypper; then
|
||||
echo "Setting up for zypper" >&2
|
||||
setup_zypper "$(command -v zypper)" || exit 1
|
||||
setup_zypper "$SUDO $(command -v zypper)" || exit 1
|
||||
echo "Dependencies installed!" >&2
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if command -v emerge; then
|
||||
echo "Setting up for emerge" >&2
|
||||
setup_emerge "$(command -v emerge)" || exit 1
|
||||
setup_emerge "$SUDO $(command -v emerge)" || exit 1
|
||||
echo "Dependencies installed!" >&2
|
||||
exit 0
|
||||
fi
|
||||
@@ -152,7 +126,7 @@ Darwin)
|
||||
exit 0
|
||||
;;
|
||||
|
||||
*|"")
|
||||
""|*)
|
||||
echo "Unsupported OS, sorry." >&2
|
||||
exit 1
|
||||
;;
|
||||
|
||||
Reference in New Issue
Block a user