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.26 → 3.28 #36893

Merged
merged 104 commits into from Mar 22, 2018
Merged

gnome3: 3.26 → 3.28 #36893

merged 104 commits into from Mar 22, 2018

Conversation

jtojnar
Copy link
Contributor

@jtojnar jtojnar commented Mar 13, 2018

Motivation for this change

Depends on #36326, #35513, #37050, #36312.

There will be a lot of packages with missing meson. I also removed gobjectIntrospection from libsoup’s propagatedBuildInputs, so it might be needed in more places.

Changelogs checked
  • adwaita-icon-theme: 3.26.1 → 3.27.90
  • aisleriot: 3.22.4 → 3.22.5
  • anjuta: 3.26.0 → 3.28.0
  • baobab: 3.26.1 → 3.28.0
  • cheese: 3.26.0 → 3.28.0
  • clutter-gst: 3.0.24 → 3.0.26
  • dconf: 0.26.1 → 0.27.1
  • dconf-editor: 3.26.2 → 3.28.0
  • devhelp: 3.26.1 → 3.28.0
  • empathy: 3.12.14 → 3.25.90
  • eog: 3.26.2 → 3.28.0
  • epiphany: 3.26.6 → 3.28.0.1
  • evince: 3.26.0 → 3.28.0
  • evolution: 3.26.6 → 3.28.0
  • evolution-data-server: 3.26.6 → 3.28.0
  • file-roller: 3.26.2 → 3.28.0
  • five-or-more: 3.26.0 → 3.28.0
  • four-in-a-row: 3.22.2 → 3.28.0
  • gcr: 3.20.0 → 3.28.0
  • gdl: 3.26.0 → 3.28.0
  • gdm: 3.26.2.1 → 3.27.92
  • gedit: 3.22.1 → 3.28.0
  • geocode-glib: 3.24.0 → 3.25.4.1
  • gjs: 1.50.4 → 1.52.0
  • glade: 3.20.4 → 3.22.0
  • gnome-backgrounds: 3.26.2 → 3.27.90
  • gnome-bluetooth: 3.26.1 → 3.28.0
  • gnome-boxes: 3.26.2 → 3.27.92
  • gnome-calculator: 3.26.0 → 3.28.0
  • gnome-calendar: 3.26.3 → 3.28.0
  • gnome-characters: 3.26.2 → 3.28.0
  • gnome-chess: 3.26.0 → 3.28.0
  • gnome-clocks: 3.26.1 → 3.28.0
  • gnome-color-manager: 3.26.0 → 3.28.0
  • gnome-contacts: 3.26.1 → 3.28.0
  • gnome-control-center: 3.26.2 → 3.28.0
  • gnome-desktop: 3.26.2 → 3.28.0
  • gnome-devel-docs: 3.26.0 → 3.28.0
  • gnome-disk-utility: 3.26.2 → 3.28.0
  • gnome-documents: 3.26.2 → 3.27.92
  • gnome-font-viewer: 3.26.0 → 3.27.90
  • gnome-getting-started-docs: 3.26.2 → 3.28.0
  • gnome-keyring: 3.20.1 → 3.28.0.1
  • gnome-klotski: 3.22.2 → 3.22.3
  • gnome-logs: 3.26.3 → 3.28.0
  • gnome-maps: 3.26.2 → 3.28.0
  • gnome-mines: 3.26.0 → 3.28.0
  • gnome-music: 3.26.2 → 3.28.0
  • gnome-online-accounts: 3.26.2 → 3.27.92
  • gnome-packagekit: 3.26.0 → 3.28.0
  • gnome-photos: 3.26.3 → 3.27.92
  • gnome-robots: 3.22.2 → 3.22.3
  • gnome-session: 3.26.1 → 3.27.92
  • gnome-settings-daemon: 3.26.2 → 3.28.0
  • gnome-shell: 3.26.2 → 3.28.0
  • gnome-shell-extensions: 3.26.2 → 3.28.0
  • gnome-software: 3.26.7 → 3.28.0
  • gnome-sudoku: 3.26.0 → 3.28.0
  • gnome-system-monitor: 3.26.0 → 3.28.0
  • gnome-terminal: 3.26.2 → 3.28.0
  • gnome-themes-standard: 3.22.3 → 3.27.90
  • gnome-tweak-tool: 3.26.4 → 3.27.3
  • gnome-user-docs: 3.26.2.1 → 3.28.0
  • gnome-user-share: 3.18.3 → 3.27.90
  • gsettings-desktop-schemas: 3.24.1 → 3.28.0
  • gspell: 1.6.1 → 1.8.0
  • gtksourceview: 3.24.6 → 4.0.0
  • gtksourceviewmm: 3.21.2 → 3.21.3
  • gucharmap: 10.0.3 → 10.0.4
  • gvfs: 1.34.2.1 → 1.36.0
  • libgnome-games-support: 1.2.3 → 1.4.0
  • libgweather: 3.26.1 → 3.28.0
  • libhttpseverywhere: 0.8.0 → 0.8.1
  • lightsoff: 3.26.0 → 3.28.0
  • mutter: 3.26.2 → 3.28.0
  • nautilus: 3.26.2 → 3.27.92.1
  • orca: 3.26.0 → 3.27.91
  • polari: 3.26.2 → 3.28.0
  • shotwell: 0.27.4 → 0.28.0
  • simple-scan: 3.26.3 → 3.28.0
  • swell-foop: 3.26.0 → 3.28.0
  • vte: 0.50.2 → 0.52.0
  • yelp: 3.26.0 → 3.28.0
  • yelp-tools: 3.18.0 → 3.28.0
  • yelp-xsl: 3.20.1 → 3.28.0
  • zenity: 3.26.0 → 3.28.0
