Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vcvrack: init at 0.5.1 #36291

Closed
wants to merge 3 commits into from
Closed

vcvrack: init at 0.5.1 #36291

wants to merge 3 commits into from

Conversation

svenkeidel
Copy link
Contributor

@svenkeidel svenkeidel commented Mar 4, 2018

Motivation for this change

Hi, I ported VCVRack , an open-source modular synthesizer, to Nixos. It is pretty cool, you should check it out. I'm open for suggestion how to improve the packaging code.

Things done

I created a function vcvrackWithPlugins, which can be found in pkgs/applications/audio/vcvrack/default.nix that takes a list of plugins (modules for the synthesizer) and creates derivation for VCVRack with all specified plugins.

Changes to nixpkgs

I had to update rtaudio and rtmidi to the latest versions. Furthermore, VCVRack depends on a not release version of GLFW, for which I created a new expressions glfw_3_3_prerelease. This expression can be removed after GLFW releases version 3.3.

  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

/CC rtaudio, rtmidi maintainer: @magnetophon

VCVRack depends on an unreleased version of glfw. I added a new
expression `glfw_3_3_prerelease` to all-packages.nix and `vcvrack`
depends on it. This expression can be removed once version 3.3. of
glfw has been release.
@svenkeidel svenkeidel changed the title New Package: VCVRack vcvrack: init at 0.5.1 Mar 4, 2018
@svenkeidel
Copy link
Contributor Author

svenkeidel commented Mar 4, 2018

I ran nox-review pr 36291. The package JamomaCore, a dependency of i-score does not compile:

[ 98%] Building CXX object Score/library/CMakeFiles/Score.dir/source/TTTimeProcess.cpp.o
In file included from /tmp/nix-build-JamomaCore-1.0-beta.1.drv-0/source/Foundation/library/includes/TTBase.h:68:0,
                 from /tmp/nix-build-JamomaCore-1.0-beta.1.drv-0/source/Foundation/library/includes/TTFoundation.h:14,
                 from /tmp/nix-build-JamomaCore-1.0-beta.1.drv-0/source/Foundation/library/includes/TTFoundationAPI.h:13,
                 from /tmp/nix-build-JamomaCore-1.0-beta.1.drv-0/source/Score/library/includes/TTScoreIncludes.h:48,
                 from /tmp/nix-build-JamomaCore-1.0-beta.1.drv-0/source/Score/library/includes/TTTimeProcess.h:21,
                 from /tmp/nix-build-JamomaCore-1.0-beta.1.drv-0/source/Score/library/source/TTTimeProcess.cpp:16:
/nix/store/bm7pb1s7rx1ad80706b5xqrznq7fgpgx-gcc-7.3.0/include/c++/7.3.0/complex: In instantiation of '_Tp std::__complex_abs(const std::complex<_Tp>&) [with _Tp = unsigned int]':
/nix/store/bm7pb1s7rx1ad80706b5xqrznq7fgpgx-gcc-7.3.0/include/c++/7.3.0/complex:599:56:   required from '_Tp std::abs(const std::complex<_Tp>&) [with _Tp = unsigned int]'
/tmp/nix-build-JamomaCore-1.0-beta.1.drv-0/source/Score/library/source/TTTimeProcess.cpp:364:64:   required from here
/nix/store/bm7pb1s7rx1ad80706b5xqrznq7fgpgx-gcc-7.3.0/include/c++/7.3.0/complex:578:35: error: call of overloaded 'abs(unsigned int&)' is ambiguous
       const _Tp __s = std::max(abs(__x), abs(__y));
                                ~~~^~~~~
In file included from /nix/store/bm7pb1s7rx1ad80706b5xqrznq7fgpgx-gcc-7.3.0/include/c++/7.3.0/cmath:47:0,
                 from /nix/store/bm7pb1s7rx1ad80706b5xqrznq7fgpgx-gcc-7.3.0/include/c++/7.3.0/math.h:36,
                 from /tmp/nix-build-JamomaCore-1.0-beta.1.drv-0/source/Score/library/includes/TTScoreIncludes.h:42,
                 from /tmp/nix-build-JamomaCore-1.0-beta.1.drv-0/source/Score/library/includes/TTTimeProcess.h:21,
                 from /tmp/nix-build-JamomaCore-1.0-beta.1.drv-0/source/Score/library/source/TTTimeProcess.cpp:16:
