@@ -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 | |||
# --------------------------------------------------------------------------------------------------------------------- |