Skip to content

Commit

Permalink
Merge pull request #3 from LMMS/master
Browse files Browse the repository at this point in the history
Master
  • Loading branch information
LostRobotMusic authored Mar 9, 2019
2 parents a2b123e + 9ea2611 commit 6b23e64
Show file tree
Hide file tree
Showing 122 changed files with 7,068 additions and 3,693 deletions.
3 changes: 3 additions & 0 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,6 @@ Thomas Clark <the.thomas.j.clark@gmail.com>
Thomas Clark <the.thomas.j.clark@gmail.com> <tjclark@wpi.edu>
anonymous <support@lmms.io> Locale updater <>
grejppi <grejppi@gmail.com>
Johannes Lorenz <j.git@lorenz-ho.me> <johannes89@mailueberfall.de>
Johannes Lorenz <j.git@lorenz-ho.me> <1042576+JohannesLorenz@users.noreply.github.com>
Noah Brecht <noahb2713@gmail.com>
15 changes: 12 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,35 @@ cache:
directories:
- apt_mingw_cache
- $HOME/.ccache
- $HOME/pbuilder-bases
matrix:
include:
- env: TYPE=style
- os: linux
- env: TARGET_OS=win32
- env: TARGET_OS=win64
- env: TARGET_OS=debian-sid TARGET_DEPLOY=True
- env: TARGET_OS=debian-sid TARGET_ARCH=i386
- compiler: clang
env: TARGET_OS=debian-sid
- os: osx
osx_image: xcode8.3
install: ${TRAVIS_BUILD_DIR}/.travis/install.sh
script: ${TRAVIS_BUILD_DIR}/.travis/script.sh
after_script: ${TRAVIS_BUILD_DIR}/.travis/after_script.sh
before_deploy: make package
before_deploy:
- if [ "$TARGET_OS" != debian-sid ]; then make package; fi
deploy:
provider: releases
api_key:
secure: d4a+x4Gugpss7JK2DcHjyBZDmEFFh4iVfKDfITSD50T6Mc6At4LMgojvEu+6qT6IyOY2vm3UVT6fhyeuWDTRDwW9tfFlaHVA0h8aTRD+eAXOA7pQ8rEMwQO3+WCKuKTfEqUkpL4wxhww8dpkv54tqeIs0S4TBqz9tk8UhzU7XbE=
file: lmms-${TRAVIS_TAG:1}-$TARGET_OS.exe
file_glob: true
file:
- lmms-${TRAVIS_TAG:1}-$TARGET_OS.exe
- /var/cache/pbuilder/result/lmms_*.tar.xz
skip_cleanup: true
on:
tags: true
all_branches: true
condition: '("$TARGET_OS" = win??)'
condition: '"$TARGET_DEPLOY" = True'
repo: LMMS/lmms
2 changes: 2 additions & 0 deletions .travis/debian_pkgs.sha256
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
314ef4af137903dfb13e8c3ef1e6ea56cfdb23808d52ec4f5f50e288c73610c5 pbuilder_0.229.1_all.deb
fa82aa8ed3055c6f6330104deedf080b26778295e589426d4c4dd0f2c2a5defa debootstrap_1.0.95_all.deb
6 changes: 6 additions & 0 deletions .travis/linux..script.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,11 @@ source /opt/qt59/bin/qt59-env.sh

set -e

mkdir build
cd build

# shellcheck disable=SC2086
cmake -DUSE_WERROR=ON -DCMAKE_INSTALL_PREFIX=../target $CMAKE_FLAGS ..
make -j4
make tests
./tests/tests
2 changes: 2 additions & 0 deletions .travis/linux.debian-sid.before_install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#!/bin/sh
sudo apt-get update -qq
16 changes: 16 additions & 0 deletions .travis/linux.debian-sid.install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/sh
set -e

sudo apt-get install -y \
debian-archive-keyring \
dpkg \
pbuilder

# work around a pbuilder bug which breaks ccache
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=666525
cd /tmp
wget http://archive.ubuntu.com/ubuntu/pool/main/p/pbuilder/pbuilder_0.229.1_all.deb
wget http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/debootstrap_1.0.95_all.deb
sha256sum -c "$TRAVIS_BUILD_DIR/.travis/debian_pkgs.sha256"
sudo dpkg -i pbuilder_0.229.1_all.deb debootstrap_1.0.95_all.deb
cd "$OLDPWD"
41 changes: 41 additions & 0 deletions .travis/linux.debian-sid.script.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/bin/sh
set -e

: "${TARGET_ARCH:=amd64}"

BASETGZ="$HOME/pbuilder-bases/debian-sid-$TARGET_ARCH.tgz"
MIRROR=http://cdn-fastly.deb.debian.org/debian
KEYRING=/usr/share/keyrings/debian-archive-keyring.gpg

if [ -z "$TRAVIS_TAG" ]
then
sudo \
sh -c "echo CCACHEDIR=$HOME/.ccache >> /etc/pbuilderrc"
fi

