@@ -57,8 +57,7 @@ install: | |||
- bash ${TRAVIS_BUILD_DIR}/.travis/install.sh | |||
script: | |||
- bash ${TRAVIS_BUILD_DIR}/bootstrap.sh ${TARGET} | |||
- bash ${TRAVIS_BUILD_DIR}/build-jack.sh ${TARGET} | |||
- bash ${TRAVIS_BUILD_DIR}/bootstrap-plugins.sh ${TARGET} | |||
- bash ${TRAVIS_BUILD_DIR}/build-plugins.sh ${TARGET} ${PLUGINS} | |||
before_deploy: | |||
@@ -0,0 +1,36 @@ | |||
#!/bin/bash | |||
set -e | |||
cd $(dirname ${0}) | |||
PAWPAW_ROOT="${PWD}" | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
target="${1}" | |||
if [ -z "${target}" ]; then | |||
echo "usage: ${0} <target>" | |||
exit 1 | |||
fi | |||
./bootstrap-common.sh "${target}" | |||
./bootstrap-plugins.sh "${target}" | |||
./bootstrap-qt.sh "${target}" | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
source setup/check_target.sh | |||
source setup/env.sh | |||
source setup/functions.sh | |||
source setup/versions.sh | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# file/magic (posix only) | |||
# if [ "${WIN32}" -eq 0 ]; then | |||
# download file "${FILE_VERSION}" "ftp://ftp.astron.com/pub/file" | |||
# build_autoconf file "${FILE_VERSION}" | |||
# fi | |||
# --------------------------------------------------------------------------------------------------------------------- |
@@ -0,0 +1,92 @@ | |||
#!/bin/bash | |||
set -e | |||
cd $(dirname ${0}) | |||
PAWPAW_ROOT="${PWD}" | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
target="${1}" | |||
if [ -z "${target}" ]; then | |||
echo "usage: ${0} <target>" | |||
exit 1 | |||
fi | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# TODO check for depedencies: | |||
# - curl | |||
# - cmake | |||
# - make | |||
# - jq | |||
# - patch | |||
# - python (waf, meson) | |||
# - sed | |||
# - tar | |||
source setup/check_target.sh | |||
source setup/env.sh | |||
source setup/functions.sh | |||
source setup/versions.sh | |||
mkdir -p "${PAWPAW_BUILDDIR}" | |||
mkdir -p "${PAWPAW_DOWNLOADDIR}" | |||
mkdir -p "${PAWPAW_PREFIX}" | |||
mkdir -p "${PAWPAW_TMPDIR}" | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# let's use native glib for linux builds | |||
if [ "${LINUX}" -eq 1 ] && [ ! -e "${TARGET_PKG_CONFIG_PATH}/glib-2.0.pc" ]; then | |||
mkdir -p ${TARGET_PKG_CONFIG_PATH} | |||
ln -s $(pkg-config --variable=pcfiledir glib-2.0)/g{io,lib,module,object,thread}-2.0.pc ${TARGET_PKG_CONFIG_PATH}/ | |||
ln -s $(pkg-config --variable=pcfiledir libpcre)/libpcre.pc ${TARGET_PKG_CONFIG_PATH}/ | |||
fi | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# pkgconfig | |||
download pkg-config "${PKG_CONFIG_VERSION}" "https://pkg-config.freedesktop.org/releases" | |||
build_host_autoconf pkg-config "${PKG_CONFIG_VERSION}" "--enable-indirect-deps --with-internal-glib --with-pc-path=${TARGET_PKG_CONFIG_PATH}" | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# libogg | |||
download libogg "${LIBOGG_VERSION}" "https://ftp.osuosl.org/pub/xiph/releases/ogg" | |||
patch_file libogg "${LIBOGG_VERSION}" "include/ogg/os_types.h" 's/__MACH__/__MACH_SKIP__/' | |||
build_autoconf libogg "${LIBOGG_VERSION}" | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# libvorbis | |||
download libvorbis "${LIBVORBIS_VERSION}" "https://ftp.osuosl.org/pub/xiph/releases/vorbis" | |||
build_autoconf libvorbis "${LIBVORBIS_VERSION}" "--disable-examples" | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# flac | |||
FLAC_EXTRAFLAGS="--disable-doxygen-docs --disable-examples --disable-thorough-tests" | |||
if [ "${MACOS_OLD}" -eq 1 ]; then | |||
FLAC_EXTRAFLAGS="${FLAC_EXTRAFLAGS} --disable-asm-optimizations" | |||
fi | |||
download flac "${FLAC_VERSION}" "https://ftp.osuosl.org/pub/xiph/releases/flac" "tar.xz" | |||
build_autoconf flac "${FLAC_VERSION}" "${FLAC_EXTRAFLAGS}" | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# libsamplerate | |||
download libsamplerate "${LIBSAMPLERATE_VERSION}" "http://www.mega-nerd.com/SRC" | |||
build_autoconf libsamplerate "${LIBSAMPLERATE_VERSION}" "--disable-fftw --disable-sndfile" | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# libsndfile | |||
download libsndfile "${LIBSNDFILE_VERSION}" "http://www.mega-nerd.com/libsndfile/files" | |||
patch_file libsndfile "${LIBSNDFILE_VERSION}" "configure" 's/ -Wvla//' | |||
build_autoconf libsndfile "${LIBSNDFILE_VERSION}" "--disable-full-suite --disable-alsa --disable-sqlite" | |||
# --------------------------------------------------------------------------------------------------------------------- |
@@ -17,13 +17,11 @@ if [ -z "${target}" ]; then | |||
exit 1 | |||
fi | |||
if [ -n "${2}" ]; then | |||
PACKAGING_BUILD="y" | |||
fi | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# TODO check that bootstrap.sh has been run | |||
./bootstrap-common.sh "${target}" | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
source setup/check_target.sh | |||
source setup/env.sh | |||
@@ -146,123 +144,3 @@ if [ "${WIN32}" -eq 1 ]; then | |||
fi | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# stop here if CI test build | |||
if [ -n "${TRAVIS_BUILD_DIR}" ]; then | |||
exit 0 | |||
fi | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# and finally jack2 | |||
jack2_repo="https://github.com/jackaudio/jack2.git" | |||
jack2_prefix="${PAWPAW_PREFIX}-jack2" | |||
jack2_args="--prefix=${jack2_prefix}" | |||
# if [ "${MACOS_OLD}" -eq 1 ] || [ "${WIN64}" -eq 1 ]; then | |||
# jack2_args="${jack2_args} --mixed" | |||
# fi | |||
if [ "${CROSS_COMPILING}" -eq 1 ]; then | |||
if [ "${LINUX}" -eq 1 ]; then | |||
jack2_args+=" --platform=linux" | |||
elif [ "${MACOS}" -eq 1 ]; then | |||
jack2_args+=" --platform=darwin" | |||
elif [ "${WIN32}" -eq 1 ]; then | |||
jack2_args+=" --platform=win32" | |||
fi | |||
fi | |||
if [ "${MACOS}" -eq 1 ]; then | |||
jack2_extra_prefix="/usr/local" | |||
jack2_args+=" --prefix=${jack2_extra_prefix}" | |||
jack2_args+=" --destdir="${jack2_prefix}"" | |||
fi | |||
if [ "${MACOS_OLD}" -eq 1 ]; then | |||
patch_file jack2 "git" "wscript" '/-std=gnu++11/d' | |||
patch_file jack2 "git" "wscript" '/-Wno-deprecated-register/d' | |||
fi | |||
if [ "${JACK2_VERSION}" = "git" ]; then | |||
if [ ! -d jack2 ]; then | |||
git clone --recursive "${jack2_repo}" | |||
fi | |||
if [ ! -e "${PAWPAW_BUILDDIR}/jack2-git" ]; then | |||
ln -sf "$(pwd)/jack2" "${PAWPAW_BUILDDIR}/jack2-git" | |||
fi | |||
rm -f "${PAWPAW_BUILDDIR}/jack2-git/.stamp_built" | |||
else | |||
download jack2 "${JACK2_VERSION}" "${jack2_repo}" "" "git" | |||
fi | |||
build_waf jack2 "${JACK2_VERSION}" "${jack2_args}" | |||
# remove useless dbus-specific file | |||
rm -f "${jack2_prefix}${jack2_extra_prefix}/bin/jack_control" | |||
# copy jack pkg-config file to main system, so qjackctl can find it | |||
if [ ! -e "${PAWPAW_PREFIX}/lib/pkgconfig/jack.pc" ]; then | |||
cp -v "${jack2_prefix}${jack2_extra_prefix}/lib/pkgconfig/jack.pc" "${PAWPAW_PREFIX}/lib/pkgconfig/jack.pc" | |||
# patch pkg-config file for static win32 builds in regular prefix | |||
if [ "${WIN32}" -eq 1 ]; then | |||
if [ "${WIN64}" -eq 1 ]; then | |||
s="64" | |||
else | |||
s="" | |||
fi | |||
# FIXME rule that works for server lib too, maybe ignoring suffix even | |||
sed -i -e "s/lib -ljack${s}/lib -Wl,-Bdynamic -ljack${s} -Wl,-Bstatic/" "${PAWPAW_PREFIX}/lib/pkgconfig/jack.pc" | |||
fi | |||
fi | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# if qt is available, build qjackctl | |||
if [ -f "${PAWPAW_PREFIX}/bin/moc" ]; then | |||
download qjackctl ${QJACKCTL_VERSION} https://download.sourceforge.net/qjackctl | |||
if [ "${WIN64}" -eq 1 ]; then | |||
patch_file qjackctl "${QJACKCTL_VERSION}" "configure" 's/-ljack /-Wl,-Bdynamic -ljack64 -Wl,-Bstatic /' | |||
elif [ "${WIN32}" -eq 1 ]; then | |||
patch_file qjackctl "${QJACKCTL_VERSION}" "configure" 's/-ljack /-Wl,-Bdynamic -ljack -Wl,-Bstatic /' | |||
elif [ "${MACOS}" -eq 1 ]; then | |||
qjackctl_extra_args="--with-jack="${jack2_prefix}${jack2_extra_prefix}"" | |||
fi | |||
build_autoconf qjackctl "${QJACKCTL_VERSION}" "--enable-jack-version ${qjackctl_extra_args}" | |||
fi | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
if [ -n "${PACKAGING_BUILD}" ]; then | |||
if [ "${MACOS}" -eq 1 ]; then | |||
for f in $(ls "${jack2_prefix}${jack2_extra_prefix}/bin"/* \ | |||
"${jack2_prefix}${jack2_extra_prefix}/lib"/*.dylib \ | |||
"${jack2_prefix}${jack2_extra_prefix}/lib/jack"/*); do | |||
patch_osx_binary_libs "${f}" | |||
done | |||
if [ ! -e jack2 ]; then | |||
ln -s "${PAWPAW_BUILDDIR}/jack2-${JACK2_VERSION}" jack2 | |||
fi | |||
./jack2/macosx/generate-pkg.sh "${jack2_prefix}${jack2_extra_prefix}/" | |||
qjackctl_app="${PAWPAW_PREFIX}/bin/qjackctl.app" | |||
qjackctl_dir="${qjackctl_app}/Contents/MacOS" | |||
patch_osx_qtapp qjackctl "${QJACKCTL_VERSION}" "${qjackctl_app}" | |||
patch_osx_binary_libs "${qjackctl_dir}/qjackctl" | |||
rm -rf jack2/macosx/qjackctl.app | |||
cp -rv "${PAWPAW_PREFIX}/bin/qjackctl.app" jack2/macosx/ | |||
rm -f jack2-macOS-${JACK2_VERSION}.tar.gz | |||
tar czf jack2-macOS-${JACK2_VERSION}.tar.gz -C jack2/macosx jack2-osx-*.pkg qjackctl.app | |||
elif [ "${WIN32}" -eq 1 ]; then | |||
copy_file qjackctl "${QJACKCTL_VERSION}" "src/release/qjackctl.exe" "${jack2_prefix}/bin/qjackctl.exe" | |||
fi | |||
fi | |||
# --------------------------------------------------------------------------------------------------------------------- |
@@ -16,48 +16,46 @@ fi | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# TODO check for depedencies: | |||
# - curl | |||
# - cmake | |||
# - make | |||
# - jq | |||
# - patch | |||
# - python (waf, meson) | |||
# - sed | |||
# - tar | |||
./bootstrap-common.sh "${target}" | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
source setup/check_target.sh | |||
source setup/env.sh | |||
source setup/functions.sh | |||
source setup/versions.sh | |||
mkdir -p "${PAWPAW_BUILDDIR}" | |||
mkdir -p "${PAWPAW_DOWNLOADDIR}" | |||
mkdir -p "${PAWPAW_PREFIX}" | |||
mkdir -p "${PAWPAW_TMPDIR}" | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# let's use native glib for linux builds | |||
# fftw | |||
FFTW_EXTRAFLAGS="--enable-sse2 --disable-alloca --disable-fortran --with-our-malloc" | |||
# if [ "${WIN32}" -eq 0 ]; then | |||
# FFTW_EXTRAFLAGS="${FFTW_EXTRAFLAGS} --enable-threads" | |||
# fi | |||
if [ "${LINUX}" -eq 1 ] && [ ! -e "${TARGET_PKG_CONFIG_PATH}/glib-2.0.pc" ]; then | |||
mkdir -p ${TARGET_PKG_CONFIG_PATH} | |||
ln -s $(pkg-config --variable=pcfiledir glib-2.0)/g{io,lib,module,object,thread}-2.0.pc ${TARGET_PKG_CONFIG_PATH}/ | |||
ln -s $(pkg-config --variable=pcfiledir libpcre)/libpcre.pc ${TARGET_PKG_CONFIG_PATH}/ | |||
download fftw "${FFTW_VERSION}" "http://www.fftw.org" | |||
if [ "${MACOS_OLD}" -eq 1 ]; then | |||
patch_file fftw "${FFTW_VERSION}" "configure" 's/CFLAGS="$CFLAGS -Wl,-no_compact_unwind"/CFLAGS="$CFLAGS"/' | |||
patch_file fftw "${FFTW_VERSION}" "libbench2/timer.c" 's/#if defined(HAVE_GETTIMEOFDAY) && !defined(HAVE_TIMER)/#ifndef HAVE_TIMER/' | |||
fi | |||
build_autoconf fftw "${FFTW_VERSION}" "${FFTW_EXTRAFLAGS}" | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# pkgconfig | |||
# fftwf | |||
download pkg-config "${PKG_CONFIG_VERSION}" "https://pkg-config.freedesktop.org/releases" | |||
build_host_autoconf pkg-config "${PKG_CONFIG_VERSION}" "--enable-indirect-deps --with-internal-glib --with-pc-path=${TARGET_PKG_CONFIG_PATH}" | |||
FFTWF_EXTRAFLAGS="${FFTW_EXTRAFLAGS} --enable-single" | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# file/magic (posix only) | |||
copy_download fftw fftwf "${FFTW_VERSION}" | |||
# if [ "${WIN32}" -eq 0 ]; then | |||
# download file "${FILE_VERSION}" "ftp://ftp.astron.com/pub/file" | |||
# build_autoconf file "${FILE_VERSION}" | |||
# fi | |||
if [ "${MACOS_OLD}" -eq 1 ]; then | |||
patch_file fftwf "${FFTW_VERSION}" "configure" 's/CFLAGS="$CFLAGS -Wl,-no_compact_unwind"/CFLAGS="$CFLAGS"/' | |||
patch_file fftwf "${FFTW_VERSION}" "libbench2/timer.c" 's/#if defined(HAVE_GETTIMEOFDAY) && !defined(HAVE_TIMER)/#ifndef HAVE_TIMER/' | |||
fi | |||
build_autoconf fftwf "${FFTW_VERSION}" "${FFTWF_EXTRAFLAGS}" | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# glib | |||
@@ -94,76 +92,6 @@ fi | |||
download liblo "${LIBLO_VERSION}" "http://download.sourceforge.net/liblo" | |||
build_autoconf liblo "${LIBLO_VERSION}" "--enable-threads --disable-examples --disable-tests --disable-tools" | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# libogg | |||
download libogg "${LIBOGG_VERSION}" "https://ftp.osuosl.org/pub/xiph/releases/ogg" | |||
patch_file libogg "${LIBOGG_VERSION}" "include/ogg/os_types.h" 's/__MACH__/__MACH_SKIP__/' | |||
build_autoconf libogg "${LIBOGG_VERSION}" | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# libvorbis | |||
download libvorbis "${LIBVORBIS_VERSION}" "https://ftp.osuosl.org/pub/xiph/releases/vorbis" | |||
build_autoconf libvorbis "${LIBVORBIS_VERSION}" "--disable-examples" | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# flac | |||
FLAC_EXTRAFLAGS="--disable-doxygen-docs --disable-examples --disable-thorough-tests" | |||
if [ "${MACOS_OLD}" -eq 1 ]; then | |||
FLAC_EXTRAFLAGS="${FLAC_EXTRAFLAGS} --disable-asm-optimizations" | |||
fi | |||
download flac "${FLAC_VERSION}" "https://ftp.osuosl.org/pub/xiph/releases/flac" "tar.xz" | |||
build_autoconf flac "${FLAC_VERSION}" "${FLAC_EXTRAFLAGS}" | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# fftw | |||
FFTW_EXTRAFLAGS="--enable-sse2 --disable-alloca --disable-fortran --with-our-malloc" | |||
# if [ "${WIN32}" -eq 0 ]; then | |||
# FFTW_EXTRAFLAGS="${FFTW_EXTRAFLAGS} --enable-threads" | |||
# fi | |||
download fftw "${FFTW_VERSION}" "http://www.fftw.org" | |||
if [ "${MACOS_OLD}" -eq 1 ]; then | |||
patch_file fftw "${FFTW_VERSION}" "configure" 's/CFLAGS="$CFLAGS -Wl,-no_compact_unwind"/CFLAGS="$CFLAGS"/' | |||
patch_file fftw "${FFTW_VERSION}" "libbench2/timer.c" 's/#if defined(HAVE_GETTIMEOFDAY) && !defined(HAVE_TIMER)/#ifndef HAVE_TIMER/' | |||
fi | |||
build_autoconf fftw "${FFTW_VERSION}" "${FFTW_EXTRAFLAGS}" | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# fftwf | |||
FFTWF_EXTRAFLAGS="${FFTW_EXTRAFLAGS} --enable-single" | |||
copy_download fftw fftwf "${FFTW_VERSION}" | |||
if [ "${MACOS_OLD}" -eq 1 ]; then | |||
patch_file fftwf "${FFTW_VERSION}" "configure" 's/CFLAGS="$CFLAGS -Wl,-no_compact_unwind"/CFLAGS="$CFLAGS"/' | |||
patch_file fftwf "${FFTW_VERSION}" "libbench2/timer.c" 's/#if defined(HAVE_GETTIMEOFDAY) && !defined(HAVE_TIMER)/#ifndef HAVE_TIMER/' | |||
fi | |||
build_autoconf fftwf "${FFTW_VERSION}" "${FFTWF_EXTRAFLAGS}" | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# libsamplerate | |||
download libsamplerate "${LIBSAMPLERATE_VERSION}" "http://www.mega-nerd.com/SRC" | |||
build_autoconf libsamplerate "${LIBSAMPLERATE_VERSION}" "--disable-fftw --disable-sndfile" | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# libsndfile | |||
download libsndfile "${LIBSNDFILE_VERSION}" "http://www.mega-nerd.com/libsndfile/files" | |||
patch_file libsndfile "${LIBSNDFILE_VERSION}" "configure" 's/ -Wvla//' | |||
build_autoconf libsndfile "${LIBSNDFILE_VERSION}" "--disable-full-suite --disable-alsa --disable-sqlite" | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# lv2 | |||
@@ -16,13 +16,31 @@ fi | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# TODO check that bootstrap.sh has been run | |||
source setup/check_target.sh | |||
source setup/env.sh | |||
source setup/functions.sh | |||
source setup/versions.sh | |||
mkdir -p "${PAWPAW_BUILDDIR}" | |||
mkdir -p "${PAWPAW_DOWNLOADDIR}" | |||
mkdir -p "${PAWPAW_PREFIX}" | |||
mkdir -p "${PAWPAW_TMPDIR}" | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# let's use native glib for linux builds | |||
if [ "${LINUX}" -eq 1 ] && [ ! -e "${TARGET_PKG_CONFIG_PATH}/glib-2.0.pc" ]; then | |||
mkdir -p ${TARGET_PKG_CONFIG_PATH} | |||
ln -s $(pkg-config --variable=pcfiledir glib-2.0)/g{io,lib,module,object,thread}-2.0.pc ${TARGET_PKG_CONFIG_PATH}/ | |||
ln -s $(pkg-config --variable=pcfiledir libpcre)/libpcre.pc ${TARGET_PKG_CONFIG_PATH}/ | |||
fi | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# pkgconfig | |||
download pkg-config "${PKG_CONFIG_VERSION}" "https://pkg-config.freedesktop.org/releases" | |||
build_host_autoconf pkg-config "${PKG_CONFIG_VERSION}" "--enable-indirect-deps --with-internal-glib --with-pc-path=${TARGET_PKG_CONFIG_PATH}" | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
qtsuffix="-opensource-src" |
@@ -0,0 +1,113 @@ | |||
#!/bin/bash | |||
set -e | |||
cd $(dirname ${0}) | |||
PAWPAW_ROOT="${PWD}" | |||
JACK2_VERSION=${JACK2_VERSION:=git} | |||
QJACKCTL_VERSION=${QJACKCTL_VERSION:=0.6.2} | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
target="${1}" | |||
if [ -z "${target}" ]; then | |||
echo "usage: ${0} <target> [package-build?]" | |||
exit 1 | |||
fi | |||
# TODO check that bootstrap-jack.sh has been run | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
source setup/check_target.sh | |||
source setup/env.sh | |||
source setup/functions.sh | |||
source setup/versions.sh | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# jack2 | |||
jack2_repo="https://github.com/jackaudio/jack2.git" | |||
jack2_prefix="${PAWPAW_PREFIX}-jack2" | |||
jack2_args="--prefix=${jack2_prefix}" | |||
# if [ "${MACOS_OLD}" -eq 1 ] || [ "${WIN64}" -eq 1 ]; then | |||
# jack2_args="${jack2_args} --mixed" | |||
# fi | |||
if [ "${CROSS_COMPILING}" -eq 1 ]; then | |||
if [ "${LINUX}" -eq 1 ]; then | |||
jack2_args+=" --platform=linux" | |||
elif [ "${MACOS}" -eq 1 ]; then | |||
jack2_args+=" --platform=darwin" | |||
elif [ "${WIN32}" -eq 1 ]; then | |||
jack2_args+=" --platform=win32" | |||
fi | |||
fi | |||
if [ "${MACOS}" -eq 1 ]; then | |||
jack2_extra_prefix="/usr/local" | |||
jack2_args+=" --prefix=${jack2_extra_prefix}" | |||
jack2_args+=" --destdir="${jack2_prefix}"" | |||
fi | |||
if [ "${MACOS_OLD}" -eq 1 ]; then | |||
patch_file jack2 "git" "wscript" '/-std=gnu++11/d' | |||
patch_file jack2 "git" "wscript" '/-Wno-deprecated-register/d' | |||
fi | |||
if [ "${JACK2_VERSION}" = "git" ]; then | |||
if [ ! -d jack2 ]; then | |||
git clone --recursive "${jack2_repo}" | |||
fi | |||
if [ ! -e "${PAWPAW_BUILDDIR}/jack2-git" ]; then | |||
ln -sf "$(pwd)/jack2" "${PAWPAW_BUILDDIR}/jack2-git" | |||
fi | |||
rm -f "${PAWPAW_BUILDDIR}/jack2-git/.stamp_built" | |||
else | |||
download jack2 "${JACK2_VERSION}" "${jack2_repo}" "" "git" | |||
fi | |||
build_waf jack2 "${JACK2_VERSION}" "${jack2_args}" | |||
# remove useless dbus-specific file | |||
rm -f "${jack2_prefix}${jack2_extra_prefix}/bin/jack_control" | |||
# copy jack pkg-config file to main system, so qjackctl can find it | |||
if [ ! -e "${PAWPAW_PREFIX}/lib/pkgconfig/jack.pc" ]; then | |||
cp -v "${jack2_prefix}${jack2_extra_prefix}/lib/pkgconfig/jack.pc" "${PAWPAW_PREFIX}/lib/pkgconfig/jack.pc" | |||
# patch pkg-config file for static win32 builds in regular prefix | |||
if [ "${WIN32}" -eq 1 ]; then | |||
if [ "${WIN64}" -eq 1 ]; then | |||
s="64" | |||
else | |||
s="" | |||
fi | |||
# FIXME rule that works for server lib too, maybe ignoring suffix even | |||
sed -i -e "s/lib -ljack${s}/lib -Wl,-Bdynamic -ljack${s} -Wl,-Bstatic/" "${PAWPAW_PREFIX}/lib/pkgconfig/jack.pc" | |||
fi | |||
fi | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# qjackctl (if qt is available) | |||
if [ -f "${PAWPAW_PREFIX}/bin/moc" ]; then | |||
download qjackctl ${QJACKCTL_VERSION} https://download.sourceforge.net/qjackctl | |||
if [ "${WIN64}" -eq 1 ]; then | |||
patch_file qjackctl "${QJACKCTL_VERSION}" "configure" 's/-ljack /-Wl,-Bdynamic -ljack64 -Wl,-Bstatic /' | |||
elif [ "${WIN32}" -eq 1 ]; then | |||
patch_file qjackctl "${QJACKCTL_VERSION}" "configure" 's/-ljack /-Wl,-Bdynamic -ljack -Wl,-Bstatic /' | |||
elif [ "${MACOS}" -eq 1 ]; then | |||
qjackctl_extra_args="--with-jack="${jack2_prefix}${jack2_extra_prefix}"" | |||
fi | |||
build_autoconf qjackctl "${QJACKCTL_VERSION}" "--enable-jack-version ${qjackctl_extra_args}" | |||
if [ "${WIN32}" -eq 1 ]; then | |||
copy_file qjackctl "${QJACKCTL_VERSION}" "src/release/qjackctl.exe" "${jack2_prefix}/bin/qjackctl.exe" | |||
fi | |||
fi | |||
# --------------------------------------------------------------------------------------------------------------------- |
@@ -0,0 +1,61 @@ | |||
#!/bin/bash | |||
set -e | |||
cd $(dirname ${0}) | |||
PAWPAW_ROOT="${PWD}" | |||
JACK2_VERSION=${JACK2_VERSION:=git} | |||
QJACKCTL_VERSION=${QJACKCTL_VERSION:=0.6.2} | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
target="${1}" | |||
if [ -z "${target}" ]; then | |||
echo "usage: ${0} <target> [package-build?]" | |||
exit 1 | |||
fi | |||
if [ -n "${2}" ]; then | |||
PACKAGING_BUILD="y" | |||
fi | |||
# TODO check that bootstrap-jack.sh has been run | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
source setup/check_target.sh | |||
source setup/env.sh | |||
source setup/functions.sh | |||
source setup/versions.sh | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# final steps for packaging, if needed | |||
if [ "${MACOS}" -eq 1 ]; then | |||
for f in $(ls "${jack2_prefix}${jack2_extra_prefix}/bin"/* \ | |||
"${jack2_prefix}${jack2_extra_prefix}/lib"/*.dylib \ | |||
"${jack2_prefix}${jack2_extra_prefix}/lib/jack"/*); do | |||
patch_osx_binary_libs "${f}" | |||
done | |||
if [ ! -e jack2 ]; then | |||
ln -s "${PAWPAW_BUILDDIR}/jack2-${JACK2_VERSION}" jack2 | |||
fi | |||
./jack2/macosx/generate-pkg.sh "${jack2_prefix}${jack2_extra_prefix}/" | |||
qjackctl_app="${PAWPAW_PREFIX}/bin/qjackctl.app" | |||
qjackctl_dir="${qjackctl_app}/Contents/MacOS" | |||
patch_osx_qtapp qjackctl "${QJACKCTL_VERSION}" "${qjackctl_app}" | |||
patch_osx_binary_libs "${qjackctl_dir}/qjackctl" | |||
rm -rf jack2/macosx/qjackctl.app | |||
cp -rv "${PAWPAW_PREFIX}/bin/qjackctl.app" jack2/macosx/ | |||
rm -f jack2-macOS-${JACK2_VERSION}.tar.gz | |||
tar czf jack2-macOS-${JACK2_VERSION}.tar.gz -C jack2/macosx jack2-osx-*.pkg qjackctl.app | |||
fi | |||
# --------------------------------------------------------------------------------------------------------------------- |