@@ -1,86 +0,0 @@ | |||||
language: cpp | |||||
cache: | |||||
directories: | |||||
- ${HOME}/PawPawBuilds/builds | |||||
- ${HOME}/PawPawBuilds/debs | |||||
- ${HOME}/PawPawBuilds/downloads | |||||
- ${HOME}/PawPawBuilds/targets/linux | |||||
- ${HOME}/PawPawBuilds/targets/macos | |||||
- ${HOME}/PawPawBuilds/targets/macos-old | |||||
- ${HOME}/PawPawBuilds/targets/macos-universal | |||||
- ${HOME}/PawPawBuilds/targets/win32 | |||||
- ${HOME}/PawPawBuilds/targets/win64 | |||||
env: | |||||
global: | |||||
- BOOTSTRAP_VERSION=15 | |||||
jobs: | |||||
include: | |||||
# linux native build | |||||
- name: "Linux native" | |||||
os: linux | |||||
compiler: gcc | |||||
dist: bionic | |||||
env: | |||||
- TARGET="linux" | |||||
# linux with macOS cross-compilation | |||||
- name: "macOS cross-compiled" | |||||
os: linux | |||||
compiler: gcc | |||||
dist: bionic | |||||
env: | |||||
- TARGET="macos-old" | |||||
# linux with win64 cross-compilation | |||||
- name: "win64 cross-compiled" | |||||
os: linux | |||||
compiler: gcc | |||||
dist: bionic | |||||
env: | |||||
- TARGET="win64" | |||||
services: | |||||
- xvfb | |||||
# macOS native intel build | |||||
- name: "macOS native intel" | |||||
os: osx | |||||
osx_image: xcode9.4 | |||||
env: | |||||
- TARGET="macos" | |||||
# macOS native universal build | |||||
- name: "macOS native universal" | |||||
os: osx | |||||
osx_image: xcode12.3 | |||||
env: | |||||
- TARGET="macos-universal" | |||||
before_install: | |||||
- bash ${TRAVIS_BUILD_DIR}/.travis/before_install.sh | |||||
install: | |||||
- bash ${TRAVIS_BUILD_DIR}/.travis/install.sh | |||||
script: | |||||
- bash ${TRAVIS_BUILD_DIR}/bootstrap-plugins.sh ${TARGET} | |||||
- bash ${TRAVIS_BUILD_DIR}/.cleanup.sh ${TARGET} | |||||
- bash ${TRAVIS_BUILD_DIR}/.travis/script.sh | |||||
deploy: | |||||
provider: releases | |||||
api_key: | |||||
secure: "xKXvMWEvj92IsFINpGlYEJeidLRoTeLIwrWVO06UrNNVCPiWC9z64Xthx/0xqQEv+2PA5GLkh9lnTm7aqQKbMNiVj4sQCcg3sVXEhkGkr27KNjHuQiFao+IeotU6bVTObzGhNR+US3LkRK9RSSvnmDBSUQB16+YgG6PZyXH7mQfoLycQQ8z24hLc4P2gGXbgd23viqZVxBh15HBm8jSm0q5Y5JZ2D/ETQWIijv+Cd7f3Q4j989Q4ZULiDyPs6gMR6Klr85Z8iNXEZRCw/dJ800IrWV9tetJFZFVOG2nWATPSFD9L1DLlJtD0tPJjk/n7DpUEivdrrLgm2C1MaTfDWQU7OOktkcNv6oUB++hWqD/d9bj1teSu9lrUkAS4QPWGWgsMQH/eWquoS6vQOE7ERAHTDgbsS1aPxnuWyG2lyefbSEJCXBOpbcWLAfAr3cdkS+QhFHZzKvZLwJZFkKR0FEKKPkt+CViLmtSbeM7uFRhX3B4uA9EByZonlvupgKfyt/WKoqpsb1hF16tVrZOmTFf2/btLOw8PUD1opAx0aXjH+XcWH6y93wsP41E3VMO/gc8jc7npa+JsMDXaHFf/DMQvj9rVF8deHoshx8Sl3n0RpEhMyV+lXKKfewryqnfWNGak7wNQQhFr4Xqv6mleBFAX1Miy12KkzYxltfwi53o=" | |||||
file_glob: true | |||||
file: | |||||
- setup/inno/PawPaw-*.exe | |||||
- setup/macos/PawPaw-*.pkg | |||||
on: | |||||
tags: true | |||||
skip_cleanup: true | |||||
#notifications: | |||||
#email: true | |||||
#irc: "ircs://chat.freenode.net:7070/#kxstudio" |
@@ -1,25 +0,0 @@ | |||||
#!/bin/bash | |||||
set -e | |||||
# nothing to do for macOS native | |||||
if [ "${TARGET}" = "macos" ] || [ "${TARGET}" = "macos-universal" ]; then | |||||
exit 0 | |||||
fi | |||||
sudo add-apt-repository -y ppa:kxstudio-debian/kxstudio | |||||
sudo add-apt-repository -y ppa:kxstudio-debian/toolchain | |||||
if [ "${TARGET}" = "win32" ]; then | |||||
sudo dpkg --add-architecture i386 | |||||
fi | |||||
if [ "${TARGET}" = "win32" ] || [ "${TARGET}" = "win64" ]; then | |||||
wget -qO- https://dl.winehq.org/wine-builds/winehq.key | sudo apt-key add - | |||||
sudo apt-add-repository -y 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main' | |||||
sudo add-apt-repository -y ppa:kxstudio-debian/ubuntus | |||||
fi | |||||
sudo apt-get update -qq | |||||
sudo apt-get install kxstudio-repos | |||||
sudo apt-get update -qq |
@@ -1,49 +0,0 @@ | |||||
#!/bin/bash | |||||
set -e | |||||
# needed homebrew packages | |||||
if [ "${TARGET}" = "macos" ] || [ "${TARGET}" = "macos-universal" ]; then | |||||
HOMEBREW_NO_AUTO_UPDATE=1 brew install cmake jq meson | |||||
exit 0 | |||||
fi | |||||
# Special handling for caching deb archives | |||||
if [ "$(ls ${HOME}/PawPawBuilds/debs | wc -l)" -ne 0 ]; then | |||||
sudo cp ${HOME}/PawPawBuilds/debs/*.deb /var/cache/apt/archives/ | |||||
fi | |||||
# common | |||||
sudo apt-get install -y build-essential curl cmake jq meson | |||||
# specific | |||||
if [ "${TARGET}" = "linux" ]; then | |||||
sudo apt-get install -y libglib2.0-dev | |||||
elif [ "${TARGET}" = "macos-old" ]; then | |||||
mkdir -p ${HOME}/PawPawBuilds/debs | |||||
pushd ${HOME}/PawPawBuilds/debs | |||||
if [ ! -f 'apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb' ]; then | |||||
wget -c 'https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb' | |||||
fi | |||||
if [ ! -f 'apple-x86-odcctools_758.159-0kxstudio2_amd64.deb' ]; then | |||||
wget -c 'https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/apple-x86-odcctools_758.159-0kxstudio2_amd64.deb' | |||||
fi | |||||
if [ ! -f 'apple-x86-gcc_4.2.1~5646-1kxstudio2_amd64.deb' ]; then | |||||
wget -c 'https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/apple-x86-gcc_4.2.1~5646-1kxstudio2_amd64.deb' | |||||
fi | |||||
sudo dpkg -i 'apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb' | |||||
sudo dpkg -i 'apple-x86-odcctools_758.159-0kxstudio2_amd64.deb' | |||||
sudo dpkg -i 'apple-x86-gcc_4.2.1~5646-1kxstudio2_amd64.deb' | |||||
popd | |||||
elif [ "${TARGET}" = "win32" ]; then | |||||
sudo apt-get install -y mingw-w64 binfmt-support binutils-mingw-w64-i686 g++-mingw-w64-i686 winehq-stable | |||||
elif [ "${TARGET}" = "win64" ]; then | |||||
sudo apt-get install -y mingw-w64 binfmt-support binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 winehq-stable | |||||
fi | |||||
# Special handling for caching deb archives | |||||
sudo mv /var/cache/apt/archives/*.deb ${HOME}/PawPawBuilds/debs/ |
@@ -1,95 +0,0 @@ | |||||
#!/bin/bash | |||||
set -e | |||||
if [ -z "${BOOTSTRAP_VERSION}" ]; then | |||||
echo "Script only intended for travis/CI use" | |||||
exit 1 | |||||
fi | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# check build step | |||||
PAWPAW_DIR="${HOME}/PawPawBuilds" | |||||
PAWPAW_BUILDDIR="${PAWPAW_DIR}/builds/${TARGET}" | |||||
if [ -e ${PAWPAW_BUILDDIR}/.last-bootstrap-version ]; then | |||||
LAST_BOOTSTRAP_VERSION=$(cat ${PAWPAW_BUILDDIR}/.last-bootstrap-version) | |||||
else | |||||
LAST_BOOTSTRAP_VERSION=0 | |||||
fi | |||||
if [ ${LAST_BOOTSTRAP_VERSION} -eq ${BOOTSTRAP_VERSION} ] && [ -e ${PAWPAW_BUILDDIR}/.last-build-version ]; then | |||||
LAST_BUILD_VERSION=$(cat ${PAWPAW_BUILDDIR}/.last-build-version) | |||||
else | |||||
LAST_BUILD_VERSION=0 | |||||
fi | |||||
BUILD_VERSION=$((${LAST_BUILD_VERSION} + 1)) | |||||
echo "PawPaw build v${BUILD_VERSION}" | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# build plugins according to version/step, caching files along the way | |||||
# TODO | |||||
# ninjas2: need to put http://kxstudio.sf.net/ns/lv2ext/props#NonAutomable spec somewhere | |||||
PLUGINS_BASE="abgate artyfx caps die-plugins fomp mda" | |||||
PLUGINS_CROSS="blop dpf-plugins" | |||||
PLUGINS_DISTRHO="" | |||||
if [ ${BUILD_VERSION} -ge 2 ]; then | |||||
PLUGINS_DISTRHO+=" distrho-ports-arctican" | |||||
PLUGINS_DISTRHO+=" distrho-ports-drowaudio" | |||||
PLUGINS_DISTRHO+=" distrho-ports-tal-plugins" | |||||
fi | |||||
if [ ${BUILD_VERSION} -ge 3 ]; then | |||||
PLUGINS_DISTRHO+=" distrho-ports-dexed" | |||||
PLUGINS_DISTRHO+=" distrho-ports-klangfalter" | |||||
PLUGINS_DISTRHO+=" distrho-ports-luftikus" | |||||
PLUGINS_DISTRHO+=" distrho-ports-obxd" | |||||
PLUGINS_DISTRHO+=" distrho-ports-pitched-delay" | |||||
PLUGINS_DISTRHO+=" distrho-ports-refine" | |||||
fi | |||||
if [ ${BUILD_VERSION} -ge 4 ]; then | |||||
PLUGINS_DISTRHO+=" distrho-ports-swankyamp" | |||||
PLUGINS_DISTRHO+=" distrho-ports-temper" | |||||
PLUGINS_DISTRHO+=" distrho-ports-vex" | |||||
PLUGINS_DISTRHO+=" distrho-ports-vitalium" | |||||
PLUGINS_DISTRHO+=" distrho-ports-wolpertinger" | |||||
fi | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# build plugins according to target | |||||
if [ "${TARGET}" = "linux" ]; then | |||||
PLUGINS="${PLUGINS_BASE} ${PLUGINS_CROSS}" | |||||
elif [ "${TARGET}" = "macos-old" ]; then | |||||
PLUGINS="${PLUGINS_BASE}" | |||||
else | |||||
PLUGINS="${PLUGINS_BASE} ${PLUGINS_CROSS} ${PLUGINS_DISTRHO}" | |||||
fi | |||||
${TRAVIS_BUILD_DIR}/build-plugins.sh ${TARGET} ${PLUGINS} | |||||
${TRAVIS_BUILD_DIR}/.cleanup.sh ${TARGET} | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# packaging, only be done when doing a full build | |||||
if [ ${BUILD_VERSION} -ge 4 ]; then | |||||
${TRAVIS_BUILD_DIR}/pack-plugins.sh ${TARGET} ${PLUGINS} | |||||
fi | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# set env for next builds | |||||
echo ${BOOTSTRAP_VERSION} > ${PAWPAW_BUILDDIR}/.last-bootstrap-version | |||||
if [ ${BUILD_VERSION} -le 4 ]; then | |||||
echo ${BUILD_VERSION} > ${PAWPAW_BUILDDIR}/.last-build-version | |||||
fi | |||||
# --------------------------------------------------------------------------------------------------------------------- |