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

indicator-application-gtk3: 12.10.0 -> 12.10.1 #45052

Merged
merged 1 commit into from Aug 17, 2018

Conversation

worldofpeace
Copy link
Contributor

@worldofpeace worldofpeace commented Aug 15, 2018

Motivation for this change

I guess elementary needs this version for the ayatana indicators.
I now includes a systemd user service and xdg autostart.

One thing I noticed is that it wanted to install its libraries to /nix/store/-libindicator-gtk3-/lib/indicators3/7.
I hope that's not important.

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/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
    471815040
    471811400
  • Fits CONTRIBUTING.md.

cc @jtojnar

@srhb
Copy link
Contributor

srhb commented Aug 15, 2018

Retriggering eval due to master failure
@GrahamcOfBorg eval

@jtojnar
Copy link
Contributor

jtojnar commented Aug 15, 2018

On a side note, there is a new fork of the indicators spearheaded by the Debian’s Ayatana team. We might want to package it too and ask elementary for its support.

};

nativeBuildInputs = [ pkgconfig autoconf ];
nativeBuildInputs = [ pkgconfig autoreconfHook systemd ];
Copy link
Member

Choose a reason for hiding this comment

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

Is systemd actually a nativeBuildInput? If it is used at runtime, it should be a buildInput.

@worldofpeace
Copy link
Contributor Author

@jtojnar I think that's a good idea and something they would be interested in 👍

--replace 'applicationlibdir = $(INDICATORDIR)' "applicationlibdir = $out/lib"

substituteInPlace configure.ac \
--replace 'SYSTEMD_USERDIR=`$PKG_CONFIG --variable=systemduserunitdir systemd`' 'SYSTEMD_USERDIR="$out/lib/systemd/user"'
Copy link
Contributor

Choose a reason for hiding this comment

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

Can you try setting the PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "$(out)/lib/systemd/user"; attribute in the expression?

substituteInPlace data/Makefile.am \
--replace "/etc/xdg/autostart" "$out/etc/xdg/autostart"

substituteInPlace src/Makefile.am \
--replace 'applicationlibdir = $(INDICATORDIR)' "applicationlibdir = $out/lib"
Copy link
Contributor

@jtojnar jtojnar Aug 15, 2018

Choose a reason for hiding this comment

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

Same here with PKG_CONFIG_INDICATOR3_0_4_INDICATORDIR

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Lol I tried that early on but I struggle to get the name right even when I look at the pc file :)

@worldofpeace worldofpeace force-pushed the indicator-application-12.10.1 branch 2 times, most recently from 335b9fb to 6e7ad95 Compare August 15, 2018 13:37
};

nativeBuildInputs = [ pkgconfig autoconf ];
nativeBuildInputs = [ pkgconfig systemd autoreconfHook ];
Copy link
Contributor

Choose a reason for hiding this comment

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

Still in native.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Without it there was no $out/lib/systemd

Copy link
Contributor

Choose a reason for hiding this comment

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

But should not it be in buildInputs instead of nativeBuildInputs?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Oh right. Done.

@worldofpeace worldofpeace changed the title indicator-application: 12.10.0 -> 12.10.1 indicator-application-gtk3: 12.10.0 -> 12.10.1 Aug 15, 2018
@timokau
Copy link
Member

timokau commented Aug 15, 2018

@GrahamcOfBorg build indicator-application-gtk3

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: indicator-application-gtk3

Partial log (click to expand)

