From 0edc635d8088840508cb3f49bff921a94f366746 Mon Sep 17 00:00:00 2001 From: Bart Brouns Date: Mon, 24 Nov 2014 05:27:56 +0100 Subject: [PATCH 1/2] Add faust, the functional audio stream programming language --- pkgs/applications/audio/faust/default.nix | 44 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 46 insertions(+) create mode 100644 pkgs/applications/audio/faust/default.nix diff --git a/pkgs/applications/audio/faust/default.nix b/pkgs/applications/audio/faust/default.nix new file mode 100644 index 00000000000..e9f47088f52 --- /dev/null +++ b/pkgs/applications/audio/faust/default.nix @@ -0,0 +1,44 @@ +{ fetchurl, stdenv, unzip, pkgconfig, gcc }: + +stdenv.mkDerivation rec { + + version = "0.9.67"; + name = "faust-${version}"; + src = fetchurl { + url = "http://downloads.sourceforge.net/project/faudiostream/${name}.zip"; + sha256 = "068vl9536zn0j4pknwfcchzi90rx5pk64wbcbd67z32w0csx8xm1"; + }; + + buildInputs = [ unzip pkgconfig gcc ]; + + patchPhase='' + sed -i 's#?= $(shell uname -s)#:= Linux#g' architecture/osclib/oscpack/Makefile + sed -e "s@\$FAUST_INSTALL /usr/local /usr /opt /opt/local@$out@g" -i tools/faust2appls/faustpath + ''; + + + makeFlags="PREFIX=$(out)"; + + meta = with stdenv.lib; { + description = "A functional programming language for realtime audio signal processing"; + longDescription = '' + FAUST (Functional Audio Stream) is a functional programming + language specifically designed for real-time signal processing + and synthesis. FAUST targets high-performance signal processing + applications and audio plug-ins for a variety of platforms and + standards. + The Faust compiler translates DSP specifications into very + efficient C++ code. Thanks to the notion of architecture, + FAUST programs can be easily deployed on a large variety of + audio platforms and plugin formats (jack, alsa, ladspa, maxmsp, + puredata, csound, supercollider, pure, vst, coreaudio) without + any change to the FAUST code. + ''; + homepage = http://faust.grame.fr/; + downloadPage = http://sourceforge.net/projects/faudiostream/files/; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.magnetophon ]; + }; +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c8022b60737..a35576a4f1a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12372,6 +12372,8 @@ let fakenes = callPackage ../misc/emulators/fakenes { }; + faust = callPackage ../applications/audio/faust { }; + fceux = callPackage ../misc/emulators/fceux { }; foldingathome = callPackage ../misc/foldingathome { }; From 3e714701e5f59a86bcb42b1beca298366f2005ca Mon Sep 17 00:00:00 2001 From: Bart Brouns Date: Mon, 24 Nov 2014 08:07:27 +0100 Subject: [PATCH 2/2] remove unused stuff leave only faust itself, it's libraries, and cpp architecture files that can be used as examples. --- lib/maintainers.nix | 1 + pkgs/applications/audio/faust/default.nix | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 8631c4ba83c..d02e2cec53d 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -98,6 +98,7 @@ lovek323 = "Jason O'Conal "; ludo = "Ludovic Courtès "; madjar = "Georges Dubus "; + magnetophon = "Bart Brouns "; manveru = "Michael Fellinger "; marcweber = "Marc Weber "; matejc = "Matej Cotman "; diff --git a/pkgs/applications/audio/faust/default.nix b/pkgs/applications/audio/faust/default.nix index e9f47088f52..bcfd6020a4f 100644 --- a/pkgs/applications/audio/faust/default.nix +++ b/pkgs/applications/audio/faust/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, unzip, pkgconfig, gcc }: +{ fetchurl, stdenv, unzip }: stdenv.mkDerivation rec { @@ -9,13 +9,17 @@ stdenv.mkDerivation rec { sha256 = "068vl9536zn0j4pknwfcchzi90rx5pk64wbcbd67z32w0csx8xm1"; }; - buildInputs = [ unzip pkgconfig gcc ]; + buildInputs = [ unzip ]; patchPhase='' + sed -i '77,101d' Makefile sed -i 's#?= $(shell uname -s)#:= Linux#g' architecture/osclib/oscpack/Makefile sed -e "s@\$FAUST_INSTALL /usr/local /usr /opt /opt/local@$out@g" -i tools/faust2appls/faustpath ''; + postInstallPhase='' + rm -rf $out/include/ + ''; makeFlags="PREFIX=$(out)";