Packages missing
  • enchant2
  • libdazzle
  • gnome-usage
  • gnome-recipes
Broken packages
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-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.

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

@disassembler
Copy link
Member

@GrahamcOfBorg eval

@hedning
Copy link
Contributor

hedning commented Mar 13, 2018

Looks like gnome-keyring now depends on ssh-agent and ssh-add: https://git.gnome.org/browse/gnome-keyring/commit/?h=gnome-3-28&id=8db2b978e485d7349a46c734dd51fc30196da01a

@jtojnar
Copy link
Contributor Author

jtojnar commented Mar 13, 2018

Epiphany took the thumbnailing code from gnome-desktop, we will need to check if the bubblewrap patch is needed.

@hedning
Copy link
Contributor

hedning commented Mar 13, 2018

Something like this is needed for gnome3.libgweather (not sure if the vaapi stuff is still necessary):

diff --git a/pkgs/desktops/gnome-3/core/libgweather/default.nix b/pkgs/desktops/gnome-3/core/libgweather/default.nix
index 1d38b75bcda..53236c15086 100644
--- a/pkgs/desktops/gnome-3/core/libgweather/default.nix
+++ b/pkgs/desktops/gnome-3/core/libgweather/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, pkgconfig, libxml2, gtk, intltool, libsoup, gconf
-, pango, gdk_pixbuf, atk, tzdata, gnome3 }:
+, pango, gdk_pixbuf, atk, tzdata, gnome3
+, meson, ninja, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
   name = "libgweather-${version}";
@@ -15,12 +16,13 @@ stdenv.mkDerivation rec {
   };
 
   configureFlags = [ "--with-zoneinfo-dir=${tzdata}/share/zoneinfo" "--enable-vala" ];
-  propagatedBuildInputs = [ libxml2 gtk libsoup gconf pango gdk_pixbuf atk gnome3.geocode-glib ];
-  nativeBuildInputs = [ pkgconfig intltool gnome3.vala ];
+  propagatedBuildInputs = [ libxml2 gtk libsoup gconf pango gdk_pixbuf atk gnome3.geocode-glib
+    gobjectIntrospection ];
+  nativeBuildInputs = [ pkgconfig meson ninja intltool gnome3.vala ];
 
