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

vlc: 2.2.8 -> 3.0.2 #35124

Merged
merged 4 commits into from May 2, 2018
Merged

vlc: 2.2.8 -> 3.0.2 #35124

merged 4 commits into from May 2, 2018

Conversation

vaibhavsagar
Copy link
Member

@vaibhavsagar vaibhavsagar commented Feb 18, 2018

Motivation for this change
Things done
  • 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.

@vaibhavsagar
Copy link
Member Author

Currently getting

/nix/store/adidfx4pa7vmvby0gjqqmiwg2x49yr27-binutils-2.28.1/bin/ld: cannot find -lgpg-error

halfway through compilation.

@vaibhavsagar
Copy link
Member Author

Now I'm having issues with the installPhase.

@fpletz
Copy link
Member

fpletz commented Feb 23, 2018

@GrahamcOfBorg build vlc

@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Partial log (click to expand)

Package ‘vlc-3.0.0’ in /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/applications/video/vlc/default.nix:85 is not supported on ‘x86_64-darwin’, refusing to evaluate.

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

@GrahamcOfBorg
Copy link

Failure on x86_64-linux (full log)

Partial log (click to expand)

/nix/store/cb3slv3szhp46xkrczqw7mscy5mnk64l-coreutils-8.29/bin/install: cannot stat './vlc.appdata.xml': No such file or directory
make[3]: *** [Makefile:1345: install-appdataDATA] Error 1
make[3]: Leaving directory '/tmp/nix-build-vlc-3.0.0.drv-0/vlc-3.0.0/share'
make[2]: *** [Makefile:1678: install-am] Error 2
make[2]: Leaving directory '/tmp/nix-build-vlc-3.0.0.drv-0/vlc-3.0.0/share'
make[1]: *** [Makefile:1530: install-recursive] Error 1
make[1]: Leaving directory '/tmp/nix-build-vlc-3.0.0.drv-0/vlc-3.0.0'
make: *** [Makefile:1996: install] Error 2
builder for ‘/nix/store/mi6hkmjkkz7xhyj4di6yrl762q49dj54-vlc-3.0.0.drv’ failed with exit code 2
error: build of ‘/nix/store/mi6hkmjkkz7xhyj4di6yrl762q49dj54-vlc-3.0.0.drv’ failed

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Partial log (click to expand)

/nix/store/zwa643yj8xw3jfsv1x349qy7d2fbzdz3-coreutils-8.29/bin/install: cannot stat './vlc.appdata.xml': No such file or directory
make[3]: *** [Makefile:1345: install-appdataDATA] Error 1
make[3]: Leaving directory '/build/vlc-3.0.0/share'
make[2]: *** [Makefile:1678: install-am] Error 2
make[2]: Leaving directory '/build/vlc-3.0.0/share'
make[1]: *** [Makefile:1530: install-recursive] Error 1
make[1]: Leaving directory '/build/vlc-3.0.0'
make: *** [Makefile:1996: install] Error 2
builder for '/nix/store/911dcpqbfg0n75gq3z6w09q5i6l0773x-vlc-3.0.0.drv' failed with exit code 2
�[31;1merror:�[0m build of '/nix/store/911dcpqbfg0n75gq3z6w09q5i6l0773x-vlc-3.0.0.drv' failed

@pbogdan
Copy link
Member

pbogdan commented Mar 5, 2018

@vaibhavsagar try adding gettext to nativeBuildInputs. I also needed qtsvg to get the qt5 GUI building but maybe that can be avoided somehow? Not sure.. Oh, and 3.0.1 was released in the mean time as well.

@pbogdan
Copy link
Member

pbogdan commented Mar 5, 2018

Two more notes from looking at this bit more:

  1. On startup vlc would print a bunch of warnings about stale plugin cache entries:

    stale plugins cache: modified /nix/store/yzbyk4c8m3xsz39y47akpbn013lzxayy-vlc-3.0.1/lib/vlc/plugins/misc/libexport_plugin.so
    

    It seems that it's maintaining some sort of cache / database of those plugins and from a quick look the validity of the entries is based on the mtime of the file as well as its size. Since the cache looks to be generated in the install phase it's problematic as Nix will reset the mtimes and I guess the fixup phase may change the sizes too? (with stripping / shrinking etc.).
    I worked around it for now with an ugly hack:

    postFixup = ''
      find $out/lib/vlc/plugins -exec touch -d @1 '{}' ';'
      $out/lib/vlc/vlc-cache-gen $out/vlc/plugins
    '';
    

    which resets the mtimes to what they will be in the store, does so after the fixup phase and regenerates the cache. There is probably a better way to work around this but thought I would at least mention this.

  2. phonon-backend-vlc fails to build with vlc 3 but an upstream update of that package is available and appears to fix the build failure.

@vaibhavsagar vaibhavsagar changed the title [WIP] vlc: 2.2.8 -> 3.0.0 [WIP] vlc: 2.2.8 -> 3.0.1 Mar 8, 2018
@vaibhavsagar vaibhavsagar force-pushed the bump-vlc branch 2 times, most recently from 3136f9d to fd37f86 Compare March 8, 2018 15:56
@vaibhavsagar
Copy link
Member Author

Thanks @pbogdan, this turned out to be much more work than I expected 😃. I'm not sure I've included qtsvg correctly and I haven't made the phonon-backend-vlc` changes yet, will do those a little later.

@vaibhavsagar
Copy link
Member Author

Oops, I did a bad rebase and overwrote some of my changes ☹️

@vaibhavsagar vaibhavsagar force-pushed the bump-vlc branch 2 times, most recently from 7e70244 to 633966e Compare April 16, 2018 06:34
@vaibhavsagar
Copy link
Member Author

Running result/bin/vlc-wrapper --reset-config --reset-plugins-cache gives me a working VLC!

@vaibhavsagar vaibhavsagar changed the title [WIP] vlc: 2.2.8 -> 3.0.1 vlc: 2.2.8 -> 3.0.1 Apr 16, 2018
@matthewbauer
Copy link
Member

Related: #39037

@matthewbauer
Copy link
Member

@peterhoeg does this branch work for you?

@peterhoeg
Copy link
Member

Hey @vaibhavsagar, any chance you can incorporate the changes from #39037 as well? That PR is working fine except for the stale plugins spam on the console and it fixes a few other things (drops the npapi plugin, fixes live555, drops qt4)

@vaibhavsagar
Copy link
Member Author

Sure!

@vaibhavsagar vaibhavsagar force-pushed the bump-vlc branch 2 times, most recently from 53dccef to edc7fdd Compare April 25, 2018 02:18
@globin
Copy link
Member

globin commented May 2, 2018

I've just rebased this onto staging due to wayland being bumped there and vlc building with it, I'd be happy to merge, AFAICS everything is working fine.

@peterhoeg
Copy link
Member

LGTM!

@globin globin merged commit 3107b4f into NixOS:staging May 2, 2018
@vaibhavsagar vaibhavsagar deleted the bump-vlc branch May 2, 2018 11:25
'';
# vlc depends on a c11-gcc wrapper script which we don't have so we need to
# set the path to the compiler
BUILDCC = "${stdenv.cc}/bin/gcc";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably be buildPackages.stdenv.cc in order for cross-compilation to work.

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

9 participants