about summary refs log tree commit diff
path: root/pkgs/applications/audio/sonic-pi
diff options
context:
space:
mode:
authorJos van Bakel <jos@codeaddict.org>2019-09-08 14:20:34 +0200
committerJos van Bakel <jos@codeaddict.org>2019-09-09 16:03:09 +0200
commit24c55e2c9d4be35b778bfb08db7832756f2dc93b (patch)
tree4f387acb1235534260a8aba92c8a5a157c8be5d7 /pkgs/applications/audio/sonic-pi
parent362c2f67f9e24771f6634cec90111ab7992b5cfa (diff)
sonic-pi: fix qt wrapper
Diffstat (limited to 'pkgs/applications/audio/sonic-pi')
-rw-r--r--pkgs/applications/audio/sonic-pi/default.nix45
1 files changed, 25 insertions, 20 deletions
diff --git a/pkgs/applications/audio/sonic-pi/default.nix b/pkgs/applications/audio/sonic-pi/default.nix
index 7934af8aad8e2..2a39caa086591 100644
--- a/pkgs/applications/audio/sonic-pi/default.nix
+++ b/pkgs/applications/audio/sonic-pi/default.nix
@@ -1,4 +1,6 @@
-{ stdenv
+{ mkDerivation
+, lib
+, qtbase
 , fetchFromGitHub
 , fftwSinglePrec
 , ruby
@@ -6,20 +8,21 @@
 , aubio
 , cmake
 , pkgconfig
-, qt5
-, libsForQt5
 , boost
 , bash
-, makeWrapper
 , jack2Full
+, supercollider
+, qscintilla
+, qwt
 }:
 
 let
-  supercollider = libsForQt5.callPackage ../../../development/interpreters/supercollider {
-    fftw = fftwSinglePrec;
-  };
 
-in stdenv.mkDerivation rec {
+  supercollider_single_prec = supercollider.override {  fftw = fftwSinglePrec; };
+
+in
+
+mkDerivation rec {
   version = "3.1.0";
   pname = "sonic-pi";
 
@@ -33,15 +36,14 @@ in stdenv.mkDerivation rec {
   buildInputs = [
     bash
     cmake
-    makeWrapper
     pkgconfig
-    qt5.qtbase
-    libsForQt5.qscintilla
-    libsForQt5.qwt
+    qtbase
+    qscintilla
+    qwt
     ruby
     libffi
     aubio
-    supercollider
+    supercollider_single_prec
     boost
   ];
 
@@ -80,20 +82,23 @@ in stdenv.mkDerivation rec {
 
   installPhase = ''
     runHook preInstall
-
     cp -r . $out
-    wrapProgram $out/bin/sonic-pi \
+    runHook postInstall
+  '';
+
+  # $out/bin/sonic-pi is a shell script, and wrapQtAppsHook doesn't wrap them.
+  dontWrapQtApps = true;
+  preFixup = ''
+    wrapQtApp "$out/bin/sonic-pi" \
       --prefix PATH : ${ruby}/bin:${bash}/bin:${supercollider}/bin:${jack2Full}/bin \
       --set AUBIO_LIB "${aubio}/lib/libaubio.so"
-
-    runHook postInstall
   '';
 
   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 = with stdenv.lib.maintainers; [ Phlogistique kamilchm ];
-    platforms = stdenv.lib.platforms.linux;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ Phlogistique kamilchm ];
+    platforms = lib.platforms.linux;
   };
 }