From 01a81506a69915c85f07f78a873b4f93031c541d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?No=C3=A9=20Rubinstein?= Date: Sun, 15 Nov 2015 21:16:00 +0100 Subject: [PATCH] sonic-pi: init at 2.8.0 --- lib/maintainers.nix | 1 + pkgs/applications/audio/sonic-pi/default.nix | 60 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 63 insertions(+) create mode 100644 pkgs/applications/audio/sonic-pi/default.nix diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 14a7de594aa2..1dc50241f8a1 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -228,6 +228,7 @@ pjones = "Peter Jones "; pkmx = "Chih-Mao Chen "; plcplc = "Philip Lykke Carlsen "; + Phlogistique = "NoƩ Rubinstein "; pmahoney = "Patrick Mahoney "; pmiddend = "Philipp Middendorf "; prikhi = "Pavan Rikhi "; diff --git a/pkgs/applications/audio/sonic-pi/default.nix b/pkgs/applications/audio/sonic-pi/default.nix new file mode 100644 index 000000000000..ce5844ca7f12 --- /dev/null +++ b/pkgs/applications/audio/sonic-pi/default.nix @@ -0,0 +1,60 @@ +{ stdenv +, fetchFromGitHub +, qscintilla +, supercollider +, ruby +, cmake +, pkgconfig +, qt48Full +, bash +, makeWrapper +}: + +stdenv.mkDerivation rec { + version = "2.8.0"; + name = "sonic-pi-${version}"; + + src = fetchFromGitHub { + owner = "samaaron"; + repo = "sonic-pi"; + rev = "v${version}"; + sha256 = "1yyavgazb6ar7xnmjx460s9p8nh70klaja2yb20nci15k8vngq9h"; + }; + + buildInputs = [ + qscintilla + supercollider + ruby + qt48Full + cmake + pkgconfig + bash + makeWrapper + ]; + + meta = { + homepage = http://sonic-pi.net/; + description = "Free live coding synth for everyone originally designed to support computing and music lessons within schools"; + license = stdenv.lib.licenses.mit; + maintainers = [ stdenv.lib.maintainers.Phlogistique ]; + platforms = stdenv.lib.platforms.linux; + }; + + dontUseCmakeConfigure = true; + + buildPhase = '' + pushd app/server/bin + ${ruby}/bin/ruby compile-extensions.rb + popd + + pushd app/gui/qt + ${bash}/bin/bash rp-build-app + popd + ''; + + installPhase = '' + cp -r . $out + wrapProgram $out/bin/sonic-pi --prefix PATH : \ + ${ruby}/bin:${bash}/bin + ''; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1b206ad644c0..c023dcce25b4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12907,6 +12907,8 @@ let viber = callPackage ../applications/networking/instant-messengers/viber { }; + sonic-pi = callPackage ../applications/audio/sonic-pi { }; + st = callPackage ../applications/misc/st { conf = config.st.conf or null; };