Nixpkgs: VCV Rack build broken

Created on 15 Oct 2019  路  12Comments  路  Source: NixOS/nixpkgs

VCV-Rack build is now broken, because the commit d9ab59efc781c392128a449361a381fcc93cf6f3 is not available from https://github.com/AndrewBelt/glfw.git anymore. (Somebody force-pushed and made the commit orphan?)

To Reproduce
Steps to reproduce the behavior:

  1. be on unstable or 19-09
  2. nix-shell -p vcv-rack
  3. observe failure
fatal: reference is not a tree: d9ab59efc781c392128a449361a381fcc93cf6f3
Unable to checkout d9ab59efc781c392128a449361a381fcc93cf6f3 from https://github.com/AndrewBelt/glfw.git.
builder for '/nix/store/rbx2i63cznbcncmn5871fhd7bhw1mj2p-source.drv' failed with exit code 1
cannot build derivation '/nix/store/7pzfqw3y08zi1mn3j1dcbscjdf3ms2ln-VCV-Rack-1.1.5.drv': 1 dependencies couldn't be built
error: build of '/nix/store/7pzfqw3y08zi1mn3j1dcbscjdf3ms2ln-VCV-Rack-1.1.5.drv' failed

Expected behavior

VCV Rack is installed.

regression reproducible builds

Most helpful comment

@573 this works, no need to use extra nix magic:

nix-shell -I nixpkgs=https://github.com/Moredread/nixpkgs/archive/66eb70321a05c0584bb1b55dcdbe5e3a1f3d24b6.tar.gz -p vcv-rack

All 12 comments

pinging maintainers @moredread @nathyong

Hmm, that's unfortunate. I think I will pull out the changes as a patchfile, so we don't have to depend on that repo.

My thoughts exactly

I think the most proper thing to do, would be a PR against the upstream repo with the changes.

@jonringer upstream has ignored packaging issues in the past so I'm not sure that is worth my time atm. There is Fork that focuses on improving packaging,but I'm not sure if we should switch at the moment.

Also the problematic line is fixed in already in master and only included on Mac's. With coming versions we can remove that patch.

always sad to see that :(, kind of kills the spirit of FOSS

Tried to test #71233 with the following shell-script:

#!/bin/sh
nix-shell 'let pkgs = (import <nixpkgs> {config = {allowUnfree = true;};}); in with pkgs; vcv-rack.overrideAttrs (sup: { src = (import (builtins.fetchTarball "https://github.com/Moredread/nixpkgs/archive/66eb70321a05c0584bb1b55dcdbe5e3a1f3d24b6.tar.gz") {}).vcv-rack.src;})' -p vcv-rack

Log:

these derivations will be built:
/nix/store/izfyjp8rc25vhfk0mbpkqahij2q80m21-source.drv
/nix/store/7w8pyg3wsjmw39gzwzkqd3g1vs9pdv9m-VCV-Rack-1.1.5.drv
/nix/store/k46sgz00d0qb9wjpirbd8sypb8wnipfv-VCV-Rack-1.1.5.drv
building '/nix/store/k46sgz00d0qb9wjpirbd8sypb8wnipfv-VCV-Rack-1.1.5.drv'...
unpacking sources
unpacking source archive /nix/store/k3jmij285haqg37ww41yxjrm97a7phgh-source
source root is source
patching sources
cp: missing destination file operand after 'dep/include'
Try 'cp --help' for more information.
builder for '/nix/store/k46sgz00d0qb9wjpirbd8sypb8wnipfv-VCV-Rack-1.1.5.drv' failed with exit code 1
error: build of '/nix/store/7w8pyg3wsjmw39gzwzkqd3g1vs9pdv9m-VCV-Rack-1.1.5.drv', '/nix/store/k46sgz00d0qb9wjpirbd8sypb8wnipfv-VCV-Rack-1.1.5.drv' failed

If I read that correctly, you only override the src attribute. The only difference for src is that in the PR no submodules are included. This leads to your error, as the submodules are missing in the dep directory.

You could try overriding the whole package instead of just the source. There are other changes as well, like a different glfw version and removing a function call that requires a different glfw version in the first place.

@573 this works, no need to use extra nix magic:

nix-shell -I nixpkgs=https://github.com/Moredread/nixpkgs/archive/66eb70321a05c0584bb1b55dcdbe5e3a1f3d24b6.tar.gz -p vcv-rack

@prusnak that's where the magic begins, thank you!

this should now be fixed?

appears so

Was this page helpful?
0 / 5 - 0 ratings

Related issues

langston-barrett picture langston-barrett  路  3Comments

yawnt picture yawnt  路  3Comments

rzetterberg picture rzetterberg  路  3Comments

copumpkin picture copumpkin  路  3Comments

spacekitteh picture spacekitteh  路  3Comments