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

Fix many gstreamer packages on Darwin #60922

Closed
wants to merge 5 commits into from

Conversation

nh2
Copy link
Contributor

@nh2 nh2 commented May 4, 2019

Motivation for this change

See commit messages.

Darwin evaluation was accidentally broken in the past.

One commit fixes the evaluation, the other one fixes as many packages to build with as many features as I had time to fix.

A couple things still don't work, for example the gst-rtsp-server example executables print WARNING **: ... failed to create element 'rtpbin', check your installation when you try to connect to play the stream, but we'll have to figure that out separately.

I'm not an OSX user, I just want to make #54398 as useful as possible.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option 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 nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

nh2 added 4 commits May 1, 2019 23:52
During the 1.14 -> 1.15 upgrade, lots of stuff stopped working because
gstreamer changed what features are enabled by default and which ones are
automatically turned on/off via pkgconfig dependency detection.

This resulted in the `gstreamer` ("core" attribute in nixpkgs) package
to have only 15 of its previous 163 build targets enabled, and downstream
packages breaking correspondingly.

To ease maintainability and to ensure users will find the expected features
available (and when not, will see in the nix file why not), we now pass
the `-Dauto_features=enabled` Meson build flag to all gstreamer builds,
which sets all `auto` dependencies to `enabled`, and we explicitly disable
those that we can't build.

This means in particular that `gst-plugins-bad` now has vastly more integrations
(namely all for which nixpkgs has libraries available).
Changes needed:

* core: dbghelp disabled as it's not needed
* core: Fixed script not being executable and skipped by patchShebangs
* base: gtk_doc disabled because of wayland symbol error
* ges: Patch removed that was merged upstream:
  https://bugzilla.gnome.org/show_bug.cgi?id=794856#c16
…ilds.

Commit be38210 broke evaluation
on Darwin because it added these unconditional buildInputs
that don't evaluate on Darwin:

    libnice librdf lilv lv2 serd sord sratom

This commit fixes it, and also fixes recently-added new dependencies
for other packages accordingly.

It further fixes the build of many gstreamer packages on Darwin.
@nh2
Copy link
Contributor Author

nh2 commented May 4, 2019

Amended to fix build of gst-validate on Darwin that upstream just made based on my issue reporting in IRC: https://gitlab.freedesktop.org/gstreamer/gst-devtools/merge_requests/95/diffs

@nh2 nh2 mentioned this pull request May 5, 2019
17 tasks
@nixos-discourse
Copy link

This pull request has been mentioned on Nix community. There might be relevant details there:

https://discourse.nixos.org/t/what-are-your-goals-for-19-09/2875/24

@worldofpeace
Copy link
Contributor

Still needed @nh2 ?

Not sure what to think with all the conflicts.

@nh2 nh2 mentioned this pull request Nov 13, 2019
10 tasks
@nh2
Copy link
Contributor Author

nh2 commented Nov 13, 2019

I don't currently have my Darwin machine around (but will have soon).

Unless #70690 wants to incorporate my fixes before I get a chance :)

@nh2
Copy link
Contributor Author

nh2 commented Nov 20, 2019

I don't currently have my Darwin machine around (but will have soon).

Well looks like I was wrong, support for that Macbook Air ends at OSX 10.10 (thanks planned obsolescence for perfectly fast hardware, Apple! 👎), and we only support >= 10.12 since https://matthewbauer.us/blog/darwin-stdenv-update.html

Unless #70690 wants to incorporate my fixes before I get a chance :)

I think this can be closed, becase around #70690 (comment) I see my commit from this PR cherry-picked.

It doesn't seem to update all the files I do here, but that's probably OK.

@nh2 nh2 closed this Nov 20, 2019
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