From 50e6f3cc228528827056a1cdbd2765d29884f583 Mon Sep 17 00:00:00 2001
From: Juan RP <xtraeme@gmail.com>
Date: Wed, 1 May 2013 10:48:03 +0200
Subject: [PATCH] chroot-glibc: add support for en_US.UTF-8 locale; required by
 an upcoming xbps-src.

---
 srcpkgs/chroot-glibc/INSTALL  | 16 ++++++++++++++++
 srcpkgs/chroot-glibc/template | 18 ++++++++++++++----
 2 files changed, 30 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/chroot-glibc/INSTALL

diff --git a/srcpkgs/chroot-glibc/INSTALL b/srcpkgs/chroot-glibc/INSTALL
new file mode 100644
index 00000000000..ad456beb52c
--- /dev/null
+++ b/srcpkgs/chroot-glibc/INSTALL
@@ -0,0 +1,16 @@
+# Generate en_US.UTF-8 locale.
+#
+case "${ACTION}" in
+post)
+	LOCALE_ARCHIVEDIR=usr/lib/locale
+	LOCALE_ARCHIVE=${LOCALE_ARCHIVEDIR}/locale-archive
+	LOCALE_ALIAS=usr/share/locale/locale.alias
+
+	[ -n "$POSIXLY_CORRECT" ] && unset POSIXLY_CORRECT
+	[ -f $LOCALE_ARCHIVE ] && rm -f $LOCALE_ARCHIVE
+	[ ! -d $LOCALE_ARCHIVEDIR ] && mkdir -p $LOCALE_ARCHIVEDIR
+
+	echo "Generating GNU libc locale: en_US.UTF-8 ..."
+	localedef --prefix=. -c -f UTF-8 -i en_US -A $LOCALE_ALIAS en_US.UTF-8 
+	;;
+esac
diff --git a/srcpkgs/chroot-glibc/template b/srcpkgs/chroot-glibc/template
index bb6645be272..d19506e5d2a 100644
--- a/srcpkgs/chroot-glibc/template
+++ b/srcpkgs/chroot-glibc/template
@@ -3,7 +3,7 @@ pkgname=chroot-glibc
 _majorver=2.17
 version=${_majorver}
 wrksrc="glibc-${version}"
-revision=6
+revision=7
 short_desc="The GNU C library -- for xbps-src use"
 maintainer="Juan RP <xtraeme@gmail.com>"
 homepage="http://www.gnu.org/software/libc"
@@ -78,8 +78,19 @@ do_install() {
 	chmod 644 ${DESTDIR}/etc/ld.so.conf.d/usr_local.conf
 	rm -f ${DESTDIR}/etc/ld.so.cache
 
-	# Remove unused stuff.
+	# Copy required files for en_US.UTF-8 locale, we don't need anything else.
+	mkdir -p ${wrksrc}/temp/{locale,charmaps}
+	cp /usr/share/i18n/charmaps/UTF-8.gz ${wrksrc}/temp/charmaps
+	cp /usr/share/i18n/locales/en_US ${wrksrc}/temp/locale
+	cp /usr/share/i18n/locales/en_GB ${wrksrc}/temp/locale
+	cp /usr/share/i18n/locales/i18n ${wrksrc}/temp/locale
+	cp /usr/share/i18n/locales/iso14651_t1* ${wrksrc}/temp/locale
+	cp /usr/share/i18n/locales/translit_* ${wrksrc}/temp/locale
 	rm -rf ${DESTDIR}/usr/share
+	vmkdir usr/share/i18n/charmaps
+	vmkdir usr/share/i18n/locales
+	mv ${wrksrc}/temp/charmaps/* ${DESTDIR}/usr/share/i18n/charmaps
+	mv ${wrksrc}/temp/locale/* ${DESTDIR}/usr/share/i18n/locales
 
 	# Switch to /usr.
 	vmkdir usr/sbin
@@ -111,7 +122,6 @@ chroot-glibc_package() {
 	conflicts="glibc>=0 glibc-devel>=0"
 	noverifyrdeps=yes
 	pkg_install() {
-		vmove etc
-		vmove usr
+		vmove all
 	}
 }