blob: db429ea58f3a605d86f9cae1ad8edb9915b29e1f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
# Maintainer: Albert Graef <aggraef at gmail.com>
# Contributor: Bernardo Barros <bernardobarros at gmail dot com>
# Contributor: bjoern lindig (bjoern _dot_ lindig _at_ google.com)
pkgname=faust-git
pkgver=2.5.17.r9482.79fed093a
pkgrel=1
epoch=2
pkgdesc="A functional programming language for realtime audio signal processing."
arch=('i686' 'x86_64')
url="http://faust.grame.fr/"
license=('GPL')
depends=('llvm-libs'
# needed for sound2faust:
'libsndfile'
# needed for libfaustremote and faustbench:
# 'jack2'
# needed for libHTTPDFaust:
'libmicrohttpd' 'openssl')
# We need xxd at build time, which is provided by 'gvim', 'vim' and
# 'xxd-standalone' (AUR).
makedepends=('llvm' 'git' 'xxd')
optdepends=('clang: needed for sound2reader'
'python2: needed for faust2md'
'ruby: needed for faust2sc and scbuilder'
'java-environment=8: needed for faust2android')
provides=('faust' 'faust2-git')
conflicts=('faust')
# This keeps the static libraries. Remove the 'staticlibs' option if this
# isn't wanted.
options=('staticlibs')
# We're using the (default) master-dev branch of Faust here, which has all the
# latest changes. End users might want to use the master branch instead, which
# is supposedly more stable and tested, but nevertheless (mostly) up-to-date.
source=("$pkgname::git+https://github.com/grame-cncm/faust.git#branch=master-dev"
"python2-fix.patch")
md5sums=('SKIP'
'5bd95373f2d6f4e86a2befab669339f8')
pkgver() {
cd $srcdir/$pkgname
# use un-annotated tags per
# https://wiki.archlinux.org/index.php/VCS_package_guidelines#Git
#git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
# ... but unfortunately many releases go untagged right now, so we rather do
# it like this, because that gives us the real release number as running
# `faust --version` will report it
echo $(make debversion|sed -e s/+git.*//).r$(git rev-list --count HEAD).$(git rev-parse --short HEAD)
}
prepare() {
cd $srcdir/$pkgname
git submodule update --init
# fix up scripts like faust2md which need python2 to run
patch -Np1 < $srcdir/python2-fix.patch
}
# NOTE: libHTTPDFaust requires 'libmicrohttpd' and 'openssl'.
# Similarly, sound2faust requires libsndfile which we also include by default.
# These are all optional, so you can get rid of the extra dependencies by
# changing the build target from 'world' to 'all' and removing the
# corresponding dependencies above.
build() {
cd $srcdir/$pkgname
make PREFIX=/usr world
# 'remote' and 'benchmark' are disabled right now since they require jack2.
#make benchmark remote PREFIX=/usr
}
package() {
cd $srcdir/$pkgname
make install PREFIX=/usr DESTDIR="$pkgdir"
# docs
install -d "$pkgdir/usr/share/doc/faust"
for x in documentation/*.{pdf,html} libraries/doc/*.{pdf,html}; do test -f $x && install -Dm644 $x "$pkgdir/usr/share/doc/faust"; done
# examples
install -d "$pkgdir/usr/share/faust/examples"
cp -R "examples/"* "$pkgdir/usr/share/faust/examples/"
## syntax highlighting files
cd syntax-highlighting
# atom
install -Dm644 "atom/language-faust/package.json" \
"${pkgdir}/usr/lib/atom/dot-atom/packages/language-faust/package.json"
install -Dm644 "atom/language-faust/grammars/faust.cson" \
"${pkgdir}/usr/lib/atom/dot-atom/packages/language-faust/grammars/faust.cson"
install -Dm644 "atom/language-faust/settings/language-faust.cson" \
"${pkgdir}/usr/lib/atom/dot-atom/packages/language-faust/settings/language-faust.cson"
install -t "${pkgdir}/usr/lib/atom/dot-atom/packages/language-faust/snippets/" \
-Dm644 "atom/language-faust/snippets/"*
install -Dm644 "atom/language-faust/process-palette.json.linux" \
"${pkgdir}/usr/share/doc/faust/process-palette.json"
# kate
install -Dm644 faust.xml "$pkgdir/usr/share/apps/katepart/syntax/faust.xml"
# gedit
install -Dm644 faust.lang "$pkgdir/usr/share/gtksourceview-2.0/language-specs/faust.lang"
install -Dm644 faust.lang "$pkgdir/usr/share/gtksourceview-3.0/language-specs/faust.lang"
# highlight
install -Dm644 dsp.lang "$pkgdir/usr/share/highlight/langDefs/dsp.lang"
# nano
install -Dm644 "faust.nanorc" "$pkgdir/usr/share/nano/faust.nanorc"
# vim
install -Dm644 faust.vim "$pkgdir/usr/share/vim/vimfiles/syntax/faust.vim"
# emacs
install -d "$pkgdir/usr/share/emacs/site-lisp/"
install -Dm644 faust-mode.el "$pkgdir/usr/share/emacs/site-lisp/"
}
|