Browse Source

Misc

tags/1.9.4
falkTX 10 years ago
parent
commit
70b3b691c3
4 changed files with 456 additions and 0 deletions
  1. +6
    -0
      .gitignore
  2. +34
    -0
      data/copy-dpf-stuff
  3. +338
    -0
      data/linux/build-deps.sh
  4. +78
    -0
      data/linux/build.sh

+ 6
- 0
.gitignore View File

@@ -37,6 +37,7 @@ resources.*.cpp
ui_*.py

# Misc files
*.meta4
*.ttl

# PyQt widgets
@@ -144,6 +145,11 @@ source/includes/vst/
source/includes/vst3/
source/includes/config.h

data/linux/*.gz
data/linux/*.tgz
data/linux/*.xz
data/linux/*.*/

data/macos/*.gz
data/macos/*.tgz
data/macos/*.*/


+ 34
- 0
data/copy-dpf-stuff View File

@@ -0,0 +1,34 @@
#!/bin/bash

set -e

# cp -v /home/falktx/FOSS/GIT-mine/DISTRHO/DPF/dgl/*.hpp /home/falktx/FOSS/GIT-mine/Carla/source/modules/dgl/
# cp -r -v /home/falktx/FOSS/GIT-mine/DISTRHO/DPF/dgl/src /home/falktx/FOSS/GIT-mine/Carla/source/modules/dgl/

