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

libgdata: add gnome-online-accounts to propagatedBuildInputs #65442

Merged
merged 2 commits into from Jul 29, 2019

Conversation

lightbulbjim
Copy link
Contributor

@lightbulbjim lightbulbjim commented Jul 26, 2019

Motivation for this change

libgdata's new Meson config lists gnome-online-accounts as a dependency. Downstream apps which use Meson (like shotwell) refuse to build without gnome-online-accounts in the build env.

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)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@worldofpeace
Copy link
Contributor

I'm suspect that the error

meson.build:117:0: ERROR: Could not generate cargs for libgdata:

that line being

gdata = dependency('libgdata')

means that I should probably fix something in libgdata.


It seems the changes in the .pc files are pertinent

Here's a diff of the two files

--- libgdata-old.pc	2019-07-26 20:48:19.032408179 -0400
+++ libgdata-new.pc	2019-07-26 20:48:44.987912414 -0400
@@ -1,13 +1,14 @@
-prefix=/nix/store/hyakiglm5s4xw24jj001yq51pxglbb3q-libgdata-0.17.9
+prefix=/nix/store/mg16sjmcq5k2nbq63ni9q118a7x4hd5v-libgdata-0.17.10
+libdir=${prefix}/lib
+includedir=/nix/store/icz2m06whc3lwlx1pwgbqpqx9p6irky9-libgdata-0.17.10-dev/include
+
 exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include
 goa_enabled=true
 
 Name: libgdata
 Description: GData client library
-Version: 0.17.9
-Requires: gobject-2.0 glib-2.0 >= 2.44.0 gio-2.0 >= 2.44.0 libxml-2.0 libsoup-2.4 >= 2.42.0 json-glib-1.0 >= 0.15 
-Requires.private: gthread-2.0 oauth >= 0.9.4 gcr-base-3 libxml-2.0 goa-1.0 >= 3.8
+Version: 0.17.10
+Requires: gobject-2.0, glib-2.0 >=  2.44.0, gio-2.0 >=  2.44.0, gio-unix-2.0, json-glib-1.0 >=  0.15, libxml-2.0, libsoup-2.4 >=  2.42.0, goa-1.0 >=  3.8
+Requires.private: gthread-2.0, oauth >=  0.9.4, gcr-base-3
 Libs: -L${libdir} -lgdata
 Cflags: -I${includedir}/libgdata

It seems at some point goa was intentionally private

I guess this should be done again upstream for the generated .pc file with meson.

@worldofpeace
Copy link
Contributor

Ahh that was an intentional change

We should add gnome-online-accounts to propagatedBuildInputs in libgdata.

@lightbulbjim
Copy link
Contributor Author

We should add gnome-online-accounts to propagatedBuildInputs in libgdata.

Oh yeah, that's a better approach. I'll start testing that; note that it might take me a while to complete test builds of all the reverse dependencies.

@lightbulbjim lightbulbjim changed the title shotwell: fix broken build libgdata: add gnome-online-accounts to propagatedBuildInputs Jul 27, 2019
@lightbulbjim
Copy link
Contributor Author

Updated to export gnome-online-accounts from libgdata via propagatedBuildInputs. Should cover all reverse dependencies.

@worldofpeace
Copy link
Contributor

LGTM, could you fetchpatch the commits off master from these PR's ?

This is something I forgot to do initially.

Required since `libgdata` now uses Meson. See also: NixOS#64295
@lightbulbjim
Copy link
Contributor Author

LGTM, could you fetchpatch the commits off master from these PR's ?

* https://gitlab.gnome.org/GNOME/libgdata/merge_requests/9

* https://gitlab.gnome.org/GNOME/libgdata/merge_requests/10

* https://gitlab.gnome.org/GNOME/libgdata/merge_requests/11

This is something I forgot to do initially.

I'll take a look.

@lightbulbjim
Copy link
Contributor Author

lightbulbjim commented Jul 28, 2019

Added the Meson patches. They seem to work ok and all reverse-dependencies build.

EDIT: Oops, hang on, I used patches from the merge requests. Let me change it to use the master commits in case the MRs disappear.

@lightbulbjim
Copy link
Contributor Author

Added the Meson patches. They seem to work ok and all reverse-dependencies build.

EDIT: Oops, hang on, I used patches from the merge requests. Let me change it to use the master commits in case the MRs disappear.

Fixed, the Meson fixes now use the master commits.

Copy link
Contributor

@worldofpeace worldofpeace 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 so much ✨

Shotwell now builds locally, everything committed has been done correctly.

@worldofpeace worldofpeace merged commit 232df51 into NixOS:master Jul 29, 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

2 participants