updated readmes and added linux build scripts
This commit is contained in:
50
linux/BUILDING.md
Normal file
50
linux/BUILDING.md
Normal file
@ -0,0 +1,50 @@
|
||||
# Building and installing PaulXStretch on GNU/Linux
|
||||
Follow these steps in order to build (and install) PaulXStretch on GNU/Linux.
|
||||
|
||||
### Installing build dependencies
|
||||
To build PaulXStretch you'll need to install the necessary development dependencies.
|
||||
|
||||
If you're using Debian or a Debian-based distro like Ubuntu, run this script:
|
||||
```
|
||||
./deb_get_prereqs.sh
|
||||
```
|
||||
|
||||
On Fedora run this script:
|
||||
```
|
||||
./fedora_get_prereqs.sh
|
||||
```
|
||||
|
||||
On other distros you'll have to insall the following development packages manually through your package manager:
|
||||
* `libfftw3f-dev`
|
||||
* `libjack-jackd2-dev`
|
||||
* `libasound2-dev`
|
||||
* `libx11-dev`
|
||||
* `libxext-dev`
|
||||
* `libxinerama-dev`
|
||||
* `libxrandr-dev`
|
||||
* `libxcursor-dev`
|
||||
* `libgl-dev`
|
||||
* `libfreetype6-dev` or `libfreetype-dev`
|
||||
* `libcurl4-openssl-dev` or `libcurl4-gnutls-dev`
|
||||
|
||||
### Building
|
||||
Run the build script, both the standalone application and the VST3 plugin will be built:
|
||||
```
|
||||
./build.sh
|
||||
```
|
||||
|
||||
### Installing
|
||||
When the build finishes, the executable will be at
|
||||
`../build/PaulXStretch_artefacts/Release/paulxstretch`. You can install it
|
||||
and the VST3 plugins by running the install script:
|
||||
```
|
||||
sudo ./install.sh
|
||||
```
|
||||
It defaults to installing in /usr/local, but if you want to install it
|
||||
elsewhere, just specify the base directory as the first argument on the commandline of the script.
|
||||
|
||||
### Uninstalling
|
||||
If you wish to uninstall you can run the uninstall script:
|
||||
```
|
||||
sudo ./uninstall.sh
|
||||
```
|
11
linux/build.sh
Executable file
11
linux/build.sh
Executable file
@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
cd ..
|
||||
./setupcmake.sh
|
||||
|
||||
#make -C build clean
|
||||
|
||||
./buildcmake.sh
|
||||
|
||||
|
||||
|
53
linux/deb_get_prereqs.sh
Executable file
53
linux/deb_get_prereqs.sh
Executable file
@ -0,0 +1,53 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Install prerequisite packages for SonoBus build on Debian based distros
|
||||
|
||||
GITREPO="https://github.com/essej/paulxstretch.git"
|
||||
|
||||
PREREQS="libjack-jackd2-dev \
|
||||
libasound2-dev \
|
||||
libx11-dev \
|
||||
libxext-dev \
|
||||
libxinerama-dev \
|
||||
libxrandr-dev \
|
||||
libxcursor-dev \
|
||||
libfftw3f-def \
|
||||
cmake
|
||||
"
|
||||
FREETYPES=$(apt-cache pkgnames libfreetype)
|
||||
if [[ $FREETYPES == *"libfreetype6-dev"* ]]; then
|
||||
PREREQS+="libfreetype6-dev "
|
||||
elif [[ $FREETYPES == *"libfreetype-dev"* ]]; then
|
||||
PREREQS+="libfreetype-dev "
|
||||
else
|
||||
echo "Couldn't find libfreetype dev package"
|
||||
exit 1
|
||||
fi
|
||||
if [[ $(apt-cache pkgnames libcurl4-openssl-dev) == *"libcurl4-openssl-dev"* ]]; then
|
||||
PREREQS+="libcurl4-openssl-dev"
|
||||
elif [[ $(apt-cache pkgnames libcurl4-gnutls-dev) == *"libcurl4-gnutls-dev"* ]]; then
|
||||
PREREQS+="libcurl4-gnutls-dev"
|
||||
else
|
||||
echo "Couldn't find libcurl ssl/tls dev package"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
echo ""
|
||||
echo "Installing prerequisites - " $(date)
|
||||
echo ""
|
||||
|
||||
sudo apt update
|
||||
|
||||
sudo apt -y install git build-essential $PREREQS
|
||||
|
||||
function ver { printf "%03d%03d%03d%03d" $(echo "$1" | tr '.' ' '); }
|
||||
|
||||
cmakever=$(cmake --version | head -1 | cut -d" " -f3)
|
||||
|
||||
if [ $(ver $cmakever) -lt $(ver 3.16) ] ; then
|
||||
echo "Your CMake is too old! You need version 3.16 or higher. Try to get a newer version, or compile CMake from source."
|
||||
exit 1
|
||||
fi
|
37
linux/fedora_get_prereqs.sh
Executable file
37
linux/fedora_get_prereqs.sh
Executable file
@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Install prerequisite packages for SonoBus build on Fedora
|
||||
|
||||
GITREPO="https://github.com/essej/paulxstretch.git"
|
||||
|
||||
PREREQS="jack-audio-connection-kit \
|
||||
jack-audio-connection-kit-devel \
|
||||
alsa-lib-devel \
|
||||
libX11-devel \
|
||||
libXext-devel \
|
||||
libXinerama-devel \
|
||||
libXrandr-devel \
|
||||
libXcursor-devel \
|
||||
freetype-devel \
|
||||
libcurl-devel \
|
||||
cmake
|
||||
"
|
||||
|
||||
echo ""
|
||||
echo "Installing prerequisites - " $(date)
|
||||
echo ""
|
||||
|
||||
sudo dnf update
|
||||
sudo dnf -y groupinstall "Development Tools" "Development Libraries"
|
||||
sudo dnf -y install git $PREREQS
|
||||
|
||||
|
||||
function ver { printf "%03d%03d%03d%03d" $(echo "$1" | tr '.' ' '); }
|
||||
|
||||
cmakever=$(cmake --version | head -1 | cut -d" " -f3)
|
||||
|
||||
if [ $(ver $cmakever) -lt $(ver 3.16) ] ; then
|
||||
echo "Your CMake is too old! You need version 3.16 or higher. Try to get a newer version, or compile CMake from source."
|
||||
exit 1
|
||||
fi
|
||||
|
36
linux/install.sh
Executable file
36
linux/install.sh
Executable file
@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
|
||||
PREFIX=/usr/local
|
||||
|
||||
if [ -n "$1" ] ; then
|
||||
PREFIX="$1"
|
||||
fi
|
||||
|
||||
echo "Installing PaulXStretch to ${PREFIX} ... (specify destination as command line argument if you want it elsewhere)"
|
||||
|
||||
BUILDDIR=../build/PaulXStretch_artefacts/Release
|
||||
|
||||
mkdir -p ${PREFIX}/bin
|
||||
if ! cp ${BUILDDIR}/Standalone/paulxstretch ${PREFIX}/bin/paulxstretch ; then
|
||||
echo
|
||||
echo "Looks like you need to run this as 'sudo $0'"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
mkdir -p ${PREFIX}/share/applications
|
||||
cp paulxstretch.desktop ${PREFIX}/share/applications/paulxstretch.desktop
|
||||
chmod +x ${PREFIX}/share/applications/paulxstretch.desktop
|
||||
|
||||
mkdir -p ${PREFIX}/share/pixmaps
|
||||
cp ../images/paulxstretch_logo@2x.png ${PREFIX}/share/pixmaps/paulxstretch.png
|
||||
|
||||
if [ -d ${BUILDDIR}/VST3/PaulXStretch.vst3 ] ; then
|
||||
mkdir -p ${PREFIX}/lib/vst3
|
||||
cp -a ${BUILDDIR}/VST3/PaulXStretch.vst3 ${PREFIX}/lib/vst3/
|
||||
|
||||
echo "PaulXStretch VST3 plugin installed"
|
||||
fi
|
||||
|
||||
|
||||
echo "PaulXStretch application installed"
|
||||
|
11
linux/paulxstretch.desktop
Normal file
11
linux/paulxstretch.desktop
Normal file
@ -0,0 +1,11 @@
|
||||
[Desktop Entry]
|
||||
Name=PaulXStretch
|
||||
Comment=Extreme Time Stretching
|
||||
GenericName=Extreme Time Stretching
|
||||
Exec=paulxstretch %u
|
||||
Icon=paulxstretch
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=AudioVideo;Audio;Mixer;
|
||||
Keywords=live;online;music;conference;
|
||||
MimeType=x-scheme-handler/paulxstretch
|
25
linux/uninstall.sh
Executable file
25
linux/uninstall.sh
Executable file
@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
PREFIX=/usr/local
|
||||
|
||||
if [ -n "$1" ] ; then
|
||||
PREFIX="$1"
|
||||
fi
|
||||
|
||||
echo "Un-Installing PaulXStretch from ${PREFIX} ... (specify destination as command line argument if you have it elsewhere)"
|
||||
|
||||
|
||||
if [ -f ${PREFIX}/bin/paulxstretch ] ; then
|
||||
if ! rm -f ${PREFIX}/bin/paulxstretch ; then
|
||||
echo
|
||||
echo "Looks like you need to run this with 'sudo $0'"
|
||||
exit 2
|
||||
fi
|
||||
fi
|
||||
|
||||
rm -f ${PREFIX}/share/applications/paulxstretch.desktop
|
||||
rm -f ${PREFIX}/pixmaps/paulxstretch.png
|
||||
|
||||
rm -rf ${PREFIX}/lib/vst3/PaulXStretch.vst3
|
||||
|
||||
echo "PaulXStretch uninstalled"
|
Reference in New Issue
Block a user