cp -r -v /home/falktx/FOSS/GIT-mine/DISTRHO/DPF/distrho/* /home/falktx/FOSS/GIT-mine/Carla/source/modules/distrho/

cp -v /home/falktx/FOSS/GIT-mine/DISTRHO/DISTRHO_mini-series/plugins/3BandEQ/{*.cpp,*.hpp,*.h} /home/falktx/FOSS/GIT-mine/Carla/source/modules/native-plugins/3bandeq/
cp -v /home/falktx/FOSS/GIT-mine/DISTRHO/DISTRHO_mini-series/plugins/3BandSplitter/{*.cpp,*.hpp,*.h} /home/falktx/FOSS/GIT-mine/Carla/source/modules/native-plugins/3bandsplitter/
cp -v /home/falktx/FOSS/GIT-mine/DISTRHO/DISTRHO_mini-series/plugins/PingPongPan/{*.cpp,*.hpp,*.h} /home/falktx/FOSS/GIT-mine/Carla/source/modules/native-plugins/pingpongpan/

cp -v /home/falktx/FOSS/GIT-mine/DISTRHO/DISTRHO_nekobi/plugins/Nekobi/{*.cpp,*.hpp,*.h} /home/falktx/FOSS/GIT-mine/Carla/source/modules/native-plugins/nekobi/
cp -v /home/falktx/FOSS/GIT-mine/DISTRHO/DISTRHO_nekobi/plugins/Nekobi/nekobee-src/{*.c,*.h} /home/falktx/FOSS/GIT-mine/Carla/source/modules/native-plugins/nekobi/nekobee-src/

cp -v /home/falktx/FOSS/GIT-mine/DISTRHO/DISTRHO_prom/plugins/ProM/{*.cpp,*.hpp,*.h} /home/falktx/FOSS/GIT-mine/Carla/source/modules/native-plugins/prom/

cp -v /home/falktx/FOSS/GIT-mine/DISTRHO/JuicePlugins/plugins/GrooveJuice/{*.cpp,*.hpp,*.hxx,*.h} /home/falktx/FOSS/GIT-mine/Carla/source/modules/native-plugins/groovejuice/
cp -v /home/falktx/FOSS/GIT-mine/DISTRHO/JuicePlugins/plugins/PowerJuice/{*.cpp,*.hpp,*.h} /home/falktx/FOSS/GIT-mine/Carla/source/modules/native-plugins/powerjuice/
# cp -v /home/falktx/FOSS/GIT-mine/DISTRHO/JuicePlugins/plugins/PowerJuiceX2/{*.cpp,*.hpp,*.hxx,*.h} /home/falktx/FOSS/GIT-mine/Carla/source/modules/native-plugins/powerjuicex2/
cp -v /home/falktx/FOSS/GIT-mine/DISTRHO/JuicePlugins/plugins/SegmentJuice/{*.cpp,*.hpp,*.hxx,*.h} /home/falktx/FOSS/GIT-mine/Carla/source/modules/native-plugins/segmentjuice/
# cp -v /home/falktx/FOSS/GIT-mine/DISTRHO/JuicePlugins/plugins/StutterJuice/{*.cpp,*.hpp,*.hxx,*.h} /home/falktx/FOSS/GIT-mine/Carla/source/modules/native-plugins/stutterjuice/
# cp -v /home/falktx/FOSS/GIT-mine/DISTRHO/JuicePlugins/plugins/TriggerJuice/{*.cpp,*.hpp,*.hxx,*.h} /home/falktx/FOSS/GIT-mine/Carla/source/modules/native-plugins/triggerjuice/
cp -v /home/falktx/FOSS/GIT-mine/DISTRHO/JuicePlugins/plugins/VectorJuice/{*.cpp,*.hpp,*.h} /home/falktx/FOSS/GIT-mine/Carla/source/modules/native-plugins/vectorjuice/
cp -v /home/falktx/FOSS/GIT-mine/DISTRHO/JuicePlugins/plugins/WobbleJuice/{*.cpp,*.hpp,*.hxx,*.h} /home/falktx/FOSS/GIT-mine/Carla/source/modules/native-plugins/wobblejuice/

cp -v /home/falktx/FOSS/GIT-mine/zam-plugins-DPF/plugins/ZamComp/{*.cpp,*.hpp,*.h} /home/falktx/FOSS/GIT-mine/Carla/source/modules/native-plugins/zamcomp/
cp -v /home/falktx/FOSS/GIT-mine/zam-plugins-DPF/plugins/ZamCompX2/{*.cpp,*.hpp,*.h} /home/falktx/FOSS/GIT-mine/Carla/source/modules/native-plugins/zamcompx2/
cp -v /home/falktx/FOSS/GIT-mine/zam-plugins-DPF/plugins/ZamEQ2/{*.cpp,*.hpp,*.h} /home/falktx/FOSS/GIT-mine/Carla/source/modules/native-plugins/zameq2/
cp -v /home/falktx/FOSS/GIT-mine/zam-plugins-DPF/plugins/ZamSynth/{*.cpp,*.hpp,*.h} /home/falktx/FOSS/GIT-mine/Carla/source/modules/native-plugins/zamsynth/
cp -v /home/falktx/FOSS/GIT-mine/zam-plugins-DPF/plugins/ZamTube/{*.cpp,*.hpp,*.h} /home/falktx/FOSS/GIT-mine/Carla/source/modules/native-plugins/zamtube/
cp -v /home/falktx/FOSS/GIT-mine/zam-plugins-DPF/plugins/ZaMultiComp/{*.cpp,*.hpp,*.h} /home/falktx/FOSS/GIT-mine/Carla/source/modules/native-plugins/zamulticomp/
cp -v /home/falktx/FOSS/GIT-mine/zam-plugins-DPF/plugins/ZaMultiCompX2/{*.cpp,*.hpp,*.h} /home/falktx/FOSS/GIT-mine/Carla/source/modules/native-plugins/zamulticompx2/

+ 338
- 0
data/linux/build-deps.sh View File

@@ -0,0 +1,338 @@
#!/bin/bash

# ------------------------------------------------------------------------------------
# stop on error

set -e

# ------------------------------------------------------------------------------------
# cd to correct path

if [ -f Makefile ]; then
cd data/linux
fi

# ------------------------------------------------------------------------------------
# Use gcc 4.8

export CC=gcc-4.8
export CXX=g++-4.8

# ------------------------------------------------------------------------------------
# function to build base libs

build_base()
{

export CFLAGS="-O2 -mtune=generic -msse -msse2 -m$ARCH -fPIC -DPIC"
export CXXFLAGS=$CFLAGS
export LDFLAGS="-m$ARCH"

export PREFIX=/opt/carla$ARCH
export PATH=$PREFIX/bin:/usr/bin:/bin:/usr/sbin:/sbin
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig

# ------------------------------------------------------------------------------------
# pkgconfig

if [ ! -d pkg-config-0.28 ]; then
aria2c http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz
tar -xf pkg-config-0.28.tar.gz
fi

if [ ! -f pkg-config-0.28_$ARCH/build-done ]; then
cp -r pkg-config-0.28 pkg-config-0.28_$ARCH
cd pkg-config-0.28_$ARCH
./configure --enable-indirect-deps --with-internal-glib --with-pc-path=$PKG_CONFIG_PATH --prefix=$PREFIX
make
sudo make install
touch build-done
cd ..
fi

# ------------------------------------------------------------------------------------
# zlib

if [ ! -d zlib-1.2.8 ]; then
aria2c http://zlib.net/zlib-1.2.8.tar.gz
tar -xf zlib-1.2.8.tar.gz
fi

if [ ! -f zlib-1.2.8_$ARCH/build-done ]; then
cp -r zlib-1.2.8 zlib-1.2.8_$ARCH
cd zlib-1.2.8_$ARCH
./configure --static --prefix=$PREFIX
make
sudo make install
touch build-done
cd ..
fi

# ------------------------------------------------------------------------------------
# liblo

if [ ! -d liblo-0.28 ]; then
aria2c http://download.sourceforge.net/liblo/liblo-0.28.tar.gz
tar -xf liblo-0.28.tar.gz
fi

if [ ! -f liblo-0.28_$ARCH/build-done ]; then
cp -r liblo-0.28 liblo-0.28_$ARCH
cd liblo-0.28_$ARCH
./configure --enable-static --disable-shared --prefix=$PREFIX
make
sudo make install
touch build-done
cd ..
fi

# ------------------------------------------------------------------------------------
# mxml

if [ ! -d mxml-2.8 ]; then
aria2c http://www.msweet.org/files/project3/mxml-2.8.tar.gz
tar -xf mxml-2.8.tar.gz
fi

if [ ! -f mxml-2.8_$ARCH/build-done ]; then
cp -r mxml-2.8 mxml-2.8_$ARCH
cd mxml-2.8_$ARCH
./configure --enable-static --disable-shared --prefix=$PREFIX
make
sudo cp *.a $PREFIX/lib/
sudo cp *.pc $PREFIX/lib/pkgconfig/
sudo cp mxml.h $PREFIX/include/
touch build-done
cd ..
fi

# ------------------------------------------------------------------------------------
# fftw3

if [ ! -d fftw-3.3.4 ]; then
aria2c http://www.fftw.org/fftw-3.3.4.tar.gz
tar -xf fftw-3.3.4.tar.gz
fi

if [ ! -f fftw-3.3.4_$ARCH/build-done ]; then
export CFLAGS="-O2 -mtune=generic -msse -msse2 -ffast-math -mfpmath=sse -m$ARCH -fPIC -DPIC"
export CXXFLAGS=$CFLAGS
cp -r fftw-3.3.4 fftw-3.3.4_$ARCH
cd fftw-3.3.4_$ARCH
./configure --enable-static --enable-sse2 --disable-shared --disable-debug --prefix=$PREFIX
make
sudo make install
make clean
./configure --enable-static --enable-sse --enable-sse2 --enable-single --disable-shared --disable-debug --prefix=$PREFIX
make
sudo make install
make clean
touch build-done
cd ..
fi

}

# ------------------------------------------------------------------------------------
# build base libs

export ARCH=32
build_base

export ARCH=64
build_base

# ------------------------------------------------------------------------------------
# qt5-base download

if [ ! -d qtbase-opensource-src-5.3.0 ]; then
aria2c http://download.qt-project.org/official_releases/qt/5.3/5.3.0/submodules/qtbase-opensource-src-5.3.0.tar.xz
tar -xf qtbase-opensource-src-5.3.0.tar.xz
fi

# ------------------------------------------------------------------------------------
# qt5-base 32bit (minimal, static)

if [ ! -f qtbase-opensource-src-5.3.0_32/build-done ]; then
export CFLAGS="-O2 -mtune=generic -msse -msse2 -m32 -fPIC -DPIC"
export CXXFLAGS=$CFLAGS
export LDFLAGS="-m32"
export PREFIX=/opt/carla32
export PATH=$PREFIX/bin:/usr/bin:/bin:/usr/sbin:/sbin
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
cp -r qtbase-opensource-src-5.3.0 qtbase-opensource-src-5.3.0_32
cd qtbase-opensource-src-5.3.0_32
export CFG_ARCH=i386
export QMAKESPEC=linux-g++-32
./configure -release -static -opensource -confirm-license -force-pkg-config -platform linux-g++-32 \
-prefix $PREFIX -plugindir $PREFIX/lib/qt5/plugins -headerdir $PREFIX/include/qt5 \
-qt-freetype -qt-libjpeg -qt-libpng -qt-pcre -qt-sql-sqlite -qt-zlib -opengl no \
-no-directfb -no-eglfs -no-kms -no-linuxfb -no-mtdev -no-xcb -no-xcb-xlib \
-no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx -no-avx2 -no-mips_dsp -no-mips_dspr2 \
-no-cups -no-dbus -no-evdev -no-fontconfig -no-harfbuzz -no-iconv -no-icu -no-gif -no-glib -no-nis -no-openssl -no-pch -no-sql-ibase -no-sql-odbc \
-no-audio-backend -no-qml-debug -no-separate-debug-info \
-no-compile-examples -no-gui -no-widgets -nomake examples -nomake tests -nomake tools -make libs
make -j 8
sudo make install
touch build-done
cd ..
fi

# ------------------------------------------------------------------------------------
# qt5-base 64bit (minimal, static)

if [ ! -f qtbase-opensource-src-5.3.0_64/build-done ]; then
export CFLAGS="-O2 -mtune=generic -msse -msse2 -m64 -fPIC -DPIC"
export CXXFLAGS=$CFLAGS
export LDFLAGS="-m64"
export PREFIX=/opt/carla64
export PATH=$PREFIX/bin:/usr/bin:/bin:/usr/sbin:/sbin
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
cp -r qtbase-opensource-src-5.3.0 qtbase-opensource-src-5.3.0_64
cd qtbase-opensource-src-5.3.0_64
export CFG_ARCH=x86_64
export QMAKESPEC=linux-g++-64
./configure -release -static -opensource -confirm-license -force-pkg-config -platform linux-g++-64 \
-prefix $PREFIX -plugindir $PREFIX/lib/qt5/plugins -headerdir $PREFIX/include/qt5 \
-qt-freetype -qt-libjpeg -qt-libpng -qt-pcre -qt-sql-sqlite -qt-zlib -opengl no \
-no-directfb -no-eglfs -no-kms -no-linuxfb -no-mtdev -no-xcb -no-xcb-xlib \
-no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx -no-avx2 -no-mips_dsp -no-mips_dspr2 \
-no-cups -no-dbus -no-evdev -no-fontconfig -no-harfbuzz -no-iconv -no-icu -no-gif -no-glib -no-nis -no-openssl -no-pch -no-sql-ibase -no-sql-odbc \
-no-audio-backend -no-qml-debug -no-separate-debug-info \
-no-compile-examples -no-gui -no-widgets -nomake examples -nomake tests -nomake tools -make libs
make -j 8
sudo make install
touch build-done
cd ..
fi

# ------------------------------------------------------------------------------------
# set flags for qt stuff

export CFLAGS="-O2 -mtune=generic -msse -msse2 -fPIC -DPIC"
export CXXFLAGS=$CFLAGS
export LDFLAGS=""

export PREFIX=/opt/carla
export PATH=$PREFIX/bin:/usr/bin:/bin:/usr/sbin:/sbin
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig

export CFG_ARCH=x86_64
export QMAKESPEC=linux-g++

# ------------------------------------------------------------------------------------
# qt5-base download (5.2.1 for now)

if [ ! -d qtbase-opensource-src-5.2.1 ]; then
aria2c http://download.qt-project.org/official_releases/qt/5.2/5.2.1/submodules/qtbase-opensource-src-5.2.1.tar.xz
tar -xf qtbase-opensource-src-5.2.1.tar.xz
fi

# ------------------------------------------------------------------------------------
# qt5-base (regular, shared)

if [ ! -f qtbase-opensource-src-5.2.1/build-done ]; then
cd qtbase-opensource-src-5.2.1
./configure -release -shared -opensource -confirm-license -force-pkg-config -platform linux-g++ \
-prefix $PREFIX -plugindir $PREFIX/lib/qt5/plugins -headerdir $PREFIX/include/qt5 \
-qt-freetype -qt-libjpeg -qt-libpng -qt-pcre -qt-sql-sqlite -qt-xcb -qt-xkbcommon -qt-zlib -opengl desktop -qpa xcb \
-no-directfb -no-eglfs -no-kms -no-linuxfb -no-mtdev \
-no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx -no-avx2 -no-neon -no-mips_dsp -no-mips_dspr2 \
-no-cups -no-dbus -no-evdev -no-fontconfig -no-harfbuzz -no-iconv -no-icu -no-gif -no-glib -no-nis -no-openssl -no-pch -no-sql-ibase -no-sql-odbc \
-no-audio-backend -no-javascript-jit -no-qml-debug -no-rpath -no-separate-debug-info \
-no-compile-examples -nomake examples -nomake tests -make libs -make tools
make -j 8
sudo make install
# sudo cp src/plugins/platforms/xcb/xcb-static/libxcb-static.a $PREFIX/lib/qt5/plugins/platforms/
# sudo sed "s?`pwd`/src/plugins/platforms/xcb/xcb-static?$PREFIX/lib/qt5/plugins/platforms?" -i $PREFIX/lib/qt5/plugins/platforms/libqxcb.prl
touch build-done
cd ..
fi

# ------------------------------------------------------------------------------------
# qt5-svg

if [ ! -d qtsvg-opensource-src-5.2.1 ]; then
aria2c http://download.qt-project.org/official_releases/qt/5.2/5.2.1/submodules/qtsvg-opensource-src-5.2.1.tar.gz
tar -xf qtsvg-opensource-src-5.2.1.tar.gz
fi

if [ ! -f qtsvg-opensource-src-5.2.1/build-done ]; then
cd qtsvg-opensource-src-5.2.1
qmake
make -j 8
sudo make install
touch build-done
cd ..
fi

# ------------------------------------------------------------------------------------
# python

if [ ! -d Python-3.3.5 ]; then
aria2c https://www.python.org/ftp/python/3.3.5/Python-3.3.5.tgz
tar -xf Python-3.3.5.tgz
fi

if [ ! -f Python-3.3.5/build-done ]; then
cd Python-3.3.5
./configure --prefix=$PREFIX
make
sudo make install
touch build-done
cd ..
fi

# ------------------------------------------------------------------------------------
# sip

if [ ! -d sip-4.15.5 ]; then
aria2c http://sourceforge.net/projects/pyqt/files/sip/sip-4.15.5/sip-4.15.5.tar.gz
tar -xf sip-4.15.5.tar.gz
fi

if [ ! -f sip-4.15.5/build-done ]; then
cd sip-4.15.5
python3 configure.py
make
sudo make install
touch build-done
cd ..
fi

# ------------------------------------------------------------------------------------
# pyqt5

if [ ! -d PyQt-gpl-5.2.1 ]; then
aria2c http://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.2.1/PyQt-gpl-5.2.1.tar.gz
tar -xf PyQt-gpl-5.2.1.tar.gz
fi

if [ ! -f PyQt-gpl-5.2.1/build-done ]; then
cd PyQt-gpl-5.2.1
python3 configure.py --confirm-license
make
sudo make install
touch build-done
cd ..
fi

# ------------------------------------------------------------------------------------
# cxfreeze

if [ ! -d cx_Freeze-4.3.3 ]; then
aria2c http://download.sourceforge.net/cx-freeze/cx_Freeze-4.3.3.tar.gz
tar -xf cx_Freeze-4.3.3.tar.gz
fi

if [ ! -f cx_Freeze-4.3.3/build-done ]; then
cd cx_Freeze-4.3.3
sed -i -e 's/"python%s.%s"/"python%s.%sm"/' setup.py
sed -i -e 's/not vars.get("Py_ENABLE_SHARED", 0)/True/' setup.py
python3 setup.py build
sudo python3 setup.py install --prefix=$PREFIX
touch build-done
cd ..
fi

# ------------------------------------------------------------------------------------

+ 78
- 0
data/linux/build.sh View File

@@ -0,0 +1,78 @@
#!/bin/bash

set -e

JOBS="-j 2"

if [ ! -f Makefile ]; then
cd ../..
fi

export CC=gcc-4.8
export CXX=g++-4.8
export CXFREEZE=/opt/carla/bin/cxfreeze
export MOC_QT5=moc
export RCC_QT5=moc

# Build python stuff
export PATH=/opt/carla/bin:/opt/carla64/bin:/usr/bin:/bin:/usr/sbin:/sbin
export PKG_CONFIG_PATH=/opt/carla/lib/pkgconfig:/opt/carla64/lib/pkgconfig
make $JOBS UI RES WIDGETS

# Build theme
make $JOBS theme

# Build everything else
export PATH=/opt/carla64/bin:/usr/bin:/bin:/usr/sbin:/sbin
export PKG_CONFIG_PATH=/opt/carla64/lib/pkgconfig
make -C source/modules dgl
make backend $JOBS LDFLAGS="../../modules/dgl.a -lGL -lX11"
# make $JOBS

# Build Linux app
export PATH=/opt/carla/bin:/opt/carla64/bin:/usr/bin:/bin:/usr/sbin:/sbin
export PYTHONPATH=`pwd`/source
unset PKG_CONFIG_PATH

# cd source
rm -rf ./build ./build-lv2

cp ./source/carla ./source/carla.pyw
cp ./source/carla-plugin ./source/carla-plugin.pyw
cp ./source/modules/native-plugins/resources/bigmeter-ui ./source/bigmeter-ui.pyw
cp ./source/modules/native-plugins/resources/notes-ui ./source/notes-ui.pyw
$CXFREEZE --include-modules=re,sip,subprocess,inspect --target-dir=./build/ ./source/carla.pyw
$CXFREEZE --include-modules=re,sip,subprocess,inspect --target-dir=./build/plugin/ ./source/carla-plugin.pyw
$CXFREEZE --include-modules=re,sip,subprocess,inspect --target-dir=./build/plugin/ ./source/bigmeter-ui.pyw
$CXFREEZE --include-modules=re,sip,subprocess,inspect --target-dir=./build/plugin/ ./source/notes-ui.pyw
rm ./source/*.pyw

cd build

mkdir backend
mkdir bridges
mkdir discovery
mkdir styles
cp ../source/backend/*.so ./backend/
# cp ../source/bridges/carla-bridge-* ./bridges/
# cp ../source/discovery/carla-discovery-* ./discovery/
cp ../source/modules/theme/styles/* ./styles/
cp -r ../source/modules/native-plugins/resources .

find . -type f -name "*.py" -delete
mv plugin/* ./resources/
rmdir plugin

mkdir ../build-lv2
cd ../build-lv2

cp -r ../source/plugin/carla-native.lv2/ .
rm -r ./carla-native.lv2/resources
cp -r ../build/resources/ ./carla-native.lv2/

mkdir carla-native.lv2/resources/styles
# cp ../source/bridges/carla-bridge-* carla-native.lv2/resources/
# cp ../source/discovery/carla-discovery-* carla-native.lv2/resources/
cp ../build/./styles/* carla-native.lv2/resources/styles/

cd ..

Loading…
Cancel
Save