add build dependencies, better tarballing
This commit is contained in:
parent
030d9e5c65
commit
18df362458
2 changed files with 102 additions and 7 deletions
25
build.sh
25
build.sh
|
@ -5,6 +5,12 @@ set -eu
|
||||||
|
|
||||||
ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
|
if [ -n "${TEAMCITY_VERSION:-}" ]; then
|
||||||
|
# install dependencies
|
||||||
|
$ROOT/prebuild.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
(
|
(
|
||||||
cd "$ROOT/electron"
|
cd "$ROOT/electron"
|
||||||
npm install
|
npm install
|
||||||
|
@ -41,17 +47,22 @@ cp -R "$ROOT/lbry-web-ui/dist" "$ROOT/electron/"
|
||||||
mv "$ROOT/lbrynet/dist/lbry" "$ROOT/electron/dist"
|
mv "$ROOT/lbrynet/dist/lbry" "$ROOT/electron/dist"
|
||||||
|
|
||||||
if [ -n "${TEAMCITY_VERSION:-}" ]; then
|
if [ -n "${TEAMCITY_VERSION:-}" ]; then
|
||||||
# macOS
|
electron-packager --electron-version=1.4.14 --overwrite "$ROOT/electron" LBRY
|
||||||
electron-packager --electron-version=1.4.14 --platform=darwin --overwrite "$ROOT/electron" LBRY
|
|
||||||
|
|
||||||
# linux
|
|
||||||
electron-packager --electron-version=1.4.14 --platform=linux --overwrite "$ROOT/electron" LBRY
|
|
||||||
(
|
(
|
||||||
cd "$ROOT"
|
cd "$ROOT"
|
||||||
tar cvzf lbry.tgz "LBRY-linux-x64/"
|
if [ "$(uname)" == "Darwin" ]; then
|
||||||
)
|
OS="osx"
|
||||||
|
PLATFORM="darwin"
|
||||||
|
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
|
||||||
|
OS="linux"
|
||||||
|
PLATFORM="linux"
|
||||||
|
else
|
||||||
|
OS="unknown"
|
||||||
|
fi
|
||||||
|
|
||||||
#windows ... coming soon
|
tar cvzf "lbry-${OS}.tgz" "LBRY-${PLATFORM}-x64/"
|
||||||
|
)
|
||||||
|
|
||||||
echo 'Build and packaging complete.'
|
echo 'Build and packaging complete.'
|
||||||
else
|
else
|
||||||
|
|
84
prebuild.sh
Executable file
84
prebuild.sh
Executable file
|
@ -0,0 +1,84 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
set -x
|
||||||
|
|
||||||
|
|
||||||
|
LINUX=false
|
||||||
|
OSX=false
|
||||||
|
|
||||||
|
if [ "$(uname)" == "Darwin" ]; then
|
||||||
|
OSX=true
|
||||||
|
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
|
||||||
|
LINUX=true
|
||||||
|
else
|
||||||
|
echo "Platform detection failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
SUDO=''
|
||||||
|
if $LINUX && (( $EUID != 0 )); then
|
||||||
|
SUDO='sudo'
|
||||||
|
fi
|
||||||
|
|
||||||
|
cmd_exists() {
|
||||||
|
command -v "$1" >/dev/null 2>&1
|
||||||
|
return $?
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if $LINUX; then
|
||||||
|
INSTALL="$SUDO apt-get install --no-install-recommends -y"
|
||||||
|
$INSTALL build-essential libssl-dev libffi-dev libgmp3-dev
|
||||||
|
elif $OSX && ! cmd_exists brew ; then
|
||||||
|
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if ! cmd_exists python; then
|
||||||
|
if $LINUX; then
|
||||||
|
$INSTALL python2.7 python2.7-dev
|
||||||
|
elif $OSX; then
|
||||||
|
brew install python
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
PYTHON_VERSION=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
|
||||||
|
if [ "$PYTHON_VERSION" != "2.7" ]; then
|
||||||
|
echo "Python 2.7 required"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! cmd_exists pip; then
|
||||||
|
if $LINUX; then
|
||||||
|
$INSTALL python-pip
|
||||||
|
$SUDO pip install --upgrade pip
|
||||||
|
else
|
||||||
|
echo "Pip required"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if $LINUX && ! (pip list --format=columns | grep --quiet setuptools); then
|
||||||
|
#$INSTALL python-setuptools
|
||||||
|
$SUDO pip install setuptools
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! cmd_exists pyinstaller; then
|
||||||
|
$SUDO pip install pyinstaller
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! cmd_exists node; then
|
||||||
|
if $LINUX; then
|
||||||
|
curl -sL https://deb.nodesource.com/setup_7.x | $SUDO -E bash -
|
||||||
|
$INSTALL nodejs
|
||||||
|
elif $OSX; then
|
||||||
|
brew install node
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! cmd_exists electron-packager; then
|
||||||
|
$SUDO npm install --global electron-packager
|
||||||
|
fi
|
Loading…
Reference in a new issue