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

pasystray: add libappindicator-gtk3 for appindicator support #42184

Merged
merged 1 commit into from Jun 26, 2018

Conversation

colonelpanic8
Copy link
Contributor

@colonelpanic8 colonelpanic8 commented Jun 18, 2018

Motivation for this change

Add appindicator support to pasystray

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 nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@xeji
Copy link
Contributor

xeji commented Jun 26, 2018

@GrahamcOfBorg build pasystray

@GrahamcOfBorg
Copy link

No attempt on x86_64-darwin (full log)

The following builds were skipped because they don't evaluate on x86_64-darwin: pasystray

Partial log (click to expand)


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

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


@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: pasystray

Partial log (click to expand)

glibPreFixupPhase
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/7sjf5mp2yzwvn8y1jfwmf0zv4hjjaiiw-pasystray-0.6.0
shrinking /nix/store/7sjf5mp2yzwvn8y1jfwmf0zv4hjjaiiw-pasystray-0.6.0/bin/.pasystray-wrapped
gzipping man pages under /nix/store/7sjf5mp2yzwvn8y1jfwmf0zv4hjjaiiw-pasystray-0.6.0/share/man/
strip is /nix/store/4qvrxzxa535y8304mk195x50b6p9607d-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/7sjf5mp2yzwvn8y1jfwmf0zv4hjjaiiw-pasystray-0.6.0/bin
patching script interpreter paths in /nix/store/7sjf5mp2yzwvn8y1jfwmf0zv4hjjaiiw-pasystray-0.6.0
checking for references to /build in /nix/store/7sjf5mp2yzwvn8y1jfwmf0zv4hjjaiiw-pasystray-0.6.0...
/nix/store/7sjf5mp2yzwvn8y1jfwmf0zv4hjjaiiw-pasystray-0.6.0

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: pasystray

Partial log (click to expand)

glibPreFixupPhase
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/40anbhx8hcc6zg6cmnwp2gfl8yla1jd6-pasystray-0.6.0
shrinking /nix/store/40anbhx8hcc6zg6cmnwp2gfl8yla1jd6-pasystray-0.6.0/bin/.pasystray-wrapped
gzipping man pages under /nix/store/40anbhx8hcc6zg6cmnwp2gfl8yla1jd6-pasystray-0.6.0/share/man/
strip is /nix/store/0pjsgkxz0rp5baycq5sp2s72lrr5q9sg-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/40anbhx8hcc6zg6cmnwp2gfl8yla1jd6-pasystray-0.6.0/bin
patching script interpreter paths in /nix/store/40anbhx8hcc6zg6cmnwp2gfl8yla1jd6-pasystray-0.6.0
checking for references to /build in /nix/store/40anbhx8hcc6zg6cmnwp2gfl8yla1jd6-pasystray-0.6.0...
/nix/store/40anbhx8hcc6zg6cmnwp2gfl8yla1jd6-pasystray-0.6.0

@xeji
Copy link
Contributor

xeji commented Jun 26, 2018

This increases pasystray closure size from 256M to 396M on my machine. Among others, libappindicator-gtk3 pulls in python2 , cups, linux-headers.

@colonelpanic8
Copy link
Contributor Author

@xeji hmmm, not sure why libappindicator-gtk3 has all that stuff (also seems to include some mono stuff).

Looks like @msteen is the maintainer, perhaps he can comment.

@msteen
Copy link
Contributor

msteen commented Jun 26, 2018

The libappindicator-gtk3 library was a dependency of one of the first nixpkgs I contributed. I based the dependencies on the Arch Linux package. If I check the PKGBUILD of the Arch Linux package I see they separate them in 4 packages: gtk2, gtk3, python2, and sharp (mono), so the nixpkg should probably also be redone like that.

So by all means remove those dependencies if they are not necessary. I am not exactly sure if it also builds the python and mono bindings right now, if it does, make sure that the packages that were using them also then import e.g. libappindicator-python2 (i.e. create respective packages for them if they are still needed). Unfortunately I am not using this package anymore, and am rather time constrained at the moment, so I cannot help out with this.

@xeji
Copy link
Contributor

xeji commented Jun 26, 2018

@msteen thank you for the info. Let's merge this now and think about shrinking libappindicator-gtk3 separately. It might not be that bad after all since most desktops will use gtk3, python2 and cups anyway.

@xeji xeji merged commit c5cb7e5 into NixOS:master Jun 26, 2018
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

4 participants