[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
05/08: build-system/gnu: Add 'install-locale' phase.
From: |
Ludovic Courtès |
Subject: |
05/08: build-system/gnu: Add 'install-locale' phase. |
Date: |
Thu, 26 Feb 2015 23:09:52 +0000 |
civodul pushed a commit to branch core-updates
in repository guix.
commit 5335c56e8eb1953d7e14130896fea35309231134
Author: Ludovic Courtès <address@hidden>
Date: Thu Feb 26 23:36:55 2015 +0100
build-system/gnu: Add 'install-locale' phase.
* guix/build/gnu-build-system.scm (install-locale): New procedure.
(%standard-phases): Add it.
* guix/build-system/gnu.scm (gnu-build): Add #:locale and pass it to
the build script.
(gnu-cross-build): Likewise.
---
guix/build-system/gnu.scm | 6 +++++-
guix/build/gnu-build-system.scm | 25 ++++++++++++++++++++++++-
2 files changed, 29 insertions(+), 2 deletions(-)
diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm
index c675155..c91ad2e 100644
--- a/guix/build-system/gnu.scm
+++ b/guix/build-system/gnu.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <address@hidden>
+;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -278,6 +278,7 @@ standard packages used as implicit inputs of the GNU build
system."
(strip-directories ''("lib" "lib64" "libexec"
"bin" "sbin"))
(phases '%standard-phases)
+ (locale "en_US.UTF-8")
(system (%current-system))
(imported-modules %default-modules)
(modules %default-modules)
@@ -328,6 +329,7 @@ are allowed to refer to."
#:search-paths ',(map search-path-specification->sexp
search-paths)
#:phases ,phases
+ #:locale ,locale
#:configure-flags ,configure-flags
#:make-flags ,make-flags
#:out-of-source? ,out-of-source?
@@ -410,6 +412,7 @@ is one of `host' or `target'."
(strip-directories ''("lib" "lib64" "libexec"
"bin" "sbin"))
(phases '%standard-phases)
+ (locale "en_US.UTF-8")
(system (%current-system))
(imported-modules '((guix build gnu-build-system)
(guix build utils)))
@@ -473,6 +476,7 @@ platform."
search-path-specification->sexp
native-search-paths)
#:phases ,phases
+ #:locale ,locale
#:configure-flags ,configure-flags
#:make-flags ,make-flags
#:out-of-source? ,out-of-source?
diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm
index 25df711..c3cc3ce 100644
--- a/guix/build/gnu-build-system.scm
+++ b/guix/build/gnu-build-system.scm
@@ -94,6 +94,29 @@
#t)
+(define* (install-locale #:key
+ (locale "en_US.UTF-8")
+ (locale-category LC_ALL)
+ #:allow-other-keys)
+ "Try to install LOCALE; emit a warning if that fails. The main goal is to
+use a UTF-8 locale so that Guile correctly interprets UTF-8 file names.
+
+This phase must typically happen after 'set-paths' so that $LOCPATH has a
+chance to be set."
+ (catch 'system-error
+ (lambda ()
+ (setlocale locale-category locale)
+ (format (current-error-port) "using '~a' locale for category ~a~%"
+ locale locale-category)
+ #t)
+ (lambda args
+ ;; This is known to fail for instance in early bootstrap where locales
+ ;; are not available.
+ (format (current-error-port)
+ "warning: failed to install '~a' locale: ~a~%"
+ locale (strerror (system-error-errno args)))
+ #t)))
+
(define* (unpack #:key source #:allow-other-keys)
"Unpack SOURCE in the working directory, and change directory within the
source. When SOURCE is a directory, copy it in a sub-directory of the current
@@ -454,7 +477,7 @@ DOCUMENTATION-COMPRESSOR-FLAGS."
;; Standard build phases, as a list of symbol/procedure pairs.
(let-syntax ((phases (syntax-rules ()
((_ p ...) `((p . ,p) ...)))))
- (phases set-paths unpack
+ (phases set-paths install-locale unpack
patch-usr-bin-file
patch-source-shebangs configure patch-generated-file-shebangs
build check install
- branch core-updates updated (a068dba -> f307947), Ludovic Courtès, 2015/02/26
- 01/08: Merge branch 'master' into core-updates, Ludovic Courtès, 2015/02/26
- 05/08: build-system/gnu: Add 'install-locale' phase.,
Ludovic Courtès <=
- 06/08: gnu: Add glibc-utf8-locales to the implicit inputs., Ludovic Courtès, 2015/02/26
- 08/08: ld-wrapper: Add '-rpath' for arguments such as 'libfoo.so.5.3'., Ludovic Courtès, 2015/02/26
- 02/08: build-system/gnu: Add support for zip archives., Ludovic Courtès, 2015/02/26
- 03/08: utils: Add 'modify-phases'., Ludovic Courtès, 2015/02/26
- 07/08: packages: When possible, use a UTF-8 locale in patch-and-repack., Ludovic Courtès, 2015/02/26
- 04/08: build-system: Use 'modify-phases'., Ludovic Courtès, 2015/02/26