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

gnome3: 3.28 → 3.30 #45950

Merged
merged 166 commits into from Nov 30, 2018
Merged

gnome3: 3.28 → 3.30 #45950

merged 166 commits into from Nov 30, 2018

Conversation

jtojnar
Copy link
Contributor

@jtojnar jtojnar commented Sep 2, 2018

Motivation for this change

Requires Meson 0.47.0, it will need to be fixed first.

https://hydra.nixos.org/jobset/nixpkgs/gnome

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)
  • Fits CONTRIBUTING.md.

@worldofpeace
Copy link
Contributor

@jtojnar This is problematic for me because gala will fail to compile with this version of mutter. Is there some nix'y way I can work around this until they have a fix?

@jtojnar
Copy link
Contributor Author

jtojnar commented Sep 2, 2018

@worldofpeace You could re-add the old mutter expression as is done with VTE for pantheon-terminal, for example.

@worldofpeace
Copy link
Contributor

You mean this?

vte_290 = callPackage ./core/vte/2.90.nix { };

@jtojnar
Copy link
Contributor Author

jtojnar commented Sep 2, 2018 via email

@worldofpeace
Copy link
Contributor

Mind just including that in nixpkgs here? I don't know when they'll get around to fixing it, and it's already a lot to build.

@jtojnar
Copy link
Contributor Author

jtojnar commented Sep 2, 2018

Taking a note.

@hedning
Copy link
Contributor

hedning commented Sep 5, 2018

Should we just add the meson upgrade here? Then we can debug it with hydra.

@jtojnar
Copy link
Contributor Author

jtojnar commented Sep 5, 2018

Yeah, I did that, just was pushing to a wrong branch.

@hedning
Copy link
Contributor

hedning commented Sep 5, 2018

pushed some fixes to https://github.com/hedning/nixpkgs/commits/gnome-3.30, marked with fixup! or squash! where appropriate (so it's easy to squash things down).

  • pipewire to 0.2.2, I had this laying around, 0.2.3 didn't build without any effort
  • epiphany needs libdazzle now. It does build, but fails one test libdazzle builds, but fails one test
  • gtksourceview should be updated to 3.24.8

@hedning
Copy link
Contributor

hedning commented Sep 6, 2018

Some more fixes at https://github.com/hedning/nixpkgs/commits/gnome-3.30:

  • xdg-desktop-portal: fails due to new pipewire, updated this and flatpak and related packages
  • evince now depends on gspell
  • sysprof is fixed by updating to 3.30
  • gnome-system-monitor require meson
  • libgda has patch upstream now

Some notes on other failures:

  • tracker: libsoup upgrade is the cause here it seems, build is fixed by reverting (might be good to do as there's a lot of packages that depend on tracker).
  • libunique fails on a warning
  • libdazzle fails on a test as noted above
  • gjs: we need 60 now obviously
  • gnome-online-accounts fails to produce the man output (release notes also mentions telepathy no longer being supported) not sure what the problem is

I'm stuck on spidermonkey here, getting this error in the configure phase:

Traceback (most recent call last):
  File "./../../configure.py", line 127, in <module>
    sys.exit(main(sys.argv))
  File "./../../configure.py", line 34, in main
    return config_status(config)
  File "./../../configure.py", line 122, in config_status
    return config_status(args=[], **encode(sanitized_config, encoding))
  File "/build/firefox-60.2.0/python/mozbuild/mozbuild/config_status.py", line 144, in config_status
    definitions = list(definitions)
  File "/build/firefox-60.2.0/python/mozbuild/mozbuild/frontend/emitter.py", line 184, in emit
    objs = list(emitfn(out))
  File "/build/firefox-60.2.0/python/mozbuild/mozbuild/frontend/emitter.py", line 1134, in emit_from_context
    full_path), context)
mozbuild.frontend.reader.SandboxValidationError:
==============================
FATAL ERROR PROCESSING MOZBUILD FILE
==============================

The error occurred while processing the following file or one of the files it includes:

    /build/firefox-60.2.0/js/src/shell/moz.build

The error occurred when validating the result of the execution. The reported error is:

    Path specified in LOCAL_INCLUDES is not allowed: .. (resolved to /build/firefox-60.2.0/js/src)

@jtojnar
Copy link
Contributor Author

jtojnar commented Sep 6, 2018