/nix/store/bm7pb1s7rx1ad80706b5xqrznq7fgpgx-gcc-7.3.0/include/c++/7.3.0/bits/std_abs.h:78:3: note: candidate: constexpr long double std::abs(long double)
   abs(long double __x)
   ^~~
/nix/store/bm7pb1s7rx1ad80706b5xqrznq7fgpgx-gcc-7.3.0/include/c++/7.3.0/bits/std_abs.h:74:3: note: candidate: constexpr float std::abs(float)
   abs(float __x)
   ^~~
/nix/store/bm7pb1s7rx1ad80706b5xqrznq7fgpgx-gcc-7.3.0/include/c++/7.3.0/bits/std_abs.h:70:3: note: candidate: constexpr double std::abs(double)
   abs(double __x)
   ^~~
/nix/store/bm7pb1s7rx1ad80706b5xqrznq7fgpgx-gcc-7.3.0/include/c++/7.3.0/bits/std_abs.h:61:3: note: candidate: long long int std::abs(long long int)
   abs(long long __x) { return __builtin_llabs (__x); }
   ^~~
/nix/store/bm7pb1s7rx1ad80706b5xqrznq7fgpgx-gcc-7.3.0/include/c++/7.3.0/bits/std_abs.h:56:3: note: candidate: long int std::abs(long int)
   abs(long __i) { return __builtin_labs(__i); }
   ^~~
In file included from /nix/store/bm7pb1s7rx1ad80706b5xqrznq7fgpgx-gcc-7.3.0/include/c++/7.3.0/bits/std_abs.h:38:0,
                 from /nix/store/bm7pb1s7rx1ad80706b5xqrznq7fgpgx-gcc-7.3.0/include/c++/7.3.0/cmath:47,
                 from /nix/store/bm7pb1s7rx1ad80706b5xqrznq7fgpgx-gcc-7.3.0/include/c++/7.3.0/math.h:36,
                 from /tmp/nix-build-JamomaCore-1.0-beta.1.drv-0/source/Score/library/includes/TTScoreIncludes.h:42,
                 from /tmp/nix-build-JamomaCore-1.0-beta.1.drv-0/source/Score/library/includes/TTTimeProcess.h:21,
                 from /tmp/nix-build-JamomaCore-1.0-beta.1.drv-0/source/Score/library/source/TTTimeProcess.cpp:16:
/nix/store/p85kjy91dfvs4in358zyfxlksvibw0zn-glibc-2.26-131-dev/include/stdlib.h:722:12: note: candidate: int abs(int)
 extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur;
            ^~~
In file included from /tmp/nix-build-JamomaCore-1.0-beta.1.drv-0/source/Foundation/library/includes/TTBase.h:68:0,
                 from /tmp/nix-build-JamomaCore-1.0-beta.1.drv-0/source/Foundation/library/includes/TTFoundation.h:14,
                 from /tmp/nix-build-JamomaCore-1.0-beta.1.drv-0/source/Foundation/library/includes/TTFoundationAPI.h:13,
                 from /tmp/nix-build-JamomaCore-1.0-beta.1.drv-0/source/Score/library/includes/TTScoreIncludes.h:48,
                 from /tmp/nix-build-JamomaCore-1.0-beta.1.drv-0/source/Score/library/includes/TTTimeProcess.h:21,
                 from /tmp/nix-build-JamomaCore-1.0-beta.1.drv-0/source/Score/library/source/TTTimeProcess.cpp:16:
/nix/store/bm7pb1s7rx1ad80706b5xqrznq7fgpgx-gcc-7.3.0/include/c++/7.3.0/complex:578:45: error: call of overloaded 'abs(unsigned int&)' is ambiguous
       const _Tp __s = std::max(abs(__x), abs(__y));
                                          ~~~^~~~~
