From b42ce8480860d92b7a28b45f223b2fe1795499e3 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Thu, 27 Feb 2014 12:08:18 +0700 Subject: audio/mda-lv2: Added (instrument and effect plugins). Signed-off-by: Willy Sudiarto Raharjo --- audio/mda-lv2/README | 12 ++++++ audio/mda-lv2/extract_docs.pl | 39 +++++++++++++++++++ audio/mda-lv2/mda-lv2.SlackBuild | 82 ++++++++++++++++++++++++++++++++++++++++ audio/mda-lv2/mda-lv2.info | 10 +++++ audio/mda-lv2/slack-desc | 19 ++++++++++ 5 files changed, 162 insertions(+) create mode 100644 audio/mda-lv2/README create mode 100644 audio/mda-lv2/extract_docs.pl create mode 100644 audio/mda-lv2/mda-lv2.SlackBuild create mode 100644 audio/mda-lv2/mda-lv2.info create mode 100644 audio/mda-lv2/slack-desc (limited to 'audio') diff --git a/audio/mda-lv2/README b/audio/mda-lv2/README new file mode 100644 index 0000000000..c6f240d4cb --- /dev/null +++ b/audio/mda-lv2/README @@ -0,0 +1,12 @@ +mda-lv2 (instrument and effect plugins) + +MDA-LV2 is an LV2 port of the MDA plugins by Paul Kellett. It contains +36 high-quality plugins for a variety of tasks. + +This is a more or less faithful port of both the effects and instrument +plugins. The only functional difference in code is to support LV2-style +toggle ports (> 0.0 is on, rather than 0.5). All the plugins have been +tested, and thanks to several bug fixes this collection should be more +reliable than the original. + +See /usr/doc/mda-lv2-$VERSION/plugins.txt for descriptions of the plugins. diff --git a/audio/mda-lv2/extract_docs.pl b/audio/mda-lv2/extract_docs.pl new file mode 100644 index 0000000000..cb464c9e29 --- /dev/null +++ b/audio/mda-lv2/extract_docs.pl @@ -0,0 +1,39 @@ +#!/usr/bin/perl -w + +# Extract the documentation that's buried in the .ttl files. + +# This is hideous code, but it does work, and doesn't require +# spending a week learning the overly-complex LV2 and RDF specs. +# Plus the LV2 scripting API is Python, so add a few more weeks +# for me to learn Python... + +open OUT, "|fmt -s"; +select(OUT); + +$baseurl = "http://drobilla.net/plugins/mda/"; + +undef $/; + +for(<*.ttl>) { + next if /-presets/; + my ($type, $name, $shortdesc, $url, $desc); + open I, "<$_"; + $_ = ; + close I; + + s/lv2:port.*//ms; + + $type = $1 if /lv2:(\w+)Plugin\b/; + $name = $1 if /doap:name\s*"([^"]+)"/; + $shortdesc = $1 if /doap:shortdesc\s*"([^"]+)"/; + $url = $baseurl . $1 if /^mda:(\w+)\s*$/ms; + $desc = $2 if /rdfs:comment\s+("+)(.*?)\1/ms; + + $name ||= "(no name, WTF?)"; + print "\nName: $name\n"; + print "URL: $url\n"; + print "Type: $type\n" if $type; + print "Short Description: $shortdesc\n" if $shortdesc; + print "\nDescription:\n$desc\n" if $desc; + print '-' x 50, "\n"; +} diff --git a/audio/mda-lv2/mda-lv2.SlackBuild b/audio/mda-lv2/mda-lv2.SlackBuild new file mode 100644 index 0000000000..281a96af0c --- /dev/null +++ b/audio/mda-lv2/mda-lv2.SlackBuild @@ -0,0 +1,82 @@ +#!/bin/sh + +# Slackware build script for mda-lv2 + +# Written by B. Watson (yalhcru@gmail.com) + +# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. + +PRGNAM=mda-lv2 +VERSION=${VERSION:-1.2.2} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i486 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 +cd $PRGNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./waf configure build install \ + --prefix=/usr \ + --lv2dir=/usr/lib$LIBDIRSUFFIX/lv2 \ + --destdir=$PKG + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a COPYING INSTALL README NEWS $PKG/usr/doc/$PRGNAM-$VERSION + +# All the documentation on the individual plugins is buried in the .ttl +# files as comments, which none of my LV2 hosts will display. It's useful +# info, so let's put it in /usr/doc. +cd $PKG/usr/lib$LIBDIRSUFFIX/lv2/mda.lv2 +perl $CWD/extract_docs.pl > $PKG/usr/doc/$PRGNAM-$VERSION/plugins.txt +cd - + +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/audio/mda-lv2/mda-lv2.info b/audio/mda-lv2/mda-lv2.info new file mode 100644 index 0000000000..86c19db3ae --- /dev/null +++ b/audio/mda-lv2/mda-lv2.info @@ -0,0 +1,10 @@ +PRGNAM="mda-lv2" +VERSION="1.2.2" +HOMEPAGE="http://drobilla.net/software/mda-lv2/" +DOWNLOAD="http://download.drobilla.net/mda-lv2-1.2.2.tar.bz2" +MD5SUM="1962f48c54eafe52a3d2471cd3072aa8" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="lv2" +MAINTAINER="B. Watson" +EMAIL="yalhcru@gmail.com" diff --git a/audio/mda-lv2/slack-desc b/audio/mda-lv2/slack-desc new file mode 100644 index 0000000000..e25a132207 --- /dev/null +++ b/audio/mda-lv2/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +mda-lv2: mda-lv2 (instrument and effect plugins) +mda-lv2: +mda-lv2: MDA-LV2 is an LV2 port of the MDA plugins by Paul Kellett. It contains +mda-lv2: 36 high-quality plugins for a variety of tasks. +mda-lv2: +mda-lv2: This is a more or less faithful port of both the effects and +mda-lv2: instrument plugins. The only functional difference in code is to +mda-lv2: support LV2-style toggle ports (> 0.0 is on, rather than 0.5). All +mda-lv2: the plugins have been tested, and thanks to several bug fixes this +mda-lv2: collection should be more reliable than the original. +mda-lv2: -- cgit v1.2.3