GNU bug report logs - #35028
[PATCH 0/3] Remove WebKitGTK from GNOME Shell closure

Previous Next

Package: guix-patches;

Reported by: Timothy Sample <samplet <at> ngyro.com>

Date: Thu, 28 Mar 2019 03:15:01 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 35028 in the body.
You can then email your comments to 35028 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#35028; Package guix-patches. (Thu, 28 Mar 2019 03:15:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Timothy Sample <samplet <at> ngyro.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Thu, 28 Mar 2019 03:15:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Timothy Sample <samplet <at> ngyro.com>
To: guix-patches <at> gnu.org
Subject: [PATCH 0/3] Remove WebKitGTK from GNOME Shell closure
Date: Wed, 27 Mar 2019 23:14:06 -0400
Hi Guix,

This patch set removes WebKitGTK from the GNOME Shell closure, making it
way smaller.  I built all the dependants of “evolution-data-server” and
“gnome-online-accounts”, fixing the inputs as I went.  I also tested a
few things in a virtual machine.  Everything seems good to me, but it is
hard to tell what might break subtly with something like
“gnome-online-accounts”.  I did make sure that the GNOME Control Center
still worked after having removed it as an input to GNOME Shell.  I’m
not sure why it was there in the first place.

Timothy Sample (3):
  gnu: gnome-online-accounts: Split off 'lib' output.
  gnu: evolution-data-server: Add 'libedataserverui' output.
  gnu: gnome-shell: Remove gnome-control-center from inputs.

 gnu/packages/gnome.scm | 71 ++++++++++++++++++++++++++++++++++++------
 1 file changed, 62 insertions(+), 9 deletions(-)


-- Tim




Information forwarded to guix-patches <at> gnu.org:
bug#35028; Package guix-patches. (Thu, 28 Mar 2019 03:23:01 GMT) Full text and rfc822 format available.

Message #8 received at 35028 <at> debbugs.gnu.org (full text, mbox):

