@@ -0,0 +1,20 @@ | |||||
# PawPaw | |||||
PawPaw is a Cross-Platform build scripts setup for static libraries and audio plugins | |||||
It was created out of the need of many open-source developers to easily build their stuff for macOS and Windows, | |||||
where usually dependencies are involved which need to be built manually. | |||||
In order to make audio plugins self-contained, these dependencies/libraries need to be built statically, | |||||
which most packaging projects do not do. | |||||
Also, most open-source audio plugin projects to do have binaries for macOS or Windows, | |||||
making it very difficult for users in these platforms to enjoy them. | |||||
PawPaw has the following goals: | |||||
- Single script to build most common plugin dependencies statically, both natively and cross-compiling | |||||
- Clean and simple code, easy to maintain and add new libraries to build | |||||
- Statically build LV2 plugins for (at least) macOS and Windows | |||||
- Define each plugin to build in its own file, to make it easy to support new plugins via pull-request | |||||
- Package the entire collection as an installer | |||||
Additonally, PawPaw will be used to build library dependencies for Carla and JACK2. |
@@ -0,0 +1,134 @@ | |||||
#!/bin/bash | |||||
set -e | |||||
cd $(dirname ${0}) | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# TODO CLI args | |||||
# NOTE all of these need to be defined. either 0 or 1 | |||||
CROSS_COMPILING=1 | |||||
MACOS=0 | |||||
MACOS_OLD=0 | |||||
WIN32=1 | |||||
WIN64=1 | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# TODO check for depedencies: | |||||
# - curl | |||||
# - cmake | |||||
# - make | |||||
# - jq | |||||
# - python (waf, meson) | |||||
# - sed | |||||
# - tar | |||||
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} | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# 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}" | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# liblo | |||||
download liblo "${LIBLO_VERSION}" "http://download.sourceforge.net/liblo" | |||||
build_autoconf liblo "${LIBLO_VERSION}" "--enable-threads --disable-examples --disable-tools" | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# zlib | |||||
download zlib "${ZLIB_VERSION}" "https://github.com/madler/zlib/archive" | |||||
build_conf zlib "${ZLIB_VERSION}" "--static --prefix=${PAWPAW_PREFIX}" | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# 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}" | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# file/magic | |||||
# download file "${FILE_VERSION}" "ftp://ftp.astron.com/pub/file" | |||||
# build_autoconf file "${FILE_VERSION}" | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# libvorbis | |||||
download libvorbis "${LIBVORBIS_VERSION}" "https://ftp.osuosl.org/pub/xiph/releases/vorbis" | |||||
build_autoconf libvorbis "${LIBVORBIS_VERSION}" | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# flac | |||||
download flac "${FLAC_VERSION}" "https://ftp.osuosl.org/pub/xiph/releases/flac" "tar.xz" | |||||
build_autoconf flac "${FLAC_VERSION}" | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# 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 | |||||
download lv2 "${LV2_VERSION}" "http://lv2plug.in/spec" "tar.bz2" | |||||
build_waf lv2 "${LV2_VERSION}" "--lv2dir=${PAWPAW_PREFIX}/lib/lv2" | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# now the fun: plugins! | |||||
for p in $(ls plugins); do | |||||
name=$(jq -crM .name plugins/${p}) | |||||
version=$(jq -crM .version plugins/${p}) | |||||
buildtype=$(jq -crM .buildtype plugins/${p}) | |||||
dlbaseurl=$(jq -crM .dlbaseurl plugins/${p}) | |||||
# optional args | |||||
buildargs=$(echo -e $(jq -ecrM .buildargs plugins/${p} || echo '\n\n') | tail -n 1) | |||||
dlext=$(echo -e $(jq -ecrM .dlext plugins/${p} || echo '\n\n') | tail -n 1) | |||||
dlmethod=$(echo -e $(jq -ecrM .dlmethod plugins/${p} || echo '\n\n') | tail -n 1) | |||||
download "${name}" "${version}" "${dlbaseurl}" "${dlext}" "${dlmethod}" | |||||
# TODO patch_file support? | |||||
case ${buildtype} in | |||||
"autoconf") | |||||
build_autoconf "${name}" "${version}" "${buildargs}" | |||||
;; | |||||
"conf") | |||||
build_conf "${name}" "${version}" "${buildargs}" | |||||
;; | |||||
"cmake") | |||||
build_cmake "${name}" "${version}" "${buildargs}" | |||||
;; | |||||
"make") | |||||
build_make "${name}" "${version}" "${buildargs}" | |||||
;; | |||||
"meson") | |||||
build_meson "${name}" "${version}" "${buildargs}" | |||||
;; | |||||
"waf") | |||||
build_waf "${name}" "${version}" "${buildargs}" | |||||
;; | |||||
esac | |||||
done | |||||
# --------------------------------------------------------------------------------------------------------------------- |
@@ -0,0 +1,7 @@ | |||||
{ | |||||
"name": "mod-utilities", | |||||
"version": "4a92aa81351c5c95fefa0505fafad5fbea494dd0", | |||||
"dlbaseurl": "https://github.com/moddevices/mod-utilities.git", | |||||
"dlmethod": "git", | |||||
"buildtype": "make" | |||||
} |
@@ -0,0 +1,7 @@ | |||||
{ | |||||
"name": "noise-repellent", | |||||
"version": "87b4380eae2b69b09bba8a8b181f24153079100d", | |||||
"dlbaseurl": "https://github.com/lucianodato/noise-repellent.git", | |||||
"dlmethod": "git", | |||||
"buildtype": "meson" | |||||
} |
@@ -0,0 +1,8 @@ | |||||
{ | |||||
"name": "artyfx", | |||||
"version": "6010d1a6034ea684cc2edb22021f034122ccf814", | |||||
"dlbaseurl": "https://github.com/openAVproductions/openAV-ArtyFX.git", | |||||
"dlmethod": "git", | |||||
"buildtype": "cmake", | |||||
"buildargs": "-DBUILD_GUI=OFF" | |||||
} |
@@ -0,0 +1,6 @@ | |||||
{ | |||||
"name": "dpf-plugins", | |||||
"version": "1.3", | |||||
"dlbaseurl": "https://github.com/DISTRHO/DPF-Plugins/archive", | |||||
"buildtype": "make" | |||||
} |
@@ -0,0 +1,7 @@ | |||||
{ | |||||
"name": "regrader-port", | |||||
"version": "412e475cef1025d955fae4229b6bc94596f36fd4", | |||||
"dlbaseurl": "https://github.com/linuxmao-org/regrader-port.git", | |||||
"dlmethod": "git", | |||||
"buildtype": "make" | |||||
} |
@@ -0,0 +1,99 @@ | |||||
#!/bin/bash | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# pawpaw setup | |||||
PAWPAW_DIR="$(realpath ~/PawPawBuilds)" | |||||
PAWPAW_BUILDDIR="${PAWPAW_DIR}/builds" | |||||
PAWPAW_DOWNLOADDIR="${PAWPAW_DIR}/downloads" | |||||
PAWPAW_PREFIX="${PAWPAW_DIR}/target" | |||||
PAWPAW_TMPDIR="/tmp" | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# OS setup | |||||
if [ "${MACOS}" -eq 1 ]; then | |||||
CMAKE_SYSTEM_NAME="Darwin" | |||||
elif [ "${WIN32}" -eq 1 ]; then | |||||
CMAKE_SYSTEM_NAME="Windows" | |||||
fi | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# build environment | |||||
## build flags | |||||
BUILD_FLAGS="-O2 -pipe -I${PAWPAW_PREFIX}/include" | |||||
BUILD_FLAGS="${BUILD_FLAGS} -mtune=generic -msse -msse2 -mfpmath=sse" | |||||
# -ffast-math | |||||
BUILD_FLAGS="${BUILD_FLAGS} -fPIC -DPIC -DNDEBUG" | |||||
BUILD_FLAGS="${BUILD_FLAGS} -fdata-sections -ffunction-sections -fno-common -fvisibility=hidden" | |||||
if [ "${MACOS}" -eq 1 ]; then | |||||
if [ "${MACOS_OLD}" -eq 1 ]; then | |||||
BUILD_FLAGS="${BUILD_FLAGS} -mmacosx-version-min=10.5" | |||||
else | |||||
BUILD_FLAGS="${BUILD_FLAGS} -mmacosx-version-min=10.8 -stdlib=libc++ -Wno-deprecated-declarations" | |||||
fi | |||||
elif [ "${WIN32}" -eq 1 ]; then | |||||
BUILD_FLAGS="${BUILD_FLAGS} -DPTW32_STATIC_LIB -mstackrealign" | |||||
fi | |||||
# -DFLUIDSYNTH_NOT_A_DLL | |||||
TARGET_CFLAGS="${BUILD_FLAGS}" | |||||
TARGET_CXXFLAGS="${BUILD_FLAGS} -fvisibility-inlines-hidden" | |||||
## link flags | |||||
LINK_FLAGS="-fdata-sections -ffunction-sections -L${PAWPAW_PREFIX}/lib" | |||||
if [ "${MACOS}" -eq 1 ]; then | |||||
LINK_FLAGS="${LINK_FLAGS} -Wl,-dead_strip -Wl,-dead_strip_dylibs" | |||||
if [ "${MACOS_OLD}" -ne 1 ]; then | |||||
LINK_FLAGS="${LINK_FLAGS} -stdlib=libc++" | |||||
fi | |||||
else | |||||
LINK_FLAGS="${LINK_FLAGS} -Wl,-O1 -Wl,--as-needed -Wl,--gc-sections -Wl,--no-undefined -Wl,--strip-all" | |||||
if [ "${WIN32}" -eq 1 ]; then | |||||
LINK_FLAGS="${LINK_FLAGS} -static" | |||||
fi | |||||
fi | |||||
TARGET_LDFLAGS="${LINK_FLAGS}" | |||||
## toolchain | |||||
if [ "${MACOS}" -eq 1 ]; then | |||||
TOOLCHAIN_PREFIX="i686-apple-darwin10" | |||||
TOOLCHAIN_PREFIX_="${TOOLCHAIN_PREFIX}-" | |||||
elif [ "${WIN64}" -eq 1 ]; then | |||||
TOOLCHAIN_PREFIX="x86_64-w64-mingw32" | |||||
TOOLCHAIN_PREFIX_="${TOOLCHAIN_PREFIX}-" | |||||
elif [ "${WIN32}" -eq 1 ]; then | |||||
TOOLCHAIN_PREFIX="i686-w64-mingw32" | |||||
TOOLCHAIN_PREFIX_="${TOOLCHAIN_PREFIX}-" | |||||
fi | |||||
TARGET_AR="${TOOLCHAIN_PREFIX_}ar" | |||||
TARGET_CC="${TOOLCHAIN_PREFIX_}gcc" | |||||
TARGET_CXX="${TOOLCHAIN_PREFIX_}g++" | |||||
TARGET_LD="${TOOLCHAIN_PREFIX_}ld" | |||||
TARGET_STRIP="${TOOLCHAIN_PREFIX_}strip" | |||||
TARGET_PATH="${PAWPAW_PREFIX}/bin:/usr/${TOOLCHAIN_PREFIX}/bin:${PATH}" | |||||
TARGET_PKG_CONFIG_PATH="${PAWPAW_PREFIX}/lib/pkgconfig" | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# other | |||||
# "-j 2" | |||||
MAKE_ARGS="" | |||||
if [ "${CROSS_COMPILING}" -eq 1 ]; then | |||||
MAKE_ARGS="${MAKE_ARGS} CROSS_COMPILING=true" | |||||
fi | |||||
if [ "${MACOS}" -eq 1 ]; then | |||||
MAKE_ARGS="${MAKE_ARGS} MACOS=true" | |||||
if [ "${MACOS_OLD}" -eq 1 ]; then | |||||
MAKE_ARGS="${MAKE_ARGS} MACOS_OLD=true" | |||||
fi | |||||
elif [ "${WIN32}" -eq 1 ]; then | |||||
MAKE_ARGS="${MAKE_ARGS} WIN32=true WINDOWS=true" | |||||
fi | |||||
# --------------------------------------------------------------------------------------------------------------------- |
@@ -0,0 +1,340 @@ | |||||
#!/bin/bash | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
function download() { | |||||
local name="${1}" | |||||
local version="${2}" | |||||
local dlbaseurl="${3}" | |||||
local dlext="${4}" | |||||
local dlmethod="${5}" | |||||
if [ -z "${dlext}" ]; then | |||||
dlext="tar.gz" | |||||
fi | |||||
local dlfile="${PAWPAW_DOWNLOADDIR}/${name}-${version}.${dlext}" | |||||
local dlfolder="${PAWPAW_BUILDDIR}/${name}-${version}" | |||||
if [ ! -f "${dlfile}" ]; then | |||||
if [ -n "${dlmethod}" ] && [ "${dlmethod}" = "git" ]; then | |||||
local tmprepodir="${PAWPAW_TMPDIR}/${name}-${version}" | |||||
rm -rf "${tmprepodir}" | |||||
git clone --recursive "${dlbaseurl}" "${tmprepodir}" | |||||
git -C "${tmprepodir}" checkout "${version}" | |||||
git -C "${tmprepodir}" submodule update | |||||
tar --exclude=".git" -czf "${dlfile}" -C "${PAWPAW_TMPDIR}" "${name}-${version}" | |||||
rm -rf "${tmprepodir}" | |||||
else | |||||
local dlurl | |||||
if echo ${dlbaseurl} | grep -q github.com; then | |||||
dlurl="${dlbaseurl}/v${version}.${dlext}" | |||||
else | |||||
dlurl="${dlbaseurl}/${name}-${version}.${dlext}" | |||||
fi | |||||
curl -L "${dlurl}" -o "${dlfile}" | |||||
fi | |||||
fi | |||||
if [ ! -d "${dlfolder}" ]; then | |||||
mkdir "${dlfolder}" | |||||
tar -xf "${dlfile}" -C "${dlfolder}" --strip-components=1 | |||||
fi | |||||
} | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
function _prebuild() { | |||||
local pkgdir="${1}" | |||||
export AR="${TARGET_AR}" | |||||
export CC="${TARGET_CC}" | |||||
export CXX="${TARGET_CXX}" | |||||
export LD="${TARGET_LD}" | |||||
export STRIP="${TARGET_STRIP}" | |||||
export CFLAGS="${TARGET_CFLAGS}" | |||||
export CXXFLAGS="${TARGET_CXXFLAGS}" | |||||
export LDFLAGS="${TARGET_LDFLAGS}" | |||||
export PKG_CONFIG_PATH="${TARGET_PKG_CONFIG_PATH}" | |||||
unset CPPFLAGS | |||||
export OLD_PATH="${PATH}" | |||||
export PATH="${TARGET_PATH}" | |||||
if [ ! -f "${pkgdir}/.stamp_configured" ]; then | |||||
rm -f "${pkgdir}/.stamp_built" | |||||
rm -f "${pkgdir}/.stamp_installed" | |||||
elif [ ! -f "${pkgdir}/.stamp_built" ]; then | |||||
rm -f "${pkgdir}/.stamp_installed" | |||||
fi | |||||
} | |||||
function _postbuild() { | |||||
unset AR | |||||
unset CC | |||||
unset CXX | |||||
unset LD | |||||
unset STRIP | |||||
unset CFLAGS | |||||
unset CPPFLAGS | |||||
unset CXXFLAGS | |||||
unset LDFLAGS | |||||
unset PKG_CONFIG_PATH | |||||
export PATH="${OLD_PATH}" | |||||
} | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
function build_autoconf() { | |||||
local name="${1}" | |||||
local version="${2}" | |||||
local extraconfrules="${3}" | |||||
local pkgdir="${PAWPAW_BUILDDIR}/${name}-${version}" | |||||
_prebuild "${pkgdir}" | |||||
if [ ! -f "${pkgdir}/.stamp_configured" ]; then | |||||
pushd "${pkgdir}" | |||||
./configure --enable-static --disable-shared --prefix="${PAWPAW_PREFIX}" --host=${TOOLCHAIN_PREFIX} ${extraconfrules} | |||||
touch .stamp_configured | |||||
popd | |||||
fi | |||||
if [ ! -f "${pkgdir}/.stamp_built" ]; then | |||||
pushd "${pkgdir}" | |||||
make ${MAKE_ARGS} | |||||
touch .stamp_built | |||||
popd | |||||
fi | |||||
if [ ! -f "${pkgdir}/.stamp_installed" ]; then | |||||
pushd "${pkgdir}" | |||||
make ${MAKE_ARGS} install | |||||
touch .stamp_installed | |||||
popd | |||||
fi | |||||
_postbuild | |||||
} | |||||
function build_conf() { | |||||
local name="${1}" | |||||
local version="${2}" | |||||
local extraconfrules="${3}" | |||||
local pkgdir="${PAWPAW_BUILDDIR}/${name}-${version}" | |||||
_prebuild "${pkgdir}" | |||||
if [ ! -f "${pkgdir}/.stamp_configured" ]; then | |||||
pushd "${pkgdir}" | |||||
./configure ${extraconfrules} | |||||
touch .stamp_configured | |||||
popd | |||||
fi | |||||
if [ ! -f "${pkgdir}/.stamp_built" ]; then | |||||
pushd "${pkgdir}" | |||||
make ${MAKE_ARGS} | |||||
touch .stamp_built | |||||
popd | |||||
fi | |||||
if [ ! -f "${pkgdir}/.stamp_installed" ]; then | |||||
pushd "${pkgdir}" | |||||
make ${MAKE_ARGS} install | |||||
touch .stamp_installed | |||||
popd | |||||
fi | |||||
_postbuild | |||||
} | |||||
function build_cmake() { | |||||
local name="${1}" | |||||
local version="${2}" | |||||
local extraconfrules="${3}" | |||||
local pkgdir="${PAWPAW_BUILDDIR}/${name}-${version}" | |||||
_prebuild "${pkgdir}" | |||||
if [ ! -f "${pkgdir}/.stamp_configured" ]; then | |||||
pushd "${pkgdir}" | |||||
# FIXME put this as a patch file | |||||
sed -i -e 's/ -Wl,--no-undefined//' CMakeLists.txt | |||||
cmake -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_INSTALL_PREFIX="${PAWPAW_PREFIX}" -DCMAKE_SYSTEM_NAME="${CMAKE_SYSTEM_NAME}" ${extraconfrules} | |||||
touch .stamp_configured | |||||
popd | |||||
fi | |||||
if [ ! -f "${pkgdir}/.stamp_built" ]; then | |||||
pushd "${pkgdir}" | |||||
make ${MAKE_ARGS} | |||||
touch .stamp_built | |||||
popd | |||||
fi | |||||
if [ ! -f "${pkgdir}/.stamp_installed" ]; then | |||||
pushd "${pkgdir}" | |||||
make ${MAKE_ARGS} install | |||||
touch .stamp_installed | |||||
popd | |||||
fi | |||||
_postbuild | |||||
} | |||||
function build_make() { | |||||
local name="${1}" | |||||
local version="${2}" | |||||
local extraconfrules="${3}" | |||||
local pkgdir="${PAWPAW_BUILDDIR}/${name}-${version}" | |||||
_prebuild "${pkgdir}" | |||||
touch "${pkgdir}/.stamp_configured" | |||||
if [ ! -f "${pkgdir}/.stamp_built" ]; then | |||||
pushd "${pkgdir}" | |||||
make PREFIX="${PAWPAW_PREFIX}" ${MAKE_ARGS} ${extraconfrules} | |||||
touch .stamp_built | |||||
popd | |||||
fi | |||||
if [ ! -f "${pkgdir}/.stamp_installed" ]; then | |||||
pushd "${pkgdir}" | |||||
make PREFIX="${PAWPAW_PREFIX}" ${MAKE_ARGS} install | |||||
touch .stamp_installed | |||||
popd | |||||
fi | |||||
_postbuild | |||||
} | |||||
function build_meson() { | |||||
local name="${1}" | |||||
local version="${2}" | |||||
local extraconfrules="${3}" | |||||
local pkgdir="${PAWPAW_BUILDDIR}/${name}-${version}" | |||||
_prebuild "${pkgdir}" | |||||
if [ ! -f "${pkgdir}/.stamp_configured" ]; then | |||||
pushd "${pkgdir}" | |||||
meson build --buildtype release --prefix "${PAWPAW_PREFIX}" ${extraconfrules} | |||||
touch .stamp_configured | |||||
popd | |||||
fi | |||||
if [ ! -f "${pkgdir}/.stamp_built" ]; then | |||||
pushd "${pkgdir}" | |||||
ninja -v -C build | |||||
touch .stamp_built | |||||
popd | |||||
fi | |||||
if [ ! -f "${pkgdir}/.stamp_installed" ]; then | |||||
pushd "${pkgdir}" | |||||
ninja -C build install | |||||
touch .stamp_installed | |||||
popd | |||||
fi | |||||
_postbuild | |||||
} | |||||
function build_waf() { | |||||
local name="${1}" | |||||
local version="${2}" | |||||
local extraconfrules="${3}" | |||||
local pkgdir="${PAWPAW_BUILDDIR}/${name}-${version}" | |||||
_prebuild "${pkgdir}" | |||||
if [ ! -f "${pkgdir}/.stamp_configured" ]; then | |||||
pushd "${pkgdir}" | |||||
./waf configure --prefix="${PAWPAW_PREFIX}" ${extraconfrules} | |||||
touch .stamp_configured | |||||
popd | |||||
fi | |||||
if [ ! -f "${pkgdir}/.stamp_built" ]; then | |||||
pushd "${pkgdir}" | |||||
./waf build | |||||
touch .stamp_built | |||||
popd | |||||
fi | |||||
if [ ! -f "${pkgdir}/.stamp_installed" ]; then | |||||
pushd "${pkgdir}" | |||||
./waf install | |||||
touch .stamp_installed | |||||
popd | |||||
fi | |||||
_postbuild | |||||
} | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
function build_host_autoconf() { | |||||
local name="${1}" | |||||
local version="${2}" | |||||
local extraconfrules="${3}" | |||||
local pkgdir="${PAWPAW_BUILDDIR}/${name}-${version}" | |||||
unset AR | |||||
unset CC | |||||
unset CXX | |||||
unset LD | |||||
unset STRIP | |||||
unset CFLAGS | |||||
unset CPPFLAGS | |||||
unset CXXFLAGS | |||||
unset LDFLAGS | |||||
if [ ! -f "${pkgdir}/.stamp_configured" ]; then | |||||
pushd "${pkgdir}" | |||||
./configure --enable-static --disable-shared --prefix="${PAWPAW_PREFIX}" ${extraconfrules} | |||||
touch .stamp_configured | |||||
popd | |||||
fi | |||||
if [ ! -f "${pkgdir}/.stamp_built" ]; then | |||||
pushd "${pkgdir}" | |||||
make ${MAKE_ARGS} | |||||
touch .stamp_built | |||||
popd | |||||
fi | |||||
if [ ! -f "${pkgdir}/.stamp_installed" ]; then | |||||
pushd "${pkgdir}" | |||||
make install | |||||
touch .stamp_installed | |||||
popd | |||||
fi | |||||
} | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
function patch_file() { | |||||
local name="${1}" | |||||
local version="${2}" | |||||
local file="${3}" | |||||
local rule="${4}" | |||||
local pkgdir="${PAWPAW_BUILDDIR}/${name}-${version}" | |||||
sed -i -e "${rule}" "${pkgdir}/${file}" | |||||
} | |||||
# --------------------------------------------------------------------------------------------------------------------- |
@@ -0,0 +1,20 @@ | |||||
#!/bin/bash | |||||
PKG_CONFIG_VERSION=0.28 | |||||
LIBLO_VERSION=0.30 | |||||
ZLIB_VERSION=1.2.11 | |||||
FILE_VERSION=5.34 | |||||
LIBOGG_VERSION=1.3.4 | |||||
LIBVORBIS_VERSION=1.3.6 | |||||
FLAC_VERSION=1.3.2 | |||||
LIBSNDFILE_VERSION=1.0.28 | |||||
LV2_VERSION=1.18.0 | |||||
# GLIB_VERSION=2.44.1 | |||||
# GLIB_MVERSION=2.44 | |||||
# FLUIDSYNTH_VERSION=1.1.11 | |||||
# MXML_VERSION=2.12 | |||||
# FFTW3_VERSION=3.3.8 | |||||
# PYTHON_VERSION=3.7.4 | |||||
# PYLIBLO_VERSION=0.9.2 | |||||
# CXFREEZE_VERSION=6.1 |