build-system/glib-or-gtk: Don't generate 'icon-theme.cache'.

* guix/build-system/glib-or-gtk.scm (default-gtk+): Remove.
  (lower): Adjust accordingly.
* guix/build/glib-or-gtk-build-system.scm (generate-icon-cache): Remove.
  (%standard-phases): Remove 'glib-or-gtk-icon-cache' phase.
This commit is contained in:
宋文武 2015-09-11 20:09:40 +08:00
parent a1d5a6f913
commit f47fbeb23a
2 changed files with 3 additions and 43 deletions

View File

@ -36,7 +36,7 @@
;; This build system is an extension of the 'gnu-build-system'. It ;; This build system is an extension of the 'gnu-build-system'. It
;; accomodates the needs of applications making use of glib or gtk+ (with "or" ;; accomodates the needs of applications making use of glib or gtk+ (with "or"
;; to be interpreted in the mathematical sense). This is achieved by adding ;; to be interpreted in the mathematical sense). This is achieved by adding
;; three phases run after the 'install' phase: ;; two phases run after the 'install' phase:
;; ;;
;; 'glib-or-gtk-wrap' phase: ;; 'glib-or-gtk-wrap' phase:
;; ;;
@ -57,11 +57,6 @@
;; exists and does not include a file named "gschemas.compiled", then ;; exists and does not include a file named "gschemas.compiled", then
;; "glib-compile-schemas" is run in that directory. ;; "glib-compile-schemas" is run in that directory.
;; ;;
;; 'glib-or-gtk-icon-cache' phase:
;;
;; Looks for the existence of icon themes and, if no cache exists, generate
;; the "icon-theme.cache" file.
;;
;; Code: ;; Code:
(define %default-modules (define %default-modules
@ -81,22 +76,16 @@
(let ((module (resolve-interface '(gnu packages glib)))) (let ((module (resolve-interface '(gnu packages glib))))
(module-ref module 'glib))) (module-ref module 'glib)))
(define (default-gtk+)
"Return the default gtk+ package from which we use
\"gtk-update-icon-cache\"."
(let ((module (resolve-interface '(gnu packages gtk))))
(module-ref module 'gtk+)))
(define* (lower name (define* (lower name
#:key source inputs native-inputs outputs system target #:key source inputs native-inputs outputs system target
(glib (default-glib)) (gtk+ (default-gtk+)) (glib (default-glib))
(implicit-inputs? #t) (implicit-inputs? #t)
(strip-binaries? #t) (strip-binaries? #t)
#:allow-other-keys #:allow-other-keys
#:rest arguments) #:rest arguments)
"Return a bag for NAME." "Return a bag for NAME."
(define private-keywords (define private-keywords
'(#:source #:target #:glib #:gtk+ #:inputs #:native-inputs '(#:source #:target #:glib #:inputs #:native-inputs
#:outputs #:implicit-inputs?)) #:outputs #:implicit-inputs?))
(and (not target) ;XXX: no cross-compilation (and (not target) ;XXX: no cross-compilation
@ -108,7 +97,6 @@
'()) '())
,@inputs)) ,@inputs))
(build-inputs `(("glib:bin" ,glib "bin") ; to compile schemas (build-inputs `(("glib:bin" ,glib "bin") ; to compile schemas
("gtk+" ,gtk+) ; to generate icon cache
,@(if implicit-inputs? ,@(if implicit-inputs?
(standard-packages) (standard-packages)
'()) '())

View File

@ -213,37 +213,9 @@ if needed."
#t)))) #t))))
outputs)) outputs))
(define* (generate-icon-cache #:key outputs #:allow-other-keys)
"Implement phase \"glib-or-gtk-icon-cache\": generate icon cache if
needed."
(every (match-lambda
((output . directory)
(let ((iconsdir (string-append directory
"/share/icons")))
(when (file-exists? iconsdir)
(with-directory-excursion iconsdir
(for-each
(lambda (dir)
(unless (file-exists?
(string-append iconsdir "/" dir "/"
"icon-theme.cache"))
(system* "gtk-update-icon-cache"
"--ignore-theme-index"
(string-append iconsdir "/" dir))))
(scandir "."
(lambda (name)
(and
(not (equal? name "."))
(not (equal? name ".."))
(equal? 'directory
(stat:type (stat name)))))))))
#t)))
outputs))
(define %standard-phases (define %standard-phases
(modify-phases gnu:%standard-phases (modify-phases gnu:%standard-phases
(add-after 'install 'glib-or-gtk-compile-schemas compile-glib-schemas) (add-after 'install 'glib-or-gtk-compile-schemas compile-glib-schemas)
(add-after 'install 'glib-or-gtk-icon-cache generate-icon-cache)
(add-after 'install 'glib-or-gtk-wrap wrap-all-programs))) (add-after 'install 'glib-or-gtk-wrap wrap-all-programs)))
(define* (glib-or-gtk-build #:key inputs (phases %standard-phases) (define* (glib-or-gtk-build #:key inputs (phases %standard-phases)