Skip to content

Instantly share code, notes, and snippets.

@madskjeldgaard
Last active October 27, 2020 21:26
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save madskjeldgaard/9908907af23b5cfc744dab9cbff94078 to your computer and use it in GitHub Desktop.
Save madskjeldgaard/9908907af23b5cfc744dab9cbff94078 to your computer and use it in GitHub Desktop.
Arch linux package for installing the mi-UGens mutable instruments ugens for SuperCollider
# Maintainer: Mads Kjeldgaard <mail@madskjeldgaard.dk>
pkgname=mi-ugens-git
pkgver=r27.d9ff7f7
pkgrel=1
pkgdesc="SuperCollider UGen versions of Mutable Instruments synthesizer modules"
arch=('x86_64')
url="https://github.com/v7b1/mi-UGens"
license=('GPL')
groups=('pro-audio')
depends=()
makedepends=('git')
optdepends=()
source=("$pkgname-$pkgver::git+$url.git"
"supercollider-source::git+https://github.com/supercollider/supercollider.git")
md5sums=('SKIP'
'SKIP')
pkgver() {
cd "$srcdir/$pkgname-$pkgver"
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
build() {
cd "$pkgname-$pkgver"
# Get dependencies
git submodule update --init --recursive
FOLDERS=(MiClouds MiElements MiMu MiPlaits MiRings MiVerb)
SC_SRC="$srcdir/supercollider-source"
for FOLDER in "${FOLDERS[@]}"
do
cd $FOLDER
# Build folder
mkdir build
cd build
cmake -DSC_PATH=$SC_SRC -DCMAKE_BUILD_TYPE=RELEASE ..
make
# # Return
cd ../..
done
}
package() {
# Files to install
FOLDERS=(MiClouds MiElements MiMu MiPlaits MiRings MiVerb)
# Destination: System extension dir
DEST="$pkgdir/usr/share/SuperCollider/Extensions/$pkgname/"
mkdir -p $DEST/Classes $DEST/HelpSource/Classes
cd "$pkgname-$pkgver"
for FILE in "${FOLDERS[@]}"
do
# Class
install -Dm755 ./sc/Classes/$FILE.sc "$DEST/Classes/$FILE.sc"
# Help files
install -Dm755 ./sc/HelpSource/Classes/$FILE.schelp "$DEST/HelpSource/Classes/$FILE.schelp"
# Compiled .so files
install -Dm755 ./$FILE/build/$FILE.so "$DEST/Classes/$FILE.so"
done
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment