From patchwork Thu Jul 4 11:39:06 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kei Kebreau X-Patchwork-Id: 14470 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 12E66171B2; Thu, 4 Jul 2019 12:40:55 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_DKIM_INVALID, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id BECC2171B0 for ; Thu, 4 Jul 2019 12:40:54 +0100 (BST) Received: from localhost ([::1]:44680 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hj06g-0007ts-8s for patchwork@mira.cbaines.net; Thu, 04 Jul 2019 07:40:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59791) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hj05t-0007Qm-GU for guix-patches@gnu.org; Thu, 04 Jul 2019 07:40:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hj05r-0003Ms-C3 for guix-patches@gnu.org; Thu, 04 Jul 2019 07:40:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:41653) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hj05p-0003ME-SR for guix-patches@gnu.org; Thu, 04 Jul 2019 07:40:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hj05p-0007UX-PD for guix-patches@gnu.org; Thu, 04 Jul 2019 07:40:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#36495] [PATCH] gnu: make-glibc-locales: Add patch to fix glibc-locales build for glibc 2.29. Resent-From: Kei Kebreau Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 04 Jul 2019 11:40:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 36495 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 36495@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.156224038028765 (code B ref -1); Thu, 04 Jul 2019 11:40:01 +0000 Received: (at submit) by debbugs.gnu.org; 4 Jul 2019 11:39:40 +0000 Received: from localhost ([127.0.0.1]:50474 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hj05T-0007Ts-UA for submit@debbugs.gnu.org; Thu, 04 Jul 2019 07:39:40 -0400 Received: from lists.gnu.org ([209.51.188.17]:46389) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hj05Q-0007Ti-HK for submit@debbugs.gnu.org; Thu, 04 Jul 2019 07:39:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59689) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hj05O-0006sD-Em for guix-patches@gnu.org; Thu, 04 Jul 2019 07:39:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hj05M-000373-46 for guix-patches@gnu.org; Thu, 04 Jul 2019 07:39:34 -0400 Received: from mout01.posteo.de ([185.67.36.65]:34037) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hj05G-0002wI-1k for guix-patches@gnu.org; Thu, 04 Jul 2019 07:39:28 -0400 Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id A64B5160061 for ; Thu, 4 Jul 2019 13:39:11 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1562240351; bh=bZvGta4pWZr4RJh/qc8ihlstDlxKHgymFI/bVhXXXrg=; h=From:To:Cc:Subject:Date:From; b=edwWymnfH7i2GwgFwdpu10voogJyt2oyPauuniO3PzO4YAw0sImxq71kDODECt12p kUCW/aQlaT3oXLFeJRDzy7O/VIB56D3Hk/EtJY9SbiKxNACebPuR8fasTa+yj4zDLL 4JXyS1djYMHVe5H5weQ+gs3sq2B1bAZ2/B6d7qq7SkG/1gPeKbCSL6fV22h6a3Hf8n cpvNWs8SQahpmyEuWXC97qDGnqUZzNHKBFYsKZ0vkkgSxRMPBEepSYAx7eCdYK6hBB EasHlsfFjApoFItxMCCNu69VbX4u6EJtgMoBtsY8tCZbs9M1CO56j2mfkkwu5WahyB kHXDtFtGh6yiw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 45fbbf339Tz6tmM; Thu, 4 Jul 2019 13:39:09 +0200 (CEST) From: Kei Kebreau Date: Thu, 4 Jul 2019 07:39:06 -0400 Message-Id: <20190704113906.27800-1-kkebreau@posteo.net> X-Mailer: git-send-email 2.22.0 MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kei Kebreau Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches The patch for glibc 2.28 and earlier replaces the same content, but the context in the patch is different enough to fail to merge. * gnu/packages/base.scm (make-glibc-locales)[source]: Add patch. * gnu/packages/patches/glibc-locales-2.29.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/base.scm | 10 +++++- gnu/packages/patches/glibc-locales-2.29.patch | 32 +++++++++++++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/glibc-locales-2.29.patch diff --git a/gnu/local.mk b/gnu/local.mk index bac1a92741..84c6190bd1 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -867,6 +867,7 @@ dist_patch_DATA = \ %D%/packages/patches/glibc-hurd-magic-pid.patch \ %D%/packages/patches/glibc-ldd-x86_64.patch \ %D%/packages/patches/glibc-locales.patch \ + %D%/packages/patches/glibc-locales-2.29.patch \ %D%/packages/patches/glibc-o-largefile.patch \ %D%/packages/patches/glibc-reinstate-prlimit64-fallback.patch \ %D%/packages/patches/glibc-vectorized-strcspn-guards.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index f26145cb0b..d6df023f26 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -999,7 +999,15 @@ with the Linux kernel.") (inherit glibc) (name "glibc-locales") (source (origin (inherit (package-source glibc)) - (patches (cons (search-patch "glibc-locales.patch") + ;; The patch for glibc 2.28 and earlier replaces the same + ;; content, but the context in the patch is different + ;; enough to fail to merge. + (patches (cons (search-patch + (if (< 2.29 + (string->number + (package-version glibc))) + "glibc-locales.patch" + "glibc-locales-2.29.patch")) (origin-patches (package-source glibc)))))) (synopsis "All the locales supported by the GNU C Library") (description diff --git a/gnu/packages/patches/glibc-locales-2.29.patch b/gnu/packages/patches/glibc-locales-2.29.patch new file mode 100644 index 0000000000..9329a09063 --- /dev/null +++ b/gnu/packages/patches/glibc-locales-2.29.patch @@ -0,0 +1,32 @@ +This patch allows us to use glibc's build system to build locales +in a package separate from glibc. + + 1. Use 'localedef' from $PATH since we are not rebuilding it. + 2. Use '--no-archive' to avoid building the big locale archive, and + because the already-built 'localedef' would want to write it + to '/run/current-system/locale', which is not possible. + 3. Pass $(inst_complocaledir)/$$locale to install files in the right + place, and because otherwise, 'localedef' fails with: + "cannot write output files to `(null)'". + +diff -ru glibc-2.29-old/localedata/Makefile glibc-2.29-new/localedata/Makefile +--- glibc-2.29-old/localedata/Makefile 2019-01-31 11:45:36.000000000 -0500 ++++ glibc-2.29-new/localedata/Makefile 2019-07-03 22:48:35.662015071 -0400 +@@ -385,7 +385,7 @@ + + # Sometimes the whole collection of locale files should be installed. + LOCALEDEF=I18NPATH=. GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \ +-$(rtld-prefix) $(common-objpfx)locale/localedef ++ localedef --no-archive + install-locales: install-locale-archive + + # Create and install the locale-archive file. +@@ -414,7 +414,7 @@ + input=`echo $$locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; \ + $(LOCALEDEF) $$flags --alias-file=../intl/locale.alias \ + -i locales/$$input -f charmaps/$$charset \ +- $(addprefix --prefix=,$(install_root)) $$locale \ ++ $(addprefix --prefix=,$(install_root)) $(inst_complocaledir)/$$locale \ + && echo ' done'; + endef +