Skip to content

gst_all_1.gst-plugins-good: dlopen libsoup_3 with an absolute path#276408

Merged
vcunat merged 1 commit intostagingfrom
unknown repository
Feb 29, 2024
Merged

gst_all_1.gst-plugins-good: dlopen libsoup_3 with an absolute path#276408
vcunat merged 1 commit intostagingfrom
unknown repository

Conversation

@ghost
Copy link

@ghost ghost commented Dec 24, 2023

Description of changes

fixes #271960

the libgstsoup plugin in the gstreamer gst-pluggins-good loads the libsoup (2 or 3) via a call to g_module_open -- g_module_open is implemented by glib as a dlopen in the libgmodule.so library. This call fails for both darwin and linux as libsoup is not found in the runpath of the libgmodule.so object. This change patches gstsouploader.c to fall back on an absolute path for libsoup_3 if libsoup (2 or 3) is not already loaded so the subsequent g_module_open succeeds.

consumers of gst-pluggins-good need to add glib-networking to enable TLS support

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@ghost ghost marked this pull request as ready for review December 24, 2023 02:29
@ghost ghost mentioned this pull request Dec 24, 2023
13 tasks
@ofborg ofborg bot added 10.rebuild-darwin: 101-500 This PR causes between 101 and 500 packages to rebuild on Darwin. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 501-1000 This PR causes many rebuilds on Linux and should normally target the staging branches. labels Dec 24, 2023
Copy link
Member

@lilyinstarlight lilyinstarlight left a comment

Choose a reason for hiding this comment

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

Thank you for this! I'll try to give it a more proper review later, but I am gonna leave one comment for now

@ofborg ofborg bot added 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. and removed 10.rebuild-darwin: 101-500 This PR causes between 101 and 500 packages to rebuild on Darwin. 10.rebuild-linux: 501-1000 This PR causes many rebuilds on Linux and should normally target the staging branches. labels Dec 24, 2023
@ghost
Copy link
Author

ghost commented Dec 25, 2023

cc glib maintainers for adding GIO_EXTRA_MODULES in the setup-hook.sh
@bobby285271 @hedning @jtojnar @dasj19 @amaxine @lovek323 @7c6f434c

@ghost ghost marked this pull request as draft December 28, 2023 15:16
@ghost ghost marked this pull request as ready for review December 29, 2023 11:35
@ghost
Copy link
Author

ghost commented Dec 29, 2023

all glib changes removed and leaf packages requiring TLS support will need to add in glib-networking.

@ofborg ofborg bot added 10.rebuild-darwin: 501-1000 This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-linux: 2501-5000 This PR causes many rebuilds on Linux and should target the staging branches. and removed 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. labels Dec 29, 2023
@ghost
Copy link
Author

ghost commented Jan 9, 2024

Thank you for this! I'll try to give it a more proper review later, but I am gonna leave one comment for now

ping @lilyinstarlight

@Aleksanaa Aleksanaa requested a review from ttuegel February 9, 2024 03:29
@vcunat vcunat merged commit bf641bb into NixOS:staging Feb 29, 2024
@vcunat
Copy link
Member

vcunat commented Feb 29, 2024

I notice nothing wrong or risky here.

@ghost ghost deleted the gstreamer-abs branch February 29, 2024 19:01
Aleksanaa added a commit to Aleksanaa/nixpkgs that referenced this pull request Mar 8, 2024
reckenrode added a commit to reckenrode/nixpkgs that referenced this pull request Jul 16, 2024
Upstream removed support for using dlopen on platforms other than Linux to fix https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1171, but Darwin in nixpkgs is not affected by that issue after NixOS#276408, which falls back to loading libsoup_3 from an absolute path.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

10.rebuild-darwin: 501-1000 This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 2501-5000 This PR causes many rebuilds on Linux and should target the staging branches.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

gst_all_1.gst-plugins-good is missing soup, needed for radiotray-ng

3 participants