if [ "$CC" = clang ]
then
sudo sh -c "echo EXTRAPACKAGES=clang >> /etc/pbuilderrc"
fi

if [ ! -e "$BASETGZ.stamp" ]
then
mkdir -p "$HOME/pbuilder-bases"
# debootstrap fails to resolve dependencies which are virtual packages
# e.g. perl-openssl-abi-1.1 provided by perl-openssl-defaults, needed for building SWH
# See also: https://bugs.launchpad.net/ubuntu/+source/debootstrap/+bug/86536
sudo pbuilder --create --basetgz "$BASETGZ" --mirror $MIRROR \
--distribution sid --architecture $TARGET_ARCH \
--debootstrapopts --variant=buildd \
--debootstrapopts --keyring=$KEYRING \
--debootstrapopts --include=perl,libxml2-utils,libxml-perl,liblist-moreutils-perl,perl-openssl-defaults
touch "$BASETGZ.stamp"
else
sudo pbuilder --update --basetgz "$BASETGZ"
fi

DIR="$PWD"
cd ..
dpkg-source -b "$DIR"
env -i CC="$CC" CXX="$CXX" sudo pbuilder --build --debbuildopts "--jobs=auto" \
--basetgz "$BASETGZ" ./*.dsc
7 changes: 6 additions & 1 deletion .travis/linux.win32.script.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
#!/usr/bin/env bash

set -e

mkdir build
cd build

export CMAKE_OPTS="$CMAKE_FLAGS -DUSE_WERROR=ON"
../cmake/build_win32.sh

make -j4
make tests
7 changes: 6 additions & 1 deletion .travis/linux.win64.script.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
#!/usr/bin/env bash

set -e

mkdir build
cd build

export CMAKE_OPTS="$CMAKE_FLAGS -DUSE_WERROR=ON"
../cmake/build_win64.sh

make -j4
make tests
8 changes: 7 additions & 1 deletion .travis/osx..script.sh
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
#!/usr/bin/env bash

set -e

mkdir build
cd build

# Workaround; No FindQt5.cmake module exists
CMAKE_PREFIX_PATH="$(brew --prefix qt5)"
export CMAKE_PREFIX_PATH

# shellcheck disable=SC2086
cmake -DUSE_WERROR=OFF -DCMAKE_INSTALL_PREFIX=../target $CMAKE_FLAGS ..

make -j4
make tests
./tests/tests
18 changes: 6 additions & 12 deletions .travis/script.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,11 @@ if [ "$TYPE" = 'style' ]; then
# once it's fixed, it should be enabled again
# shellcheck disable=SC2185
# shellcheck disable=SC2046
shellcheck $(find -O3 "$TRAVIS_BUILD_DIR/.travis/" "$TRAVIS_BUILD_DIR/cmake/" -type f -name '*.sh' -o -name "*.sh.in")
shellcheck $(find -O3 . -maxdepth 3 -type f -name '*.sh' -o -name "*.sh.in")
shellcheck doc/bash-completion/lmms

else

mkdir -p build
cd build

export CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=RelWithDebInfo"

if [ -z "$TRAVIS_TAG" ]; then
Expand All @@ -23,25 +21,21 @@ else

"$TRAVIS_BUILD_DIR/.travis/$TRAVIS_OS_NAME.$TARGET_OS.script.sh"

make -j4
make tests

if [[ $TARGET_OS != win* ]]; then
tests/tests
fi

# Package and upload non-tagged builds
if [ ! -z "$TRAVIS_TAG" ]; then
# Skip, handled by travis deploy instead
exit 0
elif [[ $TARGET_OS == win* ]]; then
cd build
make -j4 package
PACKAGE="$(ls lmms-*win*.exe)"
elif [[ $TRAVIS_OS_NAME == osx ]]; then
cd build
make -j4 install > /dev/null
make dmg
PACKAGE="$(ls lmms-*.dmg)"
else
elif [[ $TARGET_OS != debian-sid ]]; then
cd build
make -j4 install > /dev/null
make appimage
PACKAGE="$(ls lmms-*.AppImage)"
Expand Down
8 changes: 4 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ INCLUDE(GenerateExportHeader)

STRING(TOUPPER "${CMAKE_PROJECT_NAME}" PROJECT_NAME_UCASE)

SET(PROJECT_YEAR 2018)
SET(PROJECT_YEAR 2019)

SET(PROJECT_AUTHOR "LMMS Developers")
SET(PROJECT_URL "https://lmms.io")
Expand All @@ -33,7 +33,7 @@ SET(PROJECT_COPYRIGHT "2008-${PROJECT_YEAR} ${PROJECT_AUTHOR}")
SET(VERSION_MAJOR "1")
SET(VERSION_MINOR "2")
SET(VERSION_RELEASE "0")
SET(VERSION_STAGE "rc7")
SET(VERSION_STAGE "rc8")
SET(VERSION_BUILD "0")
SET(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_RELEASE}")
IF(VERSION_STAGE)
Expand Down Expand Up @@ -73,6 +73,8 @@ OPTION(WANT_DEBUG_FPE "Debug floating point exceptions" OFF)


IF(LMMS_BUILD_APPLE)
# Fix linking on 10.14+. See issue #4762 on github
LINK_DIRECTORIES(/usr/local/lib)
SET(WANT_ALSA OFF)
SET(WANT_PULSEAUDIO OFF)
SET(WANT_VST OFF)
Expand All @@ -88,15 +90,13 @@ IF(LMMS_BUILD_WIN32)
SET(WANT_ALSA OFF)
SET(WANT_JACK OFF)
SET(WANT_PULSEAUDIO OFF)
SET(WANT_PORTAUDIO OFF)
SET(WANT_SNDIO OFF)
SET(WANT_SOUNDIO OFF)
SET(WANT_WINMM ON)
SET(LMMS_HAVE_WINMM TRUE)
SET(STATUS_ALSA "<not supported on this platform>")
SET(STATUS_JACK "<not supported on this platform>")
SET(STATUS_PULSEAUDIO "<not supported on this platform>")
SET(STATUS_PORTAUDIO "<disabled on this platform>")
SET(STATUS_SOUNDIO "<disabled in this release>")
SET(STATUS_WINMM "OK")
SET(STATUS_APPLEMIDI "<not supported on this platform>")
Expand Down
2 changes: 1 addition & 1 deletion cmake/linux/lmms.desktop
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Comment[ca]=Producció fàcil de música per a tothom!
Comment[fr]=Production facile de musique pour tout le monde !
Comment[pl]=Prosta produkcja muzyki dla każdego!
Icon=lmms
Exec=env QT_X11_NO_NATIVE_MENUBAR=1 QT_AUTO_SCREEN_SCALE_FACTOR=1 lmms %f
Exec=lmms %f
Terminal=false
Type=Application
Categories=Qt;AudioVideo;Audio;Midi;
Expand Down
10 changes: 8 additions & 2 deletions cmake/linux/package_linux.sh.in
Original file line number Diff line number Diff line change
Expand Up @@ -187,10 +187,16 @@ rm -f "${APPDIR}/usr/lib/libwine.so.1"
# Use system-provided carla
rm -f "${APPDIR}usr/lib/"libcarla*.so

# Move jack out of LD_LIBRARY_PATH
# Remove bundled jack in LD_LIBRARY_PATH if exists
if [ -e "${APPDIR}/usr/lib/libjack.so.0" ]; then
rm "${APPDIR}/usr/lib/libjack.so.0"
fi

# Bundle jack out of LD_LIBRARY_PATH
JACK_LIB=$(ldd "${APPDIR}/usr/bin/lmms.real" | sed -n 's/\tlibjack\.so\.0 => \(.\+\) (0x[0-9a-f]\+)/\1/p')
if [ -e "$JACK_LIB" ]; then
mkdir -p "${APPDIR}usr/lib/lmms/optional/"
mv "${APPDIR}/usr/lib/libjack.so.0" "${APPDIR}usr/lib/lmms/optional/"
cp "$JACK_LIB" "${APPDIR}usr/lib/lmms/optional/"
fi

# Point the AppRun to the shim launcher
Expand Down
3 changes: 2 additions & 1 deletion cmake/modules/BashCompletion.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,10 @@ ELSE()
FILE(WRITE ${BASHCOMP_SCRIPT} "\
#!${BASH}\n\
set -e\n\
BASHCOMP_PKG_PATH=\"${BASHCOMP_USER_PATH}\"\n\
if [ -w \"${BASHCOMP_PKG_PATH}\" ]; then\n\
BASHCOMP_PKG_PATH=\"${BASHCOMP_PKG_PATH}\"\n\
else \n\
BASHCOMP_PKG_PATH=\"\$DESTDIR${BASHCOMP_USER_PATH}\"\n\
fi\n\
echo -e \"\\nInstalling bash completion...\\n\"\n\
mkdir -p \"\$BASHCOMP_PKG_PATH\"\n\
Expand Down
6 changes: 6 additions & 0 deletions cmake/modules/CheckSubmodules.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,12 @@ SET(DEPTH_VALUE 100)
SET(MAX_ATTEMPTS 2)

MESSAGE("\nValidating submodules...")
IF(NOT EXISTS "${CMAKE_SOURCE_DIR}/.gitmodules")
MESSAGE("Skipping the check because .gitmodules not detected."
"Please make sure you have all submodules in the source tree!"
)
RETURN()
ENDIF()
FILE(READ "${CMAKE_SOURCE_DIR}/.gitmodules" SUBMODULE_DATA)

# Force English locale
Expand Down
Loading

0 comments on commit 6b23e64

Please sign in to comment.