-  # Prevent building vapi into ${vala} derivation directory
-  prePatch = ''
-    substituteInPlace libgweather/Makefile.in --replace "\$(DESTDIR)\$(vapidir)" "\$(DESTDIR)\$(girdir)/../vala/vapi"
+  postPatch = ''
+    chmod +x meson/meson_post_install.py
+    patchShebangs meson/meson_post_install.py
   '';
 
   meta = with stdenv.lib; {

@hedning
Copy link
Contributor

hedning commented Mar 13, 2018

gnome3.totem-pl-parser requires gobjectIntrospection.

@jtojnar
Copy link
Contributor Author

jtojnar commented Mar 13, 2018

There will be a lot of packages with missing meson. I also removed gobjectIntrospection from libsoup’s propagatedBuildInputs, so it might be needed in more places.

I also merged #35513 and #36326, which are necessary for more complex meson projects.

Anyway, we now have a Hydra jobset https://hydra.nixos.org/jobset/nixpkgs/gnome so hopefully this will go faster.

@jtojnar
Copy link
Contributor Author

jtojnar commented Mar 13, 2018

Makefiles are not used with meson so the substitution can be dropped. libgweather 3.5.0 also removed GConf and intltool: https://github.com/GNOME/libgweather/blob/37d1ea3c5d4abb01f27dea4c5e2c7771eafa3d27/NEWS#L642 and we can probably trim it even more.

@hedning
Copy link
Contributor

hedning commented Mar 14, 2018

This gets glib-networking building (though will probably fail on darwin): hedning@086f460

Three problems I encountered:

  1. meson will try to look for certificates at build time
  2. ninja will try to install libgiognutls.so to /nix/store/*glib-*/lib/gio/modules/
  3. --without-ca-certificates doesn't exist anymore

I worked around 1. and 2. with patches that hardcode the certificate path and install libgiognutls.so to $out/lib/gio/modules. This makes the build successful, though not sure if it's actually correct. Added p11_kit as I didn't get it building without it.

Not sure how to replicate --without-ca-certificates on darwin, unsetting ca_certificates_path might work though.

@hedning
Copy link
Contributor

hedning commented Mar 14, 2018

Just noting some things down as I look through the hydra failures :

  • gspell require enchant-2, which is at 1.6.0 at the moment
  • gtksourceview has an outdated patch
  • gnome-chess needs meson
  • gnome-color-manager has outdated patch which are now upstream
  • gnome-mines needs meson
  • gnome-system-monitor fails like this
make[2]: Entering directory '/build/gnome-system-monitor-3.28.0'
 GEN      gnome-system-monitor.desktop
 GEN      gnome-system-monitor-kde.desktop
 GEN      gnome-system-monitor.appdata.xml
 GEN      org.gnome.gnome-system-monitor.policy.in
 GEN      org.gnome.gnome-system-monitor.policy
/nix/store/mxjx0mml0ahhb4y2p20anqc6i7ms79xz-gettext-0.19.8/bin/msgfmt: cannot locate ITS rules for org.gnome.gnome-system-monitor.policy.in

@jtojnar
Copy link
Contributor Author

jtojnar commented Mar 14, 2018

@hedning I fixed the certificate issue by an upcoming patch that uses system certificate trust from gnutls. This might fix #8247 for glib-networking. The derivation is weird, though – it uses propagatedBuildInputs and I do not see any reason why. Maybe @vcunat will know.

@jtojnar
Copy link
Contributor Author

jtojnar commented Mar 14, 2018

@GrahamcOfBorg build glib-networking

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Attempted: glib-networking

Partial log (click to expand)

Installing /private/tmp/nix-build-glib-networking-2.56.0.drv-0/glib-networking-2.56.0/build/tls/tests/pkcs11-slot.test to /nix/store/g1iay3k75ag92fdgb50140i651392l58-glib-networking-2.56.0/share/installed-tests/glib-networking
Running custom install script '/nix/store/lvyjha5gq7a0dllynjj9i21fk88kvs88-python3-3.6.4/bin/python3.6m /nix/store/5h56gdp7fkz9fdzdmpq2fmd4krdgjral-meson-0.44.0/bin/meson --internal gettext install --subdir=po --localedir=share/locale --pkgname=glib-networking'
Running custom install script '/private/tmp/nix-build-glib-networking-2.56.0.drv-0/glib-networking-2.56.0/meson_post_install.py /nix/store/g1iay3k75ag92fdgb50140i651392l58-glib-networking-2.56.0/lib/gio/modules'
glibPreFixupPhase
post-installation fixup
strip is /nix/store/4sdh09gmvl15cy0zb6i7mbvxh5syz206-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/g1iay3k75ag92fdgb50140i651392l58-glib-networking-2.56.0/lib  /nix/store/g1iay3k75ag92fdgb50140i651392l58-glib-networking-2.56.0/libexec
patching script interpreter paths in /nix/store/g1iay3k75ag92fdgb50140i651392l58-glib-networking-2.56.0
/nix/store/g1iay3k75ag92fdgb50140i651392l58-glib-networking-2.56.0
strip is /nix/store/4sdh09gmvl15cy0zb6i7mbvxh5syz206-cctools-binutils-darwin/bin/strip

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: glib-networking

Partial log (click to expand)

shrinking /nix/store/lpgy73pf4hkspl2f6gjwml20qijq1azn-glib-networking-2.56.0/lib/gio/modules/libgiognutls.so
shrinking /nix/store/lpgy73pf4hkspl2f6gjwml20qijq1azn-glib-networking-2.56.0/lib/gio/modules/libgiolibproxy.so
shrinking /nix/store/lpgy73pf4hkspl2f6gjwml20qijq1azn-glib-networking-2.56.0/lib/gio/modules/libgiognomeproxy.so
shrinking /nix/store/lpgy73pf4hkspl2f6gjwml20qijq1azn-glib-networking-2.56.0/libexec/glib-pacrunner
strip is /nix/store/b0zlxla7dmy1iwc3g459rjznx59797xy-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/lpgy73pf4hkspl2f6gjwml20qijq1azn-glib-networking-2.56.0/lib  /nix/store/lpgy73pf4hkspl2f6gjwml20qijq1azn-glib-networking-2.56.0/libexec
patching script interpreter paths in /nix/store/lpgy73pf4hkspl2f6gjwml20qijq1azn-glib-networking-2.56.0
checking for references to /build in /nix/store/lpgy73pf4hkspl2f6gjwml20qijq1azn-glib-networking-2.56.0...
strip is /nix/store/b0zlxla7dmy1iwc3g459rjznx59797xy-binutils-2.28.1/bin/strip
/nix/store/lpgy73pf4hkspl2f6gjwml20qijq1azn-glib-networking-2.56.0

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: glib-networking

Partial log (click to expand)

shrinking /nix/store/qvdr8ryb71aiam1xwqjjjvnda8dbg30b-glib-networking-2.56.0/libexec/glib-pacrunner
shrinking /nix/store/qvdr8ryb71aiam1xwqjjjvnda8dbg30b-glib-networking-2.56.0/lib/gio/modules/libgiognutls.so
shrinking /nix/store/qvdr8ryb71aiam1xwqjjjvnda8dbg30b-glib-networking-2.56.0/lib/gio/modules/libgiognomeproxy.so
shrinking /nix/store/qvdr8ryb71aiam1xwqjjjvnda8dbg30b-glib-networking-2.56.0/lib/gio/modules/libgiolibproxy.so
strip is /nix/store/lvx1acn1ig1j2km8jds5x3ggh3f2wa8v-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/qvdr8ryb71aiam1xwqjjjvnda8dbg30b-glib-networking-2.56.0/lib  /nix/store/qvdr8ryb71aiam1xwqjjjvnda8dbg30b-glib-networking-2.56.0/libexec
patching script interpreter paths in /nix/store/qvdr8ryb71aiam1xwqjjjvnda8dbg30b-glib-networking-2.56.0
checking for references to /build in /nix/store/qvdr8ryb71aiam1xwqjjjvnda8dbg30b-glib-networking-2.56.0...
strip is /nix/store/lvx1acn1ig1j2km8jds5x3ggh3f2wa8v-binutils-2.28.1/bin/strip
/nix/store/qvdr8ryb71aiam1xwqjjjvnda8dbg30b-glib-networking-2.56.0

@jtojnar jtojnar force-pushed the gnome-3.28 branch 3 times, most recently from 4eeb9c3 to 01f4ab3 Compare March 14, 2018 05:29
@jtojnar jtojnar merged commit f7397f2 into master Mar 22, 2018
GNOME automation moved this from In Progress to Done Mar 22, 2018
@jtojnar jtojnar deleted the gnome-3.28 branch March 22, 2018 16:16
@jtojnar jtojnar mentioned this pull request Apr 6, 2018
8 tasks
@averelld averelld mentioned this pull request Sep 1, 2019
10 tasks
@jtojnar jtojnar mentioned this pull request Oct 2, 2019
20 tasks
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

9 participants