glibPreFixupPhase
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/0fmicd36598hlvj4kysc041k0i9as0a0-indicator-application-gtk3-12.10.1
shrinking /nix/store/0fmicd36598hlvj4kysc041k0i9as0a0-indicator-application-gtk3-12.10.1/lib/libapplication.so
shrinking /nix/store/0fmicd36598hlvj4kysc041k0i9as0a0-indicator-application-gtk3-12.10.1/libexec/indicator-application/indicator-application-service
strip is /nix/store/gpc2wld1s0c6qzx9326cwn1wcx29xzsj-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/0fmicd36598hlvj4kysc041k0i9as0a0-indicator-application-gtk3-12.10.1/lib  /nix/store/0fmicd36598hlvj4kysc041k0i9as0a0-indicator-application-gtk3-12.10.1/libexec
patching script interpreter paths in /nix/store/0fmicd36598hlvj4kysc041k0i9as0a0-indicator-application-gtk3-12.10.1
checking for references to /build in /nix/store/0fmicd36598hlvj4kysc041k0i9as0a0-indicator-application-gtk3-12.10.1...
/nix/store/0fmicd36598hlvj4kysc041k0i9as0a0-indicator-application-gtk3-12.10.1

@jtojnar
Copy link
Contributor

jtojnar commented Aug 15, 2018

Just looking into the lib location.

@jtojnar
Copy link
Contributor

jtojnar commented Aug 15, 2018

I do not see anything out of ordinary. Could you clarify what you mean by

it wanted to install its libraries to /nix/store/-libindicator-gtk3-/lib/indicators3/7.

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: indicator-application-gtk3

Partial log (click to expand)

glibPreFixupPhase
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/5ryisgplk3rwwzqnsn9fp87pybh8xfr3-indicator-application-gtk3-12.10.1
shrinking /nix/store/5ryisgplk3rwwzqnsn9fp87pybh8xfr3-indicator-application-gtk3-12.10.1/libexec/indicator-application/indicator-application-service
shrinking /nix/store/5ryisgplk3rwwzqnsn9fp87pybh8xfr3-indicator-application-gtk3-12.10.1/lib/libapplication.so
strip is /nix/store/ah0va6j4cnwj9nx4j6rwcfc8nh785jwm-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/5ryisgplk3rwwzqnsn9fp87pybh8xfr3-indicator-application-gtk3-12.10.1/lib  /nix/store/5ryisgplk3rwwzqnsn9fp87pybh8xfr3-indicator-application-gtk3-12.10.1/libexec
patching script interpreter paths in /nix/store/5ryisgplk3rwwzqnsn9fp87pybh8xfr3-indicator-application-gtk3-12.10.1
checking for references to /build in /nix/store/5ryisgplk3rwwzqnsn9fp87pybh8xfr3-indicator-application-gtk3-12.10.1...
/nix/store/5ryisgplk3rwwzqnsn9fp87pybh8xfr3-indicator-application-gtk3-12.10.1

@worldofpeace
Copy link
Contributor Author

That's because it wanted to install there using the libindicators indicatordir.
It shouldn't be a problem and I've done it virtually as before

@jtojnar
Copy link
Contributor

jtojnar commented Aug 15, 2018

Yes, that should probably be fixed to $(out)/lib/indicators3/7/ since this is not a library but more of a plug-in.

Not sure if the indicator library supports loading the indicators from there.

@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: indicator-application-gtk3

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.


@timokau
Copy link
Member

timokau commented Aug 15, 2018

For what its worth LGTM, but @jtojnar seems more knowledgeable about his than me so I'm not merging.

@@ -47,7 +38,16 @@ stdenv.mkDerivation rec {
"localstatedir=\${TMPDIR}"
];

meta = {
PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "$(out)/lib/systemd/user";
PKG_CONFIG_INDICATOR3_0_4_INDICATORDIR = "$(out)/lib";
Copy link
Contributor

Choose a reason for hiding this comment

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

Needs to be changed to $(out)/lib/indicators3/7/ as per indicator3-0.4.pc file.

@worldofpeace
Copy link
Contributor Author

Ok, great :)

@worldofpeace
Copy link
Contributor Author

@jtojnar All done here I think

@jtojnar jtojnar merged commit c40af1f into NixOS:master Aug 17, 2018
@worldofpeace worldofpeace deleted the indicator-application-12.10.1 branch August 17, 2018 13:07
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

5 participants