I suspect the tracker failure is caused by the meson rpath issue (cannot reproduce with libsoup built with autotools).

IIRC libdazzle tests are non-deterministic, I should have disabled them long time ago. Done.

Looking at the GOA diff, I see no reason for man pages stopping being built, fixed.

Reading https://git.archlinux.org/svntogit/packages.git/tree/repos/gnome-unstable-x86_64/PKGBUILD?h=packages/js60, I tried dropping the autoconf and building from a different directory but it did not help. Maybe ask at irc://irc.mozilla.org/jsapi.

@hedning
Copy link
Contributor

hedning commented Sep 6, 2018

I suspect the tracker failure is caused by the meson rpath issue (cannot reproduce with libsoup built with autotools).

Right, any idea how to debug this? Doing a readelf -d doesn't seem to produce anything weird at least (freenode is being weird and requiring registered nicks, which doesn't seem to work with matrix...).

@jtojnar
Copy link
Contributor Author

jtojnar commented Sep 6, 2018

I am not really sure. I am still going through the meson commits.

@hedning
Copy link
Contributor

hedning commented Sep 7, 2018

Looked at spidermonkey some more. The test that's failing is new in 60, commenting it out «works». Running configure from another directory also works, which is what Arch do.

@hedning
Copy link
Contributor

hedning commented Sep 7, 2018

Pushed working spidermonkey to https://github.com/hedning/nixpkgs/commits/gnome-3.30

gjs fails due some path weirdness where it tries to link to a file starting with .//nix/store:

config.status: linking /nix/store/gjxbz4mbyd67vfia9gljwwiiyj6lm4na-gobject-introspection-1.58.0-dev/share/gobject-introspection-1.0/tests/gitestmacros.h to installed-tests/gitestmacros.h
config.status: linking /nix/store/gjxbz4mbyd67vfia9gljwwiiyj6lm4na-gobject-introspection-1.58.0-dev/share/gobject-introspection-1.0/tests/regress.c to installed-tests/regress.c
config.status: linking /nix/store/gjxbz4mbyd67vfia9gljwwiiyj6lm4na-gobject-introspection-1.58.0-dev/share/gobject-introspection-1.0/tests/regress.h to installed-tests/regress.h
config.status: linking .//nix/store/gjxbz4mbyd67vfia9gljwwiiyj6lm4na-gobject-introspection-1.58.0-dev/share/gobject-introspection-1.0/tests/warnlib.c to installed-tests/warnlib.c
config.status: error: .//nix/store/gjxbz4mbyd67vfia9gljwwiiyj6lm4na-gobject-introspection-1.58.0-dev/share/gobject-introspection-1.0/tests/warnlib.c: file not found

jtojnar and others added 5 commits November 30, 2018 21:35
Previously all versions with minor >= 90 were considered pre-release,
which failed to consider versions like 0.100.

Let’s limit the range to 90–99 and 900–999.
`GETTEXTDATADIRS` isn't populated correctly due to empty buildInputs. Borrow from
`GETTEXTDATADIRS_FOR_BUILD` until we fix gettext's envHook.

see: #50855
We patch gobject-introspection somewhat heavily, so add some unit tests that
will catch potential errors when we're eg. updating the patches.

There's two tests:

- Basic test for absolute nix store paths (testing absolute_shlib_path.patch)
- Test for macos `@rpath` sanitizing, including
  fallback_libpath (macos-shared-library.patch)
@jtojnar jtojnar merged commit 338b3fd into staging Nov 30, 2018
GNOME automation moved this from In Progress to Done Nov 30, 2018
@jtojnar
Copy link
Contributor Author

jtojnar commented Nov 30, 2018

Merged. Many thanks @hedning, @worldofpeace, @grahamc and any other people who contributed.

@michaelpj
Copy link
Contributor

I don't use gnome, but I've been vaguely following this and I think you all deserve a huge thank you for your tenacious work!

@jonafato
Copy link
Contributor

I want to echo @michaelpj's sentiment here. I do use gnome, and I really appreciate all of the effort that goes into keeping these packages up to date. This branch has been working well for me as a daily driver for a while, and I'm excited that the changes are merged. Thanks @jtojnar (and other contributors) for the great efforts here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
GNOME
  
Done
Development

Successfully merging this pull request may close these issues.

None yet