In file included from /nix/store/bm7pb1s7rx1ad80706b5xqrznq7fgpgx-gcc-7.3.0/include/c++/7.3.0/cmath:47:0,
                 from /nix/store/bm7pb1s7rx1ad80706b5xqrznq7fgpgx-gcc-7.3.0/include/c++/7.3.0/math.h:36,
                 from /tmp/nix-build-JamomaCore-1.0-beta.1.drv-0/source/Score/library/includes/TTScoreIncludes.h:42,
                 from /tmp/nix-build-JamomaCore-1.0-beta.1.drv-0/source/Score/library/includes/TTTimeProcess.h:21,
                 from /tmp/nix-build-JamomaCore-1.0-beta.1.drv-0/source/Score/library/source/TTTimeProcess.cpp:16:
/nix/store/bm7pb1s7rx1ad80706b5xqrznq7fgpgx-gcc-7.3.0/include/c++/7.3.0/bits/std_abs.h:78:3: note: candidate: constexpr long double std::abs(long double)
   abs(long double __x)
   ^~~
/nix/store/bm7pb1s7rx1ad80706b5xqrznq7fgpgx-gcc-7.3.0/include/c++/7.3.0/bits/std_abs.h:74:3: note: candidate: constexpr float std::abs(float)
   abs(float __x)
   ^~~
/nix/store/bm7pb1s7rx1ad80706b5xqrznq7fgpgx-gcc-7.3.0/include/c++/7.3.0/bits/std_abs.h:70:3: note: candidate: constexpr double std::abs(double)
   abs(double __x)
   ^~~
/nix/store/bm7pb1s7rx1ad80706b5xqrznq7fgpgx-gcc-7.3.0/include/c++/7.3.0/bits/std_abs.h:61:3: note: candidate: long long int std::abs(long long int)
   abs(long long __x) { return __builtin_llabs (__x); }
   ^~~
/nix/store/bm7pb1s7rx1ad80706b5xqrznq7fgpgx-gcc-7.3.0/include/c++/7.3.0/bits/std_abs.h:56:3: note: candidate: long int std::abs(long int)
   abs(long __i) { return __builtin_labs(__i); }
   ^~~
In file included from /nix/store/bm7pb1s7rx1ad80706b5xqrznq7fgpgx-gcc-7.3.0/include/c++/7.3.0/bits/std_abs.h:38:0,
                 from /nix/store/bm7pb1s7rx1ad80706b5xqrznq7fgpgx-gcc-7.3.0/include/c++/7.3.0/cmath:47,
                 from /nix/store/bm7pb1s7rx1ad80706b5xqrznq7fgpgx-gcc-7.3.0/include/c++/7.3.0/math.h:36,
                 from /tmp/nix-build-JamomaCore-1.0-beta.1.drv-0/source/Score/library/includes/TTScoreIncludes.h:42,
                 from /tmp/nix-build-JamomaCore-1.0-beta.1.drv-0/source/Score/library/includes/TTTimeProcess.h:21,
                 from /tmp/nix-build-JamomaCore-1.0-beta.1.drv-0/source/Score/library/source/TTTimeProcess.cpp:16:
/nix/store/p85kjy91dfvs4in358zyfxlksvibw0zn-glibc-2.26-131-dev/include/stdlib.h:722:12: note: candidate: int abs(int)
 extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur;
            ^~~
make[2]: *** [Score/library/CMakeFiles/Score.dir/build.make:231: Score/library/CMakeFiles/Score.dir/source/TTTimeProcess.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:3786: Score/library/CMakeFiles/Score.dir/all] Error 2
make: *** [Makefile:163: all] Error 2
builder for ‘/nix/store/95rhvwq7sn50xakgrlzlxcjf0bd39yw9-JamomaCore-1.0-beta.1.drv’ failed with exit code 2
cannot build derivation ‘/nix/store/qihrd3lzjcw10j79l5vkf1x1hqvsg0gb-i-score-1.0.0-b31.drv’: 1 dependencies couldn't be built
error: build of ‘/nix/store/qihrd3lzjcw10j79l5vkf1x1hqvsg0gb-i-score-1.0.0-b31.drv’ failed

@magnetophon, I guess the package breaks because the update of rtaudio to v5.0.0. Could this be fixed by updating i-score?

@pbogdan
Copy link
Member

pbogdan commented Mar 4, 2018

Just for reference in case it's helpful - there is a prior packaging effort over at #33132.

@svenkeidel
Copy link
Contributor Author

@pbogdan, thanks, I was not aware.

@svenkeidel svenkeidel closed this Mar 4, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants