unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH 1/5] gnu: gtk+: Add "bin" output.
@ 2016-08-06 10:46 宋文武
  2016-08-06 10:46 ` [PATCH 2/5] profiles: gtk-icon-themes: Use 'gtk-update-icon-cache' from 'gtk+:bin' 宋文武
                   ` (6 more replies)
  0 siblings, 7 replies; 16+ messages in thread
From: 宋文武 @ 2016-08-06 10:46 UTC (permalink / raw)
  To: guix-devel; +Cc: 宋文武

* gnu/packages/gtk.scm (gtk+)[outputs]: New field.
---
 gnu/packages/gtk.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 21365b9..5c42053 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -624,6 +624,7 @@ application suites.")
              (base32
               "157nh9gg0p2avw765hrnkvr8lsh2w811397yxgjv6q5j4fzz6d1q"))
             (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"))))
+   (outputs '("out" "bin" "doc"))
    (propagated-inputs
     `(("at-spi2-atk" ,at-spi2-atk)
       ("atk" ,atk)
-- 
2.8.4

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 2/5] profiles: gtk-icon-themes: Use 'gtk-update-icon-cache' from 'gtk+:bin'.
  2016-08-06 10:46 [PATCH 1/5] gnu: gtk+: Add "bin" output 宋文武
@ 2016-08-06 10:46 ` 宋文武
  2016-08-14  2:17   ` Leo Famulari
  2016-08-19  7:15   ` Mark H Weaver
  2016-08-06 10:46 ` [PATCH 3/5] gnu: evince: Don't install 'icon-theme.cache' 宋文武
                   ` (5 subsequent siblings)
  6 siblings, 2 replies; 16+ messages in thread
From: 宋文武 @ 2016-08-06 10:46 UTC (permalink / raw)
  To: guix-devel; +Cc: 宋文武

* guix/profiles.scm (gtk-icon-themes): Use 'gtk-update-icon-cacnhe' from
the "bin" output of gtk+ package.
---
 guix/profiles.scm | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/guix/profiles.scm b/guix/profiles.scm
index db807a8..9c2dbba 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -642,7 +642,18 @@ MANIFEST.  Single-file bundles are required by programs such as Git and Lynx."
 (define (gtk-icon-themes manifest)
   "Return a derivation that unions all icon themes from manifest entries and
 creates the GTK+ 'icon-theme.cache' file for each theme."
-  (mlet %store-monad ((gtk+ (manifest-lookup-package manifest "gtk+")))
+  (define gtk+  ; lazy reference
+    (module-ref (resolve-interface '(gnu packages gtk)) 'gtk+))
+
+  (mlet %store-monad ((%gtk+ (manifest-lookup-package manifest "gtk+"))
+                      ;; XXX: Can't use gtk-update-icon-cache corresponding
+                      ;; to the gtk+ referenced by 'manifest'.  Because
+                      ;; '%gtk+' can be either a package or store path, and
+                      ;; there's no way to get the "bin" output for the later.
+                      (gtk-update-icon-cache
+                       -> #~(string-append #+gtk+:bin
+                                           "/bin/gtk-update-icon-cache")))
+
     (define build
       (with-imported-modules '((guix build utils)
                                (guix build union)
@@ -659,9 +670,7 @@ creates the GTK+ 'icon-theme.cache' file for each theme."
             (let* ((destdir  (string-append #$output "/share/icons"))
                    (icondirs (filter file-exists?
                                      (map (cut string-append <> "/share/icons")
-                                          '#$(manifest-inputs manifest))))
-                   (update-icon-cache (string-append
-                                       #+gtk+ "/bin/gtk-update-icon-cache")))
+                                          '#$(manifest-inputs manifest)))))
 
               ;; Union all the icons.
               (mkdir-p (string-append #$output "/share"))
@@ -676,11 +685,11 @@ creates the GTK+ 'icon-theme.cache' file for each theme."
                    ;; "abiword_48.png".  Ignore these.
                    (when (file-is-directory? dir)
                      (ensure-writable-directory dir)
-                     (system* update-icon-cache "-t" dir "--quiet"))))
+                     (system* #+gtk-update-icon-cache "-t" dir "--quiet"))))
                (scandir destdir (negate (cut member <> '("." "..")))))))))
 
     ;; Don't run the hook when there's nothing to do.
-    (if gtk+
+    (if %gtk+
         (gexp->derivation "gtk-icon-themes" build
                           #:local-build? #t
                           #:substitutable? #f)
-- 
2.8.4

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 3/5] gnu: evince: Don't install 'icon-theme.cache'.
  2016-08-06 10:46 [PATCH 1/5] gnu: gtk+: Add "bin" output 宋文武
  2016-08-06 10:46 ` [PATCH 2/5] profiles: gtk-icon-themes: Use 'gtk-update-icon-cache' from 'gtk+:bin' 宋文武
@ 2016-08-06 10:46 ` 宋文武
  2016-08-06 10:46 ` [PATCH 4/5] gnu: gnome-icon-theme, adwaita-icon-theme: " 宋文武
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 16+ messages in thread
From: 宋文武 @ 2016-08-06 10:46 UTC (permalink / raw)
  To: guix-devel; +Cc: 宋文武

* gnu/packages/gnome.scm (evince)[arguments]: Add 'skip-gtk-update-icon-cache'
phase.
---
 gnu/packages/gnome.scm | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 2038f8f..8be68ab 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -480,7 +480,15 @@ forgotten when the session ends.")
        ;; FIXME: Tests fail with:
        ;;   ImportError: No module named gi.repository
        ;; Where should that module come from?
-       #:tests? #f))
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'install 'skip-gtk-update-icon-cache
+           ;; Don't create 'icon-theme.cache'.
+           (lambda _
+             (substitute* "data/Makefile"
+               (("gtk-update-icon-cache") "true"))
+             #t)))))
     (inputs
      `(("libspectre" ,libspectre)
        ("djvulibre" ,djvulibre)
-- 
2.8.4

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 4/5] gnu: gnome-icon-theme, adwaita-icon-theme: Don't install 'icon-theme.cache'.
  2016-08-06 10:46 [PATCH 1/5] gnu: gtk+: Add "bin" output 宋文武
  2016-08-06 10:46 ` [PATCH 2/5] profiles: gtk-icon-themes: Use 'gtk-update-icon-cache' from 'gtk+:bin' 宋文武
  2016-08-06 10:46 ` [PATCH 3/5] gnu: evince: Don't install 'icon-theme.cache' 宋文武
@ 2016-08-06 10:46 ` 宋文武
  2016-08-14  2:15   ` Leo Famulari
  2016-08-06 10:46 ` [PATCH 5/5] gnu: gnome-themes-standard: " 宋文武
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 16+ messages in thread
From: 宋文武 @ 2016-08-06 10:46 UTC (permalink / raw)
  To: guix-devel; +Cc: 宋文武

* gnu/packages/gnome.scm (gnome-icon-theme)[native-inputs]: Remove 'gtk+'.
[arguments]: Set 'GTK_UPDATE_ICON_CACHE' to the path of 'true'.
(adwaita-icon-theme)[native-inputs]: Add 'gtk+:bin'.
---
 gnu/packages/gnome.scm | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 8be68ab..78827eb 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -645,9 +645,14 @@ update-desktop-database: updates the database containing a cache of MIME types
        (base32
         "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
     (build-system gnu-build-system)
+    (arguments
+     '(#:configure-flags
+       ;; Don't create 'icon-theme.cache'.
+       (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
+              (true      (string-append coreutils "/bin/true")))
+         (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
     (native-inputs
-     `(("gtk+" ,gtk+) ; for gtk-update-icon-cache
-       ("icon-naming-utils" ,icon-naming-utils)
+     `(("icon-naming-utils" ,icon-naming-utils)
        ("intltool" ,intltool)
        ("pkg-config" ,pkg-config)))
     (home-page "http://art.gnome.org/")
@@ -669,7 +674,9 @@ update-desktop-database: updates the database containing a cache of MIME types
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0ddfwwqx8s63qbqimmbb015lqsab4s0rvy1j81jdsh7k95rqh2ks"))))))
+                "0ddfwwqx8s63qbqimmbb015lqsab4s0rvy1j81jdsh7k95rqh2ks"))))
+    (native-inputs
+     `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
 
 (define-public shared-mime-info
   (package
-- 
2.8.4

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 5/5] gnu: gnome-themes-standard: Don't install 'icon-theme.cache'.
  2016-08-06 10:46 [PATCH 1/5] gnu: gtk+: Add "bin" output 宋文武
                   ` (2 preceding siblings ...)
  2016-08-06 10:46 ` [PATCH 4/5] gnu: gnome-icon-theme, adwaita-icon-theme: " 宋文武
@ 2016-08-06 10:46 ` 宋文武
  2016-08-14  2:21 ` [PATCH 1/5] gnu: gtk+: Add "bin" output Leo Famulari
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 16+ messages in thread
From: 宋文武 @ 2016-08-06 10:46 UTC (permalink / raw)
  To: guix-devel; +Cc: 宋文武

* gnu/packages/gnome.scm (gnome-themes-standard)[arguments]: New field.
---
 gnu/packages/gnome.scm | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 78827eb..0258e28 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -1673,6 +1673,12 @@ engineering.")
         (base32
          "1p1vvmzfky1ax3yv9ld10xgqwydhmglxpgq3skrfc4539nrq9phw"))))
     (build-system gnu-build-system)
+    (arguments
+     '(#:configure-flags
+       ;; Don't create 'icon-theme.cache'.
+       (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
+              (true      (string-append coreutils "/bin/true")))
+         (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
     (inputs
      `(("gtk+" ,gtk+)
        ("gtk+-2" ,gtk+-2)
-- 
2.8.4

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH 4/5] gnu: gnome-icon-theme, adwaita-icon-theme: Don't install 'icon-theme.cache'.
  2016-08-06 10:46 ` [PATCH 4/5] gnu: gnome-icon-theme, adwaita-icon-theme: " 宋文武
@ 2016-08-14  2:15   ` Leo Famulari
  2016-08-14  6:23     ` 宋文武
  0 siblings, 1 reply; 16+ messages in thread
From: Leo Famulari @ 2016-08-14  2:15 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel

On Sat, Aug 06, 2016 at 06:46:15PM +0800, 宋文武 wrote:
> * gnu/packages/gnome.scm (gnome-icon-theme)[native-inputs]: Remove 'gtk+'.
> [arguments]: Set 'GTK_UPDATE_ICON_CACHE' to the path of 'true'.
> (adwaita-icon-theme)[native-inputs]: Add 'gtk+:bin'.

Would this patch get rid of the icon-theme cache conflicts that most
Guix users see whenever they do `guix package`?

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 2/5] profiles: gtk-icon-themes: Use 'gtk-update-icon-cache' from 'gtk+:bin'.
  2016-08-06 10:46 ` [PATCH 2/5] profiles: gtk-icon-themes: Use 'gtk-update-icon-cache' from 'gtk+:bin' 宋文武
@ 2016-08-14  2:17   ` Leo Famulari
  2016-08-19  7:15   ` Mark H Weaver
  1 sibling, 0 replies; 16+ messages in thread
From: Leo Famulari @ 2016-08-14  2:17 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel

On Sat, Aug 06, 2016 at 06:46:13PM +0800, 宋文武 wrote:
> * guix/profiles.scm (gtk-icon-themes): Use 'gtk-update-icon-cacnhe' from
                                                                 ^
							      cache

I admit I don't understand this patch. I'll let somebody else review it
properly :)

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 1/5] gnu: gtk+: Add "bin" output.
  2016-08-06 10:46 [PATCH 1/5] gnu: gtk+: Add "bin" output 宋文武
                   ` (3 preceding siblings ...)
  2016-08-06 10:46 ` [PATCH 5/5] gnu: gnome-themes-standard: " 宋文武
@ 2016-08-14  2:21 ` Leo Famulari
  2016-08-14  2:51   ` Eric Bavier
  2016-08-23 12:11 ` 宋文武
  2016-08-29 15:56 ` Ludovic Courtès
  6 siblings, 1 reply; 16+ messages in thread
From: Leo Famulari @ 2016-08-14  2:21 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel

On Sat, Aug 06, 2016 at 06:46:12PM +0800, 宋文武 wrote:
> * gnu/packages/gtk.scm (gtk+)[outputs]: New field.
> ---
>  gnu/packages/gtk.scm | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
> index 21365b9..5c42053 100644
> --- a/gnu/packages/gtk.scm
> +++ b/gnu/packages/gtk.scm
> @@ -624,6 +624,7 @@ application suites.")
>               (base32
>                "157nh9gg0p2avw765hrnkvr8lsh2w811397yxgjv6q5j4fzz6d1q"))
>              (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"))))
> +   (outputs '("out" "bin" "doc"))
>     (propagated-inputs
>      `(("at-spi2-atk" ,at-spi2-atk)
>        ("atk" ,atk)

What effect does this have?

Does Guix know to put something into the 'bin' output?

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 1/5] gnu: gtk+: Add "bin" output.
  2016-08-14  2:21 ` [PATCH 1/5] gnu: gtk+: Add "bin" output Leo Famulari
@ 2016-08-14  2:51   ` Eric Bavier
  2016-08-14  6:21     ` 宋文武
  0 siblings, 1 reply; 16+ messages in thread
From: Eric Bavier @ 2016-08-14  2:51 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel, 宋文武

On Sat, 13 Aug 2016 22:21:53 -0400
Leo Famulari <leo@famulari.name> wrote:

> On Sat, Aug 06, 2016 at 06:46:12PM +0800, 宋文武 wrote:
> > * gnu/packages/gtk.scm (gtk+)[outputs]: New field.
> > ---
> >  gnu/packages/gtk.scm | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
> > index 21365b9..5c42053 100644
> > --- a/gnu/packages/gtk.scm
> > +++ b/gnu/packages/gtk.scm
> > @@ -624,6 +624,7 @@ application suites.")
> >               (base32
> >                "157nh9gg0p2avw765hrnkvr8lsh2w811397yxgjv6q5j4fzz6d1q"))
> >              (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"))))
> > +   (outputs '("out" "bin" "doc"))
> >     (propagated-inputs
> >      `(("at-spi2-atk" ,at-spi2-atk)
> >        ("atk" ,atk)  
> 
> What effect does this have?
> 
> Does Guix know to put something into the 'bin' output?

Yes, the gnu-build-system will automatically pass '--bindir' to
'configure' if a "bin" output is present.

However, should these outputs not instead be added to the 'gtk+-2'
package that 'gtk+' inherits from?

`~Eric

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 1/5] gnu: gtk+: Add "bin" output.
  2016-08-14  2:51   ` Eric Bavier
@ 2016-08-14  6:21     ` 宋文武
  0 siblings, 0 replies; 16+ messages in thread
From: 宋文武 @ 2016-08-14  6:21 UTC (permalink / raw)
  To: Eric Bavier; +Cc: guix-devel

Eric Bavier <ericbavier@openmailbox.org> writes:

> On Sat, 13 Aug 2016 22:21:53 -0400
> Leo Famulari <leo@famulari.name> wrote:
>
>> On Sat, Aug 06, 2016 at 06:46:12PM +0800, 宋文武 wrote:
>> > * gnu/packages/gtk.scm (gtk+)[outputs]: New field.
>> > ---
>> >  gnu/packages/gtk.scm | 1 +
>> >  1 file changed, 1 insertion(+)
>> > 
>> > diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
>> > index 21365b9..5c42053 100644
>> > --- a/gnu/packages/gtk.scm
>> > +++ b/gnu/packages/gtk.scm
>> > @@ -624,6 +624,7 @@ application suites.")
>> >               (base32
>> >                "157nh9gg0p2avw765hrnkvr8lsh2w811397yxgjv6q5j4fzz6d1q"))
>> >              (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"))))
>> > +   (outputs '("out" "bin" "doc"))
>> >     (propagated-inputs
>> >      `(("at-spi2-atk" ,at-spi2-atk)
>> >        ("atk" ,atk)  
>> 
>> What effect does this have?
>> 
>> Does Guix know to put something into the 'bin' output?
>
> Yes, the gnu-build-system will automatically pass '--bindir' to
> 'configure' if a "bin" output is present.

Yes, this will put 'gtk-update-icon-cache', 'gtk-encode-symbolic-svg',
'gtk3-dome', etc in the "bin" output.

>
> However, should these outputs not instead be added to the 'gtk+-2'
> package that 'gtk+' inherits from?

Yeah, but do it to 'gtk+-2' will fail with cycle references between
its "bin" and "out".  So I just leave it untouched.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 4/5] gnu: gnome-icon-theme, adwaita-icon-theme: Don't install 'icon-theme.cache'.
  2016-08-14  2:15   ` Leo Famulari
@ 2016-08-14  6:23     ` 宋文武
  0 siblings, 0 replies; 16+ messages in thread
From: 宋文武 @ 2016-08-14  6:23 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

Leo Famulari <leo@famulari.name> writes:

> On Sat, Aug 06, 2016 at 06:46:15PM +0800, 宋文武 wrote:
>> * gnu/packages/gnome.scm (gnome-icon-theme)[native-inputs]: Remove 'gtk+'.
>> [arguments]: Set 'GTK_UPDATE_ICON_CACHE' to the path of 'true'.
>> (adwaita-icon-theme)[native-inputs]: Add 'gtk+:bin'.
>
> Would this patch get rid of the icon-theme cache conflicts that most
> Guix users see whenever they do `guix package`?

Yes, that's the plan :-)

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 2/5] profiles: gtk-icon-themes: Use 'gtk-update-icon-cache' from 'gtk+:bin'.
  2016-08-06 10:46 ` [PATCH 2/5] profiles: gtk-icon-themes: Use 'gtk-update-icon-cache' from 'gtk+:bin' 宋文武
  2016-08-14  2:17   ` Leo Famulari
@ 2016-08-19  7:15   ` Mark H Weaver
  2016-08-20  2:43     ` 宋文武
  1 sibling, 1 reply; 16+ messages in thread
From: Mark H Weaver @ 2016-08-19  7:15 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel

宋文武 <iyzsong@gmail.com> writes:

> * guix/profiles.scm (gtk-icon-themes): Use 'gtk-update-icon-cacnhe' from
> the "bin" output of gtk+ package.
> ---
>  guix/profiles.scm | 21 +++++++++++++++------
>  1 file changed, 15 insertions(+), 6 deletions(-)
>
> diff --git a/guix/profiles.scm b/guix/profiles.scm
> index db807a8..9c2dbba 100644
> --- a/guix/profiles.scm
> +++ b/guix/profiles.scm
> @@ -642,7 +642,18 @@ MANIFEST.  Single-file bundles are required by programs such as Git and Lynx."
>  (define (gtk-icon-themes manifest)
>    "Return a derivation that unions all icon themes from manifest entries and
>  creates the GTK+ 'icon-theme.cache' file for each theme."
> -  (mlet %store-monad ((gtk+ (manifest-lookup-package manifest "gtk+")))
> +  (define gtk+  ; lazy reference
> +    (module-ref (resolve-interface '(gnu packages gtk)) 'gtk+))
> +
> +  (mlet %store-monad ((%gtk+ (manifest-lookup-package manifest "gtk+"))
> +                      ;; XXX: Can't use gtk-update-icon-cache corresponding
> +                      ;; to the gtk+ referenced by 'manifest'.  Because
> +                      ;; '%gtk+' can be either a package or store path, and
> +                      ;; there's no way to get the "bin" output for the later.
> +                      (gtk-update-icon-cache
> +                       -> #~(string-append #+gtk+:bin
> +                                           "/bin/gtk-update-icon-cache")))

Hmm.  Would this cause 'gtk+' to become a dependency for building any
profile, even if it contains no graphical programs?

      Mark

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 2/5] profiles: gtk-icon-themes: Use 'gtk-update-icon-cache' from 'gtk+:bin'.
  2016-08-19  7:15   ` Mark H Weaver
@ 2016-08-20  2:43     ` 宋文武
  2016-08-20 18:56       ` Mark H Weaver
  0 siblings, 1 reply; 16+ messages in thread
From: 宋文武 @ 2016-08-20  2:43 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guix-devel

Mark H Weaver <mhw@netris.org> writes:

> 宋文武 <iyzsong@gmail.com> writes:
>
>> * guix/profiles.scm (gtk-icon-themes): Use 'gtk-update-icon-cacnhe' from
>> the "bin" output of gtk+ package.
>> ---
>>  guix/profiles.scm | 21 +++++++++++++++------
>>  1 file changed, 15 insertions(+), 6 deletions(-)
>>
>> diff --git a/guix/profiles.scm b/guix/profiles.scm
>> index db807a8..9c2dbba 100644
>> --- a/guix/profiles.scm
>> +++ b/guix/profiles.scm
>> @@ -642,7 +642,18 @@ MANIFEST.  Single-file bundles are required by programs such as Git and Lynx."
>>  (define (gtk-icon-themes manifest)
>>    "Return a derivation that unions all icon themes from manifest entries and
>>  creates the GTK+ 'icon-theme.cache' file for each theme."
>> -  (mlet %store-monad ((gtk+ (manifest-lookup-package manifest "gtk+")))
>> +  (define gtk+  ; lazy reference
>> +    (module-ref (resolve-interface '(gnu packages gtk)) 'gtk+))
>> +
>> +  (mlet %store-monad ((%gtk+ (manifest-lookup-package manifest "gtk+"))
>> +                      ;; XXX: Can't use gtk-update-icon-cache corresponding
>> +                      ;; to the gtk+ referenced by 'manifest'.  Because
>> +                      ;; '%gtk+' can be either a package or store path, and
>> +                      ;; there's no way to get the "bin" output for the later.
>> +                      (gtk-update-icon-cache
>> +                       -> #~(string-append #+gtk+:bin
>> +                                           "/bin/gtk-update-icon-cache")))
>
> Hmm.  Would this cause 'gtk+' to become a dependency for building any
> profile, even if it contains no graphical programs?

No, it does only run when the profile contains gtk+ (with or without
this patch).  But with this patch, it will use the latest deployed
gtk+:bin instead of the gtk+ referenced by the profile.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 2/5] profiles: gtk-icon-themes: Use 'gtk-update-icon-cache' from 'gtk+:bin'.
  2016-08-20  2:43     ` 宋文武
@ 2016-08-20 18:56       ` Mark H Weaver
  0 siblings, 0 replies; 16+ messages in thread
From: Mark H Weaver @ 2016-08-20 18:56 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel

iyzsong@member.fsf.org (宋文武) writes:

> Mark H Weaver <mhw@netris.org> writes:
>
>> Hmm.  Would this cause 'gtk+' to become a dependency for building any
>> profile, even if it contains no graphical programs?
>
> No, it does only run when the profile contains gtk+ (with or without
> this patch).  But with this patch, it will use the latest deployed
> gtk+:bin instead of the gtk+ referenced by the profile.

Okay, sounds good to me.  Thanks!

       Mark

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 1/5] gnu: gtk+: Add "bin" output.
  2016-08-06 10:46 [PATCH 1/5] gnu: gtk+: Add "bin" output 宋文武
                   ` (4 preceding siblings ...)
  2016-08-14  2:21 ` [PATCH 1/5] gnu: gtk+: Add "bin" output Leo Famulari
@ 2016-08-23 12:11 ` 宋文武
  2016-08-29 15:56 ` Ludovic Courtès
  6 siblings, 0 replies; 16+ messages in thread
From: 宋文武 @ 2016-08-23 12:11 UTC (permalink / raw)
  To: guix-devel


Hi, I pushed those patches and the results of a run of
gnome updater into core-updates.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 1/5] gnu: gtk+: Add "bin" output.
  2016-08-06 10:46 [PATCH 1/5] gnu: gtk+: Add "bin" output 宋文武
                   ` (5 preceding siblings ...)
  2016-08-23 12:11 ` 宋文武
@ 2016-08-29 15:56 ` Ludovic Courtès
  6 siblings, 0 replies; 16+ messages in thread
From: Ludovic Courtès @ 2016-08-29 15:56 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel

宋文武 <iyzsong@gmail.com> skribis:

> * gnu/packages/gtk.scm (gtk+)[outputs]: New field.
> ---
>  gnu/packages/gtk.scm | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
> index 21365b9..5c42053 100644
> --- a/gnu/packages/gtk.scm
> +++ b/gnu/packages/gtk.scm
> @@ -624,6 +624,7 @@ application suites.")
>               (base32
>                "157nh9gg0p2avw765hrnkvr8lsh2w811397yxgjv6q5j4fzz6d1q"))
>              (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"))))
> +   (outputs '("out" "bin" "doc"))

I suppose the intent was to reduce the closure size; do you have
figures?  I like to put them as a comment next to the ‘outputs’ field.

Thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2016-08-29 15:57 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-06 10:46 [PATCH 1/5] gnu: gtk+: Add "bin" output 宋文武
2016-08-06 10:46 ` [PATCH 2/5] profiles: gtk-icon-themes: Use 'gtk-update-icon-cache' from 'gtk+:bin' 宋文武
2016-08-14  2:17   ` Leo Famulari
2016-08-19  7:15   ` Mark H Weaver
2016-08-20  2:43     ` 宋文武
2016-08-20 18:56       ` Mark H Weaver
2016-08-06 10:46 ` [PATCH 3/5] gnu: evince: Don't install 'icon-theme.cache' 宋文武
2016-08-06 10:46 ` [PATCH 4/5] gnu: gnome-icon-theme, adwaita-icon-theme: " 宋文武
2016-08-14  2:15   ` Leo Famulari
2016-08-14  6:23     ` 宋文武
2016-08-06 10:46 ` [PATCH 5/5] gnu: gnome-themes-standard: " 宋文武
2016-08-14  2:21 ` [PATCH 1/5] gnu: gtk+: Add "bin" output Leo Famulari
2016-08-14  2:51   ` Eric Bavier
2016-08-14  6:21     ` 宋文武
2016-08-23 12:11 ` 宋文武
2016-08-29 15:56 ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).