From 6878c20af9d500c603a22d5597681c3b370edfb7 Mon Sep 17 00:00:00 2001 From: André-Patrick Bubel Date: Mon, 16 Jul 2018 14:46:25 +0200 Subject: vcv-rack: init at 0.6.2b --- pkgs/applications/audio/vcv-rack/default.nix | 79 ++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 81 insertions(+) create mode 100644 pkgs/applications/audio/vcv-rack/default.nix (limited to 'pkgs') diff --git a/pkgs/applications/audio/vcv-rack/default.nix b/pkgs/applications/audio/vcv-rack/default.nix new file mode 100644 index 000000000000..74e041868dbc --- /dev/null +++ b/pkgs/applications/audio/vcv-rack/default.nix @@ -0,0 +1,79 @@ +{ stdenv, makeWrapper, fetchFromBitbucket, fetchFromGitHub, pkgconfig +, alsaLib, curl, glew, glfw, gtk2-x11, jansson, libjack2, libXext, libXi +, libzip, rtaudio, rtmidi, speex }: + +let + glfw-git = glfw.overrideAttrs (oldAttrs: { + name = "glfw-git-20180529"; + src = fetchFromGitHub { + owner = "glfw"; + repo = "glfw"; + rev = "0be4f3f75aebd9d24583ee86590a38e741db0904"; + sha256 = "0zbcjgc7ks25yi949k0wjknfl00a4dqmz45mhp00k62vlq2sj0i5"; + }; + buildInputs = oldAttrs.buildInputs ++ [ libXext libXi ]; + }); + pfft-source = fetchFromBitbucket { + owner = "jpommier"; + repo = "pffft"; + rev = "29e4f76ac53bef048938754f32231d7836401f79"; + sha256 = "084csgqa6f1a270bhybjayrh3mpyi2jimc87qkdgsqcp8ycsx1l1"; + }; +in +with stdenv.lib; stdenv.mkDerivation rec { + name = "VCV-Rack-${version}"; + version = "0.6.2b"; + + src = fetchFromGitHub { + owner = "VCVRack"; + repo = "Rack"; + rev = "v${version}"; + sha256 = "17ynhxcci6dyn1yi871fd8yli4924fh12pmk510djwkcj5crhas6"; + fetchSubmodules = true; + }; + + prePatch = '' + ln -s ${pfft-source} dep/jpommier-pffft-source + + mkdir -p dep/include + + cp dep/jpommier-pffft-source/*.h dep/include + cp dep/nanosvg/src/*.h dep/include + cp dep/nanovg/src/*.h dep/include + cp dep/osdialog/*.h dep/include + cp dep/oui-blendish/*.h dep/include + + substituteInPlace include/audio.hpp --replace "" "" + substituteInPlace compile.mk --replace "-march=nocona" "" + substituteInPlace Makefile \ + --replace "-Wl,-Bstatic" "" \ + --replace "-lglfw3" "-lglfw" + ''; + + enableParallelBuilding = true; + + nativeBuildInputs = [ makeWrapper pkgconfig ]; + buildInputs = [ glfw-git alsaLib curl glew gtk2-x11 jansson libjack2 libzip rtaudio rtmidi speex ]; + + buildFlags = "Rack"; + + installPhase = '' + install -D -m755 -t $out/bin Rack + cp -r res $out/ + + mkdir -p $out/share/rack + cp LICENSE.txt LICENSE-dist.txt $out/share/rack + + # Override the default global resource file directory + wrapProgram $out/bin/Rack --add-flags "-g $out" + ''; + + meta = with stdenv.lib; { + description = "Open-source virtual modular synthesizer"; + homepage = http://vcvrack.com/; + # The source is BSD-3 licensed, some of the art is CC-BY-NC 4.0 or unfree + license = [ licenses.bsd3 licenses.cc-by-nc-40 licenses.unfree ]; + maintainers = with maintainers; [ moredread ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e0e4bfd40435..839289fa2633 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18664,6 +18664,8 @@ with pkgs; vcprompt = callPackage ../applications/version-management/vcprompt { }; + vcv-rack = callPackage ../applications/audio/vcv-rack { }; + vdirsyncer = callPackage ../tools/misc/vdirsyncer { }; vdpauinfo = callPackage ../tools/X11/vdpauinfo { }; -- cgit 1.4.1