Browse Source

Add script to generate linux release tarballs

master
falkTX 7 years ago
parent
commit
accdf0f9dc
4 changed files with 167 additions and 1 deletions
  1. +3
    -1
      .gitignore
  2. +16
    -0
      binaries/README-DISTRHO
  3. +19
    -0
      binaries/README-DPF
  4. +129
    -0
      prepare-binaries.sh

+ 3
- 1
.gitignore View File

@@ -1 +1,3 @@
backup/
binaries/*.xz
binaries/debs/
binaries/tmp/

+ 16
- 0
binaries/README-DISTRHO View File

@@ -0,0 +1,16 @@
##########################################
## Generic README for DISTRHO Linux Ports

This folder contains audio plugins downloaded from http://distrho.sourceforge.net/ports

The included *.lv2 folder is an LV2 bundle, copy it to ~/.lv2/ or /usr/lib/lv2/ so that LV2 capable hosts can see it.
~/.lv2/ is a hidden folder within your home, if it does not exist you can create it.
/usr/lib/lv2/ is a system folder and as such requires root permissions in order to copy files there.

The included *.so file is a VST plugin, copy it to ~/.vst/ or /usr/lib/vst/ so that VST capable hosts can see it.
As with LV2, ~/.vst/ is a hidden folder, create it if needed.


If your host is not listing these plugins, make sure the binaries you downloaded match your host architecture.
32bit plugins go into 32bit hosts, same for 64bit.
Some hosts are able to load plugins with different architecture, but that's the exception rather than the rule.

+ 19
- 0
binaries/README-DPF View File

@@ -0,0 +1,19 @@
########################################
## Generic README for DPF-based Plugins

This folder contains audio plugins downloaded from http://distrho.sourceforge.net/

The included *.lv2 folder is an LV2 bundle, copy it to ~/.lv2/ or /usr/lib/lv2/ so that LV2 capable hosts can see it.
~/.lv2/ is a hidden folder within your home, if it does not exist you can create it.
/usr/lib/lv2/ is a system folder and as such requires root permissions in order to copy files there.

The included *.so files are LADSPA, DSSI or VST plugins depending on their suffix (*-ladspa.so for LADSPA, etc)
Copy the plugins files to ~/.ladspa/, ~/.dssi/ or ~/.vst/ respectively.
You can also copy them to /usr/lib/ladspa/, /usr/lib/dssi/ or /usr/lib/vst/ if you have root permissions.

Note: For DSSI you need to copy the *-dssi folder to the same directory as the plugin *-dssi.so file.


If your host is not listing these plugins, make sure the binaries you downloaded match your host architecture.
32bit plugins go into 32bit hosts, same for 64bit.
Some hosts are able to load plugins with different architecture, but that's the exception rather than the rule.

+ 129
- 0
prepare-binaries.sh View File

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

set -e

mkdir -p binaries
mkdir -p binaries/debs

# rm -f binaries/*.xz

# --------------------------------------------------------------------------------------------------------------------------------
# set vars

DISTRHO_VERSION=20140715-1kxstudio1
REPO_FILES_URL=https://launchpad.net/~kxstudio-debian/+archive/ubuntu/plugins/+files/

export XZ_OPT=9

# --------------------------------------------------------------------------------------------------------------------------------
# download debs

function downloadDeb() {
cd binaries/debs
wget -c "$REPO_FILES_URL""$1"_"$2"_amd64.deb
wget -c "$REPO_FILES_URL""$1"_"$2"_i386.deb
cd ../..
}

function downloadDebDistrho() {
downloadDeb "$1-lv2" "$DISTRHO_VERSION"
downloadDeb "$1-vst" "$DISTRHO_VERSION"
}

downloadDeb distrho-mini-series 20140712-1kxstudio1
downloadDeb distrho-mverb 20140712-1kxstudio1
downloadDeb distrho-nekobi 20140712-1kxstudio1

downloadDebDistrho arctican-plugins
downloadDebDistrho dexed
downloadDebDistrho distrho-plugin-ports
downloadDebDistrho drowaudio-plugins
downloadDebDistrho juced-plugins
downloadDebDistrho klangfalter
downloadDebDistrho obxd
downloadDebDistrho pitcheddelay
downloadDebDistrho tal-plugins
downloadDebDistrho wolpertinger

# --------------------------------------------------------------------------------------------------------------------------------
# extract debs and pack them

function compressFolderAsTarXZ() {
rm -f "$1.tar" "$1.tar.xz"
rm -rf "$1"/JuceDemoPlugin.lv2 "$1"/JuceDemoPlugin.so
tar cJf "$1.tar.xz" "$1"
rm -r "$1"
}

function extractDebAndPackIt_DPF() {
cd binaries

mkdir -p tmp
rm -rf tmp/*

NAME="$1"

mkdir -p "$NAME-linux32bit"
dpkg -x debs/"$1"_*_i386.deb tmp
mv tmp/usr/lib/*/*.so tmp/usr/lib/dssi/*-dssi/ tmp/usr/lib/lv2/*.lv2/ "$NAME-linux32bit"
cp "README-DPF" "$NAME-linux32bit/README"
compressFolderAsTarXZ "$NAME-linux32bit"
rm -rf tmp/*

mkdir -p "$NAME-linux64bit"
dpkg -x debs/"$1"_*_amd64.deb tmp
mv tmp/usr/lib/*/*.so tmp/usr/lib/dssi/*-dssi/ tmp/usr/lib/lv2/*.lv2/ "$NAME-linux64bit"
cp "README-DPF" "$NAME-linux64bit/README"
compressFolderAsTarXZ "$NAME-linux64bit"
rm -rf tmp/*

cd ..
}

function extractDebAndPackIt_DISTRHO() {
cd binaries

mkdir -p tmp
rm -rf tmp/*

if [ "$1" == "distrho-plugin-ports" ]; then
NAME="vex"
else
NAME="$1"
fi

mkdir -p "$NAME-linux32bit"
dpkg -x debs/"$1"-lv2_*_i386.deb tmp
dpkg -x debs/"$1"-vst_*_i386.deb tmp
mv tmp/usr/lib/*/*.so tmp/usr/lib/lv2/*.lv2/ "$NAME-linux32bit"
cp "README-DISTRHO" "$NAME-linux32bit/README"
compressFolderAsTarXZ "$NAME-linux32bit"
rm -rf tmp/*

mkdir -p "$NAME-linux64bit"
dpkg -x debs/"$1"-lv2_*_amd64.deb tmp
dpkg -x debs/"$1"-vst_*_amd64.deb tmp
mv tmp/usr/lib/*/*.so tmp/usr/lib/lv2/*.lv2/ "$NAME-linux64bit"
cp "README-DISTRHO" "$NAME-linux64bit/README"
compressFolderAsTarXZ "$NAME-linux64bit"
rm -rf tmp/*

cd ..
}

extractDebAndPackIt_DPF distrho-mini-series
extractDebAndPackIt_DPF distrho-mverb
extractDebAndPackIt_DPF distrho-nekobi

extractDebAndPackIt_DISTRHO arctican-plugins
extractDebAndPackIt_DISTRHO dexed
extractDebAndPackIt_DISTRHO distrho-plugin-ports
extractDebAndPackIt_DISTRHO drowaudio-plugins
extractDebAndPackIt_DISTRHO juced-plugins
extractDebAndPackIt_DISTRHO klangfalter
extractDebAndPackIt_DISTRHO obxd
extractDebAndPackIt_DISTRHO pitcheddelay
extractDebAndPackIt_DISTRHO tal-plugins
extractDebAndPackIt_DISTRHO wolpertinger

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

Loading…
Cancel
Save