nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at devShellTools-shell 85 lines 1.8 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchurl, 5 fetchpatch, 6 pkg-config, 7 alsa-lib, 8 audiofile, 9 libjack2, 10 liblo, 11 liboil, 12 libsamplerate, 13 libsndfile, 14 lilv, 15 lv2, 16 ncurses, 17 readline, 18}: 19 20# TODO: fix python. See configure log. 21# fix -Dnullptr=0 cludge below. 22# The error is 23# /nix/store/*-lilv-0.24.10/include/lilv-0/lilv/lilvmm.hpp:272:53: error: 'nullptr' was not declared in this scope 24 25stdenv.mkDerivation rec { 26 pname = "ecasound"; 27 version = "2.9.3"; 28 29 src = fetchurl { 30 url = "https://ecasound.seul.org/download/ecasound-${version}.tar.gz"; 31 sha256 = "1m7njfjdb7sqf0lhgc4swihgdr4snkg8v02wcly08wb5ar2fr2s6"; 32 }; 33 34 patches = [ 35 # Pull patch pending upstream inclusion for ncurses-6.3: 36 # https://sourceforge.net/p/ecasound/bugs/54/ 37 (fetchpatch { 38 name = "ncursdes-6.3.patch"; 39 url = "https://sourceforge.net/p/ecasound/bugs/54/attachment/0001-ecasignalview.cpp-always-use-s-style-format-for-prin.patch"; 40 sha256 = "1x1gsjzd43lh19mhpmwrbq269h56s8bxgyv0yfi5yf0sqjf9vaq0"; 41 }) 42 ]; 43 44 nativeBuildInputs = [ 45 pkg-config 46 ]; 47 48 buildInputs = [ 49 alsa-lib 50 audiofile 51 libjack2 52 liblo 53 liboil 54 libsamplerate 55 libsndfile 56 lilv 57 lv2 58 ncurses 59 readline 60 ]; 61 62 strictDeps = true; 63 64 CXXFLAGS = "-std=c++11"; 65 configureFlags = [ 66 "--enable-liblilv" 67 "--with-extra-cppflags=-Dnullptr=0" 68 ]; 69 70 postPatch = '' 71 sed -i -e ' 72 s@^#include <readline.h>@#include <readline/readline.h>@ 73 s@^#include <history.h>@#include <readline/history.h>@ 74 ' ecasound/eca-curses.cpp 75 ''; 76 77 meta = { 78 description = "Software package designed for multitrack audio processing"; 79 license = with lib.licenses; [ 80 gpl2 81 lgpl21 82 ]; 83 homepage = "http://nosignal.fi/ecasound/"; 84 }; 85}