From: Timothy Sample <samplet <at> ngyro.com>
To: 35028 <at> debbugs.gnu.org
Cc: Timothy Sample <samplet <at> ngyro.com>
Subject: [PATCH 1/3] gnu: gnome-online-accounts: Split off 'lib' output.
Date: Wed, 27 Mar 2019 23:22:30 -0400
gnu/packages/gnome.scm (gnome-online-accounts)[outputs]: Add 'lib'.
[arguments]: Set the 'libdir' path to the 'out' output, and add a phase
to ensure that libgoa gets installed in the 'lib' output.
(evolution-data-server, gfbgraph, gnome-calendar, gnome-control-center,
gnome-todo, libgdata, libzapojit): Use the 'lib' output of
gnome-online-accounts.
---
 gnu/packages/gnome.scm | 29 +++++++++++++++++++++++------
 1 file changed, 23 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 060379aba9..9222f99003 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -389,7 +389,7 @@ formats like PNG, SVG, PDF and EPS.")
        ("libsoup" ,libsoup)))
     (propagated-inputs
      `(("gcr" ,gcr)
-       ("gnome-online-accounts" ,gnome-online-accounts)
+       ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
        ("liboauth" ,liboauth)
        ("libxml2" ,libxml2)))
     (home-page "https://wiki.gnome.org/Projects/libgdata")
@@ -4941,7 +4941,23 @@ window manager.")
               (sha256
                (base32
                 "1l8p1ghknmkmjpnpl7jr53j66qbzpikickzbmrz0aczyhq6pdy29"))))
+    (outputs '("out" "lib"))
     (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:configure-flags
+       (list (string-append "--libdir=" (assoc-ref %outputs "out") "/lib"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'patch-libgoa-output
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((lib (assoc-ref outputs "lib")))
+               (substitute* '("src/goa/Makefile.in" "src/goa/goa-1.0.pc.in")
+                 (("@prefix@") lib)
+                 (("@exec_prefix@") lib)
+                 (("@libdir@") (string-append lib "/lib"))
+                 (("@includedir@") (string-append lib "/include"))
+                 (("@datadir@") (string-append lib "/share")))
+               #t))))))
     (native-inputs
      `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
        ("gobject-introspection" ,gobject-introspection)
@@ -5038,7 +5054,7 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
     (inputs
      `(("bdb" ,bdb)
        ("gcr" ,gcr)
-       ("gnome-online-accounts" ,gnome-online-accounts)
+       ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
        ("json-glib" ,json-glib)
        ("libgweather" ,libgweather)
        ("mit-krb5" ,mit-krb5)
@@ -5631,6 +5647,7 @@ devices using the GNOME desktop.")
        ("gnome-bluetooth" ,gnome-bluetooth)
        ("gnome-desktop" ,gnome-desktop)
        ("gnome-online-accounts" ,gnome-online-accounts)
+       ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
        ("gnome-settings-daemon" ,gnome-settings-daemon)
        ("grilo" ,grilo)
        ("ibus" ,ibus)
@@ -6300,7 +6317,7 @@ library.")
        ("intltool" ,intltool)
        ("pkg-config" ,pkg-config)))
     (inputs
-     `(("gnome-online-accounts" ,gnome-online-accounts)
+     `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
        ("json-glib" ,json-glib)
        ("rest" ,rest)))
     (home-page "https://wiki.gnome.org/Projects/Zapojit")
@@ -6373,7 +6390,7 @@ desktop.  It supports world clock, stop watch, alarms, and count down timer.")
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("evolution-data-server" ,evolution-data-server)
-       ("gnome-online-accounts" ,gnome-online-accounts)
+       ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
        ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
     (home-page "https://wiki.gnome.org/Apps/Calendar")
     (synopsis "GNOME's calendar application")
@@ -6425,7 +6442,7 @@ desktop.  It supports multiple calendars, month, week and year view.")
        ("libpeas" ,libpeas)
        ("python-pygobject" ,python-pygobject)
        ("evolution-data-server" ,evolution-data-server)
-       ("gnome-online-accounts" ,gnome-online-accounts)
+       ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
        ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
     (home-page "https://wiki.gnome.org/Apps/Todo")
     (synopsis "GNOME's ToDo Application")
@@ -6754,7 +6771,7 @@ compiled.")
        ("gobject-introspection" ,gobject-introspection)))
     (inputs
      `(("json-glib" ,json-glib)
-       ("gnome-online-accounts" ,gnome-online-accounts)
+       ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
        ("rest" ,rest)))
     (synopsis "GLib/GObject wrapper for the Facebook API")
     (description "This library allows you to use the Facebook API from
-- 
2.21.0





Information forwarded to guix-patches <at> gnu.org:
bug#35028; Package guix-patches. (Thu, 28 Mar 2019 03:24:02 GMT) Full text and rfc822 format available.

Message #11 received at 35028 <at> debbugs.gnu.org (full text, mbox):

From: Timothy Sample <samplet <at> ngyro.com>
To: 35028 <at> debbugs.gnu.org
Cc: Timothy Sample <samplet <at> ngyro.com>
Subject: [PATCH 2/3] gnu: evolution-data-server: Add 'libedataserverui' output.
Date: Wed, 27 Mar 2019 23:22:31 -0400
gnu/packages/gnome.scm (evolution-data-server)[outputs]: Add
'libedataserverui'.
[arguments]: Add phases so that only libedataserverui is linked with
WebKitGTK, and that it is moved to its own output.
(evolution, gnome-calendar, gnome-todo)[inputs]: Add libedataserverui.
---
 gnu/packages/gnome.scm | 41 +++++++++++++++++++++++++++++++++++++++--
 1 file changed, 39 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 9222f99003..595ba20f7f 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4994,6 +4994,7 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
               (sha256
                (base32
                 "12b9lfgwd57rzn9394xrbvl9ym5aqldpz9v7c9a421dsv8dgq13b"))))
+    (outputs '("out" "libedataserverui"))
     (build-system cmake-build-system)
     (arguments
      '(;; XXX FIXME: 11/85 tests are failing.
@@ -5034,7 +5035,40 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
                ;; CMakeLists.txt hard-codes runpath to just the libdir.
                ;; Remove it so the configure flag is respected.
                (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
-             #t)))))
+             #t))
+         (add-before 'configure 'factor-webkit
+           (lambda _
+             (substitute* "CMakeLists.txt"
+               (("webkit2gtk-4\\.0>=\\$[{]webkit2gtk_minimum_version[}]") "")
+               (("if[(]ENABLE_OAUTH2[)]")
+                (string-append
+                 "if(ENABLE_OAUTH2)\n"
+                 "\tpkg_check_modules(OAUTH2_UI REQUIRED "
+                 "webkit2gtk-4.0>=${webkit2gtk_minimum_version})")))
+             (substitute* "src/libedataserverui/CMakeLists.txt"
+               (("\\$[{]OAUTH2_([A-Z_]+)[}]" all part)
+                (string-append all " ${OAUTH2_UI_" part "}")))))
+         (add-after 'install 'split
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (libedsui (assoc-ref outputs "libedataserverui")))
+               (for-each (lambda (file)
+                           (mkdir-p (dirname (string-append libedsui file)))
+                           (rename-file (string-append out file)
+                                        (string-append libedsui file)))
+                         '("/lib/pkgconfig/libedataserverui-1.2.pc"
+                           "/lib/libedataserverui-1.2.so"
+                           "/lib/libedataserverui-1.2.so.2"
+                           "/lib/libedataserverui-1.2.so.2.0.0"
+                           "/lib/girepository-1.0/EDataServerUI-1.2.typelib"
+                           "/include/evolution-data-server/libedataserverui"
+                           "/share/gir-1.0/EDataServerUI-1.2.gir"
+                           "/share/vala/vapi/libedataserverui-1.2.vapi"
+                           "/share/vala/vapi/libedataserverui-1.2.deps"))
+               (substitute* (string-append libedsui "/lib/pkgconfig/"
+                                           "libedataserverui-1.2.pc")
+                 ((out) libedsui))
+               #t))))))
     (native-inputs
      `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
        ("gobject-introspection" ,gobject-introspection)
@@ -6391,7 +6425,8 @@ desktop.  It supports world clock, stop watch, alarms, and count down timer.")
     (inputs
      `(("evolution-data-server" ,evolution-data-server)
        ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
-       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
+       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+       ("libedataserverui" ,evolution-data-server "libedataserverui")))
     (home-page "https://wiki.gnome.org/Apps/Calendar")
     (synopsis "GNOME's calendar application")
     (description
@@ -6438,6 +6473,7 @@ desktop.  It supports multiple calendars, month, week and year view.")
     (inputs
      `(("rest" ,rest)                   ; For Todoist plugin
        ("json-glib" ,json-glib)         ; For Todoist plugin
+       ("libedataserverui" ,evolution-data-server "libedataserverui")
        ("libical" ,libical)
        ("libpeas" ,libpeas)
        ("python-pygobject" ,python-pygobject)
@@ -7608,6 +7644,7 @@ generic enough to work for everyone.")
        ("gtkspell3" ,gtkspell3)
        ("highlight" ,highlight)
        ("libcanberra" ,libcanberra)
+       ("libedataserverui" ,evolution-data-server "libedataserverui")
        ("libgweather" ,libgweather)
        ("libnotify" ,libnotify)
        ("libsoup" ,libsoup)
-- 
2.21.0





Information forwarded to guix-patches <at> gnu.org:
bug#35028; Package guix-patches. (Thu, 28 Mar 2019 03:24:02 GMT) Full text and rfc822 format available.

Message #14 received at 35028 <at> debbugs.gnu.org (full text, mbox):

From: Timothy Sample <samplet <at> ngyro.com>
To: 35028 <at> debbugs.gnu.org
Cc: Timothy Sample <samplet <at> ngyro.com>
Subject: [PATCH 3/3] gnu: gnome-shell: Remove gnome-control-center from inputs.
Date: Wed, 27 Mar 2019 23:22:32 -0400
* gnu/packages/gnome.scm (gnome-shell)[inputs]: Remove
gnome-control-center.
---
 gnu/packages/gnome.scm | 1 -
 1 file changed, 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 595ba20f7f..a489137669 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -5814,7 +5814,6 @@ properties, screen resolution, and other GNOME parameters.")
        ("gdm" ,gdm)
        ("gjs" ,gjs)
        ("gnome-bluetooth" ,gnome-bluetooth)
-       ("gnome-control-center" ,gnome-control-center)
        ("gnome-desktop" ,gnome-desktop)
        ("gnome-settings-daemon" ,gnome-settings-daemon)
        ("gst-plugins-base" ,gst-plugins-base)
-- 
2.21.0





Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Sat, 30 Mar 2019 14:20:01 GMT) Full text and rfc822 format available.

Notification sent to Timothy Sample <samplet <at> ngyro.com>:
bug acknowledged by developer. (Sat, 30 Mar 2019 14:20:02 GMT) Full text and rfc822 format available.

Message #19 received at 35028-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Timothy Sample <samplet <at> ngyro.com>
Cc: 35028-done <at> debbugs.gnu.org
Subject: Re: [bug#35028] [PATCH 0/3] Remove WebKitGTK from GNOME Shell closure
Date: Sat, 30 Mar 2019 15:19:10 +0100
Hi Timothy,

Timothy Sample <samplet <at> ngyro.com> skribis:

> This patch set removes WebKitGTK from the GNOME Shell closure, making it
> way smaller.  I built all the dependants of “evolution-data-server” and
> “gnome-online-accounts”, fixing the inputs as I went.  I also tested a
> few things in a virtual machine.  Everything seems good to me, but it is
> hard to tell what might break subtly with something like
> “gnome-online-accounts”.  I did make sure that the GNOME Control Center
> still worked after having removed it as an input to GNOME Shell.  I’m
> not sure why it was there in the first place.
>
> Timothy Sample (3):
>   gnu: gnome-online-accounts: Split off 'lib' output.
>   gnu: evolution-data-server: Add 'libedataserverui' output.
>   gnu: gnome-shell: Remove gnome-control-center from inputs.

I’ve applied it all and also tested in a VM.  It looks good!

Thank you!

BTW, we should probably give you commit access.  Would you like to
create an account on Savannah and upload your OpenPGP key there?

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#35028; Package guix-patches. (Sat, 13 Apr 2019 17:50:02 GMT) Full text and rfc822 format available.

Message #22 received at 35028-done <at> debbugs.gnu.org (full text, mbox):

From: Timothy Sample <samplet <at> ngyro.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 35028-done <at> debbugs.gnu.org
Subject: Re: [bug#35028] [PATCH 0/3] Remove WebKitGTK from GNOME Shell closure
Date: Sat, 13 Apr 2019 13:49:51 -0400
Hi Ludo,

Ludovic Courtès <ludo <at> gnu.org> writes:

> Hi Timothy,
>
> Timothy Sample <samplet <at> ngyro.com> skribis:
>
>> This patch set removes WebKitGTK from the GNOME Shell closure, making it
>> way smaller.  I built all the dependants of “evolution-data-server” and
>> “gnome-online-accounts”, fixing the inputs as I went.  I also tested a
>> few things in a virtual machine.  Everything seems good to me, but it is
>> hard to tell what might break subtly with something like
>> “gnome-online-accounts”.  I did make sure that the GNOME Control Center
>> still worked after having removed it as an input to GNOME Shell.  I’m
>> not sure why it was there in the first place.
>>
>> Timothy Sample (3):
>>   gnu: gnome-online-accounts: Split off 'lib' output.
>>   gnu: evolution-data-server: Add 'libedataserverui' output.
>>   gnu: gnome-shell: Remove gnome-control-center from inputs.
>
> I’ve applied it all and also tested in a VM.  It looks good!
>
> Thank you!
>
> BTW, we should probably give you commit access.  Would you like to
> create an account on Savannah and upload your OpenPGP key there?

Sorry for the delay.

That would be cool!  I put my GPG key on Savannah.  My username is
“samplet”: <https://savannah.gnu.org/users/samplet>.


-- Tim




Information forwarded to guix-patches <at> gnu.org:
bug#35028; Package guix-patches. (Sun, 14 Apr 2019 17:46:03 GMT) Full text and rfc822 format available.

Message #25 received at 35028-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Timothy Sample <samplet <at> ngyro.com>
Cc: Ricardo Wurmus <rekado <at> elephly.net>, 35028-done <at> debbugs.gnu.org
Subject: Re: [bug#35028] [PATCH 0/3] Remove WebKitGTK from GNOME Shell closure
Date: Sun, 14 Apr 2019 19:44:54 +0200
[Message part 1 (text/plain, inline)]
Hi Timothy!

Timothy Sample <samplet <at> ngyro.com> skribis:

> Ludovic Courtès <ludo <at> gnu.org> writes:

[...]

>> BTW, we should probably give you commit access.  Would you like to
>> create an account on Savannah and upload your OpenPGP key there?
>
> Sorry for the delay.
>
> That would be cool!  I put my GPG key on Savannah.  My username is
> “samplet”: <https://savannah.gnu.org/users/samplet>.

Awesome, I’ve added you.  Could you reply to this message signed with
that key?

Please read ‘HACKING’ for the rules for commit access, and also, feel
empowered to review and push patches.

Thank you, and welcome aboard!  :-)

Ludo’.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#35028; Package guix-patches. (Mon, 15 Apr 2019 00:19:01 GMT) Full text and rfc822 format available.

Message #28 received at 35028-done <at> debbugs.gnu.org (full text, mbox):

From: Timothy Sample <samplet <at> ngyro.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Ricardo Wurmus <rekado <at> elephly.net>, 35028-done <at> debbugs.gnu.org
Subject: Re: [bug#35028] [PATCH 0/3] Remove WebKitGTK from GNOME Shell closure
Date: Sun, 14 Apr 2019 20:18:12 -0400
[Message part 1 (text/plain, inline)]
Ludovic Courtès <ludo <at> gnu.org> writes:

> Hi Timothy!
>
> Timothy Sample <samplet <at> ngyro.com> skribis:
>
>> Ludovic Courtès <ludo <at> gnu.org> writes:
>
> [...]
>
>>> BTW, we should probably give you commit access.  Would you like to
>>> create an account on Savannah and upload your OpenPGP key there?
>>
>> Sorry for the delay.
>>
>> That would be cool!  I put my GPG key on Savannah.  My username is
>> “samplet”: <https://savannah.gnu.org/users/samplet>.
>
> Awesome, I’ve added you.  Could you reply to this message signed with
> that key?

Ack.

> Please read ‘HACKING’ for the rules for commit access, and also, feel
> empowered to review and push patches.

I already have a few simple packages in mind that I could submit or
update, so this is great.

> Thank you, and welcome aboard!  :-)

Thank you!


-- Tim
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 13 May 2019 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 6 years and 89 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.