NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
16.52k stars 13.01k forks source link

VCV Rack doesn't build anymore (again) #107580

Closed jpotier closed 3 years ago

jpotier commented 3 years ago

Describe the bug VCV Rack doesn't build anymore (again), and I'm a bit puzzled as to what is going on.

To Reproduce Steps to reproduce the behavior:

  1. checkout latest nixpkgs at 57a787c9fa91f149c86a1ce83d57e07cfa589e07 (nixos-unstable)
  2. nix repl -I nixpkgs=. '<nixpkgs>'
  3. :b vcv-rack

Expected behavior I'm expecting this build to finish successfully.

Screenshots

nix-repl> :b vcv-rack
builder for '/nix/store/s0r877vpr7njb272r98pxh9rk68d1xd6-source.drv' failed with exit code 1; last 7 log lines:

  trying https://bitbucket.org/jpommier/pffft/get/74d7261be17cf659d5930d4830609406bd7553e3.tar.gz
    % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                   Dload  Upload   Total   Spent    Left  Speed
  100 46632  100 46632    0     0  22069      0  0:00:02  0:00:02 --:--:-- 22069
  unpacking source archive /build/74d7261be17cf659d5930d4830609406bd7553e3.tar.gz
  chmod: cannot access '/nix/store/hl46wx53m1xwka5xpq1sa1gaz0h83r5g-source': No such file or directory
cannot build derivation '/nix/store/91qa95x3ala0rkbv90jlvl3847174qnb-VCV-Rack-1.1.6.drv': 1 dependencies couldn't be built
[1 built (1 failed)]
error: build of '/nix/store/91qa95x3ala0rkbv90jlvl3847174qnb-VCV-Rack-1.1.6.drv' failed

Additional context Add any other context about the problem here.

Notify maintainers @Moredread @nathyong

Metadata

Maintainer information:

# a list of nixpkgs attributes affected by the problem
attribute: vcv-rack
# a list of nixos modules affected by the problem
module:
rmcgibbo commented 3 years ago

I don't understand what's going on, but it seems that switching from fetchFromBitbucket to fetchzip fixes the issue.

[mcgibbon@pn50:~/projects/nixpkgs]$ git diff
diff --git a/pkgs/applications/audio/vcv-rack/default.nix b/pkgs/applications/audio/vcv-rack/default.nix
index 18d8f7415b5..3f2c924f91c 100644
--- a/pkgs/applications/audio/vcv-rack/default.nix
+++ b/pkgs/applications/audio/vcv-rack/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, makeWrapper, fetchFromBitbucket, fetchFromGitHub, pkgconfig
+{ stdenv, makeWrapper, fetchzip, fetchFromBitbucket, fetchFromGitHub, pkgconfig
 , alsaLib, curl, glew, glfw, gtk2-x11, jansson, libjack2, libXext, libXi
 , libzip, rtaudio, rtmidi, speex, libsamplerate }:

@@ -7,10 +7,8 @@ let
   # Others are downloaded with `make deps`. Due to previous issues with the
   # `glfw` submodule (see above) and because we can not access the network when
   # building in a sandbox, we fetch the dependency source manually.
-  pfft-source = fetchFromBitbucket {
-    owner = "jpommier";
-    repo = "pffft";
-    rev = "74d7261be17cf659d5930d4830609406bd7553e3";
+  pfft-source = fetchzip {
+    url = "https://bitbucket.org/jpommier/pffft/get/74d7261be17cf659d5930d4830609406bd7553e3.tar.gz";
     sha256 = "084csgqa6f1a270bhybjayrh3mpyi2jimc87qkdgsqcp8ycsx1l1";
   };
   nanovg-source = fetchFromGitHub {

Not necessarily the right solution. Is it possible there's something wrong in a corner case with the fetchFromBitbucket function?

ddelabru commented 3 years ago

Rewrote my comment after a little more investigation: Take a look at this commit on the VCV Rack v1 development branch: https://github.com/VCVRack/Rack/commit/2db08f15a00f6792bb3a45db31dd13f94966beed

It looks like the problem isn't an edge case with the way the nixpkgs BitBucket fetcher works—the pffft Mercurial repo simply got deleted from BitBucket, so now the latest development version of VCV Rack pulls a zip file of it from the VCV Rack web site instead.

jpotier commented 3 years ago

Seems like a PR for VCV derivation is in order. I can do it, if you haven't yet created one @ddelabru

ddelabru commented 3 years ago

Please go ahead, @jpotier; I've been spending lots of time with a baby and only short bursts of time in front of a keyboard 😊

jpotier commented 3 years ago

Change has been merged, closing. Please reopen if the problem is not fixed.