From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id 4KBiK+0HzmBQEQEAgWs5BA (envelope-from ) for ; Sat, 19 Jun 2021 17:06:21 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id iPUUJ+0HzmBODAAAB5/wlQ (envelope-from ) for ; Sat, 19 Jun 2021 15:06:21 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 0CA712C52E for ; Sat, 19 Jun 2021 17:06:21 +0200 (CEST) Received: from localhost ([::1]:50210 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lucY7-0007k8-Mk for larch@yhetil.org; Sat, 19 Jun 2021 11:06:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56566) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lucXr-0007gO-3d for guix-patches@gnu.org; Sat, 19 Jun 2021 11:06:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:48860) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lucXq-0007oM-Sh for guix-patches@gnu.org; Sat, 19 Jun 2021 11:06:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lucXq-0005dE-N0 for guix-patches@gnu.org; Sat, 19 Jun 2021 11:06:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#49025] [PATCH v4 core-updates 00/36] Support cross-compilation with meson References: <419215938396207999184dafa43afaed6d7a0715.camel@telenet.be> In-Reply-To: <419215938396207999184dafa43afaed6d7a0715.camel@telenet.be> Resent-From: Maxime Devos Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 19 Jun 2021 15:06:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49025 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 49025@debbugs.gnu.org Cc: othacehe@gnu.org, Maxime Devos Received: via spool by 49025-submit@debbugs.gnu.org id=B49025.162411511621266 (code B ref 49025); Sat, 19 Jun 2021 15:06:02 +0000 Received: (at 49025) by debbugs.gnu.org; 19 Jun 2021 15:05:16 +0000 Received: from localhost ([127.0.0.1]:60302 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lucX5-0005Wn-Hl for submit@debbugs.gnu.org; Sat, 19 Jun 2021 11:05:16 -0400 Received: from baptiste.telenet-ops.be ([195.130.132.51]:59164) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lucWy-0005VD-5a for 49025@debbugs.gnu.org; Sat, 19 Jun 2021 11:05:09 -0400 Received: from localhost.localdomain ([IPv6:2a02:1811:8c09:9d00:aaf1:9810:a0b8:a55d]) by baptiste.telenet-ops.be with bizsmtp id K3552500S0mfAB401356nZ; Sat, 19 Jun 2021 17:05:06 +0200 From: Maxime Devos Date: Sat, 19 Jun 2021 17:04:22 +0200 Message-Id: <20210619150458.12057-1-maximedevos@telenet.be> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r21; t=1624115106; bh=yOoFa0uAGahN0uKpX1LV+IKBYhAgR2lBcf1duQ2lRjs=; h=From:To:Cc:Subject:Date; b=qA8JJ0ONG3JdM87y8Od8KvB8Gp/3ilJjhPRdd7CDO/CSxpd661GGeK+U6rmLplDXy xyejmtWMkTHd+Lhfn6nzi0smtCRy1/CtYw3rz4vjTJ7SneLWjV+v6MBsxxNAtZH5Ac wdGuBXx05Uo3BOBfinK+5ZFYxzmdivVSX1mivB4ipyz433g/QVHnKg1ziahZt4I2lk TJGQXcSK2EoyxqQyMORt/8GETGRvRVueYF8Dl++6WkzPf3dFAYM4eoMToXMGnxDjDW ozNtgF0eBfVzvhSdUB3ta4lUrkEvD7rtbiXC546CS9V/Co7Hw57eiq2AB+gWlZD0Tc M3mGQES8+EvKA== X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1624115181; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=yOoFa0uAGahN0uKpX1LV+IKBYhAgR2lBcf1duQ2lRjs=; b=YinFVugMspwH4Mp7KwjrbsrIiB9BrRcKkZurpbrOGAQEIEBEc8IaVVtinN9lx+7TfN8haZ zFFehKY4TtmyqoD6wXVI3Yhsu6x43Lcw/I6FaBL2gcScb2Lwf31CnU3h7uex5du3yMv+dR dq0JdS3E5RMyJbx2gwL/lGuIFnvlWRNh6ksh01UsVWTzNJ6slDFDXOWhZMeCeqTwtf+w7K jWHjrm5W5I+y2kc6T2AlCTj4lNYYrDYU4UmsKJFYHKGcg95/rT+sUtdXn0dPOvdpt6ePY/ pb/F4O+1WxkiQcJX97JzbWhya/uKcG0g6Z/mQ4xLzD4sr2ikC5E8gb9Ql5MqpA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1624115181; a=rsa-sha256; cv=none; b=o1YHMcleZq9fyCAK2UJ9R3awCVBN8KQoSn4EpqNirazRrGsyu71h2SYthuRO/QwJhQu64x OF+D/qhb/FfRqzWa5CnNzAipnrNJJvOhxheNSHFqMIhNny7Tau24q2H+Do1Gwh0nVQbXO+ C+u9Dn2hNKBF64V0e72CwjAagH7S9w070Q88oX35E3Gm1FbIpAlZ/0XFkHfDYnFuMZ0oWy OXvvlxIV2cDhV6g7qKzXto3bJf6d+mKmi3fSNV2cXTMZlpx4ZUhkGFDuRfTz9/c/Up1H6O cQ20GFCil2gzuHD3m5yzkxuQYO7LtGnEpMWOYzZ1ZJPl1+YaUi/g+vn+p5kDVg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=telenet.be header.s=r21 header.b=qA8JJ0ON; dmarc=fail reason="SPF not aligned (relaxed)" header.from=telenet.be (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Spam-Score: -0.32 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=telenet.be header.s=r21 header.b=qA8JJ0ON; dmarc=fail reason="SPF not aligned (relaxed)" header.from=telenet.be (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: 0CA712C52E X-Spam-Score: -0.32 X-Migadu-Scanner: scn0.migadu.com X-TUID: cqP26UEb7Y0F This is the same as v1 (v2 and v3 are the same as v1 but the sending was messed up), but with merge conflicts resolved. Also, one patch of v1 is already on core-updates, so it is dropped here. I'm currently testing whether things still work, and whether the patch for GCC still works and if it is still required. Here is the old description: This patch series adds cross-compilation support to meson-build-system. meson-build-system is used by many gtk applications (sometimes directly, sometimes because a dependency uses meson-build-system). Meson cross-compilation is implemented by the last patch. The one-before-last patch works-around the brokenness of GCC cross-compilers on current core-updates (see ;). The first two patches define a few utilities target-linux?, target-x86-32? and target-x86-64? which are used by the last patch, but could be useful elsewhere as well. The third patch is used in various cross-compilation fixes. The other 33 patches are cross-compilation fixes for dependencies of glib, and follow-up patches making the package definitions somewhat nicer IMHO (like removing trailing #t from phases, and computing derivation for some architecture-independent packages when cross-compiling and compiling natively). Maxime Devos (36): utils: Define target-linux? predicate. utils: Define a target-x86-32? and target-x86-64? predicate. packages: Define this-package-input and this-package-native-input. net-base: Make #:builder argument a G-expression. net-base: Fix cross-compilation, eliminating %build-inputs & friends net-base: Don't cross-compile. tzdata: Don't bother with cross-compiling. libgpg-error: Remove trailing #f from phases. libgpg-error: Prevent silent miscompilation some systems. libgpgerror: Maybe fix a cross-compilation bug. libgpg-error: Fix cross-compilation error. libgcrypt: Fix cross-compilation build error. wrap-python3: Make #:builder a G-exp instead of a raw S-exp. wrap-python3: Fix cross-compilation. python: Fix reference to input when cross-compiling. openssl: Remove trailing #t from phases. openssl: Make the #:phases argument a G-expression. openssl: Use G-exp machinery for referring to outputs. openssl: Move documentation instead of copying and deleting it. openssl: Move all man pages to separate output, not only man3. openssl: Find bin/env when cross-compiling. openssl: Extract logic for computing CONFIGURE_TARGET_ARCH. readline: Make #:configure-flags a G-expression. readline: Fix build error when cross-compiling. bash: Make #:configure-flags a G-expression. bash: Fix cross-compilation build error. fontconfig: Make the #:configure-flags argument a G-expression. fontconfig: Fix build error when cross-compiling. glib: Use a correct python in scripts when cross-compiling. glib: Verify the cross-compiled python is used in installed scripts. glib: Look up "tzdata" in 'native-inputs', not 'inputs'. tk: Make #:configure-flags a G-expression. tk: Do not use %build-inputs when cross-compiling. libelf: Use the cross-compiler when cross-compiling. cross-base: Fix cross-compiler for i686-linux-gnu. meson: Support cross-compilation. Makefile.am | 1 + gnu/packages/admin.scm | 44 ++++--- gnu/packages/base.scm | 9 ++ gnu/packages/bash.scm | 39 +++--- gnu/packages/cross-base.scm | 63 ++++++++- gnu/packages/elf.scm | 48 ++++--- gnu/packages/fontutils.scm | 8 +- gnu/packages/glib.scm | 34 ++++- gnu/packages/gnupg.scm | 60 ++++++--- gnu/packages/python.scm | 51 ++++---- gnu/packages/readline.scm | 27 ++-- gnu/packages/tcl.scm | 14 +- gnu/packages/tls.scm | 142 +++++++++++---------- guix/build-system/meson.scm | 197 ++++++++++++++++++++++++++--- guix/build/meson-configuration.scm | 71 +++++++++++ guix/packages.scm | 29 +++++ guix/utils.scm | 26 ++++ tests/packages.scm | 34 +++++ tests/utils.scm | 40 ++++++ 19 files changed, 724 insertions(+), 213 deletions(-) create mode 100644 guix/build/meson-configuration.scm base-commit: bcdc13454c4afab37b650d4bbfa95e539060619f -- 2.32.0