NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
18k stars 14.01k forks source link

Xfce mixer applet does not work #4563

Closed abbradar closed 10 years ago

abbradar commented 10 years ago

This happens because of unset GST_PLUGIN_SYSTEM_PATH variable in xfce4-panel environment. I would be happy to fix it, however just wrapping xfce4-panel seems too "hard-coded" for me. How do we solve "wrapper for a library" problem usually?

domenkozar commented 10 years ago

Tagging for 14.11 release as this is a regression

vcunat commented 10 years ago

Hmm, xfce4-mixer works fine, and it is what is run by the applet as well. I tried setting $GST_PLUGIN_SYSTEM_PATH for xfce4-panel, but that did not solve the problem for me. Any idea by which mechanism the applet uses gstreamer?

abbradar commented 10 years ago

It solves the problem for me, though. I've copied environment from xfce4-mixer wrapper.

vcunat commented 10 years ago

Perhaps I've made a mistake somewhere. If it works, I see no better way than wrapping; adding to RPATH instead might be more confusing, assuming it worked.

vcunat commented 10 years ago

The output package otherwise doesn't even depend on gstreamer in any way (apart from the variable). Just setting a variable should not make a difference. I fell like I'm missing something.

vcunat commented 10 years ago

Perhaps it's also using $PATH for some gst executable, and I have other things in there than you.

abbradar commented 10 years ago

You mean xfce4-panel? It loads plugin which is provided by xfce4-mixer, and which has this dependency.

abbradar commented 10 years ago

I'll try this from as pure environment as possible now.

vcunat commented 10 years ago

Ah, I didn't know that. I guess I'll have to try switching whole nixos for that instead of just setting the variable (perhaps wrongly).

abbradar commented 10 years ago

It looks like PATH doesn't change anything, at least. I'm testing it like this: (xfce4mixer installed with systemPackages)

> cat $(which xfce4-mixer)
> export GST_PLUGIN_SYSTEM_PATH=... (from former output)
> killall xfce4-panel
> xfce4-panel
vcunat commented 10 years ago

Ah, I see now. I was assuming that xfce4-panel --restart would make it pick up the env I passed it, but it did not. Your approach with killing it first works. Thanks!